diff --git a/custom-words.txt b/custom-words.txt
index 741cf68d8cf1..970dcaaec4c6 100644
--- a/custom-words.txt
+++ b/custom-words.txt
@@ -118,12 +118,14 @@ aspnet
asyncinfo
asyncoperation
atascada
+Auditd
australiaeast
australiasoutheast
authenticatable
Authenticode
authorityURL
authorizationrules
+authpriv
authprovider
authproviders
authsettings
@@ -149,6 +151,7 @@ autoscaling
Avro
avrodeflate
AZFW
+AZNB
azns
azpkg
azureaccounts
@@ -239,6 +242,7 @@ brazilsouth
browsable
bruceper
Bsaling
+Burstable
BYOC
BYOK
BYOL
@@ -277,6 +281,7 @@ CIDR
CIDRs
CIFS
ciphertext
+CISCOASA
claimCondition
claimType
clfs
@@ -1023,6 +1028,7 @@ nopublicipaddresses
northcentralus
northeurope
nostore
+notebookapis
notificationchannels
notificationhubs
notstarted
@@ -1480,6 +1486,7 @@ stateful
staticsite
statusdir
stderror
+stdev
stopresize
stopword
stopwords
@@ -1572,6 +1579,7 @@ testall
testallroutes
testnew
testnewroute
+testpl
testresultfile
textanalytics
TFIDF
@@ -1590,6 +1598,8 @@ tombstoned
toolchain
toolset
tooltips
+topqueries
+topquery
traceback
traceroute
trafficmanager
@@ -1607,6 +1617,7 @@ TSVE
Turbonomic
Txns
Typeless
+typeperf
UEBA
Uint
uksouth
@@ -1681,6 +1692,7 @@ userpreference
usersetting
usermanaged
USQL
+UUCP
VAIDK
varbinary
varchar
@@ -1840,4 +1852,8 @@ azureADMetrics
sparkr
ambari
dotnetspark
-FDID
\ No newline at end of file
+FDID
+watchlists
+Watchlists
+watchlist
+Watchlist
\ No newline at end of file
diff --git a/documentation/openapi-authoring-automated-guidelines.md b/documentation/openapi-authoring-automated-guidelines.md
index 1202a11e02d0..27f0278d2e8b 100644
--- a/documentation/openapi-authoring-automated-guidelines.md
+++ b/documentation/openapi-authoring-automated-guidelines.md
@@ -56,6 +56,11 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R4007](#r4007) | [DefaultErrorResponseSchema](#r4007) | ARM OpenAPI(swagger) specs |
| [R4010](#r4010) | [RequiredDefaultResponse](#r4010) | ARM OpenAPI(swagger) specs |
| [R4011](#r4011) | [DeleteOperationResponses](#r4011) | ARM OpenAPI(swagger) specs |
+| [R4015](#r4015) | [NestedResourcesMustHaveListOperation](#r4015) | ARM OpenAPI(swagger) specs |
+| [R4016](#r4016) | [TopLevelResourcesListByResourceGroup](#r4016) | ARM OpenAPI(swagger) specs |
+| [R4017](#r4017) | [TopLevelResourcesListBySubscription](#r4017) | ARM OpenAPI(swagger) specs |
+| [R4018](#r4018) | [OperationsApiResponseSchema](#r4018) | ARM OpenAPI(swagger) specs |
+| [R4019](#r4019) | [GetCollectionResponseSchema](#r4019) | ARM OpenAPI(swagger) specs |
#### ARM Warnings
@@ -67,7 +72,7 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R3010](#r3010) | [TrackedResourceListByImmediateParent](#r3010) | ARM OpenAPI(swagger) specs |
| [R2004](#r2004) | [NonApplicationJsonType](#r2004) | ARM OpenAPI(swagger) specs |
| [R4009](#r4009) | [RequiredSystemDataInNewApiVersions](#r4009) | ARM OpenAPI(swagger) specs |
-
+| [R4014](#r4014) | [AllResourcesMustHaveGetOperation](#r4014) | ARM OpenAPI(swagger) specs |
### SDK Violations
#### SDK Errors
@@ -110,9 +115,9 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| Id | Rule Name | Applies to |
| --- | --- | --- |
| [R4000](#r4000) | [ParameterDescriptionRequired](#r4000) | ARM and Data plane OpenAPI(swagger) specs |
-| [R4000](#r4000-3) | [DescriptiveDescriptionRequired](#r4000-3) | ARM and Data plane OpenAPI(swagger) specs |
-| [R4000](#r4000-4) | [DescriptionAndTitleMissing](#r4000-4) | ARM and Data plane OpenAPI(swagger) specs |
-| [R4000](#r4000-5) | [OperationDescriptionOrSummaryRequired](#r4000-5) | ARM and Data plane OpenAPI(swagger) specs |
+| [R4020](#r4000-3) | [DescriptiveDescriptionRequired](#r4000-3) | ARM and Data plane OpenAPI(swagger) specs |
+| [R4021](#r4000-4) | [DescriptionAndTitleMissing](#r4000-4) | ARM and Data plane OpenAPI(swagger) specs |
+| [R4022](#r4000-5) | [OperationDescriptionOrSummaryRequired](#r4000-5) | ARM and Data plane OpenAPI(swagger) specs |
| [R2001](#r2001) | [AvoidNestedProperties](#r2001) | ARM and Data plane OpenAPI(swagger) specs |
| [R4002](#r4002) | [LocationMustHaveXmsMutability](#r4002) | ARM OpenAPI(swagger) specs |
| [R2066](#r2066) | [PostOperationIdContainsUrlVerb](#r2066) | ARM and Data plane OpenAPI(swagger) specs |
@@ -1418,7 +1423,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Applies to** : ARM OpenAPI(swagger) specs
-**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity, systemdata. Model definition '{0}' has extra properties ['{1}'].
+**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity, systemData. 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.
@@ -1684,7 +1689,7 @@ But it's allowed when all required properties are marked as discriminator, becau
**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.
+**How to fix the violation**: Ensure that the request parameter of the Patch Operation does not have a required/default value.A recommended way is to define a new model that only contains the patchable properties to replace the original parameter in request body.
**Good Examples**: The following is a good example:
```json
@@ -1716,10 +1721,7 @@ But it's allowed when all required properties are marked as discriminator, becau
"type": "string"
}
},
- "discriminator": "prop0",
- "required": [
- "prop0"
- ]
+ "required": []
}
}
......
@@ -1743,7 +1745,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
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 DescriptiveDescriptionRequired
+### R4020 DescriptiveDescriptionRequired
**Category** : SDK Warning
**Applies to** : ARM and Data plane OpenAPI(swagger) specs
@@ -1758,7 +1760,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
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 DescriptionAndTitleMissing
+### R4021 DescriptionAndTitleMissing
**Category** : SDK Warning
**Applies to** : ARM and Data plane OpenAPI(swagger) specs
@@ -1773,7 +1775,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
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 OperationDescriptionOrSummaryRequired
+### R4022 OperationDescriptionOrSummaryRequired
**Category** : SDK Warning
**Applies to** : ARM and Data plane OpenAPI(swagger) specs
@@ -1913,7 +1915,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message** : Missing operationId. path:'${operation path}' operation:'${operation}'.
-**Description** : Each operation must haave a unique operationId.
+**Description** : Each operation must have a unique operationId.
**CreatedAt** : February 18, 2020
@@ -1947,7 +1949,7 @@ For more detail, pls refer to https://github.com/microsoft/api-guidelines/blob/v
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.
+Eg: In this case, you need to replace `Microsoft.computer` with `Microsoft.Computer` to follow pascal case.
Invalid:
@@ -2001,7 +2003,7 @@ For more detail, pls refer to https://github.com/microsoft/api-guidelines/blob/v
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.
+Eg: In this case, you need to replace `ResourceGroups` with `resourceGroups` to follow camel case.
Invalid:
@@ -2041,9 +2043,9 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Applies to** : ARM and Data Plane OpenAPI(swagger) specs
-**Output Message** : Enum must not contain duplicated value (case insentive).
+**Output Message** : Enum must not contain duplicated value (case insensitive).
-**Description** : Enum must not contain duplicated value (case insentive).
+**Description** : Enum must not contain duplicated value (case insensitive).
**CreatedAt**: February 18, 2020
@@ -2143,7 +2145,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message** : Enum value must not contain empty value.
-**Description** : Emum must not be empty, or contain special character, like space, tab, etc. It will lead to code generation failure in downstream pipeline.
+**Description** : Enum must not be empty, or contain special character, like space, tab, etc. It will lead to code generation failure in downstream pipeline.
**CreatedAt**: February 18, 2020
@@ -2341,7 +2343,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
The following would be invalid:
```json
- "responese":{
+ "response":{
"default": {
"schema":{
"error":"error msg",
@@ -2356,7 +2358,7 @@ The following would be invalid:
the correct schema:
```json
- "responese":{
+ "response":{
"default": {
"error":
{
@@ -2379,7 +2381,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message** : Response schema must not be empty.
-**Description** : Response schema must not be empty, or it will block code genaration.
+**Description** : Response schema must not be empty, or it will block code generation.
**CreatedAt**: April 2, 2020
@@ -2391,7 +2393,7 @@ The following would be invalid:
```json
...
- "responese":{
+ "response":{
"default": {
"schema":{
}
@@ -2415,7 +2417,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**LastModifiedAt**: May 21, 2020
-**How to fix the violation**: For each response in the GET/PUT/PATCH opearation add the systemData object:
+**How to fix the violation**: For each response in the GET/PUT/PATCH operation add the systemData object:
``` json
"systemData": {
"$ref": "#/definitions/SystemData"
@@ -2446,7 +2448,7 @@ The following would be valid:
"responses":{
"default": {
"schema":{
- "$ref":#/definiton/Error
+ "$ref":#/definition/Error
}
}
}
@@ -2482,20 +2484,20 @@ The following would be valid:
.....
.....
]
- "responese":{
+ "response":{
"default": {
"schema":{
- "$ref":#/definiton/Error
+ "$ref":#/definition/Error
}
},
"200": {
"schema":{
- "$ref":#/definiton/response
+ "$ref":#/definition/response
}
},
"204": {
"schema":{
- "$ref":#/definiton/resonse
+ "$ref":#/definition/response
}
}
}
@@ -2513,7 +2515,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message** : The operation: '{operation name}' is defined with x-ms-pageable enabled,but can not find the corresponding nextLink property in the response, please add it.
-**Description** : Per [extensions](https://github.com/Azure/autorest/blob/master/docs/extensions/readme.md#x-ms-pageable) ,when specifying a x-ms-pagable/nextLinkName, the corresponding nextlink property must be defined in the response schema.
+**Description** : Per [extensions](https://github.com/Azure/autorest/blob/master/docs/extensions/readme.md#x-ms-pageable) ,when specifying a x-ms-pageable/nextLinkName, the corresponding nextlink property must be defined in the response schema.
**CreatedAt**: May 21, 2020
@@ -2531,7 +2533,7 @@ The following would be valid:
"nextLinkName": "nextLink"
},
....
- "responese":{
+ "response":{
"200": {
"schema":{
"description": "The list of metric items.",
@@ -2581,4 +2583,310 @@ The following would be valid:
}
...
```
+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)
+
+### R4014 AllResourcesMustHaveGetOperation
+
+**Category** : ARM Warning
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The resource "{0}" does not have get operation, please add it.
+
+**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md) ,all the resources ,including top-level and nested resources, must have a get operation.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**:
+Since all the models that having 'x-ms-azure-resource' enabled are considered as ARM resource,
+If the output resource is not exactly a ARM resource,you should remove the extension from the model.
+Otherwise,for each resource which doesn't have a get operation,add the corresponding get operation.
+
+For example:
+
+```json
+"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyResourceType/{Name}/SubResource/{subName}": {
+ "get": {
+ ...
+ "operationId": "SubResource_Get",
+ "parameters": [
+
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/SubResource"
+ }
+ },
+```
+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)
+
+### R4015 NestedResourcesMustHaveListOperation
+
+**Category** : ARM Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The nested resource "{0}" does not have list operation, please add it.
+
+**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), all the nested must have a list operation which returns the collection of the resource.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**: For each nested resource, add the corresponding list operation.
+
+For example:
+
+```json
+...
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyTopLevelResourceType/{name}/MySubResource": {
+ "get": {
+ ...
+ ...
+ "description": "Handles requests to list all resources in a service.",
+ "operationId": "MySubResource_List",
+ ...
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Services in the service.",
+ "schema": {
+ "$ref": "#/definitions/MySubResourceList"
+ }
+ }
+ },
+...
+```
+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)
+
+### R4016 TopLevelResourcesListByResourceGroup
+
+**Category** : ARM Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The top-level resource "{0}" does not have list by resource group operation, please add it.
+
+**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), all the top-level resources must have a list by resource group operation which returns the collection of the resource.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**: For each top-level resource, add the corresponding list by resource group operation.
+
+For example:
+
+```json
+...
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyTopLevelResourceType": {
+ "get": {
+ ...
+ ...
+ "description": "Handles requests to list all resources in a resource group.",
+ "operationId": "Services_ListByRG",
+ ...
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Services in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/MyTopLevelResourceList"
+ }
+ }
+ },
+...
+```
+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)
+
+### R4017 TopLevelResourcesListBySubscription
+
+**Category** : ARM Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The top-level resource "{0}" does not have list by subscription operation, please add it.
+
+**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), all the top-level resources must have a list by subscription operation which returns the collection of the resource.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**: For each top-level resource, add the corresponding list operation.
+
+For example:
+
+```json
+...
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MyNameSpace/MyTopLevelResourceType": {
+ "get": {
+ ...
+ ...
+ "description": "Handles requests to list all resources in a subscription.",
+ "operationId": "Services_ListBySubscription",
+ ...
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Services in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/MyTopLevelResourceList"
+ }
+ }
+ },
+...
+```
+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)
+
+### R4018 OperationsApiResponseSchema
+
+**Category** : ARM Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The response schema of operations API "{0}" does not match the ARM specification. Please standardize the schema.
+
+**Description** : The operations API should have a response body schema consistent with the [contract spec](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/proxy-api-reference.md#exposing-available-operations). The required properties such as `isDataAction`,`display.description` or `display.resource`,must be included.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**: For each operations API ,provide a schema which consistent with the above contract.
+
+The following response is a good example::
+
+```json
+...
+ "AvailableOperations": {
+ "description": "Available operations of the service",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of available operation details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDetail"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDetail": {
+ "description": "Operation detail payload",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Properties of the operation"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display payload",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider of the operation",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource of the operation",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string"
+ }
+ }
+ }
+....
+```
+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)
+
+### R4019 GetCollectionResponseSchema
+
+**Category** : ARM Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The response model in the GET collection operation "{0}" does not match with the response model in the individual GET operation "{1}".
+
+**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md#get-resource), for all resources (top-level and nested), collection GETs should have a response definition with a property "value" containing an array of the "resource" schema.The definition returned in the collection "value" array should be the same as the response body for the individual GET.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**: Make sure the collection GETs return an array and its items schema the same as the response schema in corresponding individual GET.
+
+The following response is a good example:
+
+```json
+...
+
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyResourceType/{Name}": {
+ "get": {
+ ...
+ ...
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the corresponding Service.",
+ "schema": {
+ "$ref": "#/definitions/MyResourceSchema"
+ }
+ }
+
+...
+...
+
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyResourceType": {
+ "get": {
+ .....
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Services in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/MyResourceList"
+ }
+ },
+...
+...
+"MyResourceList":{
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MyResourceSchema"
+ }
+ },
+...
+```
Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
\ No newline at end of file
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 773e65c8d69f..72a4748132a2 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
@@ -113,6 +113,9 @@
"x-ms-examples": {
"Services_CreateOrUpdate": {
"$ref": "./examples/Services_CreateOrUpdate.json"
+ },
+ "Services_CreateOrUpdate_VNetInjection": {
+ "$ref": "./examples/Services_CreateOrUpdate_VNetInjection.json"
}
}
},
@@ -2296,6 +2299,10 @@
"$ref": "#/definitions/TraceProperties",
"description": "Trace properties of the Service"
},
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Network profile of the Service"
+ },
"version": {
"format": "int32",
"description": "Version of the Service",
@@ -2416,6 +2423,32 @@
}
}
},
+ "NetworkProfile": {
+ "description": "Service network profile payload",
+ "type": "object",
+ "properties": {
+ "serviceRuntimeSubnetId": {
+ "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime",
+ "type": "string"
+ },
+ "appSubnetId": {
+ "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps",
+ "type": "string"
+ },
+ "serviceCidr": {
+ "description": "Azure Spring Cloud service reserved CIDR",
+ "type": "string"
+ },
+ "serviceRuntimeNetworkResourceGroup": {
+ "description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime",
+ "type": "string"
+ },
+ "appNetworkResourceGroup": {
+ "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps",
+ "type": "string"
+ }
+ }
+ },
"Error": {
"description": "The error code compose of code and message.",
"type": "object",
@@ -2792,11 +2825,13 @@
"properties": {
"resourceName": {
"description": "The name of the bound resource",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
"resourceType": {
"description": "The standard Azure resource type of the bound resource",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
"resourceId": {
"description": "The Azure resource id of the bound resource",
@@ -3006,7 +3041,8 @@
},
"appName": {
"description": "The app name of domain.",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
"certName": {
"description": "The bound certificate name of domain.",
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_CreateOrUpdate.json
index e426c806b855..b989e5a57739 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_CreateOrUpdate.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_CreateOrUpdate.json
@@ -2,8 +2,6 @@
"parameters": {
"bindingResource": {
"properties": {
- "resourceName": "my-cosmosdb-1",
- "resourceType": "Microsoft.DocumentDB",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
"key": "xxxx",
"bindingParameters": {
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Update.json
index d2e0c8a715ea..0d7889bef1de 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Update.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Update.json
@@ -2,8 +2,6 @@
"parameters": {
"bindingResource": {
"properties": {
- "resourceName": null,
- "resourceType": null,
"key": "xxxx",
"bindingParameters": {
"databaseName": "db1",
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_CreateOrUpdate.json
index 213fb3296173..4d2893ff6ad2 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_CreateOrUpdate.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_CreateOrUpdate.json
@@ -3,7 +3,6 @@
"domainResource": {
"properties": {
"thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
- "appName": "myapp",
"certName": "mycert"
}
},
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Patch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Patch.json
index 213fb3296173..4d2893ff6ad2 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Patch.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Patch.json
@@ -3,7 +3,6 @@
"domainResource": {
"properties": {
"thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
- "appName": "myapp",
"certName": "mycert"
}
},
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json
index 0b9eb4797dc1..025ca3152466 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json
@@ -19,8 +19,8 @@
}
},
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
@@ -58,8 +58,8 @@
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
@@ -94,8 +94,8 @@
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json
new file mode 100644
index 000000000000..282f4e0d1dc3
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "resource": {
+ "properties": {
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg"
+ }
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ }
+ },
+ "api-version": "2019-05-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Creating",
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg"
+ },
+ "serviceId": "12345678abcd1234abcd12345678abcd"
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg"
+ },
+ "serviceId": "12345678abcd1234abcd12345678abcd"
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json
index 0fd464fbf73c..533a76844cc0 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json
@@ -31,8 +31,8 @@
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json
index 60bff7e0b137..15723d2c8147 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json
@@ -32,8 +32,8 @@
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json
index 1e7ffa74d93f..3d07b6937972 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json
@@ -31,8 +31,8 @@
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json
index 6ff77da01f9b..066d495c9f61 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json
@@ -19,8 +19,8 @@
}
},
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
@@ -58,8 +58,8 @@
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
@@ -94,8 +94,8 @@
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json
index 447afda283be..40bda7fa0c28 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json
@@ -3864,6 +3864,24 @@
}
}
},
+ "UrlSigningAction": {
+ "description": "Defines the url signing action for the delivery rule.",
+ "x-ms-discriminator-value": "UrlSigning",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/UrlSigningActionParameters"
+ }
+ }
+ },
"UrlSigningActionParameters": {
"description": "Defines the parameters for the Url Signing action.",
"required": [
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json
index 30e6c89613de..2fcd9a9690c9 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json
@@ -3864,6 +3864,24 @@
}
}
},
+ "UrlSigningAction": {
+ "description": "Defines the url signing action for the delivery rule.",
+ "x-ms-discriminator-value": "UrlSigning",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/UrlSigningActionParameters"
+ }
+ }
+ },
"UrlSigningActionParameters": {
"description": "Defines the parameters for the Url Signing action.",
"required": [
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
index 6cf863de25a5..ccf9c028033a 100644
--- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
@@ -13,22 +13,25 @@ add-credentials: true
openapi-type: data-plane
```
-``` yaml
-
-tag: release_1_0
-add-credentials: true
-openapi-type: data-plane
-```
# Releases
### Release 2.0
These settings apply only when `--tag=release_2_0` is specified on the command line.
``` yaml $(tag) == 'release_2_0'
+input-file:
+ - stable/v2.0/FormRecognizer.json
+```
+
+### Release 2.0-preview
+These settings apply only when `--tag=release_2_0_preview` is specified on the command line.
+
+``` yaml $(tag) == 'release_2_0_preview'
input-file:
- preview/v2.0/FormRecognizer.json
```
+
### Release 1.0
These settings apply only when `--tag=release_1_0` is specified on the command line.
@@ -101,6 +104,7 @@ require: $(this-folder)/../../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/stable/v2.0/FormRecognizer.json
- $(this-folder)/preview/v2.0/FormRecognizer.json
- $(this-folder)/preview/v1.0/FormRecognizer.json
- $(this-folder)/preview/v1.0/FormRecognizerReceipt.json
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/FormRecognizer.json
new file mode 100644
index 000000000000..a2d084179925
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/FormRecognizer.json
@@ -0,0 +1,1678 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2.0",
+ "title": "Form Recognizer Client",
+ "description": "Extracts information from forms and images into structured data."
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}/formrecognizer/v2.0",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/custom/models": {
+ "post": {
+ "summary": "Train Custom Model",
+ "description": "Create and train a custom model. The request must include a source parameter that is either an externally accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be trained is expected to be under the source folder or sub folders under it. Models are trained using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. Other type of content is ignored.",
+ "operationId": "TrainCustomModelAsync",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "trainRequest",
+ "in": "body",
+ "description": "Training request parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TrainRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Location and ID of the model being trained. The status of model training is specified in the status property at the model location."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Train custom model": {
+ "$ref": "./examples/TrainBatch.json"
+ },
+ "Train custom model with subfolder filter options": {
+ "$ref": "./examples/TrainBatchWithSubFolders.json"
+ }
+ }
+ }
+ },
+ "/custom/models/{modelId}": {
+ "get": {
+ "summary": "Get Custom Model",
+ "description": "Get detailed information about a custom model.",
+ "operationId": "GetCustomModel",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "includeKeys",
+ "in": "query",
+ "description": "Include list of extracted keys in model information.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get custom model": {
+ "$ref": "./examples/GetModel.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete Custom Model",
+ "description": "Mark model for deletion. Model artifacts will be permanently removed within a predetermined period.",
+ "operationId": "DeleteCustomModel",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully marked model for deletion. Model artifacts will be removed within a predefined time period."
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete custom model": {
+ "$ref": "./examples/DeleteModel.json"
+ }
+ }
+ }
+ },
+ "/custom/models/{modelId}/analyze": {
+ "post": {
+ "summary": "Analyze Form",
+ "description": "Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.",
+ "operationId": "AnalyzeWithCustomModel",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze form with custom model": {
+ "$ref": "./examples/AnalyzeBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/custom/models/{modelId}/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Form Result",
+ "description": "Obtain current status and the result of the analyze form operation.",
+ "operationId": "GetAnalyzeFormResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze form result": {
+ "$ref": "./examples/AnalyzeOperationResult.json"
+ }
+ }
+ }
+ },
+ "/custom/models/{modelId}/copy": {
+ "post": {
+ "summary": "Copy Custom Model",
+ "description": "Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource.",
+ "operationId": "CopyCustomModel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "copyRequest",
+ "in": "body",
+ "description": "Copy request parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CopyRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Copy request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the copy operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Copy custom model": {
+ "$ref": "./examples/CopyModel.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/custom/models/{modelId}/copyResults/{resultId}": {
+ "get": {
+ "summary": "Get Custom Model Copy Result",
+ "description": "Obtain current status and the result of a custom model copy operation.",
+ "operationId": "GetCustomModelCopyResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Copy operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CopyOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get copy custom model result": {
+ "$ref": "./examples/CopyOperationResult.json"
+ },
+ "Get copy custom model result with failures": {
+ "$ref": "./examples/CopyOperationResultWithErrors.json"
+ }
+ }
+ }
+ },
+ "/custom/models/copyAuthorization": {
+ "post": {
+ "summary": "Generate Copy Authorization",
+ "description": "Generate authorization to copy a model into the target Form Recognizer resource.",
+ "operationId": "GenerateModelCopyAuthorization",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "201": {
+ "description": "Copy request is authorized successfully.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Location and ID of the model being copied. The status of model copy is specified in the status property at the model location."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/CopyAuthorizationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Copy custom model": {
+ "$ref": "./examples/CopyModelAuthorization.json"
+ }
+ }
+ }
+ },
+ "/prebuilt/receipt/analyze": {
+ "post": {
+ "summary": "Analyze Receipt",
+ "description": "Extract field text and semantic values from a given receipt document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.",
+ "operationId": "AnalyzeReceiptAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze receipt": {
+ "$ref": "./examples/ReceiptsBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/prebuilt/receipt/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Receipt Result",
+ "description": "Track the progress and obtain the result of the analyze receipt operation.",
+ "operationId": "GetAnalyzeReceiptResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze receipt result": {
+ "$ref": "./examples/ReceiptsBatchResult.json"
+ }
+ }
+ }
+ },
+ "/layout/analyze": {
+ "post": {
+ "summary": "Analyze Layout",
+ "description": "Extract text and layout information from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.",
+ "operationId": "AnalyzeLayoutAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze layout": {
+ "$ref": "./examples/LayoutBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/layout/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Layout Result",
+ "description": "Track the progress and obtain the result of the analyze layout operation",
+ "operationId": "GetAnalyzeLayoutResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze layout result": {
+ "$ref": "./examples/LayoutBatchResult.json"
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/custom/models?op=full": {
+ "get": {
+ "summary": "List Custom Models",
+ "description": "Get information about all custom models",
+ "operationId": "ListCustomModels",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "op",
+ "in": "query",
+ "description": "Specify whether to return summary or full list of models.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "full"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Models"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "modelList"
+ },
+ "x-ms-examples": {
+ "List custom models": {
+ "$ref": "./examples/GetModels.json"
+ }
+ }
+ }
+ },
+ "/custom/models?op=summary": {
+ "get": {
+ "summary": "Get Custom Models",
+ "description": "Get information about all custom models",
+ "operationId": "GetCustomModels",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "op",
+ "in": "query",
+ "description": "Specify whether to return summary or full list of models.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Models"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get models summary": {
+ "$ref": "./examples/GetModelsSummary.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationStatus": {
+ "type": "string",
+ "description": "Status of the queued operation.",
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "CopyAuthorizationResult": {
+ "description": "Request parameter that contains authorization claims for copy operation.",
+ "required": [
+ "modelId",
+ "accessToken",
+ "expirationDateTimeTicks"
+ ],
+ "type": "object",
+ "properties": {
+ "modelId": {
+ "description": "Model identifier.",
+ "type": "string"
+ },
+ "accessToken": {
+ "description": "Token claim used to authorize the request.",
+ "type": "string"
+ },
+ "expirationDateTimeTicks": {
+ "description": "The time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "CopyRequest": {
+ "description": "Request parameter to copy an existing custom model from the source resource to a target resource referenced by the resource ID.",
+ "required": [
+ "targetResourceId",
+ "targetResourceRegion",
+ "copyAuthorization"
+ ],
+ "type": "object",
+ "properties": {
+ "targetResourceId": {
+ "description": "Azure Resource Id of the target Form Recognizer resource where the model is copied to.",
+ "maxLength": 1024,
+ "type": "string",
+ "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.CognitiveServices/accounts/[^/]*$",
+ "x-ms-azure-resource": true
+ },
+ "targetResourceRegion": {
+ "description": "Location of the target Azure resource. A valid Azure region name supported by Cognitive Services.",
+ "type": "string",
+ "pattern": "^[a-z0-9]+$",
+ "minLength": 1,
+ "maxLength": 24
+ },
+ "copyAuthorization": {
+ "description": "Entity that encodes claims to authorize the copy request.",
+ "$ref": "#/definitions/CopyAuthorizationResult"
+ }
+ }
+ },
+ "CopyOperationResult": {
+ "description": "Status and result of the queued copy operation.",
+ "type": "object",
+ "required": [
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "status": {
+ "description": "Operation status.",
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the copy operation was submitted.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "copyResult": {
+ "description": "Results of the copy operation.",
+ "$ref": "#/definitions/CopyResult"
+ }
+ }
+ },
+ "CopyResult": {
+ "description": "Custom model copy result.",
+ "type": "object",
+ "required": [
+ "modelId"
+ ],
+ "properties": {
+ "modelId": {
+ "description": "Identifier of the target model.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "errors": {
+ "description": "Errors returned during the copy operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ }
+ },
+ "AnalyzeOperationResult": {
+ "description": "Status and result of the queued analyze operation.",
+ "type": "object",
+ "required": [
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "status": {
+ "description": "Operation status.",
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the analyze operation was submitted.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "analyzeResult": {
+ "description": "Results of the analyze operation.",
+ "$ref": "#/definitions/AnalyzeResult"
+ }
+ }
+ },
+ "TrainRequest": {
+ "description": "Request parameter to train a new custom model.",
+ "required": [
+ "source"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "Source path containing the training documents.",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "sourceFilter": {
+ "$ref": "#/definitions/TrainSourceFilter",
+ "description": "Filter to apply to the documents in the source path for training."
+ },
+ "useLabelFile": {
+ "description": "Use label file for training a model.",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "TrainSourceFilter": {
+ "description": "Filter to apply to the documents in the source path for training.",
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "description": "A case-sensitive prefix string to filter documents in the source path for training. For example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for training.",
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "includeSubFolders": {
+ "description": "A flag to indicate if sub folders within the set of prefix folders will also need to be included when searching for content to be preprocessed.",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "TrainResult": {
+ "description": "Custom model training result.",
+ "type": "object",
+ "required": [
+ "trainingDocuments"
+ ],
+ "properties": {
+ "trainingDocuments": {
+ "description": "List of the documents used to train the model and any errors reported in each document.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrainingDocumentInfo"
+ }
+ },
+ "fields": {
+ "description": "List of fields used to train the model and the train operation error reported by each.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FormFieldsReport"
+ }
+ },
+ "averageModelAccuracy": {
+ "description": "Average accuracy.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "errors": {
+ "description": "Errors returned during the training operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ }
+ },
+ "SourcePath": {
+ "description": "Uri or local path to source data.",
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "File source path.",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ }
+ }
+ },
+ "ModelInfo": {
+ "description": "Basic custom model information.",
+ "type": "object",
+ "required": [
+ "modelId",
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "modelId": {
+ "description": "Model identifier.",
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "status": {
+ "description": "Status of the model.",
+ "enum": [
+ "creating",
+ "ready",
+ "invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ModelStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the model was created.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "x-nullable": false
+ }
+ }
+ },
+ "Models": {
+ "description": "Response to the list custom models operation.",
+ "type": "object",
+ "properties": {
+ "summary": {
+ "description": "Summary of all trained custom models.",
+ "type": "object",
+ "required": [
+ "count",
+ "limit",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "count": {
+ "description": "Current count of trained custom models.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "limit": {
+ "description": "Max number of models that can be trained for this account.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the summary was last updated.",
+ "type": "string",
+ "x-nullable": false
+ }
+ }
+ },
+ "modelList": {
+ "description": "Collection of trained custom models.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelInfo"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next page of custom models.",
+ "type": "string"
+ }
+ }
+ },
+ "Model": {
+ "description": "Response to the get custom model operation.",
+ "type": "object",
+ "required": [
+ "modelInfo"
+ ],
+ "properties": {
+ "modelInfo": {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ "keys": {
+ "$ref": "#/definitions/KeysResult"
+ },
+ "trainResult": {
+ "$ref": "#/definitions/TrainResult"
+ }
+ }
+ },
+ "KeysResult": {
+ "description": "Keys extracted by the custom model.",
+ "type": "object",
+ "required": [
+ "clusters"
+ ],
+ "properties": {
+ "clusters": {
+ "description": "Object mapping clusterIds to a list of keys.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "TrainingDocumentInfo": {
+ "description": "Report for a custom model training document.",
+ "type": "object",
+ "required": [
+ "documentName",
+ "pages",
+ "errors",
+ "status"
+ ],
+ "properties": {
+ "documentName": {
+ "description": "Training document name.",
+ "type": "string"
+ },
+ "pages": {
+ "format": "int32",
+ "description": "Total number of pages trained.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "errors": {
+ "description": "List of errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ },
+ "status": {
+ "description": "Status of the training operation.",
+ "enum": [
+ "succeeded",
+ "partiallySucceeded",
+ "failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TrainStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ }
+ }
+ },
+ "FormFieldsReport": {
+ "description": "Report for a custom model training field.",
+ "type": "object",
+ "required": [
+ "fieldName",
+ "accuracy"
+ ],
+ "properties": {
+ "fieldName": {
+ "description": "Training field name.",
+ "type": "string"
+ },
+ "accuracy": {
+ "description": "Estimated extraction accuracy for this field.",
+ "type": "number",
+ "x-nullable": false
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ },
+ "ErrorInformation": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "AnalyzeResult": {
+ "description": "Analyze operation result.",
+ "type": "object",
+ "required": [
+ "version",
+ "readResults"
+ ],
+ "properties": {
+ "version": {
+ "description": "Version of schema used for this result.",
+ "type": "string"
+ },
+ "readResults": {
+ "description": "Text extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReadResult"
+ }
+ },
+ "pageResults": {
+ "description": "Page-level information extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PageResult"
+ }
+ },
+ "documentResults": {
+ "description": "Document-level information extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentResult"
+ }
+ },
+ "errors": {
+ "description": "List of errors reported during the analyze operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ }
+ },
+ "ReadResult": {
+ "description": "Text extracted from a page in the input document.",
+ "type": "object",
+ "required": [
+ "page",
+ "angle",
+ "width",
+ "height",
+ "unit"
+ ],
+ "properties": {
+ "page": {
+ "description": "The 1-based page number in the input document.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "angle": {
+ "description": "The general orientation of the text in clockwise direction, measured in degrees between (-180, 180].",
+ "type": "number",
+ "minimum": -180,
+ "maximum": 180,
+ "exclusiveMinimum": true,
+ "x-nullable": false
+ },
+ "width": {
+ "description": "The width of the image/PDF in pixels/inches, respectively.",
+ "type": "number",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "height": {
+ "description": "The height of the image/PDF in pixels/inches, respectively.",
+ "type": "number",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "unit": {
+ "description": "The unit used by the width, height and boundingBox properties. For images, the unit is \"pixel\". For PDF, the unit is \"inch\".",
+ "type": "string",
+ "enum": [
+ "pixel",
+ "inch"
+ ],
+ "x-ms-enum": {
+ "name": "LengthUnit",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "language": {
+ "description": "The detected language on the page overall.",
+ "$ref": "#/definitions/Language"
+ },
+ "lines": {
+ "description": "When includeTextDetails is set to true, a list of recognized text lines. The maximum number of lines returned is 300 per page. The lines are sorted top to bottom, left to right, although in certain cases proximity is treated with higher priority. As the sorting order depends on the detected text, it may change across images and OCR version updates. Thus, business logic should be built upon the actual line location instead of order.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TextLine"
+ }
+ }
+ }
+ },
+ "Language": {
+ "description": "Language code",
+ "type": "string",
+ "enum": [
+ "en",
+ "es"
+ ],
+ "x-ms-enum": {
+ "name": "Language",
+ "modelAsString": true
+ },
+ "x-nullable": false
+ },
+ "TextLine": {
+ "description": "An object representing an extracted text line.",
+ "type": "object",
+ "required": [
+ "text",
+ "boundingBox",
+ "words"
+ ],
+ "properties": {
+ "text": {
+ "description": "The text content of the line.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of an extracted line.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "language": {
+ "description": "The detected language of this line, if different from the overall page language.",
+ "$ref": "#/definitions/Language"
+ },
+ "words": {
+ "description": "List of words in the text line.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TextWord"
+ }
+ }
+ }
+ },
+ "TextWord": {
+ "description": "An object representing a word.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "text"
+ ],
+ "properties": {
+ "text": {
+ "description": "The text content of the word.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of an extracted word.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "BoundingBox": {
+ "description": "Quadrangle bounding box, with coordinates specified relative to the top-left of the original image. The eight numbers represent the four points, clockwise from the top-left corner relative to the text orientation. For image, the (x, y) coordinates are measured in pixels. For PDF, the (x, y) coordinates are measured in inches.",
+ "type": "array",
+ "minItems": 8,
+ "maxItems": 8,
+ "items": {
+ "type": "number",
+ "x-nullable": false
+ }
+ },
+ "PageResult": {
+ "description": "Extracted information from a single page.",
+ "type": "object",
+ "required": [
+ "page"
+ ],
+ "properties": {
+ "page": {
+ "description": "Page number.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "clusterId": {
+ "description": "Cluster identifier.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "keyValuePairs": {
+ "description": "List of key-value pairs extracted from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyValuePair"
+ }
+ },
+ "tables": {
+ "description": "List of data tables extracted from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataTable"
+ }
+ }
+ }
+ },
+ "KeyValuePair": {
+ "description": "Information about the extracted key-value pair.",
+ "type": "object",
+ "required": [
+ "key",
+ "value",
+ "confidence"
+ ],
+ "properties": {
+ "label": {
+ "description": "A user defined label for the key/value pair entry.",
+ "type": "string"
+ },
+ "key": {
+ "description": "Information about the extracted key in a key-value pair.",
+ "$ref": "#/definitions/KeyValueElement"
+ },
+ "value": {
+ "description": "Information about the extracted value in a key-value pair.",
+ "$ref": "#/definitions/KeyValueElement"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "KeyValueElement": {
+ "description": "Information about the extracted key or value in a key-value pair.",
+ "type": "object",
+ "required": [
+ "text"
+ ],
+ "properties": {
+ "text": {
+ "description": "The text content of the key or value.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the key or value.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this key or value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ }
+ }
+ },
+ "ElementReference": {
+ "description": "Reference to a line or word.",
+ "type": "string"
+ },
+ "DataTable": {
+ "description": "Information about the extracted table contained in a page.",
+ "type": "object",
+ "required": [
+ "rows",
+ "columns",
+ "cells"
+ ],
+ "properties": {
+ "rows": {
+ "description": "Number of rows.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "columns": {
+ "description": "Number of columns.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "cells": {
+ "description": "List of cells contained in the table.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataTableCell"
+ }
+ }
+ }
+ },
+ "DataTableCell": {
+ "description": "Information about the extracted cell in a table.",
+ "type": "object",
+ "required": [
+ "rowIndex",
+ "columnIndex",
+ "text",
+ "boundingBox",
+ "confidence"
+ ],
+ "properties": {
+ "rowIndex": {
+ "description": "Row index of the cell.",
+ "type": "integer",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "columnIndex": {
+ "description": "Column index of the cell.",
+ "type": "integer",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "rowSpan": {
+ "description": "Number of rows spanned by this cell.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 1,
+ "x-nullable": false
+ },
+ "columnSpan": {
+ "description": "Number of columns spanned by this cell.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 1,
+ "x-nullable": false
+ },
+ "text": {
+ "description": "Text content of the cell.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the cell.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this table cell.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ },
+ "isHeader": {
+ "description": "Is the current cell a header cell?",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ },
+ "isFooter": {
+ "description": "Is the current cell a footer cell?",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "DocumentResult": {
+ "description": "A set of extracted fields corresponding to the input document.",
+ "type": "object",
+ "required": [
+ "docType",
+ "pageRange",
+ "fields"
+ ],
+ "properties": {
+ "docType": {
+ "description": "Document type.",
+ "type": "string"
+ },
+ "pageRange": {
+ "description": "First and last page number where the document is found.",
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ }
+ },
+ "fields": {
+ "description": "Dictionary of named field values.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ }
+ }
+ },
+ "FieldValue": {
+ "description": "Recognized field value.",
+ "type": "object",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "description": "Type of field value.",
+ "$ref": "#/definitions/FieldValueType"
+ },
+ "valueString": {
+ "description": "String value.",
+ "type": "string"
+ },
+ "valueDate": {
+ "description": "Date value.",
+ "format": "date",
+ "type": "string",
+ "x-nullable": false
+ },
+ "valueTime": {
+ "description": "Time value.",
+ "format": "time",
+ "type": "string",
+ "x-nullable": false
+ },
+ "valuePhoneNumber": {
+ "description": "Phone number value.",
+ "type": "string"
+ },
+ "valueNumber": {
+ "description": "Floating point value.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "valueInteger": {
+ "description": "Integer value.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "valueArray": {
+ "description": "Array of field values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ },
+ "valueObject": {
+ "description": "Dictionary of named field values.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ },
+ "text": {
+ "description": "Text content of the extracted field.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the field value, if appropriate.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence score.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this field.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ },
+ "page": {
+ "description": "The 1-based page number in the input document.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ }
+ }
+ },
+ "FieldValueType": {
+ "type": "string",
+ "description": "Semantic data type of the field value.",
+ "enum": [
+ "string",
+ "date",
+ "time",
+ "phoneNumber",
+ "number",
+ "integer",
+ "array",
+ "object"
+ ],
+ "x-ms-enum": {
+ "name": "FieldValueType",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "Confidence": {
+ "description": "Confidence value.",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1,
+ "x-nullable": false
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "FileStream": {
+ "name": "fileStream",
+ "description": ".json, .pdf, .jpg, .png or .tiff type file stream.",
+ "x-ms-parameter-location": "method",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/SourcePath"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/AnalyzeBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/AnalyzeBatch.json
new file mode 100644
index 000000000000..2046a9422a61
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/AnalyzeBatch.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{Model Id}",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.0/custom/models/{modelId}/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/AnalyzeOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/AnalyzeOperationResult.json
new file mode 100644
index 000000000000..ac3e01056b61
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/AnalyzeOperationResult.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{model Id}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.0",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyModel.json
new file mode 100644
index 000000000000..70d90eb5763b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyModel.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {},
+ "copyRequest": {
+ "targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{resourceName}",
+ "targetResourceRegion": "westus2",
+ "copyAuthorization": {
+ "modelId": "{modelId}",
+ "accessToken": "{accessToken}",
+ "expirationDateTimeTicks": 637190189980000000
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.0/custom/models/{modelId}/copyResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyModelAuthorization.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyModelAuthorization.json
new file mode 100644
index 000000000000..fe8562356057
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyModelAuthorization.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {}
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.0/custom/models/{modelId}"
+ },
+ "body": {
+ "modelId": "{modelId}",
+ "accessToken": "{accessToken}",
+ "expirationDateTimeTicks": 637190189980000000
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyOperationResult.json
new file mode 100644
index 000000000000..f7b7b1163884
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyOperationResult.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "resultId": "{resultId}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2020-01-01T00:00:00Z",
+ "lastUpdatedDateTime": "2020-01-01T00:01:00Z",
+ "copyResult": {
+ "modelId": "{modelId}",
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyOperationResultWithErrors.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyOperationResultWithErrors.json
new file mode 100644
index 000000000000..853dd73e595e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/CopyOperationResultWithErrors.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "resultId": "{resultId}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "failed",
+ "createdDateTime": "2020-01-01T00:00:00Z",
+ "lastUpdatedDateTime": "2020-01-01T00:01:00Z",
+ "copyResult": {
+ "modelId": "{modelId}",
+ "errors": [
+ {
+ "code": "ResourceResolverError",
+ "message": "{ErrorMessage}"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/DeleteModel.json
new file mode 100644
index 000000000000..8033b6772479
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/DeleteModel.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{Model Id}",
+ "body": {}
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/GetModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/GetModel.json
new file mode 100644
index 000000000000..3a34fea1ae13
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/GetModel.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{Model Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "modelInfo": {
+ "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z"
+ },
+ "keys": {
+ "clusters": {
+ "0": [
+ "Invoice",
+ "123112313"
+ ],
+ "1": [
+ "Please remit payment to:",
+ "Microsoft"
+ ]
+ }
+ },
+ "trainResult": {
+ "trainingDocuments": [],
+ "fields": [],
+ "averageModelAccuracy": 0,
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/GetModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/GetModels.json
new file mode 100644
index 000000000000..9df92cccfdc4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/GetModels.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "op": "full",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "modelList": [
+ {
+ "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z"
+ },
+ {
+ "modelId": "f973e3c1-0001-43bb-bea8-49d0603ab3a8",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z"
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/GetModelsSummary.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/GetModelsSummary.json
new file mode 100644
index 000000000000..507495b78206
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/GetModelsSummary.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "op": "summary",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "summary": {
+ "count": 5,
+ "limit": 5000,
+ "lastUpdatedDateTime": "2019-05-01T10:53:21Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/LayoutBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/LayoutBatch.json
new file mode 100644
index 000000000000..0f199d704164
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/LayoutBatch.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "language": "en",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.0/layout/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/LayoutBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/LayoutBatchResult.json
new file mode 100644
index 000000000000..099b8a2df49a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/LayoutBatchResult.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{model Id}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.0",
+ "readResults": [],
+ "pageResults": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/ReceiptsBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/ReceiptsBatch.json
new file mode 100644
index 000000000000..a93fbfc3040f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/ReceiptsBatch.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.0/prebuilt/receipt/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/ReceiptsBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/ReceiptsBatchResult.json
new file mode 100644
index 000000000000..ac3e01056b61
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/ReceiptsBatchResult.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{model Id}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.0",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/TrainBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/TrainBatch.json
new file mode 100644
index 000000000000..b5e4bec4da29
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/TrainBatch.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "trainRequest": {
+ "source": "/input/data1"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.0/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/TrainBatchWithSubFolders.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/TrainBatchWithSubFolders.json
new file mode 100644
index 000000000000..2290ff3a9579
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.0/examples/TrainBatchWithSubFolders.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "trainRequest": {
+ "source": "/input/data1",
+ "sourceFilter": {
+ "prefix": "",
+ "includeSubFolders": false
+ },
+ "useLabelFile": false
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.0/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
index 0640865e3b27..817f4c62ac26 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
@@ -3542,7 +3542,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_SimulateEviction",
- "description": "The operation to simulate the eviction of spot virtual machine. The eviction will occur within 30 minutes of calling the API",
+ "description": "The operation to simulate the eviction of spot virtual machine.",
"parameters": [
{
"name": "resourceGroupName",
@@ -6232,7 +6232,7 @@
"VirtualMachineScaleSetVMs"
],
"operationId": "VirtualMachineScaleSetVMs_SimulateEviction",
- "description": "The operation to simulate the eviction of spot virtual machine in a VM scale set. The eviction will occur within 30 minutes of calling the API",
+ "description": "The operation to simulate the eviction of spot virtual machine in a VM scale set.",
"parameters": [
{
"name": "resourceGroupName",
@@ -8892,6 +8892,10 @@
"$ref": "#/definitions/InstanceViewStatus"
},
"description": "The resource status information."
+ },
+ "patchStatus": {
+ "$ref": "#/definitions/VirtualMachinePatchStatus",
+ "description": "The status of virtual machine patch operations."
}
},
"description": "The instance view of a virtual machine."
@@ -11549,7 +11553,7 @@
"properties": {
"patchMode": {
"type": "string",
- "description": "Specifies the mode of in-guest patching to IaaS virtual machine.
Possible values are:
**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false
**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.
** AutomaticByPlatform** - the virtual machine will automatically updated by the OS. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true ",
+ "description": "Specifies the mode of in-guest patching to IaaS virtual machine.
Possible values are:
**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false
**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.
** AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true ",
"enum": [
"Manual",
"AutomaticByOS",
@@ -11561,6 +11565,176 @@
}
}
}
+ },
+ "VirtualMachinePatchStatus": {
+ "properties": {
+ "availablePatchSummary": {
+ "$ref": "#/definitions/AvailablePatchSummary",
+ "description": "The available patch summary of the latest assessment operation for the virtual machine."
+ },
+ "lastPatchInstallationSummary": {
+ "$ref": "#/definitions/LastPatchInstallationSummary",
+ "description": "The installation summary of the latest installation operation for the virtual machine."
+ }
+ },
+ "description": "The status of virtual machine patch operations."
+ },
+ "AvailablePatchSummary": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"",
+ "enum": [
+ "InProgress",
+ "Failed",
+ "Succeeded",
+ "CompletedWithWarnings"
+ ],
+ "x-ms-enum": {
+ "name": "PatchOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "assessmentActivityId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs."
+ },
+ "rebootPending": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred."
+ },
+ "criticalAndSecurityPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of critical or security patches that have been detected as available and not yet installed."
+ },
+ "otherPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches excluding critical and security."
+ },
+ "startTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "The errors that were encountered during execution of the operation. The details array contains the list of them."
+ }
+ },
+ "description": "Describes the properties of an virtual machine instance view for available patch summary."
+ },
+ "LastPatchInstallationSummary": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"",
+ "enum": [
+ "InProgress",
+ "Failed",
+ "Succeeded",
+ "CompletedWithWarnings"
+ ],
+ "x-ms-enum": {
+ "name": "PatchOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "installationActivityId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs."
+ },
+ "maintenanceWindowExceeded": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Describes whether the operation ran out of time before it completed all its intended actions"
+ },
+ "rebootStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The reboot status of the machine after the patch operation. It will be in \"NotNeeded\" status if reboot is not needed after the patch operation. \"Required\" will be the status once the patch is applied and machine is required to reboot. \"Started\" will be the reboot status when the machine has started to reboot. \"Failed\" will be the status if the machine is failed to reboot. \"Completed\" will be the status once the machine is rebooted successfully",
+ "enum": [
+ "NotNeeded",
+ "Required",
+ "Started",
+ "Failed",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "RebootStatus",
+ "modelAsString": true
+ }
+ },
+ "notSelectedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches but not going to be installed because it didn't match a classification or inclusion list entry."
+ },
+ "excludedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches but excluded explicitly by a customer-specified exclusion list match."
+ },
+ "pendingPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches expected to be installed over the course of the patch installation operation."
+ },
+ "installedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The count of patches that successfully installed."
+ },
+ "failedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The count of patches that failed installation."
+ },
+ "startTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "startedBy": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The person or system account that started the operation"
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "The errors that were encountered during execution of the operation. The details array contains the list of them."
+ }
+ },
+ "description": "Describes the properties of the last installed patch summary."
}
},
"parameters": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceView.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceView.json
index d01a86c4c1ab..bb17b5ad0c6c 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceView.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceView.json
@@ -80,6 +80,31 @@
}
],
"hyperVGeneration": "V1",
+ "patchStatus": {
+ "availablePatchSummary": {
+ "status": "Succeeded",
+ "assessmentActivityId": "68f8b292-dfc2-4646-9781-33cc88631968",
+ "rebootPending": true,
+ "criticalAndSecurityPatchCount": 1,
+ "otherPatchCount": 2,
+ "startTime": "2020-04-24T21:02:04.2556154Z",
+ "error": null
+ },
+ "lastPatchInstallationSummary": {
+ "status": "Succeeded",
+ "maintenanceWindowExceeded": false,
+ "rebootStatus": "Completed",
+ "notSelectedPatchCount": 1,
+ "excludedPatchCount": 1,
+ "pendingPatchCount": 1,
+ "installedPatchCount": 1,
+ "failedPatchCount": 1,
+ "startTime": "2020-04-24T21:02:04.2556154Z",
+ "lastModifiedTime": "2020-04-24T21:02:04.2556154Z",
+ "startedBy": "platform",
+ "error": null
+ }
+ },
"statuses": [
{
"code": "ProvisioningState/succeeded",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
index bdac90ebf99b..d06e5e38b08b 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
@@ -121,6 +121,10 @@
"schemaLinkedService": {
"description": "Schema linked service reference.",
"$ref": "../datafactory.json#/definitions/LinkedServiceReference"
+ },
+ "staging": {
+ "description": "Staging info for execute data flow activity.",
+ "$ref": "../datafactory.json#/definitions/DataFlowStagingInfo"
}
}
},
@@ -143,6 +147,10 @@
"schemaLinkedService": {
"description": "Schema linked service reference.",
"$ref": "../datafactory.json#/definitions/LinkedServiceReference"
+ },
+ "staging": {
+ "description": "Staging info for execute data flow activity.",
+ "$ref": "../datafactory.json#/definitions/DataFlowStagingInfo"
}
}
}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json
index 734c0df12808..52cb2b83c073 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json
@@ -3067,27 +3067,6 @@
}
},
"definitions": {
- "AccountList": {
- "description": "List response for get Accounts.",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Account"
- }
- }
- }
- },
"Account": {
"description": "An account data transfer object.",
"required": [
@@ -3111,29 +3090,23 @@
}
}
},
- "Identity": {
- "description": "Identity of resource",
+ "AccountList": {
+ "description": "List response for get Accounts.",
+ "required": [
+ "value"
+ ],
"type": "object",
"properties": {
- "principalId": {
- "description": "service principal Id",
- "type": "string",
- "readOnly": true
- },
- "tenantId": {
- "description": "Tenant Id",
- "type": "string",
- "readOnly": true
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
},
- "type": {
- "description": "Identity Type",
- "enum": [
- "SystemAssigned"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "type",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Account"
}
}
}
@@ -3176,976 +3149,835 @@
}
}
},
- "DataShareError": {
- "description": "The data share error model.",
- "required": [
- "error"
- ],
+ "AccountUpdateParameters": {
+ "description": "Update parameters for accounts",
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/DataShareErrorInfo",
- "description": "The data share error body"
+ "tags": {
+ "description": "Tags on the azure resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
}
}
},
- "DataShareErrorInfo": {
- "description": "The data share error body model.",
+ "ADLSGen1FileDataSet": {
+ "description": "An ADLS Gen 1 file data set.",
"required": [
- "code",
- "message"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "code": {
- "description": "Code of the error",
- "type": "string"
- },
- "details": {
- "description": "Nested details of the error model",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DataShareErrorInfo"
- }
- },
- "message": {
- "description": "Message of the error",
- "type": "string"
- },
- "target": {
- "description": "Target of the error",
- "type": "string"
+ "properties": {
+ "$ref": "#/definitions/ADLSGen1FileProperties",
+ "description": "ADLS Gen 1 file data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen1File"
},
- "OperationResponse": {
- "description": "Response for long running operation",
+ "ADLSGen1FileProperties": {
+ "description": "Properties of the ADLS Gen1 file data set.",
"required": [
- "status"
+ "subscriptionId",
+ "resourceGroup",
+ "accountName",
+ "folderPath",
+ "fileName"
],
"type": "object",
"properties": {
- "endTime": {
- "format": "date-time",
- "description": "start time",
+ "accountName": {
+ "description": "The ADLS account name.",
"type": "string"
},
- "error": {
- "$ref": "#/definitions/DataShareErrorInfo",
- "description": "The error property when status is failed."
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
},
- "startTime": {
- "format": "date-time",
- "description": "start time",
+ "fileName": {
+ "description": "The file name in the ADLS account.",
"type": "string"
},
- "status": {
- "description": "Operation state of the long running operation.",
- "enum": [
- "Accepted",
- "InProgress",
- "TransientFailure",
- "Succeeded",
- "Failed",
- "Canceled"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "status",
- "modelAsString": true
- }
+ "folderPath": {
+ "description": "The folder path within the ADLS account.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group of ADLS account.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of ADLS account.",
+ "type": "string"
}
}
},
- "AccountUpdateParameters": {
- "description": "Update parameters for accounts",
+ "ADLSGen1FolderDataSet": {
+ "description": "An ADLS Gen 1 folder data set.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "tags": {
- "description": "Tags on the azure resource.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen1FolderProperties",
+ "description": "ADLS Gen 1 folder data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen1Folder"
},
- "ConsumerInvitationList": {
- "description": "List response for get InvitationList",
+ "ADLSGen1FolderProperties": {
+ "description": "Properties of the ADLS Gen1 folder data set.",
"required": [
- "value"
+ "subscriptionId",
+ "resourceGroup",
+ "accountName",
+ "folderPath"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "accountName": {
+ "description": "The ADLS account name.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ConsumerInvitation"
- }
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "folderPath": {
+ "description": "The folder path within the ADLS account.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group of ADLS account.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of ADLS account.",
+ "type": "string"
}
}
},
- "ConsumerInvitation": {
- "description": "A consumer Invitation data transfer object.",
+ "ADLSGen2FileDataSet": {
+ "description": "An ADLS Gen 2 file data set.",
"required": [
- "properties"
+ "properties",
+ "kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSet"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/ConsumerInvitationProperties",
- "description": "Properties on the account",
+ "$ref": "#/definitions/ADLSGen2FileProperties",
+ "description": "ADLS Gen 2 file data set properties.",
"x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen2File"
},
- "ConsumerInvitationProperties": {
- "description": "Properties of consumer invitation",
+ "ADLSGen2FileDataSetMapping": {
+ "description": "An ADLS Gen2 file data set mapping.",
"required": [
- "invitationId"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "dataSetCount": {
- "format": "int32",
- "description": "Number of data sets in a share",
- "type": "integer",
- "readOnly": true
- },
- "description": {
- "description": "Description shared when the invitation was created",
- "type": "string",
- "readOnly": true
- },
- "invitationId": {
- "description": "Unique id of the invitation.",
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FileDataSetMappingProperties",
+ "description": "ADLS Gen2 file data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "AdlsGen2File"
+ },
+ "ADLSGen2FileDataSetMappingProperties": {
+ "description": "ADLS Gen 2 file data set mapping property bag.",
+ "required": [
+ "fileSystem",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "invitationStatus": {
- "description": "The status of the invitation.",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Pending",
- "Accepted",
- "Rejected",
- "Withdrawn"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "invitationStatus",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "location": {
- "description": "invitation location",
- "type": "string",
- "readOnly": true
+ "filePath": {
+ "description": "File path within the file system.",
+ "type": "string"
},
- "providerEmail": {
- "description": "Email of the provider who created the resource",
- "type": "string",
- "readOnly": true
+ "fileSystem": {
+ "description": "File system to which the file belongs.",
+ "type": "string"
},
- "providerName": {
- "description": "Name of the provider who created the resource",
+ "outputType": {
+ "description": "Type of output file",
+ "enum": [
+ "Csv",
+ "Parquet"
+ ],
"type": "string",
- "readOnly": true
+ "x-ms-enum": {
+ "name": "outputType",
+ "modelAsString": true
+ }
},
- "providerTenantName": {
- "description": "Tenant name of the provider who created the resource",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
},
- "respondedAt": {
- "format": "date-time",
- "description": "The time the recipient responded to the invitation.",
- "type": "string",
- "readOnly": true
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
+ "type": "string"
},
- "sentAt": {
- "format": "date-time",
- "description": "Gets the time at which the invitation was sent.",
- "type": "string",
- "readOnly": true
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
+ "type": "string"
},
- "shareName": {
- "description": "Gets the source share Name.",
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "ADLSGen2FileProperties": {
+ "description": "Properties of the ADLS Gen2 file data set.",
+ "required": [
+ "fileSystem",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
- "termsOfUse": {
- "description": "Terms of use shared when the invitation was created",
- "type": "string",
- "readOnly": true
+ "filePath": {
+ "description": "File path within the file system.",
+ "type": "string"
},
- "userEmail": {
- "description": "Email of the user who created the resource",
- "type": "string",
- "readOnly": true
+ "fileSystem": {
+ "description": "File system to which the file belongs.",
+ "type": "string"
},
- "userName": {
- "description": "Name of the user who created the resource",
- "type": "string",
- "readOnly": true
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "DataSet": {
- "description": "A DataSet data transfer object.",
+ "ADLSGen2FileSystemDataSet": {
+ "description": "An ADLS Gen 2 file system data set.",
"required": [
+ "properties",
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSet"
}
],
"properties": {
- "kind": {
- "description": "Kind of data set.",
- "enum": [
- "Blob",
- "Container",
- "BlobFolder",
- "AdlsGen2FileSystem",
- "AdlsGen2Folder",
- "AdlsGen2File",
- "AdlsGen1Folder",
- "AdlsGen1File",
- "KustoCluster",
- "KustoDatabase",
- "SqlDBTable",
- "SqlDWTable"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FileSystemProperties",
+ "description": "ADLS Gen 2 file system data set properties.",
+ "x-ms-client-flatten": true
}
},
- "discriminator": "kind"
- },
- "DataSetList": {
- "description": "List response for get DataSets",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DataSet"
- }
- }
- }
+ "x-ms-discriminator-value": "AdlsGen2FileSystem"
},
- "DataSetMapping": {
- "description": "A data set mapping data transfer object.",
+ "ADLSGen2FileSystemDataSetMapping": {
+ "description": "An ADLS Gen2 file system data set mapping.",
"required": [
+ "properties",
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSetMapping"
}
],
"properties": {
- "kind": {
- "description": "Kind of data set mapping.",
- "enum": [
- "Blob",
- "Container",
- "BlobFolder",
- "AdlsGen2FileSystem",
- "AdlsGen2Folder",
- "AdlsGen2File",
- "KustoCluster",
- "KustoDatabase",
- "SqlDBTable",
- "SqlDWTable"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FileSystemDataSetMappingProperties",
+ "description": "ADLS Gen2 file system data set mapping properties.",
+ "x-ms-client-flatten": true
}
},
- "discriminator": "kind"
+ "x-ms-discriminator-value": "AdlsGen2FileSystem"
},
- "DataSetMappingList": {
- "description": "List response for get DataSetMappings",
+ "ADLSGen2FileSystemDataSetMappingProperties": {
+ "description": "ADLS Gen 2 file system data set mapping property bag.",
"required": [
- "value"
+ "fileSystem",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DataSetMapping"
- }
- }
- }
- },
- "Invitation": {
- "description": "A Invitation data transfer object.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyDto"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/InvitationProperties",
- "description": "Properties on the Invitation",
- "x-ms-client-flatten": true
- }
- }
- },
- "InvitationProperties": {
- "description": "Invitation property bag.",
- "type": "object",
- "properties": {
- "invitationId": {
- "description": "unique invitation id",
- "type": "string",
- "readOnly": true
- },
- "invitationStatus": {
- "description": "The status of the invitation.",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Pending",
- "Accepted",
- "Rejected",
- "Withdrawn"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "invitationStatus",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "respondedAt": {
- "format": "date-time",
- "description": "The time the recipient responded to the invitation.",
- "type": "string",
- "readOnly": true
+ "fileSystem": {
+ "description": "The file system name.",
+ "type": "string"
},
- "sentAt": {
- "format": "date-time",
- "description": "Gets the time at which the invitation was sent.",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
},
- "targetActiveDirectoryId": {
- "description": "The target Azure AD Id. Can't be combined with email.",
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
"type": "string"
},
- "targetEmail": {
- "description": "The email the invitation is directed to.",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
"type": "string"
},
- "targetObjectId": {
- "description": "The target user or application Id that invitation is being sent to.\r\nMust be specified along TargetActiveDirectoryId. This enables sending\r\ninvitations to specific users or applications in an AD tenant.",
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
"type": "string"
- },
- "userEmail": {
- "description": "Email of the user who created the resource",
- "type": "string",
- "readOnly": true
- },
- "userName": {
- "description": "Name of the user who created the resource",
- "type": "string",
- "readOnly": true
}
}
},
- "InvitationList": {
- "description": "List response for get InvitationList",
+ "ADLSGen2FileSystemProperties": {
+ "description": "Properties of the ADLS Gen2 file system data set.",
"required": [
- "value"
+ "fileSystem",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "fileSystem": {
+ "description": "The file system name.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Invitation"
- }
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "OperationList": {
- "description": "List response for get operations.",
+ "ADLSGen2FolderDataSet": {
+ "description": "An ADLS Gen 2 folder data set.",
"required": [
- "value"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/OperationModel"
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FolderProperties",
+ "description": "ADLS Gen 2 folder data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen2Folder"
},
- "OperationModel": {
- "description": "The response model for get operations",
+ "ADLSGen2FolderDataSetMapping": {
+ "description": "An ADLS Gen2 folder data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "display": {
- "$ref": "#/definitions/OperationModelProperties",
- "description": "Properties on the operation"
- },
- "name": {
- "description": "Operation name for display purposes",
- "type": "string"
- },
- "origin": {
- "description": "origin of the operation",
- "type": "string"
- },
"properties": {
- "$ref": "#/definitions/OperationMetaPropertyInfo",
- "description": "properties for the operation meta info",
+ "$ref": "#/definitions/ADLSGen2FolderDataSetMappingProperties",
+ "description": "ADLS Gen2 folder data set mapping properties.",
"x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen2Folder"
},
- "OperationModelProperties": {
- "description": "Properties on operations",
+ "ADLSGen2FolderDataSetMappingProperties": {
+ "description": "ADLS Gen 2 folder data set mapping property bag.",
+ "required": [
+ "fileSystem",
+ "folderPath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
+ ],
"type": "object",
"properties": {
- "description": {
- "description": "Description of the operation for display purposes",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "operation": {
- "description": "Name of the operation for display purposes",
- "type": "string"
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
},
- "provider": {
- "description": "Name of the provider for display purposes",
+ "fileSystem": {
+ "description": "File system to which the folder belongs.",
"type": "string"
},
- "resource": {
- "description": "Name of the resource type for display purposes",
+ "folderPath": {
+ "description": "Folder path within the file system.",
"type": "string"
- }
- }
- },
- "OperationMetaPropertyInfo": {
- "description": "properties on meta info",
- "type": "object",
- "properties": {
- "serviceSpecification": {
- "$ref": "#/definitions/OperationMetaServiceSpecification",
- "description": "meta service specification"
- }
- }
- },
- "OperationMetaServiceSpecification": {
- "description": "The operation meta service specification",
- "type": "object",
- "properties": {
- "logSpecifications": {
- "description": "log specifications for the operation",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/OperationMetaLogSpecification"
- }
},
- "metricSpecifications": {
- "description": "metric specifications for the operation",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/OperationMetaMetricSpecification"
- }
- }
- }
- },
- "OperationMetaMetricSpecification": {
- "description": "metric specifications for the operation",
- "type": "object",
- "properties": {
- "aggregationType": {
- "description": "aggregation type of metric",
- "type": "string"
- },
- "dimensions": {
- "description": "properties for dimension",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DimensionProperties"
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
}
},
- "displayDescription": {
- "description": "description of the metric",
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
"type": "string"
},
- "displayName": {
- "description": "localized name of the metric",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
"type": "string"
},
- "enableRegionalMdmAccount": {
- "description": "enable regional mdm account",
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
"type": "string"
+ }
+ }
+ },
+ "ADLSGen2FolderProperties": {
+ "description": "Properties of the ADLS Gen2 folder data set.",
+ "required": [
+ "fileSystem",
+ "folderPath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
},
- "internalMetricName": {
- "description": "internal metric name",
+ "fileSystem": {
+ "description": "File system to which the folder belongs.",
"type": "string"
},
- "name": {
- "description": "name of the metric",
+ "folderPath": {
+ "description": "Folder path within the file system.",
"type": "string"
},
- "resourceIdDimensionNameOverride": {
- "description": "dimension name use to replace resource id if specified",
+ "resourceGroup": {
+ "description": "Resource group of storage account",
"type": "string"
},
- "supportedAggregationTypes": {
- "description": "supported aggregation types",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "supportedTimeGrainTypes": {
- "description": "supported time grain types",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "type": "string"
- }
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
},
- "unit": {
- "description": "units for the metric",
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
"type": "string"
}
}
},
- "OperationMetaLogSpecification": {
- "description": "log specifications for operation api",
+ "BlobContainerDataSet": {
+ "description": "An Azure storage blob container data set.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "blobDuration": {
- "description": "blob duration of the log",
- "type": "string"
- },
- "displayName": {
- "description": "localized name of the log category",
- "type": "string"
- },
- "name": {
- "description": "name of the log category",
- "type": "string"
+ "properties": {
+ "$ref": "#/definitions/BlobContainerProperties",
+ "description": "Blob container data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "Container"
},
- "DimensionProperties": {
- "description": "properties for dimension",
+ "BlobContainerDataSetMapping": {
+ "description": "A Blob container data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "displayName": {
- "description": "localized display name of the dimension to customer",
- "type": "string"
- },
- "name": {
- "description": "dimension name",
- "type": "string"
+ "properties": {
+ "$ref": "#/definitions/BlobContainerMappingProperties",
+ "description": "Blob container data set mapping properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "Container"
},
- "ShareSynchronization": {
- "description": "A ShareSynchronization data transfer object.",
+ "BlobContainerMappingProperties": {
+ "description": "Azure storage Blob container data set mapping property bag.",
+ "required": [
+ "containerName",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
+ ],
"type": "object",
"properties": {
- "consumerEmail": {
- "description": "Email of the user who created the synchronization",
- "type": "string"
- },
- "consumerName": {
- "description": "Name of the user who created the synchronization",
- "type": "string"
- },
- "consumerTenantName": {
- "description": "Tenant name of the consumer who created the synchronization",
- "type": "string"
- },
- "durationMs": {
- "format": "int32",
- "description": "synchronization duration",
- "type": "integer"
- },
- "endTime": {
- "format": "date-time",
- "description": "End time of synchronization",
- "type": "string"
- },
- "message": {
- "description": "message of synchronization",
- "type": "string"
- },
- "startTime": {
- "format": "date-time",
- "description": "start time of synchronization",
+ "containerName": {
+ "description": "BLOB Container name.",
"type": "string"
},
- "status": {
- "description": "Raw Status",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "synchronizationId": {
- "description": "Synchronization id",
- "type": "string"
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
},
- "synchronizationMode": {
- "description": "Synchronization mode",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
"enum": [
- "Incremental",
- "FullSync"
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "synchronizationMode",
+ "name": "provisioningState",
"modelAsString": true
}
+ },
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
}
}
},
- "SynchronizationDetailsList": {
- "description": "details of synchronization",
+ "BlobContainerProperties": {
+ "description": "Properties of the BLOB container data set.",
"required": [
- "value"
+ "containerName",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "containerName": {
+ "description": "BLOB Container name.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/SynchronizationDetails"
- }
- }
- }
- },
- "SynchronizationDetails": {
- "description": "Synchronization details at data set level",
- "type": "object",
- "properties": {
"dataSetId": {
- "description": "Id of data set",
- "type": "string",
- "readOnly": true
- },
- "dataSetType": {
- "description": "Type of the data set",
- "enum": [
- "Blob",
- "Container",
- "BlobFolder",
- "AdlsGen2FileSystem",
- "AdlsGen2Folder",
- "AdlsGen2File",
- "AdlsGen1Folder",
- "AdlsGen1File",
- "KustoCluster",
- "KustoDatabase",
- "SqlDBTable",
- "SqlDWTable"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetType",
- "modelAsString": true
- }
- },
- "durationMs": {
- "format": "int32",
- "description": "Duration of data set level copy",
- "type": "integer",
- "readOnly": true
- },
- "endTime": {
- "format": "date-time",
- "description": "End time of data set level copy",
- "type": "string",
- "readOnly": true
- },
- "filesRead": {
- "format": "int64",
- "description": "The number of files read from the source data set",
- "type": "integer",
- "readOnly": true
- },
- "filesWritten": {
- "format": "int64",
- "description": "The number of files written into the sink data set",
- "type": "integer",
- "readOnly": true
- },
- "message": {
- "description": "Error message if any",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name of the data set",
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
- "rowsCopied": {
- "format": "int64",
- "description": "The number of files copied into the sink data set",
- "type": "integer",
- "readOnly": true
- },
- "rowsRead": {
- "format": "int64",
- "description": "The number of rows read from the source data set.",
- "type": "integer",
- "readOnly": true
- },
- "sizeRead": {
- "format": "int64",
- "description": "The size of the data read from the source data set in bytes",
- "type": "integer",
- "readOnly": true
- },
- "sizeWritten": {
- "format": "int64",
- "description": "The size of the data written into the sink data set in bytes",
- "type": "integer",
- "readOnly": true
- },
- "startTime": {
- "format": "date-time",
- "description": "Start time of data set level copy",
- "type": "string",
- "readOnly": true
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
},
- "status": {
- "description": "Raw Status",
- "type": "string",
- "readOnly": true
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
},
- "vCore": {
- "format": "int64",
- "description": "The vCore units consumed for the data set synchronization",
- "type": "integer",
- "readOnly": true
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "ShareSynchronizationList": {
- "description": "List response for get ShareSynchronization.",
+ "BlobDataSet": {
+ "description": "An Azure storage blob data set.",
"required": [
- "value"
+ "properties",
+ "kind"
],
"type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ShareSynchronization"
- }
- }
- }
- },
- "ProviderShareSubscription": {
- "description": "A provider side share subscription data transfer object.",
- "type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSet"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/ProviderShareSubscriptionProperties",
- "description": "properties of providerShareSubscription",
+ "$ref": "#/definitions/BlobProperties",
+ "description": "Blob data set properties.",
"x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "Blob"
},
- "ProviderShareSubscriptionProperties": {
- "description": "Provider share subscription properties",
+ "BlobDataSetMapping": {
+ "description": "A Blob data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "consumerEmail": {
- "description": "Email of the consumer who created the share subscription",
- "type": "string",
- "readOnly": true
- },
- "consumerName": {
- "description": "Name of the consumer who created the share subscription",
- "type": "string",
- "readOnly": true
- },
- "consumerTenantName": {
- "description": "Tenant name of the consumer who created the share subscription",
- "type": "string",
- "readOnly": true
- },
- "createdAt": {
- "format": "date-time",
- "description": "created at",
- "type": "string",
- "readOnly": true
- },
- "providerEmail": {
- "description": "Email of the provider who created the share",
- "type": "string",
- "readOnly": true
- },
- "providerName": {
- "description": "Name of the provider who created the share",
- "type": "string",
- "readOnly": true
- },
- "sharedAt": {
- "format": "date-time",
- "description": "Shared at",
- "type": "string",
- "readOnly": true
- },
- "shareSubscriptionObjectId": {
- "description": "share Subscription Object Id",
- "type": "string",
- "readOnly": true
- },
- "shareSubscriptionStatus": {
- "description": "Gets the status of share subscription",
- "enum": [
- "Active",
- "Revoked",
- "SourceDeleted",
- "Revoking"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "shareSubscriptionStatus",
- "modelAsString": true
- }
+ "properties": {
+ "$ref": "#/definitions/BlobMappingProperties",
+ "description": "Blob data set mapping properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "Blob"
},
- "ProviderShareSubscriptionList": {
- "description": "List response for get ShareSubscription.",
+ "BlobFolderDataSet": {
+ "description": "An Azure storage blob folder data set.",
"required": [
- "value"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProviderShareSubscription"
- }
+ "properties": {
+ "$ref": "#/definitions/BlobFolderProperties",
+ "description": "Blob folder data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "BlobFolder"
},
- "Share": {
- "description": "A share data transfer object.",
+ "BlobFolderDataSetMapping": {
+ "description": "A Blob folder data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSetMapping"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/ShareProperties",
- "description": "Properties on the share",
+ "$ref": "#/definitions/BlobFolderMappingProperties",
+ "description": "Blob folder data set mapping properties.",
"x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "BlobFolder"
},
- "ShareProperties": {
- "description": "Share property bag.",
+ "BlobFolderMappingProperties": {
+ "description": "Azure storage Blob folder data set mapping property bag.",
+ "required": [
+ "containerName",
+ "prefix",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
+ ],
"type": "object",
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the share was created.",
+ "containerName": {
+ "description": "Container that has the file path.",
+ "type": "string"
+ },
+ "dataSetId": {
+ "description": "The id of the source data set.",
+ "type": "string"
+ },
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
},
- "description": {
- "description": "Share description.",
+ "prefix": {
+ "description": "Prefix for blob folder",
"type": "string"
},
"provisioningState": {
- "description": "Gets or sets the provisioning state",
+ "description": "Provisioning state of the data set mapping.",
"enum": [
"Succeeded",
"Creating",
@@ -4160,239 +3992,196 @@
"modelAsString": true
}
},
- "shareKind": {
- "description": "Share kind.",
- "enum": [
- "CopyBased",
- "InPlace"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "shareKind",
- "modelAsString": true
- }
- },
- "terms": {
- "description": "Share terms.",
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
"type": "string"
},
- "userEmail": {
- "description": "Email of the user who created the resource",
- "type": "string",
- "readOnly": true
- },
- "userName": {
- "description": "Name of the user who created the resource",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "ShareList": {
- "description": "List response for get Shares.",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Share"
- }
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
}
}
},
- "ShareSubscriptionSynchronization": {
- "description": "A ShareSubscriptionSynchronization data transfer object.",
+ "BlobFolderProperties": {
+ "description": "Properties of the blob folder data set.",
"required": [
- "synchronizationId"
+ "containerName",
+ "prefix",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
],
"type": "object",
"properties": {
- "durationMs": {
- "format": "int32",
- "description": "Synchronization duration",
- "type": "integer",
- "readOnly": true
- },
- "endTime": {
- "format": "date-time",
- "description": "End time of synchronization",
- "type": "string",
- "readOnly": true
+ "containerName": {
+ "description": "Container that has the file path.",
+ "type": "string"
},
- "message": {
- "description": "message of Synchronization",
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
- "startTime": {
- "format": "date-time",
- "description": "start time of synchronization",
- "type": "string",
- "readOnly": true
+ "prefix": {
+ "description": "Prefix for blob folder",
+ "type": "string"
},
- "status": {
- "description": "Raw Status",
- "type": "string",
- "readOnly": true
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
},
- "synchronizationId": {
- "description": "Synchronization id",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
"type": "string"
},
- "synchronizationMode": {
- "description": "Synchronization Mode",
- "enum": [
- "Incremental",
- "FullSync"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "synchronizationMode",
- "modelAsString": true
- }
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "ConsumerSourceDataSetList": {
- "description": "A consumer side list of source dataSets",
+ "BlobMappingProperties": {
+ "description": "Azure storage Blob data set mapping property bag.",
"required": [
- "value"
+ "containerName",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "containerName": {
+ "description": "Container that has the file path.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ConsumerSourceDataSet"
- }
- }
- }
- },
- "ConsumerSourceDataSet": {
- "description": "A consumer side dataSet data transfer object.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyDto"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ConsumerSourceDataSetProperties",
- "description": "source dataSet properties",
- "x-ms-client-flatten": true
- }
- }
- },
- "ConsumerSourceDataSetProperties": {
- "description": "Properties of consumer source dataSet",
- "type": "object",
- "properties": {
"dataSetId": {
- "description": "DataSet Id",
- "type": "string",
- "readOnly": true
- },
- "dataSetLocation": {
- "description": "Location of the data set.",
- "type": "string",
- "readOnly": true
+ "description": "The id of the source data set.",
+ "type": "string"
},
- "dataSetName": {
- "description": "DataSet name",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
},
- "dataSetPath": {
- "description": "DataSet path",
- "type": "string",
- "readOnly": true
+ "filePath": {
+ "description": "File path within the source data set",
+ "type": "string"
},
- "dataSetType": {
- "description": "Type of data set",
+ "outputType": {
+ "description": "File output type",
"enum": [
- "Blob",
- "Container",
- "BlobFolder",
- "AdlsGen2FileSystem",
- "AdlsGen2Folder",
- "AdlsGen2File",
- "AdlsGen1Folder",
- "AdlsGen1File",
- "KustoCluster",
- "KustoDatabase",
- "SqlDBTable",
- "SqlDWTable"
+ "Csv",
+ "Parquet"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "outputType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "dataSetType",
+ "name": "provisioningState",
"modelAsString": true
}
+ },
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
}
}
},
- "SourceShareSynchronizationSettingList": {
- "description": "List response for get source share Synchronization settings",
+ "BlobProperties": {
+ "description": "Properties of the blob data set.",
"required": [
- "value"
+ "containerName",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "containerName": {
+ "description": "Container that has the file path.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/SourceShareSynchronizationSetting"
- }
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "filePath": {
+ "description": "File path within the source data set",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "SourceShareSynchronizationSetting": {
- "description": "A view of synchronization setting added by the provider",
+ "ConsumerInvitation": {
+ "description": "A consumer Invitation data transfer object.",
"required": [
- "kind"
+ "properties"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyDto"
+ }
+ ],
"properties": {
- "kind": {
- "description": "Kind of synchronization",
- "enum": [
- "ScheduleBased"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
+ "properties": {
+ "$ref": "#/definitions/ConsumerInvitationProperties",
+ "description": "Properties on the account",
+ "x-ms-client-flatten": true
}
- },
- "discriminator": "kind"
+ }
},
- "ShareSubscriptionSynchronizationList": {
- "description": "A consumer side list of share subscription synchronizations",
+ "ConsumerInvitationList": {
+ "description": "List response for get InvitationList",
"required": [
"value"
],
@@ -4407,34 +4196,104 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ "$ref": "#/definitions/ConsumerInvitation"
}
}
}
},
- "Synchronize": {
- "description": "Payload for the synchronizing the data.",
+ "ConsumerInvitationProperties": {
+ "description": "Properties of consumer invitation",
+ "required": [
+ "invitationId"
+ ],
"type": "object",
"properties": {
- "synchronizationMode": {
- "description": "Mode of synchronization used in triggers and snapshot sync. Incremental by default",
+ "dataSetCount": {
+ "format": "int32",
+ "description": "Number of data sets in a share",
+ "type": "integer",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Description shared when the invitation was created",
+ "type": "string",
+ "readOnly": true
+ },
+ "invitationId": {
+ "description": "Unique id of the invitation.",
+ "type": "string"
+ },
+ "invitationStatus": {
+ "description": "The status of the invitation.",
"enum": [
- "Incremental",
- "FullSync"
+ "Pending",
+ "Accepted",
+ "Rejected",
+ "Withdrawn"
],
"type": "string",
+ "readOnly": true,
"x-ms-enum": {
- "name": "synchronizationMode",
+ "name": "invitationStatus",
"modelAsString": true
}
+ },
+ "location": {
+ "description": "invitation location",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerEmail": {
+ "description": "Email of the provider who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerName": {
+ "description": "Name of the provider who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerTenantName": {
+ "description": "Tenant name of the provider who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "respondedAt": {
+ "format": "date-time",
+ "description": "The time the recipient responded to the invitation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sentAt": {
+ "format": "date-time",
+ "description": "Gets the time at which the invitation was sent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareName": {
+ "description": "Gets the source share Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "termsOfUse": {
+ "description": "Terms of use shared when the invitation was created",
+ "type": "string",
+ "readOnly": true
+ },
+ "userEmail": {
+ "description": "Email of the user who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "userName": {
+ "description": "Name of the user who created the resource",
+ "type": "string",
+ "readOnly": true
}
}
},
- "ShareSubscription": {
- "description": "A share subscription data transfer object.",
- "required": [
- "properties"
- ],
+ "ConsumerSourceDataSet": {
+ "description": "A consumer side dataSet data transfer object.",
"type": "object",
"allOf": [
{
@@ -4443,122 +4302,121 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/ShareSubscriptionProperties",
- "description": "Properties on the share subscription",
+ "$ref": "#/definitions/ConsumerSourceDataSetProperties",
+ "description": "source dataSet properties",
"x-ms-client-flatten": true
}
}
},
- "ShareSubscriptionProperties": {
- "description": "Share subscription property bag.",
+ "ConsumerSourceDataSetList": {
+ "description": "A consumer side list of source dataSets",
"required": [
- "invitationId",
- "sourceShareLocation"
+ "value"
],
"type": "object",
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the share subscription was created.",
- "type": "string",
- "readOnly": true
- },
- "invitationId": {
- "description": "The invitation id.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "providerEmail": {
- "description": "Email of the provider who created the resource",
- "type": "string",
- "readOnly": true
- },
- "providerName": {
- "description": "Name of the provider who created the resource",
- "type": "string",
- "readOnly": true
- },
- "providerTenantName": {
- "description": "Tenant name of the provider who created the resource",
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConsumerSourceDataSet"
+ }
+ }
+ }
+ },
+ "ConsumerSourceDataSetProperties": {
+ "description": "Properties of consumer source dataSet",
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "DataSet Id",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the share subscription",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
+ "dataSetLocation": {
+ "description": "Location of the data set.",
"type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
+ "readOnly": true
},
- "shareDescription": {
- "description": "Description of share",
+ "dataSetName": {
+ "description": "DataSet name",
"type": "string",
"readOnly": true
},
- "shareKind": {
- "description": "Kind of share",
+ "dataSetPath": {
+ "description": "DataSet path",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataSetType": {
+ "description": "Type of data set",
"enum": [
- "CopyBased",
- "InPlace"
+ "Blob",
+ "Container",
+ "BlobFolder",
+ "AdlsGen2FileSystem",
+ "AdlsGen2Folder",
+ "AdlsGen2File",
+ "AdlsGen1Folder",
+ "AdlsGen1File",
+ "KustoCluster",
+ "KustoDatabase",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "shareKind",
+ "name": "dataSetType",
"modelAsString": true
}
- },
- "shareName": {
- "description": "Name of the share",
- "type": "string",
- "readOnly": true
- },
- "shareSubscriptionStatus": {
- "description": "Gets the current status of share subscription.",
+ }
+ }
+ },
+ "DataSet": {
+ "description": "A DataSet data transfer object.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyDto"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Kind of data set.",
"enum": [
- "Active",
- "Revoked",
- "SourceDeleted",
- "Revoking"
+ "Blob",
+ "Container",
+ "BlobFolder",
+ "AdlsGen2FileSystem",
+ "AdlsGen2Folder",
+ "AdlsGen2File",
+ "AdlsGen1Folder",
+ "AdlsGen1File",
+ "KustoCluster",
+ "KustoDatabase",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "shareSubscriptionStatus",
+ "name": "kind",
"modelAsString": true
}
- },
- "shareTerms": {
- "description": "Terms of a share",
- "type": "string",
- "readOnly": true
- },
- "sourceShareLocation": {
- "description": "Source share location.",
- "type": "string"
- },
- "userEmail": {
- "description": "Email of the user who created the resource",
- "type": "string",
- "readOnly": true
- },
- "userName": {
- "description": "Name of the user who created the resource",
- "type": "string",
- "readOnly": true
}
- }
+ },
+ "discriminator": "kind"
},
- "ShareSubscriptionList": {
- "description": "List response for get ShareSubscription.",
+ "DataSetList": {
+ "description": "List response for get DataSets",
"required": [
"value"
],
@@ -4573,13 +4431,13 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/ShareSubscription"
+ "$ref": "#/definitions/DataSet"
}
}
}
},
- "SynchronizationSetting": {
- "description": "A Synchronization Setting data transfer object.",
+ "DataSetMapping": {
+ "description": "A data set mapping data transfer object.",
"required": [
"kind"
],
@@ -4591,9 +4449,18 @@
],
"properties": {
"kind": {
- "description": "Kind of synchronization",
+ "description": "Kind of data set mapping.",
"enum": [
- "ScheduleBased"
+ "Blob",
+ "Container",
+ "BlobFolder",
+ "AdlsGen2FileSystem",
+ "AdlsGen2Folder",
+ "AdlsGen2File",
+ "KustoCluster",
+ "KustoDatabase",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"x-ms-enum": {
@@ -4604,8 +4471,8 @@
},
"discriminator": "kind"
},
- "SynchronizationSettingList": {
- "description": "List response for get Synchronization settings",
+ "DataSetMappingList": {
+ "description": "List response for get DataSetMappings",
"required": [
"value"
],
@@ -4620,39 +4487,146 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/SynchronizationSetting"
+ "$ref": "#/definitions/DataSetMapping"
}
}
}
},
- "Trigger": {
- "description": "A Trigger data transfer object.",
+ "DataShareError": {
+ "description": "The data share error model.",
"required": [
- "kind"
+ "error"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyDto"
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/DataShareErrorInfo",
+ "description": "The data share error body"
}
+ }
+ },
+ "DataShareErrorInfo": {
+ "description": "The data share error body model.",
+ "required": [
+ "code",
+ "message"
],
+ "type": "object",
"properties": {
- "kind": {
- "description": "Kind of synchronization",
+ "code": {
+ "description": "Code of the error",
+ "type": "string"
+ },
+ "details": {
+ "description": "Nested details of the error model",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataShareErrorInfo"
+ }
+ },
+ "message": {
+ "description": "Message of the error",
+ "type": "string"
+ },
+ "target": {
+ "description": "Target of the error",
+ "type": "string"
+ }
+ }
+ },
+ "DefaultDto": {
+ "description": "Base data transfer object implementation for default resources.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource id of the azure resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Location of the azure resource.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the azure resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "Tags on the azure resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "type": {
+ "description": "Type of the azure resource",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DimensionProperties": {
+ "description": "properties for dimension",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "localized display name of the dimension to customer",
+ "type": "string"
+ },
+ "name": {
+ "description": "dimension name",
+ "type": "string"
+ }
+ }
+ },
+ "Identity": {
+ "description": "Identity of resource",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "service principal Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Tenant Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Identity Type",
"enum": [
- "ScheduleBased"
+ "SystemAssigned"
],
"type": "string",
"x-ms-enum": {
- "name": "kind",
+ "name": "type",
"modelAsString": true
}
}
- },
- "discriminator": "kind"
+ }
+ },
+ "Invitation": {
+ "description": "A Invitation data transfer object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyDto"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/InvitationProperties",
+ "description": "Properties on the Invitation",
+ "x-ms-client-flatten": true
+ }
+ }
},
- "TriggerList": {
- "description": "List response for get triggers",
+ "InvitationList": {
+ "description": "List response for get InvitationList",
"required": [
"value"
],
@@ -4667,88 +4641,73 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/Trigger"
+ "$ref": "#/definitions/Invitation"
}
}
}
},
- "ScheduledSynchronizationSetting": {
- "description": "A type of synchronization setting based on schedule",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SynchronizationSetting"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ScheduledSynchronizationSettingProperties",
- "description": "Properties of scheduled synchronization",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "ScheduleBased"
- },
- "ScheduledSynchronizationSettingProperties": {
- "description": "A Scheduled synchronization setting data transfer object.",
- "required": [
- "recurrenceInterval",
- "synchronizationTime"
- ],
+ "InvitationProperties": {
+ "description": "Invitation property bag.",
"type": "object",
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the synchronization setting was created.",
+ "invitationId": {
+ "description": "unique invitation id",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Gets or sets the provisioning state",
+ "invitationStatus": {
+ "description": "The status of the invitation.",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Pending",
+ "Accepted",
+ "Rejected",
+ "Withdrawn"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "invitationStatus",
"modelAsString": true
}
},
- "recurrenceInterval": {
- "description": "Recurrence Interval",
- "enum": [
- "Hour",
- "Day"
- ],
+ "respondedAt": {
+ "format": "date-time",
+ "description": "The time the recipient responded to the invitation.",
"type": "string",
- "x-ms-enum": {
- "name": "recurrenceInterval",
- "modelAsString": true
- }
+ "readOnly": true
},
- "synchronizationTime": {
+ "sentAt": {
"format": "date-time",
- "description": "Synchronization time",
+ "description": "Gets the time at which the invitation was sent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetActiveDirectoryId": {
+ "description": "The target Azure AD Id. Can't be combined with email.",
+ "type": "string"
+ },
+ "targetEmail": {
+ "description": "The email the invitation is directed to.",
"type": "string"
},
+ "targetObjectId": {
+ "description": "The target user or application Id that invitation is being sent to.\r\nMust be specified along TargetActiveDirectoryId. This enables sending\r\ninvitations to specific users or applications in an AD tenant.",
+ "type": "string"
+ },
+ "userEmail": {
+ "description": "Email of the user who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
"userName": {
- "description": "Name of the user who created the synchronization setting.",
+ "description": "Name of the user who created the resource",
"type": "string",
"readOnly": true
}
}
},
- "ScheduledTrigger": {
- "description": "A type of trigger based on schedule",
+ "KustoClusterDataSet": {
+ "description": "A kusto cluster data set.",
"required": [
"properties",
"kind"
@@ -4756,159 +4715,132 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Trigger"
+ "$ref": "#/definitions/DataSet"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/ScheduledTriggerProperties",
- "description": "Properties of scheduled synchronization",
+ "$ref": "#/definitions/KustoClusterDataSetProperties",
+ "description": "Kusto cluster data set properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "ScheduleBased"
+ "x-ms-discriminator-value": "KustoCluster"
},
- "ScheduledTriggerProperties": {
- "description": "A Scheduled trigger data transfer object.",
+ "KustoClusterDataSetMapping": {
+ "description": "A Kusto cluster data set mapping",
"required": [
- "recurrenceInterval",
- "synchronizationTime"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the trigger was created.",
- "type": "string",
- "readOnly": true
+ "properties": {
+ "$ref": "#/definitions/KustoClusterDataSetMappingProperties",
+ "description": "Kusto cluster data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "KustoCluster"
+ },
+ "KustoClusterDataSetMappingProperties": {
+ "description": "Properties of the Kusto cluster data set mapping",
+ "required": [
+ "kustoClusterResourceId",
+ "dataSetId"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "The id of the source data set.",
+ "type": "string"
},
- "provisioningState": {
- "description": "Gets the provisioning state",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "recurrenceInterval": {
- "description": "Recurrence Interval",
- "enum": [
- "Hour",
- "Day"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "recurrenceInterval",
- "modelAsString": true
- }
+ "kustoClusterResourceId": {
+ "description": "Resource id of the sink kusto cluster.",
+ "type": "string"
},
- "synchronizationMode": {
- "description": "Synchronization mode",
- "enum": [
- "Incremental",
- "FullSync"
- ],
+ "location": {
+ "description": "Location of the sink kusto cluster.",
"type": "string",
- "x-ms-enum": {
- "name": "synchronizationMode",
- "modelAsString": true
- }
- },
- "synchronizationTime": {
- "format": "date-time",
- "description": "Synchronization time",
- "type": "string"
+ "readOnly": true
},
- "triggerStatus": {
- "description": "Gets the trigger state",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
"enum": [
- "Active",
- "Inactive",
- "SourceSynchronizationSettingDeleted"
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "triggerStatus",
+ "name": "provisioningState",
"modelAsString": true
}
- },
- "userName": {
- "description": "Name of the user who created the trigger.",
- "type": "string",
- "readOnly": true
}
}
},
- "BlobDataSet": {
- "description": "An Azure storage blob data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/BlobProperties",
- "description": "Blob data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "Blob"
- },
- "BlobProperties": {
- "description": "Properties of the blob data set.",
+ "KustoClusterDataSetProperties": {
+ "description": "Properties of the kusto cluster data set.",
"required": [
- "containerName",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
+ "kustoClusterResourceId"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
"dataSetId": {
"description": "Unique id for identifying a data set resource",
"type": "string",
- "readOnly": true
- },
- "filePath": {
- "description": "File path within the source data set",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
- "type": "string"
+ "readOnly": true
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
+ "kustoClusterResourceId": {
+ "description": "Resource id of the kusto cluster.",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "location": {
+ "description": "Location of the kusto cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the kusto cluster data set.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
}
}
},
- "BlobFolderDataSet": {
- "description": "An Azure storage blob folder data set.",
+ "KustoDatabaseDataSet": {
+ "description": "A kusto database data set.",
"required": [
"properties",
"kind"
@@ -4921,53 +4853,15 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobFolderProperties",
- "description": "Blob folder data set properties.",
+ "$ref": "#/definitions/KustoDatabaseDataSetProperties",
+ "description": "Kusto database data set properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "BlobFolder"
- },
- "BlobFolderProperties": {
- "description": "Properties of the blob folder data set.",
- "required": [
- "containerName",
- "prefix",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
- ],
- "type": "object",
- "properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "prefix": {
- "description": "Prefix for blob folder",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
- },
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
- }
- }
+ "x-ms-discriminator-value": "KustoDatabase"
},
- "BlobContainerDataSet": {
- "description": "An Azure storage blob container data set.",
+ "KustoDatabaseDataSetMapping": {
+ "description": "A Kusto database data set mapping",
"required": [
"properties",
"kind"
@@ -4975,80 +4869,74 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/DataSetMapping"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobContainerProperties",
- "description": "Blob container data set properties.",
+ "$ref": "#/definitions/KustoDatabaseDataSetMappingProperties",
+ "description": "Kusto database data set mapping properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "Container"
+ "x-ms-discriminator-value": "KustoDatabase"
},
- "BlobContainerProperties": {
- "description": "Properties of the BLOB container data set.",
+ "KustoDatabaseDataSetMappingProperties": {
+ "description": "Properties of the Kusto database data set mapping",
"required": [
- "containerName",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
+ "kustoClusterResourceId",
+ "dataSetId"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "BLOB Container name.",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
},
- "resourceGroup": {
- "description": "Resource group of storage account",
+ "kustoClusterResourceId": {
+ "description": "Resource id of the sink kusto cluster.",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
+ "location": {
+ "description": "Location of the sink kusto cluster.",
+ "type": "string",
+ "readOnly": true
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
}
}
},
- "ADLSGen2FileDataSet": {
- "description": "An ADLS Gen 2 file data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FileProperties",
- "description": "ADLS Gen 2 file data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "AdlsGen2File"
- },
- "ADLSGen2FileProperties": {
- "description": "Properties of the ADLS Gen2 file data set.",
+ "KustoDatabaseDataSetProperties": {
+ "description": "Properties of the kusto database data set.",
"required": [
- "fileSystem",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
+ "kustoDatabaseResourceId"
],
"type": "object",
"properties": {
@@ -5057,482 +4945,492 @@
"type": "string",
"readOnly": true
},
- "filePath": {
- "description": "File path within the file system.",
- "type": "string"
- },
- "fileSystem": {
- "description": "File system to which the file belongs.",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
+ "kustoDatabaseResourceId": {
+ "description": "Resource id of the kusto database.",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
+ "location": {
+ "description": "Location of the kusto cluster.",
+ "type": "string",
+ "readOnly": true
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "provisioningState": {
+ "description": "Provisioning state of the kusto database data set.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
}
}
},
- "ADLSGen2FolderDataSet": {
- "description": "An ADLS Gen 2 folder data set.",
+ "OperationList": {
+ "description": "List response for get operations.",
"required": [
- "properties",
- "kind"
+ "value"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
+ "properties": {
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationModel"
+ }
}
- ],
+ }
+ },
+ "OperationMetaLogSpecification": {
+ "description": "log specifications for operation api",
+ "type": "object",
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FolderProperties",
- "description": "ADLS Gen 2 folder data set properties.",
- "x-ms-client-flatten": true
+ "blobDuration": {
+ "description": "blob duration of the log",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "localized name of the log category",
+ "type": "string"
+ },
+ "name": {
+ "description": "name of the log category",
+ "type": "string"
}
- },
- "x-ms-discriminator-value": "AdlsGen2Folder"
+ }
},
- "ADLSGen2FolderProperties": {
- "description": "Properties of the ADLS Gen2 folder data set.",
- "required": [
- "fileSystem",
- "folderPath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
- ],
+ "OperationMetaMetricSpecification": {
+ "description": "metric specifications for the operation",
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
+ "aggregationType": {
+ "description": "aggregation type of metric",
+ "type": "string"
},
- "fileSystem": {
- "description": "File system to which the folder belongs.",
+ "dimensions": {
+ "description": "properties for dimension",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DimensionProperties"
+ }
+ },
+ "displayDescription": {
+ "description": "description of the metric",
"type": "string"
},
- "folderPath": {
- "description": "Folder path within the file system.",
+ "displayName": {
+ "description": "localized name of the metric",
"type": "string"
},
- "resourceGroup": {
- "description": "Resource group of storage account",
+ "enableRegionalMdmAccount": {
+ "description": "enable regional mdm account",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
+ "internalMetricName": {
+ "description": "internal metric name",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
+ "name": {
+ "description": "name of the metric",
+ "type": "string"
+ },
+ "resourceIdDimensionNameOverride": {
+ "description": "dimension name use to replace resource id if specified",
+ "type": "string"
+ },
+ "supportedAggregationTypes": {
+ "description": "supported aggregation types",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "supportedTimeGrainTypes": {
+ "description": "supported time grain types",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "unit": {
+ "description": "units for the metric",
"type": "string"
}
}
},
- "ADLSGen2FileSystemDataSet": {
- "description": "An ADLS Gen 2 file system data set.",
- "required": [
- "properties",
- "kind"
- ],
+ "OperationMetaPropertyInfo": {
+ "description": "properties on meta info",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FileSystemProperties",
- "description": "ADLS Gen 2 file system data set properties.",
- "x-ms-client-flatten": true
+ "serviceSpecification": {
+ "$ref": "#/definitions/OperationMetaServiceSpecification",
+ "description": "meta service specification"
}
- },
- "x-ms-discriminator-value": "AdlsGen2FileSystem"
+ }
},
- "ADLSGen2FileSystemProperties": {
- "description": "Properties of the ADLS Gen2 file system data set.",
- "required": [
- "fileSystem",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
- ],
+ "OperationMetaServiceSpecification": {
+ "description": "The operation meta service specification",
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "fileSystem": {
- "description": "The file system name.",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
+ "logSpecifications": {
+ "description": "log specifications for the operation",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetaLogSpecification"
+ }
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "metricSpecifications": {
+ "description": "metric specifications for the operation",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetaMetricSpecification"
+ }
}
}
},
- "ADLSGen1FolderDataSet": {
- "description": "An ADLS Gen 1 folder data set.",
- "required": [
- "properties",
- "kind"
- ],
+ "OperationModel": {
+ "description": "The response model for get operations",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
"properties": {
+ "display": {
+ "$ref": "#/definitions/OperationModelProperties",
+ "description": "Properties on the operation"
+ },
+ "name": {
+ "description": "Operation name for display purposes",
+ "type": "string"
+ },
+ "origin": {
+ "description": "origin of the operation",
+ "type": "string"
+ },
"properties": {
- "$ref": "#/definitions/ADLSGen1FolderProperties",
- "description": "ADLS Gen 1 folder data set properties.",
+ "$ref": "#/definitions/OperationMetaPropertyInfo",
+ "description": "properties for the operation meta info",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "AdlsGen1Folder"
+ }
},
- "ADLSGen1FolderProperties": {
- "description": "Properties of the ADLS Gen1 folder data set.",
- "required": [
- "subscriptionId",
- "resourceGroup",
- "accountName",
- "folderPath"
- ],
+ "OperationModelProperties": {
+ "description": "Properties on operations",
"type": "object",
"properties": {
- "accountName": {
- "description": "The ADLS account name.",
+ "description": {
+ "description": "Description of the operation for display purposes",
"type": "string"
},
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "folderPath": {
- "description": "The folder path within the ADLS account.",
+ "operation": {
+ "description": "Name of the operation for display purposes",
"type": "string"
},
- "resourceGroup": {
- "description": "Resource group of ADLS account.",
+ "provider": {
+ "description": "Name of the provider for display purposes",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of ADLS account.",
+ "resource": {
+ "description": "Name of the resource type for display purposes",
"type": "string"
}
}
},
- "ADLSGen1FileDataSet": {
- "description": "An ADLS Gen 1 file data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen1FileProperties",
- "description": "ADLS Gen 1 file data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "AdlsGen1File"
- },
- "ADLSGen1FileProperties": {
- "description": "Properties of the ADLS Gen1 file data set.",
+ "OperationResponse": {
+ "description": "Response for long running operation",
"required": [
- "subscriptionId",
- "resourceGroup",
- "accountName",
- "folderPath",
- "fileName"
+ "status"
],
"type": "object",
"properties": {
- "accountName": {
- "description": "The ADLS account name.",
- "type": "string"
- },
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "fileName": {
- "description": "The file name in the ADLS account.",
+ "endTime": {
+ "format": "date-time",
+ "description": "start time",
"type": "string"
},
- "folderPath": {
- "description": "The folder path within the ADLS account.",
- "type": "string"
+ "error": {
+ "$ref": "#/definitions/DataShareErrorInfo",
+ "description": "The error property when status is failed."
},
- "resourceGroup": {
- "description": "Resource group of ADLS account.",
+ "startTime": {
+ "format": "date-time",
+ "description": "start time",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of ADLS account.",
- "type": "string"
+ "status": {
+ "description": "Operation state of the long running operation.",
+ "enum": [
+ "Accepted",
+ "InProgress",
+ "TransientFailure",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "status",
+ "modelAsString": true
+ }
}
}
},
- "KustoClusterDataSet": {
- "description": "A kusto cluster data set.",
- "required": [
- "properties",
- "kind"
- ],
+ "ProviderShareSubscription": {
+ "description": "A provider side share subscription data transfer object.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/KustoClusterDataSetProperties",
- "description": "Kusto cluster data set properties.",
+ "$ref": "#/definitions/ProviderShareSubscriptionProperties",
+ "description": "properties of providerShareSubscription",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "KustoCluster"
+ }
},
- "KustoClusterDataSetProperties": {
- "description": "Properties of the kusto cluster data set.",
+ "ProviderShareSubscriptionList": {
+ "description": "List response for get ShareSubscription.",
"required": [
- "kustoClusterResourceId"
+ "value"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProviderShareSubscription"
+ }
+ }
+ }
+ },
+ "ProviderShareSubscriptionProperties": {
+ "description": "Provider share subscription properties",
+ "type": "object",
+ "properties": {
+ "consumerEmail": {
+ "description": "Email of the consumer who created the share subscription",
"type": "string",
"readOnly": true
},
- "kustoClusterResourceId": {
- "description": "Resource id of the kusto cluster.",
- "type": "string"
+ "consumerName": {
+ "description": "Name of the consumer who created the share subscription",
+ "type": "string",
+ "readOnly": true
},
- "location": {
- "description": "Location of the kusto cluster.",
+ "consumerTenantName": {
+ "description": "Tenant name of the consumer who created the share subscription",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the kusto cluster data set.",
+ "createdAt": {
+ "format": "date-time",
+ "description": "created at",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerEmail": {
+ "description": "Email of the provider who created the share",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerName": {
+ "description": "Name of the provider who created the share",
+ "type": "string",
+ "readOnly": true
+ },
+ "sharedAt": {
+ "format": "date-time",
+ "description": "Shared at",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareSubscriptionObjectId": {
+ "description": "share Subscription Object Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareSubscriptionStatus": {
+ "description": "Gets the status of share subscription",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Active",
+ "Revoked",
+ "SourceDeleted",
+ "Revoking"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "shareSubscriptionStatus",
"modelAsString": true
}
}
}
},
- "KustoDatabaseDataSet": {
- "description": "A kusto database data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/KustoDatabaseDataSetProperties",
- "description": "Kusto database data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "KustoDatabase"
- },
- "KustoDatabaseDataSetProperties": {
- "description": "Properties of the kusto database data set.",
- "required": [
- "kustoDatabaseResourceId"
- ],
+ "ProxyDto": {
+ "description": "Base data transfer object implementation for proxy resources.",
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "id": {
+ "description": "The resource id of the azure resource",
"type": "string",
"readOnly": true
},
- "kustoDatabaseResourceId": {
- "description": "Resource id of the kusto database.",
- "type": "string"
- },
- "location": {
- "description": "Location of the kusto cluster.",
+ "name": {
+ "description": "Name of the azure resource",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the kusto database data set.",
+ "type": {
+ "description": "Type of the azure resource",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ScheduledSourceShareSynchronizationSettingProperties": {
+ "description": "A Scheduled source synchronization setting data transfer object.",
+ "type": "object",
+ "properties": {
+ "recurrenceInterval": {
+ "description": "Recurrence Interval",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Hour",
+ "Day"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "recurrenceInterval",
"modelAsString": true
}
+ },
+ "synchronizationTime": {
+ "format": "date-time",
+ "description": "Synchronization time",
+ "type": "string"
}
}
},
- "SqlDWTableDataSet": {
- "description": "A SQL DW table data set.",
+ "ScheduledSourceSynchronizationSetting": {
+ "description": "A type of synchronization setting based on schedule",
"required": [
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/SourceShareSynchronizationSetting"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/SqlDWTableProperties",
- "description": "SQL DW table data set properties.",
+ "$ref": "#/definitions/ScheduledSourceShareSynchronizationSettingProperties",
+ "description": "Properties of scheduled synchronization",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "SqlDWTable"
- },
- "SqlDWTableProperties": {
- "description": "Properties of the SQL DW table data set.",
- "required": [
- "dataWarehouseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId"
- ],
- "type": "object",
- "properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "dataWarehouseName": {
- "description": "DataWarehouse name of the source data set",
- "type": "string"
- },
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
- },
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
- },
- "tableName": {
- "description": "SQL DW table name.",
- "type": "string"
- }
- }
+ "x-ms-discriminator-value": "ScheduleBased"
},
- "SqlDBTableDataSet": {
- "description": "A SQL DB table data set.",
+ "ScheduledSynchronizationSetting": {
+ "description": "A type of synchronization setting based on schedule",
"required": [
+ "properties",
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/SynchronizationSetting"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/SqlDBTableProperties",
- "description": "SQL DB table data set properties.",
+ "$ref": "#/definitions/ScheduledSynchronizationSettingProperties",
+ "description": "Properties of scheduled synchronization",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "SqlDBTable"
+ "x-ms-discriminator-value": "ScheduleBased"
},
- "SqlDBTableProperties": {
- "description": "Properties of the SQL DB table data set.",
+ "ScheduledSynchronizationSettingProperties": {
+ "description": "A Scheduled synchronization setting data transfer object.",
"required": [
- "databaseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId"
+ "recurrenceInterval",
+ "synchronizationTime"
],
"type": "object",
"properties": {
- "databaseName": {
- "description": "Database name of the source data set",
- "type": "string"
- },
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the synchronization setting was created.",
"type": "string",
"readOnly": true
},
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
},
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
+ "recurrenceInterval": {
+ "description": "Recurrence Interval",
+ "enum": [
+ "Hour",
+ "Day"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "recurrenceInterval",
+ "modelAsString": true
+ }
},
- "tableName": {
- "description": "SQL DB table name.",
+ "synchronizationTime": {
+ "format": "date-time",
+ "description": "Synchronization time",
"type": "string"
+ },
+ "userName": {
+ "description": "Name of the user who created the synchronization setting.",
+ "type": "string",
+ "readOnly": true
}
}
},
- "BlobDataSetMapping": {
- "description": "A Blob data set mapping.",
+ "ScheduledTrigger": {
+ "description": "A type of trigger based on schedule",
"required": [
"properties",
"kind"
@@ -5540,157 +5438,151 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/Trigger"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobMappingProperties",
- "description": "Blob data set mapping properties.",
+ "$ref": "#/definitions/ScheduledTriggerProperties",
+ "description": "Properties of scheduled synchronization",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "Blob"
+ "x-ms-discriminator-value": "ScheduleBased"
},
- "BlobMappingProperties": {
- "description": "Azure storage Blob data set mapping property bag.",
+ "ScheduledTriggerProperties": {
+ "description": "A Scheduled trigger data transfer object.",
"required": [
- "containerName",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "recurrenceInterval",
+ "synchronizationTime"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
- "dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the trigger was created.",
+ "type": "string",
+ "readOnly": true
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
+ "provisioningState": {
+ "description": "Gets the provisioning state",
"enum": [
- "Ok",
- "Broken"
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "dataSetMappingStatus",
+ "name": "provisioningState",
"modelAsString": true
}
},
- "filePath": {
- "description": "File path within the source data set",
- "type": "string"
- },
- "outputType": {
- "description": "File output type",
+ "recurrenceInterval": {
+ "description": "Recurrence Interval",
"enum": [
- "Csv",
- "Parquet"
+ "Hour",
+ "Day"
],
"type": "string",
"x-ms-enum": {
- "name": "outputType",
+ "name": "recurrenceInterval",
"modelAsString": true
}
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "synchronizationMode": {
+ "description": "Synchronization mode",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Incremental",
+ "FullSync"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "synchronizationMode",
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
+ "synchronizationTime": {
+ "format": "date-time",
+ "description": "Synchronization time",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
+ "triggerStatus": {
+ "description": "Gets the trigger state",
+ "enum": [
+ "Active",
+ "Inactive",
+ "SourceSynchronizationSettingDeleted"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "triggerStatus",
+ "modelAsString": true
+ }
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
+ "userName": {
+ "description": "Name of the user who created the trigger.",
+ "type": "string",
+ "readOnly": true
}
}
},
- "BlobFolderDataSetMapping": {
- "description": "A Blob folder data set mapping.",
- "required": [
- "properties",
- "kind"
- ],
+ "Share": {
+ "description": "A share data transfer object.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobFolderMappingProperties",
- "description": "Blob folder data set mapping properties.",
+ "$ref": "#/definitions/ShareProperties",
+ "description": "Properties on the share",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "BlobFolder"
+ }
},
- "BlobFolderMappingProperties": {
- "description": "Azure storage Blob folder data set mapping property bag.",
+ "ShareList": {
+ "description": "List response for get Shares.",
"required": [
- "containerName",
- "prefix",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
- "dataSetId": {
- "description": "The id of the source data set.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Share"
}
+ }
+ }
+ },
+ "ShareProperties": {
+ "description": "Share property bag.",
+ "type": "object",
+ "properties": {
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the share was created.",
+ "type": "string",
+ "readOnly": true
},
- "prefix": {
- "description": "Prefix for blob folder",
+ "description": {
+ "description": "Share description.",
"type": "string"
},
"provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "description": "Gets or sets the provisioning state",
"enum": [
"Succeeded",
"Creating",
@@ -5705,75 +5597,109 @@
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
+ "shareKind": {
+ "description": "Share kind.",
+ "enum": [
+ "CopyBased",
+ "InPlace"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "shareKind",
+ "modelAsString": true
+ }
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
+ "terms": {
+ "description": "Share terms.",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
+ "userEmail": {
+ "description": "Email of the user who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "userName": {
+ "description": "Name of the user who created the resource",
+ "type": "string",
+ "readOnly": true
}
}
},
- "BlobContainerDataSetMapping": {
- "description": "A Blob container data set mapping.",
+ "ShareSubscription": {
+ "description": "A share subscription data transfer object.",
"required": [
- "properties",
- "kind"
+ "properties"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobContainerMappingProperties",
- "description": "Blob container data set mapping properties.",
+ "$ref": "#/definitions/ShareSubscriptionProperties",
+ "description": "Properties on the share subscription",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "Container"
+ }
},
- "BlobContainerMappingProperties": {
- "description": "Azure storage Blob container data set mapping property bag.",
+ "ShareSubscriptionList": {
+ "description": "List response for get ShareSubscription.",
"required": [
- "containerName",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "BLOB Container name.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "dataSetId": {
- "description": "The id of the source data set.",
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareSubscription"
+ }
+ }
+ }
+ },
+ "ShareSubscriptionProperties": {
+ "description": "Share subscription property bag.",
+ "required": [
+ "invitationId",
+ "sourceShareLocation"
+ ],
+ "type": "object",
+ "properties": {
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the share subscription was created.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invitationId": {
+ "description": "The invitation id.",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
+ "providerEmail": {
+ "description": "Email of the provider who created the resource",
"type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
- }
+ "readOnly": true
+ },
+ "providerName": {
+ "description": "Name of the provider who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerTenantName": {
+ "description": "Tenant name of the provider who created the resource",
+ "type": "string",
+ "readOnly": true
},
"provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "description": "Provisioning state of the share subscription",
"enum": [
"Succeeded",
"Creating",
@@ -5788,210 +5714,283 @@
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
+ "shareDescription": {
+ "description": "Description of share",
+ "type": "string",
+ "readOnly": true
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
+ "shareKind": {
+ "description": "Kind of share",
+ "enum": [
+ "CopyBased",
+ "InPlace"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "shareKind",
+ "modelAsString": true
+ }
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
+ "shareName": {
+ "description": "Name of the share",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareSubscriptionStatus": {
+ "description": "Gets the current status of share subscription.",
+ "enum": [
+ "Active",
+ "Revoked",
+ "SourceDeleted",
+ "Revoking"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "shareSubscriptionStatus",
+ "modelAsString": true
+ }
+ },
+ "shareTerms": {
+ "description": "Terms of a share",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceShareLocation": {
+ "description": "Source share location.",
"type": "string"
+ },
+ "userEmail": {
+ "description": "Email of the user who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "userName": {
+ "description": "Name of the user who created the resource",
+ "type": "string",
+ "readOnly": true
}
}
},
- "ADLSGen2FileDataSetMapping": {
- "description": "An ADLS Gen2 file data set mapping.",
+ "ShareSubscriptionSynchronization": {
+ "description": "A ShareSubscriptionSynchronization data transfer object.",
"required": [
- "properties",
- "kind"
+ "synchronizationId"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FileDataSetMappingProperties",
- "description": "ADLS Gen2 file data set mapping properties.",
- "x-ms-client-flatten": true
+ "durationMs": {
+ "format": "int32",
+ "description": "Synchronization duration",
+ "type": "integer",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of synchronization",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "message of Synchronization",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "start time of synchronization",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Raw Status",
+ "type": "string",
+ "readOnly": true
+ },
+ "synchronizationId": {
+ "description": "Synchronization id",
+ "type": "string"
+ },
+ "synchronizationMode": {
+ "description": "Synchronization Mode",
+ "enum": [
+ "Incremental",
+ "FullSync"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "synchronizationMode",
+ "modelAsString": true
+ }
}
- },
- "x-ms-discriminator-value": "AdlsGen2File"
+ }
},
- "ADLSGen2FileDataSetMappingProperties": {
- "description": "ADLS Gen 2 file data set mapping property bag.",
+ "ShareSubscriptionSynchronizationList": {
+ "description": "A consumer side list of share subscription synchronizations",
"required": [
- "fileSystem",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "The id of the source data set.",
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ }
+ }
+ }
+ },
+ "ShareSynchronization": {
+ "description": "A ShareSynchronization data transfer object.",
+ "type": "object",
+ "properties": {
+ "consumerEmail": {
+ "description": "Email of the user who created the synchronization",
+ "type": "string"
+ },
+ "consumerName": {
+ "description": "Name of the user who created the synchronization",
+ "type": "string"
+ },
+ "consumerTenantName": {
+ "description": "Tenant name of the consumer who created the synchronization",
+ "type": "string"
+ },
+ "durationMs": {
+ "format": "int32",
+ "description": "synchronization duration",
+ "type": "integer"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of synchronization",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
- }
+ "message": {
+ "description": "message of synchronization",
+ "type": "string"
},
- "filePath": {
- "description": "File path within the file system.",
+ "startTime": {
+ "format": "date-time",
+ "description": "start time of synchronization",
"type": "string"
},
- "fileSystem": {
- "description": "File system to which the file belongs.",
+ "status": {
+ "description": "Raw Status",
"type": "string"
},
- "outputType": {
- "description": "Type of output file",
- "enum": [
- "Csv",
- "Parquet"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "outputType",
- "modelAsString": true
- }
+ "synchronizationId": {
+ "description": "Synchronization id",
+ "type": "string"
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "synchronizationMode": {
+ "description": "Synchronization mode",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Incremental",
+ "FullSync"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "synchronizationMode",
"modelAsString": true
}
- },
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
- },
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
}
}
},
- "ADLSGen2FolderDataSetMapping": {
- "description": "An ADLS Gen2 folder data set mapping.",
+ "ShareSynchronizationList": {
+ "description": "List response for get ShareSynchronization.",
"required": [
- "properties",
- "kind"
+ "value"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FolderDataSetMappingProperties",
- "description": "ADLS Gen2 folder data set mapping properties.",
- "x-ms-client-flatten": true
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareSynchronization"
+ }
}
- },
- "x-ms-discriminator-value": "AdlsGen2Folder"
+ }
},
- "ADLSGen2FolderDataSetMappingProperties": {
- "description": "ADLS Gen 2 folder data set mapping property bag.",
+ "SourceShareSynchronizationSetting": {
+ "description": "A view of synchronization setting added by the provider",
"required": [
- "fileSystem",
- "folderPath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "kind"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
- },
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
+ "kind": {
+ "description": "Kind of synchronization",
"enum": [
- "Ok",
- "Broken"
+ "ScheduleBased"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "dataSetMappingStatus",
+ "name": "kind",
"modelAsString": true
}
- },
- "fileSystem": {
- "description": "File system to which the folder belongs.",
- "type": "string"
- },
- "folderPath": {
- "description": "Folder path within the file system.",
+ }
+ },
+ "discriminator": "kind"
+ },
+ "SourceShareSynchronizationSettingList": {
+ "description": "List response for get source share Synchronization settings",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SourceShareSynchronizationSetting"
}
- },
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
- },
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
}
}
},
- "ADLSGen2FileSystemDataSetMapping": {
- "description": "An ADLS Gen2 file system data set mapping.",
+ "SqlDBTableDataSet": {
+ "description": "A SQL DB table data set.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlDBTableProperties",
+ "description": "SQL DB table data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "SqlDBTable"
+ },
+ "SqlDBTableDataSetMapping": {
+ "description": "A SQL DB Table data set mapping.",
"required": [
"properties",
"kind"
@@ -6004,24 +6003,28 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/ADLSGen2FileSystemDataSetMappingProperties",
- "description": "ADLS Gen2 file system data set mapping properties.",
+ "$ref": "#/definitions/SqlDBTableDataSetMappingProperties",
+ "description": "Sql DB data set mapping properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "AdlsGen2FileSystem"
+ "x-ms-discriminator-value": "SqlDBTable"
},
- "ADLSGen2FileSystemDataSetMappingProperties": {
- "description": "ADLS Gen 2 file system data set mapping property bag.",
+ "SqlDBTableDataSetMappingProperties": {
+ "description": "Properties of the SQL DB table data set mapping.",
"required": [
- "fileSystem",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
+ "databaseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId",
"dataSetId"
],
"type": "object",
"properties": {
+ "databaseName": {
+ "description": "DatabaseName name of the sink data set",
+ "type": "string"
+ },
"dataSetId": {
"description": "The id of the source data set.",
"type": "string"
@@ -6039,10 +6042,6 @@
"modelAsString": true
}
},
- "fileSystem": {
- "description": "The file system name.",
- "type": "string"
- },
"provisioningState": {
"description": "Provisioning state of the data set mapping.",
"enum": [
@@ -6059,22 +6058,75 @@
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
+ "type": "string"
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DB table name.",
+ "type": "string"
+ }
+ }
+ },
+ "SqlDBTableProperties": {
+ "description": "Properties of the SQL DB table data set.",
+ "required": [
+ "databaseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId"
+ ],
+ "type": "object",
+ "properties": {
+ "databaseName": {
+ "description": "Database name of the source data set",
+ "type": "string"
+ },
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
+ "tableName": {
+ "description": "SQL DB table name.",
"type": "string"
}
}
},
- "KustoClusterDataSetMapping": {
- "description": "A Kusto cluster data set mapping",
+ "SqlDWTableDataSet": {
+ "description": "A SQL DW table data set.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlDWTableProperties",
+ "description": "SQL DW table data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "SqlDWTable"
+ },
+ "SqlDWTableDataSetMapping": {
+ "description": "A SQL DW Table data set mapping.",
"required": [
"properties",
"kind"
@@ -6087,17 +6139,20 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/KustoClusterDataSetMappingProperties",
- "description": "Kusto cluster data set mapping properties.",
+ "$ref": "#/definitions/SqlDWTableDataSetMappingProperties",
+ "description": "Sql DW data set mapping properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "KustoCluster"
+ "x-ms-discriminator-value": "SqlDWTable"
},
- "KustoClusterDataSetMappingProperties": {
- "description": "Properties of the Kusto cluster data set mapping",
+ "SqlDWTableDataSetMappingProperties": {
+ "description": "Properties of the SQL DW table data set mapping.",
"required": [
- "kustoClusterResourceId",
+ "dataWarehouseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId",
"dataSetId"
],
"type": "object",
@@ -6119,15 +6174,10 @@
"modelAsString": true
}
},
- "kustoClusterResourceId": {
- "description": "Resource id of the sink kusto cluster.",
+ "dataWarehouseName": {
+ "description": "DataWarehouse name of the source data set",
"type": "string"
},
- "location": {
- "description": "Location of the sink kusto cluster.",
- "type": "string",
- "readOnly": true
- },
"provisioningState": {
"description": "Provisioning state of the data set mapping.",
"enum": [
@@ -6143,345 +6193,295 @@
"name": "provisioningState",
"modelAsString": true
}
+ },
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
+ "type": "string"
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DW table name.",
+ "type": "string"
}
}
},
- "KustoDatabaseDataSetMapping": {
- "description": "A Kusto database data set mapping",
+ "SqlDWTableProperties": {
+ "description": "Properties of the SQL DW table data set.",
"required": [
- "properties",
- "kind"
+ "dataWarehouseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/KustoDatabaseDataSetMappingProperties",
- "description": "Kusto database data set mapping properties.",
- "x-ms-client-flatten": true
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataWarehouseName": {
+ "description": "DataWarehouse name of the source data set",
+ "type": "string"
+ },
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
+ "type": "string"
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DW table name.",
+ "type": "string"
}
- },
- "x-ms-discriminator-value": "KustoDatabase"
+ }
},
- "KustoDatabaseDataSetMappingProperties": {
- "description": "Properties of the Kusto database data set mapping",
- "required": [
- "kustoClusterResourceId",
- "dataSetId"
- ],
+ "SynchronizationDetails": {
+ "description": "Synchronization details at data set level",
"type": "object",
"properties": {
"dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
+ "description": "Id of data set",
+ "type": "string",
+ "readOnly": true
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
+ "dataSetType": {
+ "description": "Type of the data set",
"enum": [
- "Ok",
- "Broken"
+ "Blob",
+ "Container",
+ "BlobFolder",
+ "AdlsGen2FileSystem",
+ "AdlsGen2Folder",
+ "AdlsGen2File",
+ "AdlsGen1Folder",
+ "AdlsGen1File",
+ "KustoCluster",
+ "KustoDatabase",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "dataSetMappingStatus",
+ "name": "dataSetType",
"modelAsString": true
}
},
- "kustoClusterResourceId": {
- "description": "Resource id of the sink kusto cluster.",
- "type": "string"
+ "durationMs": {
+ "format": "int32",
+ "description": "Duration of data set level copy",
+ "type": "integer",
+ "readOnly": true
},
- "location": {
- "description": "Location of the sink kusto cluster.",
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of data set level copy",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
+ "filesRead": {
+ "format": "int64",
+ "description": "The number of files read from the source data set",
+ "type": "integer",
+ "readOnly": true
+ },
+ "filesWritten": {
+ "format": "int64",
+ "description": "The number of files written into the sink data set",
+ "type": "integer",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message if any",
"type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
- }
- }
- },
- "SqlDWTableDataSetMapping": {
- "description": "A SQL DW Table data set mapping.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/SqlDWTableDataSetMappingProperties",
- "description": "Sql DW data set mapping properties.",
- "x-ms-client-flatten": true
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the data set",
+ "type": "string",
+ "readOnly": true
+ },
+ "rowsCopied": {
+ "format": "int64",
+ "description": "The number of files copied into the sink data set",
+ "type": "integer",
+ "readOnly": true
+ },
+ "rowsRead": {
+ "format": "int64",
+ "description": "The number of rows read from the source data set.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "sizeRead": {
+ "format": "int64",
+ "description": "The size of the data read from the source data set in bytes",
+ "type": "integer",
+ "readOnly": true
+ },
+ "sizeWritten": {
+ "format": "int64",
+ "description": "The size of the data written into the sink data set in bytes",
+ "type": "integer",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of data set level copy",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Raw Status",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCore": {
+ "format": "int64",
+ "description": "The vCore units consumed for the data set synchronization",
+ "type": "integer",
+ "readOnly": true
}
- },
- "x-ms-discriminator-value": "SqlDWTable"
+ }
},
- "SqlDWTableDataSetMappingProperties": {
- "description": "Properties of the SQL DW table data set mapping.",
+ "SynchronizationDetailsList": {
+ "description": "details of synchronization",
"required": [
- "dataWarehouseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
- },
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
- }
- },
- "dataWarehouseName": {
- "description": "DataWarehouse name of the source data set",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SynchronizationDetails"
}
- },
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
- },
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
- },
- "tableName": {
- "description": "SQL DW table name.",
- "type": "string"
}
}
},
- "SqlDBTableDataSetMapping": {
- "description": "A SQL DB Table data set mapping.",
+ "SynchronizationSetting": {
+ "description": "A Synchronization Setting data transfer object.",
"required": [
- "properties",
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
- "properties": {
- "$ref": "#/definitions/SqlDBTableDataSetMappingProperties",
- "description": "Sql DB data set mapping properties.",
- "x-ms-client-flatten": true
+ "kind": {
+ "description": "Kind of synchronization",
+ "enum": [
+ "ScheduleBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
}
},
- "x-ms-discriminator-value": "SqlDBTable"
+ "discriminator": "kind"
},
- "SqlDBTableDataSetMappingProperties": {
- "description": "Properties of the SQL DB table data set mapping.",
+ "SynchronizationSettingList": {
+ "description": "List response for get Synchronization settings",
"required": [
- "databaseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "databaseName": {
- "description": "DatabaseName name of the sink data set",
- "type": "string"
- },
- "dataSetId": {
- "description": "The id of the source data set.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SynchronizationSetting"
}
- },
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ }
+ }
+ },
+ "Synchronize": {
+ "description": "Payload for the synchronizing the data.",
+ "type": "object",
+ "properties": {
+ "synchronizationMode": {
+ "description": "Mode of synchronization used in triggers and snapshot sync. Incremental by default",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Incremental",
+ "FullSync"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "synchronizationMode",
"modelAsString": true
}
- },
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
- },
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
- },
- "tableName": {
- "description": "SQL DB table name.",
- "type": "string"
}
}
},
- "ScheduledSourceSynchronizationSetting": {
- "description": "A type of synchronization setting based on schedule",
+ "Trigger": {
+ "description": "A Trigger data transfer object.",
"required": [
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/SourceShareSynchronizationSetting"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
- "properties": {
- "$ref": "#/definitions/ScheduledSourceShareSynchronizationSettingProperties",
- "description": "Properties of scheduled synchronization",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "ScheduleBased"
- },
- "ScheduledSourceShareSynchronizationSettingProperties": {
- "description": "A Scheduled source synchronization setting data transfer object.",
- "type": "object",
- "properties": {
- "recurrenceInterval": {
- "description": "Recurrence Interval",
+ "kind": {
+ "description": "Kind of synchronization",
"enum": [
- "Hour",
- "Day"
+ "ScheduleBased"
],
"type": "string",
"x-ms-enum": {
- "name": "recurrenceInterval",
+ "name": "kind",
"modelAsString": true
}
- },
- "synchronizationTime": {
- "format": "date-time",
- "description": "Synchronization time",
- "type": "string"
}
- }
+ },
+ "discriminator": "kind"
},
- "DefaultDto": {
- "description": "Base data transfer object implementation for default resources.",
+ "TriggerList": {
+ "description": "List response for get triggers",
+ "required": [
+ "value"
+ ],
"type": "object",
"properties": {
- "id": {
- "description": "The resource id of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "location": {
- "description": "Location of the azure resource.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "name": {
- "description": "Name of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "tags": {
- "description": "Tags on the azure resource.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Trigger"
}
- },
- "type": {
- "description": "Type of the azure resource",
- "type": "string",
- "readOnly": true
- }
- },
- "x-ms-azure-resource": true
- },
- "ProxyDto": {
- "description": "Base data transfer object implementation for proxy resources.",
- "type": "object",
- "properties": {
- "id": {
- "description": "The resource id of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "type": {
- "description": "Type of the azure resource",
- "type": "string",
- "readOnly": true
}
- },
- "x-ms-azure-resource": true
+ }
}
},
"parameters": {
diff --git a/specification/desktopvirtualization/resource-manager/readme.az.md b/specification/desktopvirtualization/resource-manager/readme.az.md
index c4e10f818618..c9e500a520d6 100644
--- a/specification/desktopvirtualization/resource-manager/readme.az.md
+++ b/specification/desktopvirtualization/resource-manager/readme.az.md
@@ -7,6 +7,7 @@ az:
extensions: desktopvirtualization
package-name: azure-mgmt-desktopvirtualization
namespace: azure.mgmt.desktopvirtualization
+ replace-datetime: true
az-output-folder: $(azure-cli-extension-folder)/src/desktopvirtualization
python-sdk-output-folder: "$(az-output-folder)/azext_desktopvirtualization/vendored_sdks/desktopvirtualization"
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json
index ec6f1f0a20c5..bf62ec9aa4a3 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json
@@ -177,6 +177,10 @@
"description": "NetworkRuleSet properties",
"x-ms-client-flatten": true,
"properties": {
+ "trustedServiceAccessEnabled": {
+ "type": "boolean",
+ "description": "Value that indicates whether Trusted Service Access is Enabled or not."
+ },
"defaultAction": {
"type": "string",
"description": "Default Action for Network Rule Set",
diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json
index d5cbc84df867..98c9f0e22eb5 100644
--- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json
+++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json
@@ -705,14 +705,17 @@
"type": "object",
"properties": {
"from": {
+ "description": "The start index to fetch Spark Batch jobs.",
"format": "int32",
"type": "integer"
},
"total": {
+ "description": "Number of Spark Batch jobs to fetch.",
"format": "int32",
"type": "integer"
},
"sessions": {
+ "description": "List of spark batch jobs.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -725,22 +728,27 @@
"type": "object",
"properties": {
"id": {
+ "description": "The livy id of the spark batch job.",
"format": "int32",
"type": "integer"
},
"appId": {
+ "description": "The application id of this job.",
"type": "string"
},
"appInfo": {
+ "description": "The detailed application info.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"state": {
- "type": "string"
+ "description": "The current state of the spark batch job",
+ "$ref": "#/definitions/JobState"
},
"log": {
+ "description": "The log lines.",
"x-ms-client-name": "logLines",
"uniqueItems": false,
"type": "array",
@@ -754,15 +762,19 @@
"type": "object",
"properties": {
"file": {
+ "description": "File containing the application to execute.",
"type": "string"
},
"proxyUser": {
+ "description": "User to impersonate when running the job.",
"type": "string"
},
"className": {
+ "description": "Application Java/Spark main class.",
"type": "string"
},
"args": {
+ "description": "Command line arguments for the application.",
"x-ms-client-name": "arguments",
"uniqueItems": false,
"type": "array",
@@ -771,6 +783,7 @@
}
},
"jars": {
+ "description": "Jars to be used in this batch job.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -778,6 +791,7 @@
}
},
"pyFiles": {
+ "description": "Python files to be used in this batch job.",
"x-ms-client-name": "pythonFiles",
"uniqueItems": false,
"type": "array",
@@ -786,6 +800,7 @@
}
},
"files": {
+ "description": "Files to be used in this batch job.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -793,25 +808,31 @@
}
},
"driverMemory": {
+ "description": "Amount of memory to use for the driver process.",
"type": "string"
},
"driverCores": {
+ "description": "Number of cores to use for the driver process.",
"format": "int32",
"type": "integer"
},
"executorMemory": {
+ "description": "Amount of memory to use per executor process.",
"type": "string"
},
"executorCores": {
+ "description": "Number of cores to use for each executor.",
"format": "int32",
"type": "integer"
},
"numExecutors": {
+ "description": "Number of executors to launch for this batch job.",
"x-ms-client-name": "executorCount",
"format": "int32",
"type": "integer"
},
"archives": {
+ "description": "Archives to be used in this batch job.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -819,12 +840,15 @@
}
},
"queue": {
+ "description": "The name of the YARN queue to which submitted.",
"type": "string"
},
"name": {
+ "description": "The name of this batch job.",
"type": "string"
},
"conf": {
+ "description": "Spark configuration properties.",
"x-ms-client-name": "configuration",
"type": "object",
"additionalProperties": {
@@ -837,14 +861,17 @@
"type": "object",
"properties": {
"from": {
+ "description": "The start index to fetch spark sessions.",
"format": "int32",
"type": "integer"
},
"total": {
+ "description": "Number of spark sessions to fetch.",
"format": "int32",
"type": "integer"
},
"sessions": {
+ "description": "List of spark sessions.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -857,22 +884,28 @@
"type": "object",
"properties": {
"id": {
+ "description": "The livy id of the spark session job.",
"format": "int32",
"type": "integer"
},
"appId": {
+ "description": "The application id of this job.",
"type": "string"
},
"owner": {
+ "description": "Remote user who submitted this job.",
"type": "string"
},
"proxyUser": {
+ "description": "User to impersonate when running.",
"type": "string"
},
"kind": {
- "type": "string"
+ "description": "Spark session job kind.",
+ "$ref": "#/definitions/SessionJobKind"
},
"log": {
+ "description": "The log lines.",
"x-ms-client-name": "logLines",
"uniqueItems": false,
"type": "array",
@@ -881,9 +914,11 @@
}
},
"state": {
- "type": "string"
+ "description": "The current state of the spark session job",
+ "$ref": "#/definitions/JobState"
},
"appInfo": {
+ "description": "The detailed application info.",
"type": "object",
"additionalProperties": {
"type": "string"
@@ -895,22 +930,15 @@
"type": "object",
"properties": {
"kind": {
- "type": "string",
- "x-ms-enum": {
- "name": "SessionJobKind",
- "modelAsString": true
- },
- "enum": [
- "spark",
- "pyspark",
- "sparkr",
- "sql"
- ]
+ "description": "Spark session job kind.",
+ "$ref": "#/definitions/SessionJobKind"
},
"proxyUser": {
+ "description": "User to impersonate when starting the session.",
"type": "string"
},
"jars": {
+ "description": "Jars to be used in this session.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -918,6 +946,7 @@
}
},
"pyFiles": {
+ "description": "Python files to be used in this session.",
"x-ms-client-name": "pythonFiles",
"uniqueItems": false,
"type": "array",
@@ -926,6 +955,7 @@
}
},
"files": {
+ "description": "Files to be used in this session.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -933,25 +963,31 @@
}
},
"driverMemory": {
+ "description": "Amount of memory to use for the driver process.",
"type": "string"
},
"driverCores": {
+ "description": "Number of cores to use for the driver process.",
"format": "int32",
"type": "integer"
},
"executorMemory": {
+ "description": "Amount of memory to use per executor process.",
"type": "string"
},
"executorCores": {
+ "description": "Number of cores to use for each executor.",
"format": "int32",
"type": "integer"
},
"numExecutors": {
+ "description": "Number of executors to launch for this session.",
"x-ms-client-name": "executorCount",
"format": "int32",
"type": "integer"
},
"archives": {
+ "description": "Archives to be used in this session.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -959,12 +995,15 @@
}
},
"queue": {
+ "description": "The name of the YARN queue to which submitted.",
"type": "string"
},
"name": {
+ "description": "The name of this session.",
"type": "string"
},
"conf": {
+ "description": "Spark configuration properties.",
"x-ms-client-name": "configuration",
"type": "object",
"additionalProperties": {
@@ -972,6 +1011,7 @@
}
},
"heartbeatTimeoutInSecond": {
+ "description": "Timeout in second to which session be orphaned.",
"format": "int32",
"type": "integer"
}
@@ -981,22 +1021,27 @@
"type": "object",
"properties": {
"id": {
+ "description": "The livy id of the spark job.",
"format": "int32",
"type": "integer"
},
"from": {
+ "description": "Offset from start of log.",
"format": "int32",
"type": "integer"
},
"size": {
+ "description": "Max number of log lines.",
"format": "int32",
"type": "integer"
},
"total": {
+ "description": "Total number of log lines.",
"format": "int64",
"type": "integer"
},
"log": {
+ "description": "The log lines.",
"x-ms-client-name": "logLines",
"uniqueItems": false,
"type": "array",
@@ -1010,11 +1055,13 @@
"type": "object",
"properties": {
"id": {
+ "description": "The livy id of the spark job.",
"format": "int32",
"type": "integer"
},
"state": {
- "type": "string"
+ "description": "The current state of the spark job",
+ "$ref": "#/definitions/JobState"
}
}
},
@@ -1022,6 +1069,7 @@
"type": "object",
"properties": {
"statements": {
+ "description": "List of spark statements.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -1034,19 +1082,24 @@
"type": "object",
"properties": {
"id": {
+ "description": "The livy id of the spark statement job.",
"format": "int32",
"type": "integer"
},
"code": {
+ "description": "The execution code.",
"type": "string"
},
"state": {
- "type": "string"
+ "description": "The current state of the spark statement.",
+ "$ref": "#/definitions/StatementState"
},
"output": {
+ "description": "The execution output.",
"$ref": "#/definitions/SparkStatementOutput"
},
"progress": {
+ "description": "The execution progress.",
"type": "number",
"format": "double"
}
@@ -1056,17 +1109,80 @@
"type": "object",
"properties": {
"status": {
- "type": "string"
+ "description": "Execution status.",
+ "$ref": "#/definitions/StatementExecutionStatus"
},
"execution_count": {
+ "description": "A monotonically increasing number.",
"format": "int32",
"type": "integer"
},
"data": {
+ "description": "Statement output.",
"type": "object"
}
}
},
+ "SessionJobKind": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SessionJobKind",
+ "modelAsString": true
+ },
+ "enum": [
+ "spark",
+ "pyspark",
+ "sparkr",
+ "sql"
+ ]
+ },
+ "StatementState": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StatementState",
+ "modelAsString": true
+ },
+ "enum": [
+ "waiting",
+ "running",
+ "available",
+ "error",
+ "cancelling",
+ "cancelled"
+ ]
+ },
+ "JobState": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobState",
+ "modelAsString": true
+ },
+ "enum": [
+ "not_started",
+ "starting",
+ "idle",
+ "running",
+ "busy",
+ "shutting_down",
+ "error",
+ "dead",
+ "killed",
+ "success",
+ "recovering"
+ ]
+ },
+ "StatementExecutionStatus": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StatementExecutionStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "ok",
+ "error",
+ "abort"
+ ]
+ },
"SparkStatementRequest": {
"type": "object",
"properties": {
@@ -1074,7 +1190,7 @@
"type": "string"
},
"kind": {
- "type": "string"
+ "$ref": "#/definitions/SessionJobKind"
}
}
},
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/IotHub_ManualFailover.json
new file mode 100644
index 000000000000..e0e2f963ea15
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/IotHub_ManualFailover.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "failoverInput": {
+ "failoverRegion": "testHub"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/checkNameAvailability.json
new file mode 100644
index 000000000000..11f189481131
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/checkNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "operationInputs": {
+ "name": "test-request"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Invalid",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatescreateorupdate.json
new file mode 100644
index 000000000000..a529084ef640
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatescreateorupdate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "resourceName": "iothub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "certificateDescription": {
+ "properties": {
+ "certificate": "############################################"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatesdelete.json
new file mode 100644
index 000000000000..aa01695622a9
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatesdelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceName": "myhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certverify.json
new file mode 100644
index 000000000000..8495b68332d3
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certverify.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk=",
+ "certificateVerificationBody": {
+ "certificate": "#####################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": true,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpTQ="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createOrUpdate.json
new file mode 100644
index 000000000000..605b91aa578d
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createOrUpdate.json
@@ -0,0 +1,226 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "iotHubDescription": {
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "ipFilterRules": [],
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2"
+ },
+ "sku": {
+ "name": "S1",
+ "capacity": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createconsumergroup.json
new file mode 100644
index 000000000000..0d977b3a70ba
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createconsumergroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test",
+ "consumerGroupBody": {
+ "properties": {
+ "name": "test"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_delete.json
new file mode 100644
index 000000000000..decd68cd83e4
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_delete.json
@@ -0,0 +1,164 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "204": {},
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "404": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteconsumergroup.json
new file mode 100644
index 000000000000..098401a3364e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteconsumergroup.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteprivateendpointconnection.json
new file mode 100644
index 000000000000..2e17f1acbb7d
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteprivateendpointconnection.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_exportdevices.json
new file mode 100644
index 000000000000..8a5f28ef97f9
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_exportdevices.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "exportDevicesParameters": {
+ "exportBlobContainerUri": "testBlob",
+ "excludeKeys": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_generateverificationcode.json
new file mode 100644
index 000000000000..b369c7ebaf09
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_generateverificationcode.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cert",
+ "properties": {
+ "verificationCode": "##################################",
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "##############################",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_get.json
new file mode 100644
index 000000000000..f6111e329334
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_get.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "locations": [
+ {
+ "location": "West US",
+ "role": "primary"
+ },
+ {
+ "location": "East US",
+ "role": "secondary"
+ }
+ ],
+ "minTlsVersion": "1.2"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getcertificate.json
new file mode 100644
index 000000000000..6a231eaa8dc8
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getcertificate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getconsumergroup.json
new file mode 100644
index 000000000000..92eeaa92eb31
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getconsumergroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getjob.json
new file mode 100644
index 000000000000..92cd774970c8
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getjob.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "jobId": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getkey.json
new file mode 100644
index 000000000000..56513e2f88b9
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getkey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "keyName": "iothubowner"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keyName": "iothubowner",
+ "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=",
+ "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivateendpointconnection.json
new file mode 100644
index 000000000000..3a0e1460d5f6
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivateendpointconnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivatelinkresources.json
new file mode 100644
index 000000000000..091b5b94570e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivatelinkresources.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "groupId": "iotHub"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub",
+ "name": "iotHub",
+ "type": "Microsoft.Devices/IotHubs/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotHub",
+ "requiredMembers": [
+ "iotHub"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getskus.json
new file mode 100644
index 000000000000..c1b93808e018
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getskus.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 200,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S3",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_importdevices.json
new file mode 100644
index 000000000000..97687dc75077
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_importdevices.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "importDevicesParameters": {
+ "inputBlobContainerUri": "testBlob",
+ "outputBlobContainerUri": "testBlob"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbyrg.json
new file mode 100644
index 000000000000..38afa1cc2d15
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbyrg.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbysubscription.json
new file mode 100644
index 000000000000..27bca11bd35d
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbysubscription.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listcertificates.json
new file mode 100644
index 000000000000..78edce3e7d0d
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listcertificates.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listehgroups.json
new file mode 100644
index 000000000000..798a50cdd48b
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listehgroups.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "$Default",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listjobs.json
new file mode 100644
index 000000000000..b6a53041805b
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listjobs.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listkeys.json
new file mode 100644
index 000000000000..424300839237
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listkeys.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "keyName": "iothubowner",
+ "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=",
+ "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ },
+ {
+ "keyName": "service",
+ "primaryKey": "DinqxWW+s814W2Pc3dLxleelksqSYGy8Jfymt8J7a4c=",
+ "secondaryKey": "5G8KgJ9Wx2T0f6HRIn25TgYcFmJnBSivawNaHssiP9Y=",
+ "rights": "ServiceConnect"
+ },
+ {
+ "keyName": "device",
+ "primaryKey": "o/9gPc0oD8LY/r2lRurgl9U/sKFcL2c/tmFLKAiz+e0=",
+ "secondaryKey": "YOeBMHnYP95vH+ykR8OeapnhS6W8raMsXOdNFwqg4lg=",
+ "rights": "DeviceConnect"
+ },
+ {
+ "keyName": "registryRead",
+ "primaryKey": "h2d4mPxy6jPCWX6mO+katV9QPNJivzt4aFq0iGVc1A8=",
+ "secondaryKey": "3TdcalZNTB7BZHl88LGsG1Z5T6+ElEODunrs1vylwGg=",
+ "rights": "RegistryRead"
+ },
+ {
+ "keyName": "registryReadWrite",
+ "primaryKey": "tyNRcaI38fXL+gQTjCmrVZGTP4YFF7uACk7pppWLWzY=",
+ "secondaryKey": "6P6DXOp0W3HO5/IotzcPS1kx7PHiOdesaND07Im5cYI=",
+ "rights": "RegistryWrite"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivateendpointconnections.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivateendpointconnections.json
new file mode 100644
index 000000000000..c545d559e1b2
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivateendpointconnections.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivatelinkresources.json
new file mode 100644
index 000000000000..2164528fde41
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivatelinkresources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub",
+ "name": "iotHub",
+ "type": "Microsoft.Devices/IotHubs/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotHub",
+ "requiredMembers": [
+ "iotHub"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_operations.json
new file mode 100644
index 000000000000..93d80c5d4647
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_operations.json
@@ -0,0 +1,328 @@
+{
+ "parameters": {
+ "api-version": "2020-06-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Devices/register/action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Register Resource Provider",
+ "description": "Register the subscription for the IotHub resource provider and enables the creation of IotHub resources"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service metric definitions",
+ "description": "Gets the available metrics for the IotHub service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service log definitions",
+ "description": "Gets the available log definitions for the IotHub Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/operations/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get All ResourceProvider Operations",
+ "description": "Get All ResourceProvider Operations"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Check If IotHub name is available",
+ "description": "Check If IotHub name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/usages/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Subscription Usages",
+ "description": "Get subscription usage details for this provider."
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub(s)",
+ "description": "Gets the IotHub resource(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create or update IotHub Resource",
+ "description": "Create or update IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete IotHub Resource",
+ "description": "Delete IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubStats/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Statistics",
+ "description": "Get IotHub Statistics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get valid IotHub Skus",
+ "description": "Get valid IotHub Skus"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get all IotHub Keys",
+ "description": "Get all IotHub Keys"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Key for the given name",
+ "description": "Get IotHub Key for the given name"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create EventHub Consumer Group",
+ "description": "Create EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get EventHub Consumer Group(s)",
+ "description": "Get EventHub Consumer Group(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete EventHub Consumer Group",
+ "description": "Delete EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/exportDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Export Devices",
+ "description": "Export Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/importDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Import Devices",
+ "description": "Import Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/jobs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get the Job(s) on IotHub",
+ "description": "Get Job(s) details submitted on given IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Quota Metrics",
+ "description": "Get Quota Metrics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test All",
+ "description": "Test a message against all existing Routes"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test Route",
+ "description": "Test a message against a provided test Route"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Endpoint Health",
+ "description": "Gets the health of all routing Endpoints for an IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service metric definitions",
+ "description": "Gets the available metrics for the DPS service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service log definitions",
+ "description": "Gets the available log definitions for the DPS Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServives",
+ "operation": "Check If Provisioning Service name is available",
+ "description": "Check If Provisioning Service name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Get Provisioning Service resource",
+ "description": "Get Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Create Provisioning Service resource",
+ "description": "Create Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "get security related metadata",
+ "description": "get security related metadata"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_patch.json
new file mode 100644
index 000000000000..77db5e3f58a6
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_patch.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "resourceName": "myHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "location": "East US",
+ "type": "Microsoft.Devices/IotHubs",
+ "IotHubTags": {
+ "tags": {
+ "foo": "bar"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {
+ "foo": "bar"
+ },
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_quotametrics.json
new file mode 100644
index 000000000000..0c8c1cb345a0
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_quotametrics.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "TotalMessages",
+ "currentValue": 0,
+ "maxValue": 400000
+ },
+ {
+ "name": "TotalDeviceCount",
+ "currentValue": 0,
+ "maxValue": 500000
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_routingendpointhealth.json
new file mode 100644
index 000000000000..f584060c5460
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_routingendpointhealth.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "endpointId": "id1",
+ "healthStatus": "healthy",
+ "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z",
+ "lastSendAttemptTime": "2020-03-26T21:24:57Z"
+ },
+ {
+ "endpointId": "id2",
+ "healthStatus": "unknown"
+ },
+ {
+ "endpointId": "id3",
+ "healthStatus": "unhealthy",
+ "lastKnownError": "NotFound",
+ "lastKnownErrorTime": "2020-03-26T21:24:57Z",
+ "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z",
+ "lastSendAttemptTime": "2020-03-26T21:24:57Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_stats.json
new file mode 100644
index 000000000000..1a7bcb918e7e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_stats.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-04-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "totalDeviceCount": 0,
+ "enabledDeviceCount": 0,
+ "disabledDeviceCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testallroutes.json
new file mode 100644
index 000000000000..554b092ceb38
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testallroutes.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "routingSource": "DeviceMessages",
+ "message": {
+ "body": "Body of message",
+ "appProperties": {
+ "key1": "value1"
+ },
+ "systemProperties": {
+ "key1": "value1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "routes": [
+ {
+ "properties": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testnewroute.json
new file mode 100644
index 000000000000..d8e5b17845b1
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testnewroute.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "message": {
+ "body": "Body of message",
+ "appProperties": {
+ "key1": "value1"
+ },
+ "systemProperties": {
+ "key1": "value1"
+ }
+ },
+ "route": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "result": "false",
+ "details": {
+ "compilationErrors": [
+ {
+ "message": "string response",
+ "severity": "error",
+ "location": {
+ "start": {
+ "line": 12,
+ "column": 12
+ },
+ "end": {
+ "line": 12,
+ "column": 24
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_updateprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_updateprivateendpointconnection.json
new file mode 100644
index 000000000000..c47df820ec93
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_updateprivateendpointconnection.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_usages.json
new file mode 100644
index 000000000000..496e1e89b41b
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_usages.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2020-06-15",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages/freeHubCount",
+ "type": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages",
+ "unit": "count",
+ "currentValue": 1,
+ "limit": 1,
+ "name": {
+ "value": "FreeHubCount",
+ "localizedValue": "Free Hub Count"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/iothub.json
new file mode 100644
index 000000000000..634aea7c600b
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/iothub.json
@@ -0,0 +1,4196 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-06-15",
+ "title": "iotHubClient",
+ "description": "Use this API to manage the IoT hubs in your Azure subscription.",
+ "x-ms-code-generation-settings": {
+ "header": "MICROSOFT_MIT_NO_VERSION"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Devices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/iothub_operations.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "description": "Lists all of the available IoT Hub REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the non-security related metadata of an IoT hub",
+ "description": "Get the non-security related metadata of an IoT hub.",
+ "operationId": "IotHubResource_Get",
+ "x-ms-examples": {
+ "IotHubResource_Get": {
+ "$ref": "./examples/iothub_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update the metadata of an IoT hub.",
+ "description": "Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub.",
+ "operationId": "IotHubResource_CreateOrUpdate",
+ "x-ms-examples": {
+ "IotHubResource_CreateOrUpdate": {
+ "$ref": "./examples/iothub_createOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "iotHubDescription",
+ "in": "body",
+ "description": "The IoT hub metadata and security metadata.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "patch": {
+ "tags": [
+ "PATCH"
+ ],
+ "summary": "Update an existing IoT Hubs tags.",
+ "description": "Update an existing IoT Hub tags. to update other fields use the CreateOrUpdate method",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotHubResource_Update",
+ "x-ms-examples": {
+ "IotHubResource_Update": {
+ "$ref": "./examples/iothub_patch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of iot hub to update."
+ },
+ {
+ "name": "IotHubTags",
+ "in": "body",
+ "required": true,
+ "description": "Updated tag information to set into the iot hub instance.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Iot Hub was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete an IoT hub",
+ "description": "Delete an IoT hub.",
+ "operationId": "IotHubResource_Delete",
+ "x-ms-examples": {
+ "IotHubResource_Delete": {
+ "$ref": "./examples/iothub_delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "204": {
+ "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state."
+ },
+ "404": {
+ "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a subscription",
+ "description": "Get all the IoT hubs in a subscription.",
+ "operationId": "IotHubResource_ListBySubscription",
+ "x-ms-examples": {
+ "IotHubResource_ListBySubscription": {
+ "$ref": "./examples/iothub_listbysubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a resource group",
+ "description": "Get all the IoT hubs in a resource group.",
+ "operationId": "IotHubResource_ListByResourceGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListByResourceGroup": {
+ "$ref": "./examples/iothub_listbyrg.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the statistics from an IoT hub",
+ "description": "Get the statistics from an IoT hub.",
+ "operationId": "IotHubResource_GetStats",
+ "x-ms-examples": {
+ "IotHubResource_GetStats": {
+ "$ref": "./examples/iothub_stats.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/RegistryStatistics"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the list of valid SKUs for an IoT hub",
+ "description": "Get the list of valid SKUs for an IoT hub.",
+ "operationId": "IotHubResource_GetValidSkus",
+ "x-ms-examples": {
+ "IotHubResource_GetValidSkus": {
+ "$ref": "./examples/iothub_getskus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubSkuDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub",
+ "description": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub.",
+ "operationId": "IotHubResource_ListEventHubConsumerGroups",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_listehgroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the Event Hub-compatible endpoint in this IoT hub",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupsListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub",
+ "description": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub.",
+ "operationId": "IotHubResource_GetEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_getconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to retrieve.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized consumer group.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_CreateEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_CreateEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_createconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to add.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "consumerGroupBody",
+ "in": "body",
+ "description": "The consumer group to add.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupBodyDescription"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_DeleteEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_DeleteEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_deleteconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to delete.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_ListJobs",
+ "x-ms-examples": {
+ "IotHubResource_ListJobs": {
+ "$ref": "./examples/iothub_listjobs.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponseListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_GetJob",
+ "x-ms-examples": {
+ "IotHubResource_GetJob": {
+ "$ref": "./examples/iothub_getjob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the quota metrics for an IoT hub",
+ "description": "Get the quota metrics for an IoT hub.",
+ "operationId": "IotHubResource_GetQuotaMetrics",
+ "x-ms-examples": {
+ "IotHubResource_GetQuotaMetrics": {
+ "$ref": "./examples/iothub_quotametrics.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfoListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotHubResource_GetEndpointHealth",
+ "summary": "Get the health for routing endpoints",
+ "description": "Get the health for routing endpoints.",
+ "x-ms-examples": {
+ "IotHubResource_GetEndpointHealth": {
+ "$ref": "./examples/iothub_routingendpointhealth.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "iotHubName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EndpointHealthDataListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Check if an IoT hub name is available",
+ "description": "Check if an IoT hub name is available.",
+ "operationId": "IotHubResource_CheckNameAvailability",
+ "x-ms-examples": {
+ "IotHubResource_CheckNameAvailability": {
+ "$ref": "./examples/checkNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "operationInputs",
+ "in": "body",
+ "description": "Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OperationInputs"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.",
+ "schema": {
+ "$ref": "#/definitions/IotHubNameAvailabilityInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the number of iot hubs in the subscription",
+ "description": "Get the number of free and paid iot hubs in the subscription",
+ "operationId": "ResourceProviderCommon_GetSubscriptionQuota",
+ "x-ms-examples": {
+ "ResourceProviderCommon_GetSubscriptionQuota": {
+ "$ref": "./examples/iothub_usages.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSubscriptionQuotaListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestAllRoutes",
+ "summary": "Test all routes",
+ "description": "Test all routes configured in this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestAllRoutes": {
+ "$ref": "./examples/iothub_testallroutes.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Input for testing all routes",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestRoute",
+ "summary": "Test the new route",
+ "description": "Test the new route for this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestRoute": {
+ "$ref": "./examples/iothub_testnewroute.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Route that needs to be tested",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestRouteInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestRouteResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_ListKeys",
+ "x-ms-examples": {
+ "IotHubResource_ListKeys": {
+ "$ref": "./examples/iothub_listkeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_GetKeysForKeyName",
+ "x-ms-examples": {
+ "IotHubResource_GetKeysForKeyName": {
+ "$ref": "./examples/iothub_getkey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "keyName",
+ "in": "path",
+ "description": "The name of the shared access policy.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ExportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ExportDevices": {
+ "$ref": "./examples/iothub_exportdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "exportDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the export devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ImportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ImportDevices": {
+ "$ref": "./examples/iothub_importdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "importDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the import devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate list.",
+ "description": "Returns the list of certificates.",
+ "operationId": "Certificates_ListByIotHub",
+ "x-ms-examples": {
+ "Certificates_ListByIotHub": {
+ "$ref": "./examples/iothub_listcertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the certificate list.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate.",
+ "description": "Returns the certificate.",
+ "operationId": "Certificates_Get",
+ "x-ms-examples": {
+ "Certificates_Get": {
+ "$ref": "./examples/iothub_getcertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Upload the certificate to the IoT hub.",
+ "description": "Adds new or replaces existing certificate.",
+ "operationId": "Certificates_CreateOrUpdate",
+ "x-ms-examples": {
+ "Certificates_CreateOrUpdate": {
+ "$ref": "./examples/iothub_certificatescreateorupdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateDescription",
+ "in": "body",
+ "description": "The certificate body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "If certificate didn't exist creation was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "200": {
+ "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Delete an X509 certificate.",
+ "description": "Deletes an existing X509 certificate or does nothing if it does not exist.",
+ "operationId": "Certificates_Delete",
+ "x-ms-examples": {
+ "Certificates_Delete": {
+ "$ref": "./examples/iothub_certificatesdelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Certificate has been deleted."
+ },
+ "204": {
+ "description": "Certificate does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Generate verification code for proof of possession flow.",
+ "description": "Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate.",
+ "operationId": "Certificates_GenerateVerificationCode",
+ "x-ms-examples": {
+ "Certificates_GenerateVerificationCode": {
+ "$ref": "./examples/iothub_generateverificationcode.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateWithNonceDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Verify certificate's private key possession.",
+ "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.",
+ "operationId": "Certificates_Verify",
+ "x-ms-examples": {
+ "Certificates_Verify": {
+ "$ref": "./examples/iothub_certverify.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateVerificationBody",
+ "in": "body",
+ "description": "The name of the certificate",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateVerificationDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHub_ManualFailover",
+ "summary": "Manually initiate a failover for the IoT Hub to its secondary region",
+ "description": "Manually initiate a failover for the IoT Hub to its secondary region. To learn more, see https://aka.ms/manualfailover",
+ "x-ms-examples": {
+ "IotHub_ManualFailover": {
+ "$ref": "./examples/IotHub_ManualFailover.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "name": "iotHubName",
+ "description": "Name of the IoT hub to failover",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "description": "Region to failover to. Must be the Azure paired region. Get the value from the secondary location in the locations property. To learn more, see https://aka.ms/manualfailover/region",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "Name of the resource group containing the IoT hub resource",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Long running manual failover operation for the IoT hub completed"
+ },
+ "202": {
+ "description": "Manual failover initiated"
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private link resources",
+ "description": "List private link resources for the given IotHub",
+ "operationId": "PrivateLinkResources_List",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/iothub_listprivatelinkresources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private link resources",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResources"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources/{groupId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the specified private link resource",
+ "description": "Get the specified private link resource for the given IotHub",
+ "operationId": "PrivateLinkResources_Get",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/iothub_getprivatelinkresources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/groupId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the specified of private link resource",
+ "schema": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private endpoint connections",
+ "description": "List private endpoint connection properties",
+ "operationId": "PrivateEndpointConnections_List",
+ "x-ms-examples": {
+ "PrivateEndpointConnections_List": {
+ "$ref": "./examples/iothub_listprivateendpointconnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionsList"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get private endpoint connection",
+ "description": "Get private endpoint connection properties",
+ "operationId": "PrivateEndpointConnections_Get",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Get": {
+ "$ref": "./examples/iothub_getprivateendpointconnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Update private endpoint connection",
+ "description": "Update the status of a private endpoint connection with the specified name",
+ "operationId": "PrivateEndpointConnections_Update",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Update": {
+ "$ref": "./examples/iothub_updateprivateendpointconnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection with updated properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the update operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete private endpoint connection",
+ "description": "Delete private endpoint connection with the specified name",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Delete": {
+ "$ref": "./examples/iothub_deleteprivateendpointconnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "204": {
+ "description": "PrivateEndpoint does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "CertificateVerificationDescription": {
+ "description": "The JSON-serialized leaf certificate",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of X509 certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateListDescription": {
+ "description": "The JSON-serialized array of Certificate objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of Certificate objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ }
+ }
+ },
+ "CertificateBodyDescription": {
+ "description": "The JSON-serialized X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificateProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CertificateWithNonceDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificatePropertiesWithNonce"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SharedAccessSignatureAuthorizationRule": {
+ "description": "The properties of an IoT hub shared access policy.",
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "The name of the shared access policy.",
+ "type": "string"
+ },
+ "primaryKey": {
+ "description": "The primary key.",
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "The secondary key.",
+ "type": "string"
+ },
+ "rights": {
+ "description": "The permissions assigned to the shared access policy.",
+ "enum": [
+ "RegistryRead",
+ "RegistryWrite",
+ "ServiceConnect",
+ "DeviceConnect",
+ "RegistryRead, RegistryWrite",
+ "RegistryRead, ServiceConnect",
+ "RegistryRead, DeviceConnect",
+ "RegistryWrite, ServiceConnect",
+ "RegistryWrite, DeviceConnect",
+ "ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect",
+ "RegistryRead, RegistryWrite, DeviceConnect",
+ "RegistryRead, ServiceConnect, DeviceConnect",
+ "RegistryWrite, ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessRights",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "keyName",
+ "rights"
+ ]
+ },
+ "CertificateProperties": {
+ "description": "The description of an X509 CA Certificate.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string"
+ }
+ }
+ },
+ "CertificatePropertiesWithNonce": {
+ "description": "The description of an X509 CA Certificate including the challenge nonce issued for the Proof-Of-Possession flow.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "verificationCode": {
+ "description": "The certificate's verification code that will be used for proof of possession.",
+ "type": "string",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubProperties": {
+ "description": "The properties of an IoT hub.",
+ "type": "object",
+ "properties": {
+ "authorizationPolicies": {
+ "description": "The shared access policies you can use to secure a connection to the IoT hub.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "Whether requests from Public Network are allowed",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PublicNetworkAccess"
+ }
+ },
+ "ipFilterRules": {
+ "description": "The IP filter rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpFilterRule"
+ }
+ },
+ "minTlsVersion": {
+ "type": "string",
+ "description": "Specifies the minimum TLS version to support for this hub. Can be set to \"1.2\" to have clients that use a TLS version below 1.2 to be rejected."
+ },
+ "privateEndpointConnections": {
+ "description": "Private endpoint connections created on this IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "The hub state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostName": {
+ "description": "The name of the host.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventHubEndpoints": {
+ "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/EventHubProperties"
+ }
+ },
+ "routing": {
+ "$ref": "#/definitions/RoutingProperties"
+ },
+ "storageEndpoints": {
+ "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/StorageEndpointProperties"
+ }
+ },
+ "messagingEndpoints": {
+ "description": "The messaging endpoint properties for the file upload notification queue.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/MessagingEndpointProperties"
+ }
+ },
+ "enableFileUploadNotifications": {
+ "description": "If True, file upload notifications are enabled.",
+ "type": "boolean"
+ },
+ "cloudToDevice": {
+ "$ref": "#/definitions/CloudToDeviceProperties"
+ },
+ "comments": {
+ "description": "IoT hub comments.",
+ "type": "string"
+ },
+ "features": {
+ "description": "The capabilities and features enabled for the IoT hub.",
+ "enum": [
+ "None",
+ "DeviceManagement"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Capabilities",
+ "modelAsString": true
+ }
+ },
+ "locations": {
+ "description": "Primary and secondary location for iot hub",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubLocationDescription"
+ }
+ }
+ }
+ },
+ "IotHubSkuInfo": {
+ "description": "Information about the SKU of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the SKU.",
+ "enum": [
+ "F1",
+ "S1",
+ "S2",
+ "S3",
+ "B1",
+ "B2",
+ "B3"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubSku",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The billing tier for the IoT hub.",
+ "enum": [
+ "Free",
+ "Standard",
+ "Basic"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubSkuTier",
+ "modelAsString": false
+ }
+ },
+ "capacity": {
+ "format": "int64",
+ "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "EventHubProperties": {
+ "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.",
+ "type": "object",
+ "properties": {
+ "retentionTimeInDays": {
+ "format": "int64",
+ "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages",
+ "type": "integer"
+ },
+ "partitionCount": {
+ "format": "int32",
+ "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.",
+ "type": "integer"
+ },
+ "partitionIds": {
+ "description": "The partition ids in the Event Hub-compatible endpoint.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "path": {
+ "description": "The Event Hub-compatible name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpoint": {
+ "description": "The Event Hub-compatible endpoint.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageEndpointProperties": {
+ "description": "The properties of the Azure Storage endpoint for file upload.",
+ "type": "object",
+ "properties": {
+ "sasTtlAsIso8601": {
+ "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.",
+ "type": "string",
+ "format": "duration"
+ },
+ "connectionString": {
+ "description": "The connection string for the Azure Storage account to which files are uploaded.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "connectionString",
+ "containerName"
+ ]
+ },
+ "MessagingEndpointProperties": {
+ "description": "The properties of the messaging endpoints used by this IoT hub.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "CloudToDeviceProperties": {
+ "description": "The IoT hub cloud-to-device messaging properties.",
+ "type": "object",
+ "properties": {
+ "maxDeliveryCount": {
+ "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ },
+ "defaultTtlAsIso8601": {
+ "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "feedback": {
+ "$ref": "#/definitions/FeedbackProperties"
+ }
+ }
+ },
+ "IpFilterRule": {
+ "description": "The IP filter rules for the IoT hub.",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "description": "The name of the IP filter rule.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The desired action for requests captured by this rule.",
+ "enum": [
+ "Accept",
+ "Reject"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterActionType",
+ "modelAsString": false
+ }
+ },
+ "ipMask": {
+ "description": "A string that contains the IP address range in CIDR notation for the rule.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "filterName",
+ "action",
+ "ipMask"
+ ]
+ },
+ "PrivateLinkResources": {
+ "description": "The available private link resources for an IotHub",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of available private link resources for an IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ }
+ }
+ },
+ "GroupIdInformation": {
+ "description": "The group information for creating a private endpoint on an IotHub",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/GroupIdInformationProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "GroupIdInformationProperties": {
+ "description": "The properties for a group information object",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "description": "The group id"
+ },
+ "requiredMembers": {
+ "description": "The required members for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "description": "The required DNS zones for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionsList": {
+ "description": "The list of private endpoint connections for an IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "The private endpoint connection of an IotHub",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "The properties of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState"
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "description": "The private endpoint property of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The current state of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of a private endpoint connection",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The description for the current state of a private endpoint connection"
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Actions required for a private endpoint connection"
+ }
+ },
+ "required": [
+ "status",
+ "description"
+ ]
+ },
+ "FeedbackProperties": {
+ "description": "The properties of the feedback queue for cloud-to-device messages.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "RoutingProperties": {
+ "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging",
+ "type": "object",
+ "properties": {
+ "endpoints": {
+ "$ref": "#/definitions/RoutingEndpoints"
+ },
+ "routes": {
+ "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteProperties"
+ }
+ },
+ "fallbackRoute": {
+ "description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.",
+ "$ref": "#/definitions/FallbackRouteProperties"
+ },
+ "enrichments": {
+ "description": "The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnrichmentProperties"
+ }
+ }
+ }
+ },
+ "RoutingEndpoints": {
+ "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.",
+ "type": "object",
+ "properties": {
+ "serviceBusQueues": {
+ "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties"
+ }
+ },
+ "serviceBusTopics": {
+ "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties"
+ }
+ },
+ "eventHubs": {
+ "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingEventHubProperties"
+ }
+ },
+ "storageContainers": {
+ "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingStorageContainerProperties"
+ }
+ }
+ }
+ },
+ "RoutingServiceBusQueueEndpointProperties": {
+ "description": "The properties related to service bus queue endpoint types.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the service bus queue endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the service bus queue endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Queue name on the service bus namespace",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the service bus queue endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus queue endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingServiceBusTopicEndpointProperties": {
+ "description": "The properties related to service bus topic endpoint types.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the service bus topic endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the service bus topic endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Queue name on the service bus topic",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the service bus topic endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus topic endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingEventHubProperties": {
+ "description": "The properties related to an event hub endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the event hub endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the event hub endpoint. ",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the event hub endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Event hub name on the event hub namespace",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the event hub endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the event hub endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the event hub endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingStorageContainerProperties": {
+ "description": "The properties related to a storage container endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the storage container endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the storage account.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the storage endpoint. It must include the protocol https://",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the storage endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the storage account.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the storage account.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of storage container in the storage account.",
+ "type": "string"
+ },
+ "fileNameFormat": {
+ "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.",
+ "type": "string"
+ },
+ "batchFrequencyInSeconds": {
+ "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 720,
+ "minimum": 60
+ },
+ "maxChunkSizeInBytes": {
+ "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 524288000,
+ "minimum": 10485760
+ },
+ "encoding": {
+ "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.",
+ "type": "string",
+ "enum": [
+ "Avro",
+ "AvroDeflate",
+ "JSON"
+ ]
+ }
+ },
+ "required": [
+ "name",
+ "containerName"
+ ]
+ },
+ "RouteProperties": {
+ "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "source": {
+ "description": "The source that the routing rule is to be applied to, such as DeviceMessages.",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether a route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "name",
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "FallbackRouteProperties": {
+ "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string"
+ },
+ "source": {
+ "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages",
+ "enum": [
+ "DeviceMessages"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether the fallback route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "EnrichmentProperties": {
+ "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key or name for the enrichment property.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value for the enrichment property.",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints for which the enrichment is applied to the message.",
+ "minItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "key",
+ "value",
+ "endpointNames"
+ ]
+ },
+ "IotHubDescription": {
+ "description": "The description of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "etag": {
+ "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "IotHub properties",
+ "$ref": "#/definitions/IotHubProperties"
+ },
+ "sku": {
+ "description": "IotHub SKU info",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku"
+ ]
+ },
+ "Resource": {
+ "description": "The common properties of an Azure resource.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ]
+ },
+ "SharedAccessSignatureAuthorizationRuleListResult": {
+ "description": "The list of shared access policies with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of shared access policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list IoT Hub operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "IoT Hub REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{read | write | action | delete}"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Service provider: Microsoft Devices"
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Type: IotHubs"
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the operation"
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Description of the operation"
+ }
+ }
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "httpStatusCode": {
+ "description": "The HTTP status code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The error details.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfoListResult": {
+ "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of quota metrics objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthDataListResult": {
+ "description": "The JSON-serialized array of EndpointHealthData objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "JSON-serialized array of Endpoint health data",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointHealthData"
+ }
+ },
+ "nextLink": {
+ "description": "Link to more results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthData": {
+ "description": "The health data for an endpoint",
+ "type": "object",
+ "properties": {
+ "endpointId": {
+ "description": "Id of the endpoint",
+ "type": "string"
+ },
+ "healthStatus": {
+ "description": "Health statuses have following meanings. The 'healthy' status shows that the endpoint is accepting messages as expected. The 'unhealthy' status shows that the endpoint is not accepting messages as expected and IoT Hub is retrying to send data to this endpoint. The status of an unhealthy endpoint will be updated to healthy when IoT Hub has established an eventually consistent state of health. The 'dead' status shows that the endpoint is not accepting messages, after IoT Hub retried sending messages for the retrial period. See IoT Hub metrics to identify errors and monitor issues with endpoints. The 'unknown' status shows that the IoT Hub has not established a connection with the endpoint. No messages have been delivered to or rejected from this endpoint",
+ "enum": [
+ "unknown",
+ "healthy",
+ "degraded",
+ "unhealthy",
+ "dead"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "lastKnownError": {
+ "description": "Last error obtained when a message failed to be delivered to iot hub",
+ "type": "string"
+ },
+ "lastKnownErrorTime": {
+ "description": "Time at which the last known error occurred",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "lastSuccessfulSendAttemptTime": {
+ "description": "Last time iot hub successfully sent a message to the endpoint",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "lastSendAttemptTime": {
+ "description": "Last time iot hub tried to send a message to the endpoint",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ }
+ },
+ "RegistryStatistics": {
+ "description": "Identity registry statistics.",
+ "type": "object",
+ "properties": {
+ "totalDeviceCount": {
+ "format": "int64",
+ "description": "The total count of devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "enabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of enabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "disabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of disabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponseListResult": {
+ "description": "The JSON-serialized array of JobResponse objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of JobResponse objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescription": {
+ "description": "SKU properties.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "The type of the resource.",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ },
+ "capacity": {
+ "description": "IotHub capacity",
+ "$ref": "#/definitions/IotHubCapacity"
+ }
+ },
+ "required": [
+ "sku",
+ "capacity"
+ ]
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on an IoT Hub instance."
+ },
+ "IotHubCapacity": {
+ "description": "IoT Hub capacity information.",
+ "type": "object",
+ "properties": {
+ "minimum": {
+ "format": "int64",
+ "description": "The minimum number of units.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1,
+ "readOnly": true
+ },
+ "maximum": {
+ "format": "int64",
+ "description": "The maximum number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "default": {
+ "format": "int64",
+ "description": "The default number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "scaleType": {
+ "description": "The type of the scaling enabled.",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "None"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubScaleType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "EventHubConsumerGroupsListResult": {
+ "description": "The JSON-serialized array of Event Hub-compatible consumer group names with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of consumer groups objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EventHubConsumerGroupBodyDescription": {
+ "description": "The EventHub consumer group.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventHubConsumerGroupName"
+ }
+ }
+ },
+ "EventHubConsumerGroupName": {
+ "description": "The EventHub consumer group name.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "EventHub consumer group name",
+ "type": "string"
+ }
+ }
+ },
+ "EventHubConsumerGroupInfo": {
+ "description": "The properties of the EventHubConsumerGroupInfo object.",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "The tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "description": "The Event Hub-compatible consumer group identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Event Hub-compatible consumer group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "the resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The etag.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubSkuDescription.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubSkuDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponse": {
+ "description": "The properties of the Job Response object.",
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "description": "The job identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The start time of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The time the job stopped processing.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the job.",
+ "enum": [
+ "unknown",
+ "export",
+ "import",
+ "backup",
+ "readDeviceProperties",
+ "writeDeviceProperties",
+ "updateDeviceConfiguration",
+ "rebootDevice",
+ "factoryResetDevice",
+ "firmwareUpdate"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The status of the job.",
+ "enum": [
+ "unknown",
+ "enqueued",
+ "running",
+ "completed",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": false
+ }
+ },
+ "failureReason": {
+ "description": "If status == failed, this string containing the reason for the failure.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statusMessage": {
+ "description": "The status message for the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "parentJobId": {
+ "description": "The job identifier of the parent job, if any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubDescription objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfo": {
+ "description": "Quota metrics properties.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the quota metric.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "The current value for the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "maxValue": {
+ "format": "int64",
+ "description": "The maximum value of the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationInputs": {
+ "description": "Input values.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the IoT hub to check.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "IotHubNameAvailabilityInfo": {
+ "description": "The properties indicating whether a given IoT hub name is available.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value which indicates whether the provided name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason for unavailability.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubNameUnavailabilityReason",
+ "modelAsString": false
+ }
+ },
+ "message": {
+ "description": "The detailed reason message.",
+ "type": "string"
+ }
+ }
+ },
+ "UserSubscriptionQuotaListResult": {
+ "type": "object",
+ "description": "Json-serialized array of User subscription quota response",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserSubscriptionQuota"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserSubscriptionQuota": {
+ "description": "User subscription quota response",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "IotHub type id",
+ "type": "string"
+ },
+ "type": {
+ "description": "Response type",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Unit of IotHub type",
+ "type": "string"
+ },
+ "currentValue": {
+ "description": "Current number of IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "limit": {
+ "description": "Numerical limit on IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "description": "IotHub type",
+ "$ref": "#/definitions/Name"
+ }
+ }
+ },
+ "Name": {
+ "description": "Name of Iot Hub type",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "IotHub type",
+ "type": "string"
+ },
+ "localizedValue": {
+ "description": "Localized value of name",
+ "type": "string"
+ }
+ }
+ },
+ "TestAllRoutesInput": {
+ "description": "Input for testing all routes",
+ "type": "object",
+ "properties": {
+ "routingSource": {
+ "description": "Routing source",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "RoutingTwin": {
+ "description": "Twin reference input parameter. This is an optional parameter",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Twin Tags",
+ "type": "object"
+ },
+ "properties": {
+ "properties": {
+ "desired": {
+ "description": "Twin desired properties",
+ "type": "object"
+ },
+ "reported": {
+ "description": "Twin desired properties",
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "RoutingMessage": {
+ "description": "Routing message",
+ "type": "object",
+ "properties": {
+ "body": {
+ "description": "Body of routing message",
+ "type": "string"
+ },
+ "appProperties": {
+ "description": "App properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "systemProperties": {
+ "description": "System properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TestAllRoutesResult": {
+ "description": "Result of testing all routes",
+ "type": "object",
+ "properties": {
+ "routes": {
+ "description": "JSON-serialized array of matched routes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchedRoute"
+ }
+ }
+ }
+ },
+ "MatchedRoute": {
+ "description": "Routes that matched",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of routes that matched",
+ "$ref": "#/definitions/RouteProperties"
+ }
+ }
+ },
+ "TestRouteInput": {
+ "required": [
+ "route"
+ ],
+ "description": "Input for testing route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "route": {
+ "description": "Route properties",
+ "$ref": "#/definitions/RouteProperties"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "TestRouteResult": {
+ "description": "Result of testing one route",
+ "type": "object",
+ "properties": {
+ "result": {
+ "description": "Result of testing route",
+ "enum": [
+ "undefined",
+ "false",
+ "true"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TestResultStatus",
+ "modelAsString": true
+ }
+ },
+ "details": {
+ "description": "Detailed result of testing route",
+ "$ref": "#/definitions/TestRouteResultDetails"
+ }
+ }
+ },
+ "TestRouteResultDetails": {
+ "description": "Detailed result of testing a route",
+ "type": "object",
+ "properties": {
+ "compilationErrors": {
+ "description": "JSON-serialized list of route compilation errors",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteCompilationError"
+ }
+ }
+ }
+ },
+ "RouteCompilationError": {
+ "description": "Compilation error when evaluating route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Route error message",
+ "type": "string"
+ },
+ "severity": {
+ "description": "Severity of the route error",
+ "enum": [
+ "error",
+ "warning"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RouteErrorSeverity",
+ "modelAsString": true
+ }
+ },
+ "location": {
+ "description": "Location where the route error happened",
+ "$ref": "#/definitions/RouteErrorRange"
+ }
+ }
+ },
+ "RouteErrorRange": {
+ "description": "Range of route errors",
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "Start where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ },
+ "end": {
+ "description": "End where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ }
+ }
+ },
+ "RouteErrorPosition": {
+ "description": "Position where the route error happened",
+ "type": "object",
+ "properties": {
+ "line": {
+ "description": "Line where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ },
+ "column": {
+ "description": "Column where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "ExportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.",
+ "type": "object",
+ "properties": {
+ "exportBlobContainerUri": {
+ "description": "The export blob container URI.",
+ "type": "string"
+ },
+ "excludeKeys": {
+ "description": "The value indicating whether keys should be excluded during export.",
+ "type": "boolean"
+ },
+ "exportBlobName": {
+ "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported device registry information for the IoT Hub.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "exportBlobContainerUri",
+ "excludeKeys"
+ ]
+ },
+ "ImportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an import of all devices in the hub.",
+ "type": "object",
+ "properties": {
+ "inputBlobContainerUri": {
+ "description": "The input blob container URI.",
+ "type": "string"
+ },
+ "outputBlobContainerUri": {
+ "description": "The output blob container URI.",
+ "type": "string"
+ },
+ "inputBlobName": {
+ "description": "The blob name to be used when importing from the provided input blob container.",
+ "type": "string"
+ },
+ "outputBlobName": {
+ "description": "The blob name to use for storing the status of the import job.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "inputBlobContainerUri",
+ "outputBlobContainerUri"
+ ]
+ },
+ "FailoverInput": {
+ "description": "Use to provide failover region when requesting manual Failover for a hub.",
+ "type": "object",
+ "properties": {
+ "failoverRegion": {
+ "description": "Region the hub will be failed over to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "failoverRegion"
+ ]
+ },
+ "IotHubLocationDescription": {
+ "description": "Public representation of one of the locations where a resource is provisioned.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The name of the Azure region",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT hub can failover to.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubReplicaRoleType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription identifier.",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The version of the API.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the IoT hub.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the IoT hub.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "certificateName": {
+ "name": "certificateName",
+ "in": "path",
+ "description": "The name of the certificate",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$",
+ "x-ms-parameter-location": "method"
+ },
+ "groupId": {
+ "name": "groupId",
+ "in": "path",
+ "description": "The name of the private link resource",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "privateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/readme.md b/specification/iothub/resource-manager/readme.md
index f0842a0bf742..d359d6a349ce 100644
--- a/specification/iothub/resource-manager/readme.md
+++ b/specification/iothub/resource-manager/readme.md
@@ -26,18 +26,27 @@ These are the global settings for the IotHub API.
``` yaml
openapi-type: arm
-tag: package-2020-04
+tag: package-2020-06
```
+### Tag: package-2020-06
+
+These settings apply only when `--tag=package-2020-06` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-06'
+input-file:
+ - Microsoft.Devices/stable/2020-06-15/iothub.json
+```
### Tag: package-2020-04
These settings apply only when `--tag=package-2020-04` is specified on the command line.
-```yaml $(tag) == 'package-2020-04'
+``` yaml $(tag) == 'package-2020-04'
input-file:
- Microsoft.Devices/stable/2020-04-01/iothub.json
```
+
### Tag: package-2020-03
These settings apply only when `--tag=package-2020-03` is specified on the command line.
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRuleAssociations_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRuleAssociations_API.json
new file mode 100644
index 000000000000..3311c2f48cfa
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRuleAssociations_API.json
@@ -0,0 +1,540 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Monitor Data Collection Rule Associations API",
+ "description": "Provides operations for working with Azure Monitor data collection rule associations",
+ "version": "2019-11-01-preview",
+ "x-ms-code-generation-settings": {
+ "name": "MonitorManagementClient"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations": {
+ "get": {
+ "tags": [
+ "DataCollectionRuleAssociations"
+ ],
+ "summary": "Lists associations for the specified resource.",
+ "operationId": "DataCollectionRuleAssociations_ListByResource",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request completed successfully",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List associations for specified resource": {
+ "$ref": "./examples/DataCollectionRuleAssociationsListByResource.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}/associations": {
+ "get": {
+ "tags": [
+ "DataCollectionRuleAssociations"
+ ],
+ "summary": "Lists associations for the specified data collection rule.",
+ "operationId": "DataCollectionRuleAssociations_ListByRule",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataCollectionRuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request completed successfully",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List associations for specified data collection rule": {
+ "$ref": "./examples/DataCollectionRuleAssociationsListByRule.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName}": {
+ "get": {
+ "tags": [
+ "DataCollectionRuleAssociations"
+ ],
+ "summary": "Returns the specified association.",
+ "operationId": "DataCollectionRuleAssociations_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "#/parameters/AssociationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request completed successfully",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get association": {
+ "$ref": "./examples/DataCollectionRuleAssociationsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DataCollectionRuleAssociations"
+ ],
+ "summary": "Creates or updates an association.",
+ "operationId": "DataCollectionRuleAssociations_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "#/parameters/AssociationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The payload",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Association was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource"
+ }
+ },
+ "201": {
+ "description": "Association was successfully created",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update association": {
+ "$ref": "./examples/DataCollectionRuleAssociationsCreate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DataCollectionRuleAssociations"
+ ],
+ "summary": "Deletes an association.",
+ "operationId": "DataCollectionRuleAssociations_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "#/parameters/AssociationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Association was successfully deleted"
+ },
+ "204": {
+ "description": "Association did not exist"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete association": {
+ "$ref": "./examples/DataCollectionRuleAssociationsDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DataCollectionRuleAssociation": {
+ "description": "Definition of association of a data collection rule with a monitored Azure resource.",
+ "required": [
+ "dataCollectionRuleId"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description of the association.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "dataCollectionRuleId": {
+ "description": "The resource ID of the data collection rule that is to be associated.",
+ "type": "string",
+ "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule"
+ },
+ "provisioningState": {
+ "description": "The resource provisioning state.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "example": "Creating",
+ "x-ms-enum": {
+ "name": "KnownDataCollectionRuleAssociationProvisioningState",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "read"
+ ]
+ }
+ }
+ },
+ "DataCollectionRuleAssociationProxyOnlyResource": {
+ "description": "Definition of generic ARM proxy resource.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Resource properties.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataCollectionRuleAssociation"
+ }
+ ],
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "Fully qualified ID of the resource.",
+ "type": "string",
+ "readOnly": true,
+ "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true,
+ "example": "myCollectionRule",
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true,
+ "example": "Microsoft.Insights/dataCollectionRules",
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "etag": {
+ "description": "Resource entity tag (ETag).",
+ "type": "string",
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DataCollectionRuleAssociationProxyOnlyResourceListResult": {
+ "description": "A pageable list of resources.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource"
+ }
+ },
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorAdditionalInfo": {
+ "description": "Additional information for common error response.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The additional info type.",
+ "type": "string",
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "info": {
+ "description": "The additional info.",
+ "type": "object",
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Common error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code which can be used to programmatically identify the class of error.",
+ "type": "string",
+ "readOnly": true,
+ "example": "BadArgument",
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "message": {
+ "description": "Describes the error in detail and provides debugging information.",
+ "type": "string",
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "target": {
+ "description": "The target of the particular error (for example, the name of the property in error).",
+ "type": "string",
+ "readOnly": true,
+ "example": "properties.provisioningState",
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "details": {
+ "description": "Additional nested error detail objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ },
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "additionalInfo": {
+ "description": "Additional error information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Common error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Error details.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ ],
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "The API version to use for this operation.",
+ "required": true,
+ "type": "string",
+ "minLength": 1
+ },
+ "AssociationNameParameter": {
+ "in": "path",
+ "name": "associationName",
+ "description": "The name of the association.",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "DataCollectionRuleNameParameter": {
+ "in": "path",
+ "name": "dataCollectionRuleName",
+ "description": "The name of the data collection rule. The name is case insensitive.",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupNameParameter": {
+ "in": "path",
+ "name": "resourceGroupName",
+ "description": "The name of the resource group. The name is case insensitive.",
+ "required": true,
+ "type": "string",
+ "maxLength": 90,
+ "minLength": 1,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceUriParameter": {
+ "in": "path",
+ "name": "resourceUri",
+ "description": "The identifier of the resource.",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "SubscriptionIdParameter": {
+ "in": "path",
+ "name": "subscriptionId",
+ "description": "The ID of the target subscription.",
+ "required": true,
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRules_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRules_API.json
new file mode 100644
index 000000000000..00e46a55e65b
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRules_API.json
@@ -0,0 +1,1075 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Monitor Data Collection Rules API",
+ "description": "Provides operations for working with Azure Monitor data collection rules",
+ "version": "2019-11-01-preview",
+ "x-ms-code-generation-settings": {
+ "name": "MonitorManagementClient"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules": {
+ "get": {
+ "tags": [
+ "DataCollectionRules"
+ ],
+ "summary": "Lists all data collection rules in the specified resource group.",
+ "operationId": "DataCollectionRules_ListByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request completed successfully",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List data collection rules by resource group": {
+ "$ref": "./examples/DataCollectionRulesListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/dataCollectionRules": {
+ "get": {
+ "tags": [
+ "DataCollectionRules"
+ ],
+ "summary": "Lists all data collection rules in the specified subscription.",
+ "operationId": "DataCollectionRules_ListBySubscription",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request completed successfully",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List data collection rules by subscription": {
+ "$ref": "./examples/DataCollectionRulesListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}": {
+ "get": {
+ "tags": [
+ "DataCollectionRules"
+ ],
+ "summary": "Returns the specified data collection rule.",
+ "operationId": "DataCollectionRules_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataCollectionRuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request completed successfully",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleResource"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get data collection rule": {
+ "$ref": "./examples/DataCollectionRulesGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DataCollectionRules"
+ ],
+ "summary": "Creates or updates a data collection rule.",
+ "operationId": "DataCollectionRules_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataCollectionRuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The payload",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Data collection rule was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleResource"
+ }
+ },
+ "201": {
+ "description": "Data collection rule was successfully created",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleResource"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update data collection rule": {
+ "$ref": "./examples/DataCollectionRulesCreate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DataCollectionRules"
+ ],
+ "summary": "Updates part of a data collection rule.",
+ "operationId": "DataCollectionRules_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataCollectionRuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The payload",
+ "schema": {
+ "$ref": "#/definitions/ResourceForUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Data collection rule was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/DataCollectionRuleResource"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update data collection rule": {
+ "$ref": "./examples/DataCollectionRulesUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DataCollectionRules"
+ ],
+ "summary": "Deletes a data collection rule.",
+ "operationId": "DataCollectionRules_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataCollectionRuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Data collection rule was successfully deleted"
+ },
+ "204": {
+ "description": "Data collection rule did not exist"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete data collection rule": {
+ "$ref": "./examples/DataCollectionRulesDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PerfCounterDataSource": {
+ "description": "Definition of which performance counters will be collected and how they will be collected by this data collection rule.\r\nCollected from both Windows and Linux machines where the counter is present.",
+ "required": [
+ "counterSpecifiers",
+ "name",
+ "samplingFrequencyInSeconds",
+ "scheduledTransferPeriod",
+ "streams"
+ ],
+ "type": "object",
+ "properties": {
+ "streams": {
+ "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.",
+ "maxLength": 10,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "enum": [
+ "Microsoft-Perf",
+ "Microsoft-InsightsMetrics"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KnownPerfCounterDataSourceStreams",
+ "modelAsString": true
+ }
+ }
+ },
+ "scheduledTransferPeriod": {
+ "description": "The interval between data uploads (scheduled transfers), rounded up to the nearest minute.",
+ "enum": [
+ "PT1M",
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT60M"
+ ],
+ "type": "string",
+ "example": "PT1M",
+ "x-ms-enum": {
+ "name": "KnownPerfCounterDataSourceScheduledTransferPeriod",
+ "modelAsString": true
+ }
+ },
+ "samplingFrequencyInSeconds": {
+ "format": "int32",
+ "description": "The number of seconds between consecutive counter measurements (samples).",
+ "maximum": 30,
+ "minimum": 1,
+ "type": "integer",
+ "example": 15
+ },
+ "counterSpecifiers": {
+ "description": "A list of specifier names of the performance counters you want to collect.\r\nUse a wildcard (*) to collect a counter for all instances.\r\nTo get a list of performance counters on Windows, run the command 'typeperf'.",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.",
+ "maxLength": 32,
+ "minLength": 0,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "type": "string",
+ "example": "myDataSource1"
+ }
+ }
+ },
+ "WindowsEventLogDataSource": {
+ "description": "Definition of which Windows Event Log events will be collected and how they will be collected.\r\nOnly collected from Windows machines.",
+ "required": [
+ "name",
+ "scheduledTransferPeriod",
+ "streams",
+ "xPathQueries"
+ ],
+ "type": "object",
+ "properties": {
+ "streams": {
+ "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.",
+ "maxLength": 10,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "enum": [
+ "Microsoft-WindowsEvent",
+ "Microsoft-Event"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KnownWindowsEventLogDataSourceStreams",
+ "modelAsString": true
+ }
+ }
+ },
+ "scheduledTransferPeriod": {
+ "description": "The interval between data uploads (scheduled transfers), rounded up to the nearest minute.",
+ "enum": [
+ "PT1M",
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT60M"
+ ],
+ "type": "string",
+ "example": "PT5M",
+ "x-ms-enum": {
+ "name": "KnownWindowsEventLogDataSourceScheduledTransferPeriod",
+ "modelAsString": true
+ }
+ },
+ "xPathQueries": {
+ "description": "A list of Windows Event Log queries in XPATH format.",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.",
+ "maxLength": 32,
+ "minLength": 0,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "type": "string",
+ "example": "myDataSource1"
+ }
+ }
+ },
+ "SyslogDataSource": {
+ "description": "Definition of which syslog data will be collected and how it will be collected.\r\nOnly collected from Linux machines.",
+ "required": [
+ "facilityNames",
+ "name",
+ "streams"
+ ],
+ "type": "object",
+ "properties": {
+ "streams": {
+ "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.",
+ "maxLength": 10,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "enum": [
+ "Microsoft-Syslog"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KnownSyslogDataSourceStreams",
+ "modelAsString": true
+ }
+ }
+ },
+ "facilityNames": {
+ "description": "The list of facility names.",
+ "maxLength": 20,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "enum": [
+ "auth",
+ "authpriv",
+ "cron",
+ "daemon",
+ "kern",
+ "lpr",
+ "mail",
+ "mark",
+ "news",
+ "syslog",
+ "user",
+ "UUCP",
+ "local0",
+ "local1",
+ "local2",
+ "local3",
+ "local4",
+ "local5",
+ "local6",
+ "local7"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KnownSyslogDataSourceFacilityNames",
+ "modelAsString": true
+ }
+ }
+ },
+ "logLevels": {
+ "description": "The log levels to collect.",
+ "maxLength": 10,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "enum": [
+ "Debug",
+ "Info",
+ "Notice",
+ "Warning",
+ "Error",
+ "Critical",
+ "Alert",
+ "Emergency"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KnownSyslogDataSourceLogLevels",
+ "modelAsString": true
+ }
+ }
+ },
+ "name": {
+ "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.",
+ "maxLength": 32,
+ "minLength": 0,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "type": "string",
+ "example": "myDataSource1"
+ }
+ }
+ },
+ "ExtensionDataSource": {
+ "description": "Definition of which data will be collected from a separate VM extension that integrates with the Azure Monitor Agent.\r\nCollected from either Windows and Linux machines, depending on which extension is defined.",
+ "required": [
+ "extensionName",
+ "name",
+ "streams"
+ ],
+ "type": "object",
+ "properties": {
+ "streams": {
+ "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.",
+ "maxLength": 10,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "enum": [
+ "Microsoft-AntiMalwareStatus",
+ "Microsoft-Auditd",
+ "Microsoft-CISCOASA",
+ "Microsoft-CommonSecurityLog",
+ "Microsoft-ComputerGroup",
+ "Microsoft-Event",
+ "Microsoft-FirewallLog",
+ "Microsoft-HealthStateChange",
+ "Microsoft-Heartbeat",
+ "Microsoft-InsightsMetrics",
+ "Microsoft-OperationLog",
+ "Microsoft-Perf",
+ "Microsoft-ProcessInvestigator",
+ "Microsoft-ProtectionStatus",
+ "Microsoft-RomeDetectionEvent",
+ "Microsoft-SecurityBaseline",
+ "Microsoft-SecurityBaselineSummary",
+ "Microsoft-SecurityEvent",
+ "Microsoft-Syslog",
+ "Microsoft-WindowsEvent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KnownExtensionDataSourceStreams",
+ "modelAsString": true
+ }
+ }
+ },
+ "extensionName": {
+ "description": "The name of the VM extension.",
+ "maxLength": 64,
+ "minLength": 0,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "type": "string",
+ "example": "AzureSecurityLinuxAgent"
+ },
+ "extensionSettings": {
+ "description": "The extension settings. The format is specific for particular extension.",
+ "type": "object"
+ },
+ "name": {
+ "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.",
+ "maxLength": 32,
+ "minLength": 0,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "type": "string",
+ "example": "myDataSource1"
+ }
+ }
+ },
+ "DataSourcesSpec": {
+ "description": "Specification of data sources that will be collected.",
+ "type": "object",
+ "properties": {
+ "performanceCounters": {
+ "description": "The list of performance counter data source configurations.",
+ "maxLength": 10,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PerfCounterDataSource"
+ }
+ },
+ "windowsEventLogs": {
+ "description": "The list of Windows Event Log data source configurations.",
+ "maxLength": 10,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WindowsEventLogDataSource"
+ }
+ },
+ "syslog": {
+ "description": "The list of Syslog data source configurations.",
+ "maxLength": 10,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SyslogDataSource"
+ }
+ },
+ "extensions": {
+ "description": "The list of Azure VM extension data source configurations.",
+ "maxLength": 10,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExtensionDataSource"
+ }
+ }
+ }
+ },
+ "LogAnalyticsDestination": {
+ "description": "Log Analytics destination.",
+ "required": [
+ "name",
+ "workspaceResourceId"
+ ],
+ "type": "object",
+ "properties": {
+ "workspaceResourceId": {
+ "description": "The resource ID of the Log Analytics workspace.",
+ "type": "string",
+ "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace"
+ },
+ "name": {
+ "description": "A friendly name for the destination. \r\nThis name should be unique across all destinations (regardless of type) within the data collection rule.",
+ "maxLength": 32,
+ "minLength": 0,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "type": "string",
+ "example": "myDest1"
+ }
+ }
+ },
+ "AzureMonitorMetricsDestination": {
+ "description": "Azure Monitor Metrics destination.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "A friendly name for the destination. \r\nThis name should be unique across all destinations (regardless of type) within the data collection rule.",
+ "maxLength": 32,
+ "minLength": 0,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "type": "string",
+ "example": "myDest1"
+ }
+ }
+ },
+ "DestinationsSpec": {
+ "description": "Specification of destinations that can be used in data flows.",
+ "type": "object",
+ "properties": {
+ "logAnalytics": {
+ "description": "List of Log Analytics destinations.",
+ "maxLength": 10,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogAnalyticsDestination"
+ }
+ },
+ "azureMonitorMetrics": {
+ "description": "Azure Monitor Metrics destination.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureMonitorMetricsDestination"
+ }
+ ]
+ }
+ }
+ },
+ "DataFlow": {
+ "description": "Definition of which streams are sent to which destinations.",
+ "required": [
+ "destinations",
+ "streams"
+ ],
+ "type": "object",
+ "properties": {
+ "streams": {
+ "description": "List of streams for this data flow.",
+ "maxLength": 20,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "enum": [
+ "Microsoft-AntiMalwareStatus",
+ "Microsoft-Auditd",
+ "Microsoft-CISCOASA",
+ "Microsoft-CommonSecurityLog",
+ "Microsoft-ComputerGroup",
+ "Microsoft-Event",
+ "Microsoft-FirewallLog",
+ "Microsoft-HealthStateChange",
+ "Microsoft-Heartbeat",
+ "Microsoft-InsightsMetrics",
+ "Microsoft-OperationLog",
+ "Microsoft-Perf",
+ "Microsoft-ProcessInvestigator",
+ "Microsoft-ProtectionStatus",
+ "Microsoft-RomeDetectionEvent",
+ "Microsoft-SecurityBaseline",
+ "Microsoft-SecurityBaselineSummary",
+ "Microsoft-SecurityEvent",
+ "Microsoft-Syslog",
+ "Microsoft-WindowsEvent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KnownDataFlowStreams",
+ "modelAsString": true
+ }
+ }
+ },
+ "destinations": {
+ "description": "List of destinations for this data flow.",
+ "maxLength": 10,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DataCollectionRule": {
+ "description": "Definition of what monitoring data to collect and where that data should be sent.",
+ "required": [
+ "dataFlows",
+ "destinations"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description of the data collection rule.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "dataSources": {
+ "description": "The specification of data sources. \r\nThis property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourcesSpec"
+ }
+ ]
+ },
+ "destinations": {
+ "description": "The specification of destinations.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DestinationsSpec"
+ }
+ ]
+ },
+ "dataFlows": {
+ "description": "The specification of data flows.",
+ "maxLength": 10,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataFlow"
+ }
+ },
+ "provisioningState": {
+ "description": "The resource provisioning state.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "example": "Creating",
+ "x-ms-enum": {
+ "name": "KnownDataCollectionRuleProvisioningState",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "read"
+ ]
+ }
+ }
+ },
+ "DataCollectionRuleResource": {
+ "description": "Definition of ARM tracked top level resource.",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Resource properties.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataCollectionRule"
+ }
+ ],
+ "x-ms-client-flatten": true
+ },
+ "location": {
+ "description": "The geo-location where the resource lives.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "description": "Fully qualified ID of the resource.",
+ "type": "string",
+ "readOnly": true,
+ "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true,
+ "example": "myCollectionRule",
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true,
+ "example": "Microsoft.Insights/dataCollectionRules",
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "etag": {
+ "description": "Resource entity tag (ETag).",
+ "type": "string",
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DataCollectionRuleResourceListResult": {
+ "description": "A pageable list of resources.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataCollectionRuleResource"
+ }
+ },
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorAdditionalInfo": {
+ "description": "Additional information for common error response.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The additional info type.",
+ "type": "string",
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "info": {
+ "description": "The additional info.",
+ "type": "object",
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Common error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code which can be used to programmatically identify the class of error.",
+ "type": "string",
+ "readOnly": true,
+ "example": "BadArgument",
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "message": {
+ "description": "Describes the error in detail and provides debugging information.",
+ "type": "string",
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "target": {
+ "description": "The target of the particular error (for example, the name of the property in error).",
+ "type": "string",
+ "readOnly": true,
+ "example": "properties.provisioningState",
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "details": {
+ "description": "Additional nested error detail objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ },
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ },
+ "additionalInfo": {
+ "description": "Additional error information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Common error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Error details.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ ],
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ]
+ }
+ }
+ },
+ "ResourceForUpdate": {
+ "description": "Definition of ARM tracked top level resource properties for update operation.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "The API version to use for this operation.",
+ "required": true,
+ "type": "string",
+ "minLength": 1
+ },
+ "DataCollectionRuleNameParameter": {
+ "in": "path",
+ "name": "dataCollectionRuleName",
+ "description": "The name of the data collection rule. The name is case insensitive.",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupNameParameter": {
+ "in": "path",
+ "name": "resourceGroupName",
+ "description": "The name of the resource group. The name is case insensitive.",
+ "required": true,
+ "type": "string",
+ "maxLength": 90,
+ "minLength": 1,
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionIdParameter": {
+ "in": "path",
+ "name": "subscriptionId",
+ "description": "The ID of the target subscription.",
+ "required": true,
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsCreate.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsCreate.json
new file mode 100644
index 000000000000..4876e909994f
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsCreate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm",
+ "associationName": "myAssociation",
+ "api-version": "2019-11-01-preview",
+ "body": {
+ "properties": {
+ "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation",
+ "name": "myAssociation",
+ "type": "Microsoft.Insights/dataCollectionRuleAssociations",
+ "properties": {
+ "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "provisioningState": "Succeeded"
+ },
+ "etag": "070057da-0000-0000-0000-5ba70d6c0000"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation",
+ "name": "myAssociation",
+ "type": "Microsoft.Insights/dataCollectionRuleAssociations",
+ "properties": {
+ "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "provisioningState": "Succeeded"
+ },
+ "etag": "070057da-0000-0000-0000-5ba70d6c0000"
+ }
+ }
+ }
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsDelete.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsDelete.json
new file mode 100644
index 000000000000..c131dc605378
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsDelete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm",
+ "associationName": "myAssociation",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsGet.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsGet.json
new file mode 100644
index 000000000000..a16f737e64d4
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm",
+ "associationName": "myAssociation",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation",
+ "name": "myAssociation",
+ "type": "Microsoft.Insights/dataCollectionRuleAssociations",
+ "properties": {
+ "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "provisioningState": "Succeeded"
+ },
+ "etag": "070057da-0000-0000-0000-5ba70d6c0000"
+ }
+ }
+ }
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByResource.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByResource.json
new file mode 100644
index 000000000000..682b4fa3cec0
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByResource.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation",
+ "name": "myAssociation",
+ "type": "Microsoft.Insights/dataCollectionRuleAssociations",
+ "properties": {
+ "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "provisioningState": "Succeeded"
+ },
+ "etag": "070057da-0000-0000-0000-5ba70d6c0000"
+ },
+ {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation",
+ "name": "herAssociation",
+ "type": "Microsoft.Insights/dataCollectionRuleAssociations",
+ "properties": {
+ "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/herCollectionRule",
+ "provisioningState": "Succeeded"
+ },
+ "etag": "3afa167b-3255-432b-b66d-e74a348468af"
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByRule.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByRule.json
new file mode 100644
index 000000000000..4e4ebb8559de
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByRule.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2",
+ "resourceGroupName": "myResourceGroup",
+ "dataCollectionRuleName": "myCollectionRule",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation",
+ "name": "myAssociation",
+ "type": "Microsoft.Insights/dataCollectionRuleAssociations",
+ "properties": {
+ "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "provisioningState": "Succeeded"
+ },
+ "etag": "070057da-0000-0000-0000-5ba70d6c0000"
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesCreate.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesCreate.json
new file mode 100644
index 000000000000..a610b8a6e132
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesCreate.json
@@ -0,0 +1,351 @@
+{
+ "parameters": {
+ "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2",
+ "resourceGroupName": "myResourceGroup",
+ "dataCollectionRuleName": "myCollectionRule",
+ "api-version": "2019-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "dataSources": {
+ "performanceCounters": [
+ {
+ "name": "cloudTeamCoreCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "samplingFrequencyInSeconds": 15,
+ "counterSpecifiers": [
+ "\\Processor(_Total)\\% Processor Time",
+ "\\Memory\\Committed Bytes",
+ "\\LogicalDisk(_Total)\\Free Megabytes",
+ "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
+ ]
+ },
+ {
+ "name": "appTeamExtraCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "samplingFrequencyInSeconds": 30,
+ "counterSpecifiers": [
+ "\\Process(_Total)\\Thread Count"
+ ]
+ }
+ ],
+ "windowsEventLogs": [
+ {
+ "name": "cloudSecurityTeamEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "xPathQueries": [
+ "Security!"
+ ]
+ },
+ {
+ "name": "appTeam1AppEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "xPathQueries": [
+ "System![System[(Level = 1 or Level = 2 or Level = 3)]]",
+ "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
+ ]
+ }
+ ],
+ "syslog": [
+ {
+ "name": "cronSyslog",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "cron"
+ ],
+ "logLevels": [
+ "Debug",
+ "Critical",
+ "Emergency"
+ ]
+ },
+ {
+ "name": "syslogBase",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "syslog"
+ ],
+ "logLevels": [
+ "Alert",
+ "Critical",
+ "Emergency"
+ ]
+ }
+ ]
+ },
+ "destinations": {
+ "logAnalytics": [
+ {
+ "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace",
+ "name": "centralWorkspace"
+ }
+ ]
+ },
+ "dataFlows": [
+ {
+ "streams": [
+ "Microsoft-Perf",
+ "Microsoft-Syslog",
+ "Microsoft-WindowsEvent"
+ ],
+ "destinations": [
+ "centralWorkspace"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "name": "myCollectionRule",
+ "type": "Microsoft.Insights/dataCollectionRules",
+ "location": "eastus",
+ "tags": {
+ "tag1": "A",
+ "tag2": "B"
+ },
+ "properties": {
+ "dataSources": {
+ "performanceCounters": [
+ {
+ "name": "cloudTeamCoreCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "samplingFrequencyInSeconds": 15,
+ "counterSpecifiers": [
+ "\\Processor(_Total)\\% Processor Time",
+ "\\Memory\\Committed Bytes",
+ "\\LogicalDisk(_Total)\\Free Megabytes",
+ "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
+ ]
+ },
+ {
+ "name": "appTeamExtraCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "samplingFrequencyInSeconds": 30,
+ "counterSpecifiers": [
+ "\\Process(_Total)\\Thread Count"
+ ]
+ }
+ ],
+ "windowsEventLogs": [
+ {
+ "name": "cloudSecurityTeamEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "xPathQueries": [
+ "Security!"
+ ]
+ },
+ {
+ "name": "appTeam1AppEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "xPathQueries": [
+ "System![System[(Level = 1 or Level = 2 or Level = 3)]]",
+ "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
+ ]
+ }
+ ],
+ "syslog": [
+ {
+ "name": "cronSyslog",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "cron"
+ ],
+ "logLevels": [
+ "Debug",
+ "Critical",
+ "Emergency"
+ ]
+ },
+ {
+ "name": "syslogBase",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "syslog"
+ ],
+ "logLevels": [
+ "Alert",
+ "Critical",
+ "Emergency"
+ ]
+ }
+ ]
+ },
+ "destinations": {
+ "logAnalytics": [
+ {
+ "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace",
+ "name": "centralWorkspace"
+ }
+ ]
+ },
+ "dataFlows": [
+ {
+ "streams": [
+ "Microsoft-Perf",
+ "Microsoft-Syslog",
+ "Microsoft-WindowsEvent"
+ ],
+ "destinations": [
+ "centralWorkspace"
+ ]
+ }
+ ]
+ },
+ "etag": "070057da-0000-0000-0000-5ba70d6c0000"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "name": "myCollectionRule",
+ "type": "Microsoft.Insights/dataCollectionRules",
+ "location": "eastus",
+ "tags": {
+ "tag1": "A",
+ "tag2": "B"
+ },
+ "properties": {
+ "dataSources": {
+ "performanceCounters": [
+ {
+ "name": "cloudTeamCoreCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "samplingFrequencyInSeconds": 15,
+ "counterSpecifiers": [
+ "\\Processor(_Total)\\% Processor Time",
+ "\\Memory\\Committed Bytes",
+ "\\LogicalDisk(_Total)\\Free Megabytes",
+ "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
+ ]
+ },
+ {
+ "name": "appTeamExtraCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "samplingFrequencyInSeconds": 30,
+ "counterSpecifiers": [
+ "\\Process(_Total)\\Thread Count"
+ ]
+ }
+ ],
+ "windowsEventLogs": [
+ {
+ "name": "cloudSecurityTeamEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "xPathQueries": [
+ "Security!"
+ ]
+ },
+ {
+ "name": "appTeam1AppEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "xPathQueries": [
+ "System![System[(Level = 1 or Level = 2 or Level = 3)]]",
+ "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
+ ]
+ }
+ ],
+ "syslog": [
+ {
+ "name": "cronSyslog",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "cron"
+ ],
+ "logLevels": [
+ "Debug",
+ "Critical",
+ "Emergency"
+ ]
+ },
+ {
+ "name": "syslogBase",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "syslog"
+ ],
+ "logLevels": [
+ "Alert",
+ "Critical",
+ "Emergency"
+ ]
+ }
+ ]
+ },
+ "destinations": {
+ "logAnalytics": [
+ {
+ "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace",
+ "name": "centralWorkspace"
+ }
+ ]
+ },
+ "dataFlows": [
+ {
+ "streams": [
+ "Microsoft-Perf",
+ "Microsoft-Syslog",
+ "Microsoft-WindowsEvent"
+ ],
+ "destinations": [
+ "centralWorkspace"
+ ]
+ }
+ ]
+ },
+ "etag": "070057da-0000-0000-0000-5ba70d6c0000"
+ }
+ }
+ }
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesDelete.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesDelete.json
new file mode 100644
index 000000000000..7d3a366d0c80
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2",
+ "resourceGroupName": "myResourceGroup",
+ "dataCollectionRuleName": "myCollectionRule",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesGet.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesGet.json
new file mode 100644
index 000000000000..0f97cfe6d944
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesGet.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2",
+ "resourceGroupName": "myResourceGroup",
+ "dataCollectionRuleName": "myCollectionRule",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "name": "myCollectionRule",
+ "type": "Microsoft.Insights/dataCollectionRules",
+ "location": "eastus",
+ "tags": {
+ "tag1": "A",
+ "tag2": "B"
+ },
+ "properties": {
+ "dataSources": {
+ "performanceCounters": [
+ {
+ "name": "cloudTeamCoreCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "samplingFrequencyInSeconds": 15,
+ "counterSpecifiers": [
+ "\\Processor(_Total)\\% Processor Time",
+ "\\Memory\\Committed Bytes",
+ "\\LogicalDisk(_Total)\\Free Megabytes",
+ "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
+ ]
+ },
+ {
+ "name": "appTeamExtraCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "samplingFrequencyInSeconds": 30,
+ "counterSpecifiers": [
+ "\\Process(_Total)\\Thread Count"
+ ]
+ }
+ ],
+ "windowsEventLogs": [
+ {
+ "name": "cloudSecurityTeamEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "xPathQueries": [
+ "Security!"
+ ]
+ },
+ {
+ "name": "appTeam1AppEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "xPathQueries": [
+ "System![System[(Level = 1 or Level = 2 or Level = 3)]]",
+ "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
+ ]
+ }
+ ],
+ "syslog": [
+ {
+ "name": "cronSyslog",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "cron"
+ ],
+ "logLevels": [
+ "Debug",
+ "Critical",
+ "Emergency"
+ ]
+ },
+ {
+ "name": "syslogBase",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "syslog"
+ ],
+ "logLevels": [
+ "Alert",
+ "Critical",
+ "Emergency"
+ ]
+ }
+ ]
+ },
+ "destinations": {
+ "logAnalytics": [
+ {
+ "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace",
+ "name": "centralWorkspace"
+ }
+ ]
+ },
+ "dataFlows": [
+ {
+ "streams": [
+ "Microsoft-Perf",
+ "Microsoft-Syslog",
+ "Microsoft-WindowsEvent"
+ ],
+ "destinations": [
+ "centralWorkspace"
+ ]
+ }
+ ]
+ },
+ "etag": "070057da-0000-0000-0000-5ba70d6c0000"
+ }
+ }
+ }
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListByResourceGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListByResourceGroup.json
new file mode 100644
index 000000000000..72eabe2037d6
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListByResourceGroup.json
@@ -0,0 +1,194 @@
+{
+ "parameters": {
+ "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "name": "myCollectionRule",
+ "type": "Microsoft.Insights/dataCollectionRules",
+ "location": "eastus",
+ "tags": {
+ "tag1": "A",
+ "tag2": "B"
+ },
+ "properties": {
+ "dataSources": {
+ "performanceCounters": [
+ {
+ "name": "cloudTeamCoreCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "samplingFrequencyInSeconds": 15,
+ "counterSpecifiers": [
+ "\\Processor(_Total)\\% Processor Time",
+ "\\Memory\\Committed Bytes",
+ "\\LogicalDisk(_Total)\\Free Megabytes",
+ "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
+ ]
+ },
+ {
+ "name": "appTeamExtraCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "samplingFrequencyInSeconds": 30,
+ "counterSpecifiers": [
+ "\\Process(_Total)\\Thread Count"
+ ]
+ }
+ ],
+ "windowsEventLogs": [
+ {
+ "name": "cloudSecurityTeamEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "xPathQueries": [
+ "Security!"
+ ]
+ },
+ {
+ "name": "appTeam1AppEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "xPathQueries": [
+ "System![System[(Level = 1 or Level = 2 or Level = 3)]]",
+ "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
+ ]
+ }
+ ],
+ "syslog": [
+ {
+ "name": "cronSyslog",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "cron"
+ ],
+ "logLevels": [
+ "Debug",
+ "Critical",
+ "Emergency"
+ ]
+ },
+ {
+ "name": "syslogBase",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "syslog"
+ ],
+ "logLevels": [
+ "Alert",
+ "Critical",
+ "Emergency"
+ ]
+ }
+ ]
+ },
+ "destinations": {
+ "logAnalytics": [
+ {
+ "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace",
+ "name": "centralWorkspace"
+ }
+ ]
+ },
+ "dataFlows": [
+ {
+ "streams": [
+ "Microsoft-Perf",
+ "Microsoft-Syslog",
+ "Microsoft-WindowsEvent"
+ ],
+ "destinations": [
+ "centralWorkspace"
+ ]
+ }
+ ]
+ },
+ "etag": "070057da-0000-0000-0000-5ba70d6c0000"
+ },
+ {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/herCollectionRule",
+ "name": "herCollectionRule",
+ "type": "Microsoft.Insights/dataCollectionRules",
+ "location": "westus",
+ "tags": {
+ "tag1": "C"
+ },
+ "properties": {
+ "dataSources": {
+ "performanceCounters": [
+ {
+ "name": "herPerfCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "samplingFrequencyInSeconds": 30,
+ "counterSpecifiers": [
+ "\\Processor(_Total)\\% Processor Time",
+ "\\LogicalDisk(_Total)\\Free Megabytes",
+ "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
+ ]
+ }
+ ],
+ "windowsEventLogs": [
+ {
+ "name": "herWindowsEventLogs",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "xPathQueries": [
+ "Security!*",
+ "System!*[System[(Level = 1 or Level = 2 or Level = 3)]]",
+ "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
+ ]
+ }
+ ]
+ },
+ "destinations": {
+ "logAnalytics": [
+ {
+ "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/herResourceGroup/providers/Microsoft.OperationalInsights/workspaces/herTeamWorkspace",
+ "name": "herWorkspace"
+ }
+ ]
+ },
+ "dataFlows": [
+ {
+ "streams": [
+ "Microsoft-Perf",
+ "Microsoft-WindowsEvent"
+ ],
+ "destinations": [
+ "herWorkspace"
+ ]
+ }
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "etag": "3afa167b-3255-432b-b66d-e74a348468af"
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListBySubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListBySubscription.json
new file mode 100644
index 000000000000..e22378ae4ae7
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListBySubscription.json
@@ -0,0 +1,193 @@
+{
+ "parameters": {
+ "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "name": "myCollectionRule",
+ "type": "Microsoft.Insights/dataCollectionRules",
+ "location": "eastus",
+ "tags": {
+ "tag1": "A",
+ "tag2": "B"
+ },
+ "properties": {
+ "dataSources": {
+ "performanceCounters": [
+ {
+ "name": "cloudTeamCoreCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "samplingFrequencyInSeconds": 15,
+ "counterSpecifiers": [
+ "\\Processor(_Total)\\% Processor Time",
+ "\\Memory\\Committed Bytes",
+ "\\LogicalDisk(_Total)\\Free Megabytes",
+ "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
+ ]
+ },
+ {
+ "name": "appTeamExtraCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "samplingFrequencyInSeconds": 30,
+ "counterSpecifiers": [
+ "\\Process(_Total)\\Thread Count"
+ ]
+ }
+ ],
+ "windowsEventLogs": [
+ {
+ "name": "cloudSecurityTeamEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "xPathQueries": [
+ "Security!"
+ ]
+ },
+ {
+ "name": "appTeam1AppEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "xPathQueries": [
+ "System![System[(Level = 1 or Level = 2 or Level = 3)]]",
+ "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
+ ]
+ }
+ ],
+ "syslog": [
+ {
+ "name": "cronSyslog",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "cron"
+ ],
+ "logLevels": [
+ "Debug",
+ "Critical",
+ "Emergency"
+ ]
+ },
+ {
+ "name": "syslogBase",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "syslog"
+ ],
+ "logLevels": [
+ "Alert",
+ "Critical",
+ "Emergency"
+ ]
+ }
+ ]
+ },
+ "destinations": {
+ "logAnalytics": [
+ {
+ "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace",
+ "name": "centralWorkspace"
+ }
+ ]
+ },
+ "dataFlows": [
+ {
+ "streams": [
+ "Microsoft-Perf",
+ "Microsoft-Syslog",
+ "Microsoft-WindowsEvent"
+ ],
+ "destinations": [
+ "centralWorkspace"
+ ]
+ }
+ ]
+ },
+ "etag": "070057da-0000-0000-0000-5ba70d6c0000"
+ },
+ {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/herResourceGroup/providers/Microsoft.Insights/dataCollectionRules/herCollectionRule",
+ "name": "herCollectionRule",
+ "type": "Microsoft.Insights/dataCollectionRules",
+ "location": "westus",
+ "tags": {
+ "tag1": "C"
+ },
+ "properties": {
+ "dataSources": {
+ "performanceCounters": [
+ {
+ "name": "herPerfCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "samplingFrequencyInSeconds": 30,
+ "counterSpecifiers": [
+ "\\Processor(_Total)\\% Processor Time",
+ "\\LogicalDisk(_Total)\\Free Megabytes",
+ "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
+ ]
+ }
+ ],
+ "windowsEventLogs": [
+ {
+ "name": "herWindowsEventLogs",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "xPathQueries": [
+ "Security!*",
+ "System!*[System[(Level = 1 or Level = 2 or Level = 3)]]",
+ "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
+ ]
+ }
+ ]
+ },
+ "destinations": {
+ "logAnalytics": [
+ {
+ "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/herResourceGroup/providers/Microsoft.OperationalInsights/workspaces/herTeamWorkspace",
+ "name": "herWorkspace"
+ }
+ ]
+ },
+ "dataFlows": [
+ {
+ "streams": [
+ "Microsoft-Perf",
+ "Microsoft-WindowsEvent"
+ ],
+ "destinations": [
+ "herWorkspace"
+ ]
+ }
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "etag": "3afa167b-3255-432b-b66d-e74a348468af"
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesUpdate.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesUpdate.json
new file mode 100644
index 000000000000..f886de91f69c
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesUpdate.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2",
+ "resourceGroupName": "myResourceGroup",
+ "dataCollectionRuleName": "myCollectionRule",
+ "api-version": "2019-11-01-preview",
+ "body": {
+ "tags": {
+ "tag1": "A",
+ "tag2": "B",
+ "tag3": "C"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule",
+ "name": "myCollectionRule",
+ "type": "Microsoft.Insights/dataCollectionRules",
+ "location": "eastus",
+ "tags": {
+ "tag1": "A",
+ "tag2": "B",
+ "tag3": "C"
+ },
+ "properties": {
+ "dataSources": {
+ "performanceCounters": [
+ {
+ "name": "cloudTeamCoreCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "samplingFrequencyInSeconds": 15,
+ "counterSpecifiers": [
+ "\\Processor(_Total)\\% Processor Time",
+ "\\Memory\\Committed Bytes",
+ "\\LogicalDisk(_Total)\\Free Megabytes",
+ "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
+ ]
+ },
+ {
+ "name": "appTeamExtraCounters",
+ "streams": [
+ "Microsoft-Perf"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "samplingFrequencyInSeconds": 30,
+ "counterSpecifiers": [
+ "\\Process(_Total)\\Thread Count"
+ ]
+ }
+ ],
+ "windowsEventLogs": [
+ {
+ "name": "cloudSecurityTeamEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT1M",
+ "xPathQueries": [
+ "Security!"
+ ]
+ },
+ {
+ "name": "appTeam1AppEvents",
+ "streams": [
+ "Microsoft-WindowsEvent"
+ ],
+ "scheduledTransferPeriod": "PT5M",
+ "xPathQueries": [
+ "System![System[(Level = 1 or Level = 2 or Level = 3)]]",
+ "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
+ ]
+ }
+ ],
+ "syslog": [
+ {
+ "name": "cronSyslog",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "cron"
+ ],
+ "logLevels": [
+ "Debug",
+ "Critical",
+ "Emergency"
+ ]
+ },
+ {
+ "name": "syslogBase",
+ "streams": [
+ "Microsoft-Syslog"
+ ],
+ "facilityNames": [
+ "syslog"
+ ],
+ "logLevels": [
+ "Alert",
+ "Critical",
+ "Emergency"
+ ]
+ }
+ ]
+ },
+ "destinations": {
+ "logAnalytics": [
+ {
+ "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace",
+ "name": "centralWorkspace"
+ }
+ ]
+ },
+ "dataFlows": [
+ {
+ "streams": [
+ "Microsoft-Perf",
+ "Microsoft-Syslog",
+ "Microsoft-WindowsEvent"
+ ],
+ "destinations": [
+ "centralWorkspace"
+ ]
+ }
+ ]
+ },
+ "etag": "070057da-0000-0000-0000-5ba70d6c0000"
+ }
+ }
+ }
+}
diff --git a/specification/monitor/resource-manager/readme.md b/specification/monitor/resource-manager/readme.md
index bb42b67ff66b..6b3d8d304a28 100644
--- a/specification/monitor/resource-manager/readme.md
+++ b/specification/monitor/resource-manager/readme.md
@@ -347,6 +347,16 @@ input-file:
- Microsoft.Insights/stable/2017-04-01/activityLogAlerts_API.json
```
+### Tag: package-2019-11-preview-only
+
+These settings apply only when `--tag=package-2019-11-preview-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-11-preview-only'
+input-file:
+ - Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRuleAssociations_API.json
+ - Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRules_API.json
+```
+
### Tag: package-2019-06-01-only
These settings apply only when `--tag=package-2019-06-01-only` is specified on the command line.
@@ -591,6 +601,14 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-monitor
directive:
- suppress: R3016 # DefinitionsPropertiesNamesCamelCase (to suppress the error due to odata.type)
reason: The feature (polymorphic types) is in the process of deprecation and fixing this will require changes in the backend.
+ - suppress: OperationsAPIImplementation
+ from: dataCollectionRules_API.json
+ where: $.paths
+ reason: 'Operations API is defined in a separate swagger spec for Microsoft.Insights namespace (https://github.com/Azure/azure-rest-api-specs/blob/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json)'
+ - suppress: OperationsAPIImplementation
+ from: dataCollectionRuleAssociations_API.json
+ where: $.paths
+ reason: 'Operations API is defined in a separate swagger spec for Microsoft.Insights namespace (https://github.com/Azure/azure-rest-api-specs/blob/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json)'
```
### Tag: profile-hybrid-2019-03-01
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckNameAvailability.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..aa0844b5f22f
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "nameAvailabilityRequest": {
+ "name": "name1",
+ "type": "Microsoft.DBforMySQL"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "message": "",
+ "reason": ""
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationGet.json
new file mode 100644
index 000000000000..68bbdafca700
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "configurationName": "event_scheduler",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "value": "ON",
+ "description": "Indicates the status of the Event Scheduler.",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF,DISABLED",
+ "source": "user-override",
+ "isConfigPendingRestart": "False",
+ "isDynamicConfig": "True",
+ "isReadOnly": "False"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/configurations/event_scheduler",
+ "name": "event_scheduler",
+ "type": "Microsoft.DBforMySQL/flexibleServers/configurations"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationUpdate.json
new file mode 100644
index 000000000000..cdd4dc412a55
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "configurationName": "event_scheduler",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties": {
+ "value": "on",
+ "source": "user-override"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "value": "ON",
+ "description": "Indicates the status of the Event Scheduler.",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF,DISABLED",
+ "source": "user-override",
+ "isConfigPendingRestart": "False",
+ "isDynamicConfig": "True"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/testserver/configurations/event_scheduler",
+ "name": "event_scheduler",
+ "type": "Microsoft.DBforMySQL/flexibleServers/configurations"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationsListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationsListByServer.json
new file mode 100644
index 000000000000..911e54400e0a
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationsListByServer.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "serverName": "mysqltestsvc1",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "value": "OFF",
+ "description": "Indicates the status of the Event Scheduler.",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF,DISABLED",
+ "source": "system-default",
+ "isConfigPendingRestart": "False",
+ "isDynamicConfig": "True"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/event_scheduler",
+ "name": "event_scheduler",
+ "type": "Microsoft.DBforMySQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "4",
+ "description": "Number of digits by which to increase the scale of the result of division operations.",
+ "defaultValue": "4",
+ "dataType": "Integer",
+ "allowedValues": "0-30",
+ "source": "system-default",
+ "isConfigPendingRestart": "False",
+ "isDynamicConfig": "True"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/div_precision_increment",
+ "name": "div_precision_increment",
+ "type": "Microsoft.DBforMySQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1024",
+ "description": "Maximum allowed result length in bytes for the GROUP_CONCAT().",
+ "defaultValue": "1024",
+ "dataType": "Integer",
+ "allowedValues": "4-16777216",
+ "source": "system-default",
+ "isConfigPendingRestart": "False",
+ "isDynamicConfig": "True"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/group_concat_max_len",
+ "name": "group_concat_max_len",
+ "type": "Microsoft.DBforMySQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "ON",
+ "description": "Whether innodb adaptive hash indexes are enabled or disabled.",
+ "defaultValue": "ON",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF",
+ "source": "system-default",
+ "isConfigPendingRestart": "False",
+ "isDynamicConfig": "True"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/innodb_adaptive_hash_index",
+ "name": "innodb_adaptive_hash_index",
+ "type": "Microsoft.DBforMySQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "50",
+ "description": "The length of time in seconds an InnoDB transaction waits for a row lock before giving up.",
+ "defaultValue": "50",
+ "dataType": "Integer",
+ "allowedValues": "1-3600",
+ "source": "system-default",
+ "isConfigPendingRestart": "False",
+ "isDynamicConfig": "True"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/innodb_lock_wait_timeout",
+ "name": "innodb_lock_wait_timeout",
+ "type": "Microsoft.DBforMySQL/flexibleServers/configurations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseCreate.json
new file mode 100644
index 000000000000..7c5ce7433497
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "databaseName": "db1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties": {
+ "charset": "utf8",
+ "collation": "utf8_general_ci"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1",
+ "name": "db1",
+ "type": "Microsoft.DBforMySQL/flexibleServers/databases",
+ "properties": {
+ "charset": "utf8",
+ "collation": "utf8_general_ci"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1",
+ "name": "db1",
+ "type": "Microsoft.DBforMySQL/flexibleServers/databases",
+ "properties": {
+ "charset": "utf8",
+ "collation": "utf8_general_ci"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseDelete.json
new file mode 100644
index 000000000000..0cea2a749897
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "databaseName": "db1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseGet.json
new file mode 100644
index 000000000000..4a0c51486617
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "databaseName": "db1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1",
+ "name": "db1",
+ "type": "Microsoft.DBforMySQL/flexibleServers/databases",
+ "properties": {
+ "charset": "utf8",
+ "collation": "utf8_general_ci"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabasesListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabasesListByServer.json
new file mode 100644
index 000000000000..f4c905a6416f
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabasesListByServer.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1",
+ "name": "db1",
+ "type": "Microsoft.DBforMySQL/flexibleServers/databases",
+ "properties": {
+ "charset": "utf8",
+ "collation": "utf8_general_ci"
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db2",
+ "name": "db2",
+ "type": "Microsoft.DBforMySQL/flexibleServers/databases",
+ "properties": {
+ "charset": "utf8",
+ "collation": "utf8_general_ci"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleCreate.json
new file mode 100644
index 000000000000..32033729928a
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "firewallRuleName": "rule1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleDelete.json
new file mode 100644
index 000000000000..03cd8a8ae18d
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "firewallRuleName": "rule1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleGet.json
new file mode 100644
index 000000000000..9552656bc388
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "firewallRuleName": "rule1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRulesListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRulesListByServer.json
new file mode 100644
index 000000000000..98e8a3db4b98
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRulesListByServer.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule2",
+ "name": "rule2",
+ "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules",
+ "properties": {
+ "startIpAddress": "1.0.0.0",
+ "endIpAddress": "255.0.0.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowCreate.json
new file mode 100644
index 000000000000..89163e0da956
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowCreate.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "maintenanceWindowName": "customerMaintenanceWindow",
+ "serverName": "testserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties": {
+ "dayOfWeek": 1,
+ "startHour": 0,
+ "startMinute": 30,
+ "durationInMinutes": 30
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/testserver/maintenanceWindows/customerMaintenanceWindow",
+ "name": "customerMaintenanceWindow",
+ "properties": {
+ "dayOfWeek": 1,
+ "startHour": 0,
+ "startMinute": 30,
+ "durationInMinutes": 30
+ },
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/testserver/maintenanceWindows/customerMaintenanceWindow",
+ "name": "customerMaintenanceWindow",
+ "properties": {
+ "dayOfWeek": 1,
+ "startHour": 0,
+ "startMinute": 30,
+ "durationInMinutes": 30
+ },
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowDelete.json
new file mode 100644
index 000000000000..02d91e35a6fc
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "maintenanceWindowName": "customerMaintenanceWindow",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowGet.json
new file mode 100644
index 000000000000..ba086b9877e5
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "maintenanceWindowName": "customerMaintenanceWindow",
+ "serverName": "testserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/testserver/maintenanceWindows/customerMaintenanceWindow",
+ "name": "customerMaintenanceWindow",
+ "properties": {
+ "dayOfWeek": 1,
+ "startHour": 0,
+ "startMinute": 30,
+ "durationInMinutes": 30
+ },
+ "type": "Microsoft.DBforMySQL/flexibleServers/maintenanceWindows"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowsListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowsListByServer.json
new file mode 100644
index 000000000000..d67701018154
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowsListByServer.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/testserver/maintenanceWindows/customerMaintenanceWindow",
+ "name": "customerMaintenanceWindow",
+ "properties": {
+ "dayOfWeek": 1,
+ "startHour": 0,
+ "startMinute": 30,
+ "durationInMinutes": 30
+ },
+ "type": "Microsoft.DBforMySQL/flexibleServers/maintenanceWindows"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/OperationsList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/OperationsList.json
new file mode 100644
index 000000000000..850bf4852be2
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/OperationsList.json
@@ -0,0 +1,217 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DBforMySQL/locations/performanceTiers/read",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "Performance Tiers",
+ "operation": "List Performance Tiers",
+ "description": "Returns the list of Performance Tiers available."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMySQL/flexibleServers/firewallRules/read",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "Firewall Rules",
+ "operation": "List/Get Firewall Rules",
+ "description": "Return the list of firewall rules for a server or gets the properties for the specified firewall rule."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMySQL/flexibleServers/firewallRules/write",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "Firewall Rules",
+ "operation": "Create/Update Firewall Rule",
+ "description": "Creates a firewall rule with the specified parameters or update an existing rule."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMySQL/flexibleServers/firewallRules/delete",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "Firewall Rules",
+ "operation": "Delete Firewall Rule",
+ "description": "Deletes an existing firewall rule."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMySQL/flexibleServers/read",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "MySQL Server",
+ "operation": "List/Get MySQL Servers",
+ "description": "Return the list of servers or gets the properties for the specified server."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMySQL/flexibleServers/write",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "MySQL Server",
+ "operation": "Create/Update MySQL Server",
+ "description": "Creates a server with the specified parameters or update the properties or tags for the specified server."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMySQL/flexibleServers/delete",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "MySQL Server",
+ "operation": "Delete MySQL Server",
+ "description": "Deletes an existing server."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMySQL/performanceTiers/read",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "Performance Tiers",
+ "operation": "List Performance Tiers",
+ "description": "Returns the list of Performance Tiers available."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMySQL/flexibleServers/recoverableServers/read",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "Recoverable MySQL Server",
+ "operation": "Get Recoverable MySQL Server info",
+ "description": "Return the recoverable MySQL Server info"
+ }
+ },
+ {
+ "name": "Microsoft.DBforMySQL/flexibleServers/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "Database Metric Definition",
+ "operation": "Get database metric definitions",
+ "description": "Return types of metrics that are available for databases"
+ },
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "cpu_percent",
+ "displayName": "CPU percent",
+ "displayDescription": "CPU percent",
+ "unit": "Percent",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "memory_percent",
+ "displayName": "Memory percent",
+ "displayDescription": "Memory percent",
+ "unit": "Percent",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "io_consumption_percent",
+ "displayName": "IO percent",
+ "displayDescription": "IO percent",
+ "unit": "Percent",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "storage_percent",
+ "displayName": "Storage percentage",
+ "displayDescription": "Storage percentage",
+ "unit": "Percent",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "storage_used",
+ "displayName": "Storage used",
+ "displayDescription": "Storage used",
+ "unit": "Bytes",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "storage_limit",
+ "displayName": "Storage limit",
+ "displayDescription": "Storage limit",
+ "unit": "Bytes",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "serverlog_storage_percent",
+ "displayName": "Server Log storage percent",
+ "displayDescription": "Server Log storage percent",
+ "unit": "Percent",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "serverlog_storage_usage",
+ "displayName": "Server Log storage used",
+ "displayDescription": "Server Log storage used",
+ "unit": "Bytes",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "serverlog_storage_limit",
+ "displayName": "Server Log storage limit",
+ "displayDescription": "Server Log storage limit",
+ "unit": "Bytes",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "active_connections",
+ "displayName": "Total active connections",
+ "displayDescription": "Total active connections",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "connections_failed",
+ "displayName": "Total failed connections",
+ "displayDescription": "Total failed connections",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "seconds_behind_master",
+ "displayName": "Replication lag in seconds",
+ "displayDescription": "Replication lag in seconds",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.DBforMySQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "Database Metric Definition",
+ "operation": "Read diagnostic setting",
+ "description": "Gets the disagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.DBforMySQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft DB for MySQL",
+ "resource": "Database Metric Definition",
+ "operation": "Write diagnostic setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ReplicasListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ReplicasListByServer.json
new file mode 100644
index 000000000000..3adac848f697
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ReplicasListByServer.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "serverName": "testprimary",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver",
+ "name": "testserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers",
+ "location": "northeurope",
+ "tags": {
+ "elasticServer": "1"
+ },
+ "sku": {
+ "name": "Standard_D12_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "storageProfile": {
+ "storageMB": 256000,
+ "storageIops": 200,
+ "backupRetentionDays": 35
+ },
+ "administratorLogin": "cloudsa",
+ "sslEnforcement": "Enabled",
+ "publicNetworkAccess": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "testserver.mysql.database.azure.com",
+ "version": "5.7",
+ "replicationRole": "Replica",
+ "primaryServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary",
+ "replicaCapacity": 0
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver1",
+ "name": "testserver1",
+ "type": "Microsoft.DBforMySQL/flexibleServers",
+ "location": "northeurope",
+ "tags": {
+ "elasticServer": "1"
+ },
+ "sku": {
+ "name": "Standard_D12_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "storageProfile": {
+ "storageMB": 256000,
+ "storageIops": 200,
+ "backupRetentionDays": 35
+ },
+ "administratorLogin": "cloudsa",
+ "sslEnforcement": "Enabled",
+ "publicNetworkAccess": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "testserver1.mysql.database.azure.com",
+ "version": "5.7",
+ "replicationRole": "Replica",
+ "primaryServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary",
+ "replicaCapacity": 0
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver2",
+ "name": "testserver2",
+ "type": "Microsoft.DBforMySQL/flexibleServers",
+ "location": "northeurope",
+ "tags": {
+ "elasticServer": "1"
+ },
+ "sku": {
+ "name": "Standard_D12_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "storageProfile": {
+ "storageMB": 256000,
+ "storageIops": 200,
+ "backupRetentionDays": 35
+ },
+ "administratorLogin": "cloudsa",
+ "sslEnforcement": "Enabled",
+ "publicNetworkAccess": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "testserver2.mysql.database.azure.com",
+ "version": "5.7",
+ "replicationRole": "Replica",
+ "primaryServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary",
+ "replicaCapacity": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreate.json
new file mode 100644
index 000000000000..66901e5f2c54
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreate.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "serverName": "mysqltestsvc4",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "administratorLoginPassword": "pass$w0rd",
+ "sslEnforcement": "Enabled",
+ "publicNetworkAccess": "Enabled",
+ "storageProfile": {
+ "storageMB": 128000,
+ "storageIops": 200,
+ "backupRetentionDays": 7
+ },
+ "createMode": "Default"
+ },
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "GeneralPurpose"
+ },
+ "tags": {
+ "ElasticServer": "1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "storageIops": 200,
+ "backupRetentionDays": 7
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "publicNetworkAccess": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com"
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4",
+ "name": "mysqltestsvc4",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4",
+ "name": "mysqltestsvc4",
+ "type": "Microsoft.DBforMySQL/flexibleServers",
+ "location": "westus",
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "GeneralPurpose"
+ },
+ "tags": {
+ "elasticServer": "1"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "storageIops": 200,
+ "backupRetentionDays": 7
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "publicNetworkAccess": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateReplica.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateReplica.json
new file mode 100644
index 000000000000..5fd812fe0901
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateReplica.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "serverName": "targetserver",
+ "resourceGroupName": "TargetResourceGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "createMode": "Replica",
+ "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "storageIops": 200,
+ "backupRetentionDays": 14
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "publicNetworkAccess": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com",
+ "replicationRole": "Replica",
+ "primaryServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver",
+ "replicaCapacity": 0
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "storageIops": 200,
+ "backupRetentionDays": 14
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "publicNetworkAccess": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com",
+ "replicationRole": "Replica",
+ "primaryServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver",
+ "replicaCapacity": 0
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateWithPointInTimeRestore.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateWithPointInTimeRestore.json
new file mode 100644
index 000000000000..4b3990b72432
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateWithPointInTimeRestore.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "serverName": "targetserver",
+ "resourceGroupName": "TargetResourceGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "brazilsouth",
+ "properties": {
+ "restorePointInTime": "2017-12-14T00:00:37.467Z",
+ "createMode": "PointInTimeRestore",
+ "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/sourceserver"
+ },
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "GeneralPurpose"
+ },
+ "tags": {
+ "ElasticServer": "1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "storageIops": 200,
+ "backupRetentionDays": 7
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "publicNetworkAccess": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com"
+ },
+ "location": "brazilsouth",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers",
+ "location": "brazilsouth",
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "GeneralPurpose"
+ },
+ "tags": {
+ "elasticServer": "1"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "storageIops": 200,
+ "backupRetentionDays": 7
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "publicNetworkAccess": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerDelete.json
new file mode 100644
index 000000000000..11f8c32f160e
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGet.json
new file mode 100644
index 000000000000..26101224c4d2
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGet.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serverName": "mysqltestsvc4",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "storageIops": 200,
+ "backupRetentionDays": 7
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com",
+ "earliestRestoreDate": "2020-03-14T18:02:41.577+00:00",
+ "replicationRole": "None",
+ "primaryServerId": "",
+ "replicaCapacity": 5,
+ "publicNetworkAccess": "Enabled",
+ "standbyCount": 0
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4",
+ "name": "mysqltestsvc4",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGetWithVnet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGetWithVnet.json
new file mode 100644
index 000000000000..a2fc5d608772
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGetWithVnet.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "serverName": "mysqltestsrv",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D12_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "storageIops": 200,
+ "backupRetentionDays": 7
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestsrv.mysql.database.azure.com",
+ "replicationRole": "None",
+ "primaryServerId": "",
+ "replicaCapacity": 5,
+ "publicNetworkAccess": "Enabled",
+ "standbyCount": 0,
+ "vnetInjArgs": {
+ "delegatedSubnetName": "test-subnet",
+ "delegatedVnetID": "6ed504a3-24b8-4ba8-ac1f-7a1780195437",
+ "delegatedVnetName": "test-vnet"
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsrv",
+ "name": "mysqltestsrv",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerRestart.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerRestart.json
new file mode 100644
index 000000000000..3d861c30dec3
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerRestart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStart.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStart.json
new file mode 100644
index 000000000000..3d861c30dec3
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStop.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStop.json
new file mode 100644
index 000000000000..3d861c30dec3
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdate.json
new file mode 100644
index 000000000000..c042adec2a3d
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdate.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "serverName": "mysqltestsvc4",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties": {
+ "administratorLoginPassword": "newpa$$w0rd",
+ "sslEnforcement": "Disabled",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D12_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7
+ },
+ "version": "5.7",
+ "sslEnforcement": "Disabled",
+ "publicNetworkAccess": "Disabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com"
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4",
+ "name": "mysqltestsvc4",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersList.json
new file mode 100644
index 000000000000..07bb843e2ef6
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersList.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Standard_D12_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "storageProfile": {
+ "storageMB": 5120,
+ "storageIops": 200,
+ "backupRetentionDays": 7
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestsvc1.mysql.database.azure.com",
+ "publicNetworkAccess": "Enabled"
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1",
+ "name": "mysqltestsvc1",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "name": "Standard_D12_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "storageProfile": {
+ "storageMB": 5120,
+ "storageIops": 200,
+ "backupRetentionDays": 7
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltstsvc2.mysql.database.azure.com",
+ "publicNetworkAccess": "Enabled"
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltstsvc2",
+ "name": "mysqltstsvc2",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "name": "Standard_D13_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "storageProfile": {
+ "storageMB": 102400,
+ "storageIops": 200,
+ "backupRetentionDays": 35
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestsvc3.mysql.database.azure.com",
+ "publicNetworkAccess": "Enabled"
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg1/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc3",
+ "name": "mysqltestsvc3",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersListByResourceGroup.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersListByResourceGroup.json
new file mode 100644
index 000000000000..e782700573d2
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersListByResourceGroup.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2020-07-01-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Standard_D12_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "storageProfile": {
+ "storageMB": 5120,
+ "storageIops": 200,
+ "backupRetentionDays": 7
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestsvc1.mysql.database.azure.com",
+ "publicNetworkAccess": "Enabled"
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1",
+ "name": "mysqltestsvc1",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "name": "Standard_D13_v2",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "storageProfile": {
+ "storageMB": 5120,
+ "storageIops": 200,
+ "backupRetentionDays": 7
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltstsvc2.mysql.database.azure.com",
+ "publicNetworkAccess": "Enabled"
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltstsvc2",
+ "name": "mysqltstsvc2",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json
new file mode 100644
index 000000000000..52e7d53cd3da
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json
@@ -0,0 +1,2119 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "MySQLManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules and configurations.",
+ "version": "2020-07-01-privatepreview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.DBForMySql/flexibleServers/{serverName}": {
+ "put": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Create",
+ "x-ms-examples": {
+ "Create a new server": {
+ "$ref": "./examples/ServerCreate.json"
+ },
+ "Create a server as a point in time restore": {
+ "$ref": "./examples/ServerCreateWithPointInTimeRestore.json"
+ },
+ "Create a replica server": {
+ "$ref": "./examples/ServerCreateReplica.json"
+ }
+ },
+ "description": "Creates a new server or updates an existing server. The update action will overwrite the existing server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Server"
+ },
+ "description": "The required parameters for creating or updating a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Update",
+ "x-ms-examples": {
+ "Update a server": {
+ "$ref": "./examples/ServerUpdate.json"
+ }
+ },
+ "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerForUpdate"
+ },
+ "description": "The required parameters for updating a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Delete",
+ "x-ms-examples": {
+ "Delete a server": {
+ "$ref": "./examples/ServerDelete.json"
+ }
+ },
+ "description": "Deletes a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Get",
+ "x-ms-examples": {
+ "Get a server": {
+ "$ref": "./examples/ServerGet.json"
+ },
+ "Get a server with vnet": {
+ "$ref": "./examples/ServerGetWithVnet.json"
+ }
+ },
+ "description": "Gets information about a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_ListByResourceGroup",
+ "x-ms-examples": {
+ "List servers in a resource group": {
+ "$ref": "./examples/ServersListByResourceGroup.json"
+ }
+ },
+ "description": "List all the servers in a given resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySql/flexibleServers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_List",
+ "x-ms-examples": {
+ "List servers in a subscription": {
+ "$ref": "./examples/ServersList.json"
+ }
+ },
+ "description": "List all the servers in a given subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/restart": {
+ "post": {
+ "tags": [
+ "ServerRestart"
+ ],
+ "operationId": "Servers_Restart",
+ "x-ms-examples": {
+ "Restart a server": {
+ "$ref": "./examples/ServerRestart.json"
+ }
+ },
+ "description": "Restarts a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/start": {
+ "post": {
+ "tags": [
+ "ServerStart"
+ ],
+ "operationId": "Servers_Start",
+ "x-ms-examples": {
+ "Start a server": {
+ "$ref": "./examples/ServerStart.json"
+ }
+ },
+ "description": "Starts a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/stop": {
+ "post": {
+ "tags": [
+ "ServerStop"
+ ],
+ "operationId": "Servers_Stop",
+ "x-ms-examples": {
+ "Stop a server": {
+ "$ref": "./examples/ServerStop.json"
+ }
+ },
+ "description": "Stops a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/replicas": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Replicas_ListByServer",
+ "x-ms-examples": {
+ "List replicas for a server": {
+ "$ref": "./examples/ReplicasListByServer.json"
+ }
+ },
+ "description": "List all the replicas for a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/firewallRules/{firewallRuleName}": {
+ "put": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create a firewall rule": {
+ "$ref": "./examples/FirewallRuleCreate.json"
+ }
+ },
+ "description": "Creates a new firewall rule or updates an existing firewall rule.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ },
+ "description": "The required parameters for creating or updating a firewall rule."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_Delete",
+ "x-ms-examples": {
+ "Delete a firewall rule": {
+ "$ref": "./examples/FirewallRuleDelete.json"
+ }
+ },
+ "description": "Deletes a firewall rule.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_Get",
+ "x-ms-examples": {
+ "Get a firewall rule": {
+ "$ref": "./examples/FirewallRuleGet.json"
+ }
+ },
+ "description": "Gets information about a server firewall rule.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/firewallRules": {
+ "get": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_ListByServer",
+ "x-ms-examples": {
+ "List all firewall rules in a server": {
+ "$ref": "./examples/FirewallRulesListByServer.json"
+ }
+ },
+ "description": "List all the firewall rules in a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/databases/{databaseName}": {
+ "put": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create a database": {
+ "$ref": "./examples/DatabaseCreate.json"
+ }
+ },
+ "description": "Creates a new database or updates an existing database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The required parameters for creating or updating a database."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_Delete",
+ "x-ms-examples": {
+ "Delete a database": {
+ "$ref": "./examples/DatabaseDelete.json"
+ }
+ },
+ "description": "Deletes a database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_Get",
+ "x-ms-examples": {
+ "Get a database": {
+ "$ref": "./examples/DatabaseGet.json"
+ }
+ },
+ "description": "Gets information about a database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/databases": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_ListByServer",
+ "x-ms-examples": {
+ "List databases in a server": {
+ "$ref": "./examples/DatabasesListByServer.json"
+ }
+ },
+ "description": "List all the databases in a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DatabaseListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/configurations/{configurationName}": {
+ "patch": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_Update",
+ "x-ms-examples": {
+ "Update a user configuration": {
+ "$ref": "./examples/ConfigurationUpdate.json"
+ }
+ },
+ "description": "Updates a configuration of a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ },
+ "description": "The required parameters for updating a server configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_Get",
+ "x-ms-examples": {
+ "Get a configuration": {
+ "$ref": "./examples/ConfigurationGet.json"
+ }
+ },
+ "description": "Gets information about a configuration of server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/configurations": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_ListByServer",
+ "x-ms-examples": {
+ "List all configurations for a server": {
+ "$ref": "./examples/ConfigurationsListByServer.json"
+ }
+ },
+ "description": "List all the configurations in a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/maintenanceWindows/{maintenanceWindowName}": {
+ "put": {
+ "tags": [
+ "MaintenanceWindows"
+ ],
+ "operationId": "MaintenanceWindows_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create a maintenance window": {
+ "$ref": "./examples/MaintenanceWindowCreate.json"
+ }
+ },
+ "description": "Creates a new maintenance window.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MaintenanceWindowNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MaintenanceWindow"
+ },
+ "description": "The required parameters for creating or updating a customer maintenance window."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceWindow"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceWindow"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "MaintenanceWindows"
+ ],
+ "operationId": "MaintenanceWindows_Delete",
+ "x-ms-examples": {
+ "Delete a maintenance window": {
+ "$ref": "./examples/MaintenanceWindowDelete.json"
+ }
+ },
+ "description": "Deletes a maintenance window.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MaintenanceWindowNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "MaintenanceWindows"
+ ],
+ "operationId": "MaintenanceWindows_Get",
+ "x-ms-examples": {
+ "Get a maintenance window": {
+ "$ref": "./examples/MaintenanceWindowGet.json"
+ }
+ },
+ "description": "Get the maintenance windows of a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MaintenanceWindowNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceWindow"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/maintenanceWindows": {
+ "get": {
+ "tags": [
+ "MaintenanceWindows"
+ ],
+ "operationId": "MaintenanceWindows_ListByServer",
+ "x-ms-examples": {
+ "List maintenance windows for a server": {
+ "$ref": "./examples/MaintenanceWindowsListByServer.json"
+ }
+ },
+ "description": "List all the maintenance windows in a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceWindowListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySql/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability"
+ ],
+ "operationId": "CheckNameAvailability_Execute",
+ "x-ms-examples": {
+ "Check name availability": {
+ "$ref": "./examples/CheckNameAvailability.json"
+ }
+ },
+ "description": "Check the availability of name for server",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "nameAvailabilityRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityRequest"
+ },
+ "description": "The required parameters for checking if server name is available."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NameAvailability"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DBForMySql/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "OperationList": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "description": "Lists all of the available REST API operations.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServerVersion": {
+ "type": "string",
+ "description": "The version of a server.",
+ "enum": [
+ "5.7"
+ ],
+ "x-ms-enum": {
+ "name": "ServerVersion",
+ "modelAsString": true
+ }
+ },
+ "SslEnforcement": {
+ "type": "string",
+ "description": "Enable ssl enforcement or not when connect to server.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "SslEnforcementEnum",
+ "modelAsString": true
+ }
+ },
+ "InfrastructureEncryption": {
+ "type": "string",
+ "description": "Add a second layer of encryption for your data using new encryption algorithm which gives additional data protection. Value is optional but if passed in, must be 'Disabled' or 'Enabled'.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "InfrastructureEncryptionEnum",
+ "modelAsString": true
+ }
+ },
+ "PublicNetworkAccess": {
+ "type": "string",
+ "description": "Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccessEnum",
+ "modelAsString": true
+ }
+ },
+ "VnetInjArgs": {
+ "properties": {
+ "delegatedVnetID": {
+ "type": "string",
+ "description": "delegated vNet ID"
+ },
+ "delegatedSubnetName": {
+ "type": "string",
+ "description": "delegated subnet name"
+ },
+ "delegatedVnetName": {
+ "type": "string",
+ "description": "delegated vNet name"
+ }
+ },
+ "description": "Vnet properties of a server"
+ },
+ "StorageProfile": {
+ "properties": {
+ "backupRetentionDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Backup retention days for the server."
+ },
+ "storageMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Max storage allowed for a server."
+ },
+ "storageIops": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Storage IOPS for a server."
+ },
+ "storageAutogrow": {
+ "type": "string",
+ "description": "Enable Storage Auto Grow.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAutogrow",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Storage Profile properties of a server"
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the sku, e.g. Standard_D32s_v3."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the particular SKU, e.g. GeneralPurpose.",
+ "enum": [
+ "Burstable",
+ "GeneralPurpose",
+ "MemoryOptimized"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Billing information related properties of a server."
+ },
+ "ServerProperties": {
+ "properties": {
+ "administratorLogin": {
+ "type": "string",
+ "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "administratorLoginPassword": {
+ "type": "string",
+ "x-ms-secret": true,
+ "format": "password",
+ "description": "The password of the administrator login (required for server creation).",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ]
+ },
+ "version": {
+ "$ref": "#/definitions/ServerVersion",
+ "description": "Server version."
+ },
+ "sslEnforcement": {
+ "$ref": "#/definitions/SslEnforcement",
+ "description": "Enable ssl enforcement or not when connect to server."
+ },
+ "infrastructureEncryption": {
+ "$ref": "#/definitions/InfrastructureEncryption",
+ "description": "Status showing whether the server enabled infrastructure encryption.",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of a server.",
+ "enum": [
+ "Ready",
+ "Dropping",
+ "Disabled",
+ "Starting",
+ "Stopping",
+ "Stopped",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "ServerState",
+ "modelAsString": true
+ }
+ },
+ "haState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of a HA server.",
+ "enum": [
+ "NotEnabled",
+ "CreatingStandby",
+ "ReplicatingData",
+ "FailingOver",
+ "Healthy",
+ "RemovingStandby"
+ ],
+ "x-ms-enum": {
+ "name": "ServerHAState",
+ "modelAsString": true
+ }
+ },
+ "standbyCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "stand by count value can be either 0 or 1"
+ },
+ "fullyQualifiedDomainName": {
+ "type": "string",
+ "description": "The fully qualified domain name of a server.",
+ "readOnly": true
+ },
+ "earliestRestoreDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Earliest restore point creation time (ISO8601 format)"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Storage profile of a server."
+ },
+ "replicationRole": {
+ "type": "string",
+ "description": "The replication role."
+ },
+ "primaryServerId": {
+ "type": "string",
+ "description": "The primary server id of a replica server.",
+ "readOnly": true
+ },
+ "replicaCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The maximum number of replicas that a primary server can have."
+ },
+ "publicNetworkAccess": {
+ "$ref": "#/definitions/PublicNetworkAccess",
+ "description": "Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'"
+ },
+ "sourceServerId": {
+ "type": "string",
+ "description": "The source MySQL server name to restore from.",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "restorePointInTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Restore point creation time (ISO8601 format), specifying the time to restore from.",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "vnetInjArgs": {
+ "$ref": "#/definitions/VnetInjArgs",
+ "description": "Vnet arguments."
+ },
+ "createMode": {
+ "type": "string",
+ "description": "The mode to create a new MySQL server.",
+ "enum": [
+ "Default",
+ "PointInTimeRestore",
+ "Replica"
+ ],
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The properties of a server."
+ },
+ "Server": {
+ "properties": {
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Identity",
+ "description": "The Azure Active Directory identity of the server."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU (pricing tier) of the server."
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerProperties",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the server."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Represents a server."
+ },
+ "ServerPropertiesForUpdate": {
+ "properties": {
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Storage profile of a server."
+ },
+ "administratorLoginPassword": {
+ "type": "string",
+ "x-ms-secret": true,
+ "format": "password",
+ "description": "The password of the administrator login."
+ },
+ "sslEnforcement": {
+ "$ref": "#/definitions/SslEnforcement",
+ "description": "Enable ssl enforcement or not when connect to server."
+ },
+ "vnetInjArgs": {
+ "$ref": "#/definitions/VnetInjArgs",
+ "description": "Vnet arguments."
+ },
+ "standbyCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "stand by count value can be either 0 or 1"
+ },
+ "publicNetworkAccess": {
+ "$ref": "#/definitions/PublicNetworkAccess",
+ "description": "Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'"
+ },
+ "replicationRole": {
+ "type": "string",
+ "description": "The replication role of the server."
+ }
+ },
+ "description": "The properties that can be updated for a server."
+ },
+ "ServerForUpdate": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU (pricing tier) of the server."
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerPropertiesForUpdate",
+ "x-ms-client-flatten": true,
+ "description": "The properties that can be updated for a server."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "Parameters allowed to update for a server."
+ },
+ "ServerListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Server"
+ },
+ "description": "The list of servers"
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of servers."
+ },
+ "FirewallRuleProperties": {
+ "properties": {
+ "startIpAddress": {
+ "type": "string",
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$",
+ "description": "The start IP address of the server firewall rule. Must be IPv4 format."
+ },
+ "endIpAddress": {
+ "type": "string",
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$",
+ "description": "The end IP address of the server firewall rule. Must be IPv4 format."
+ }
+ },
+ "required": [
+ "startIpAddress",
+ "endIpAddress"
+ ],
+ "description": "The properties of a server firewall rule."
+ },
+ "FirewallRule": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FirewallRuleProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a firewall rule."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "Represents a server firewall rule."
+ },
+ "FirewallRuleListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallRule"
+ },
+ "description": "The list of firewall rules in a server."
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of firewall rules."
+ },
+ "DatabaseProperties": {
+ "properties": {
+ "charset": {
+ "type": "string",
+ "description": "The charset of the database."
+ },
+ "collation": {
+ "type": "string",
+ "description": "The collation of the database."
+ }
+ },
+ "description": "The properties of a database."
+ },
+ "Database": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DatabaseProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a database."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Represents a Database."
+ },
+ "DatabaseListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The list of databases housed in a server"
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A List of databases."
+ },
+ "ConfigurationProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Value of the configuration."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Description of the configuration."
+ },
+ "defaultValue": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Default value of the configuration."
+ },
+ "dataType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Data type of the configuration."
+ },
+ "allowedValues": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Allowed values of the configuration."
+ },
+ "source": {
+ "type": "string",
+ "description": "Source of the configuration."
+ },
+ "isReadOnly": {
+ "type": "string",
+ "readOnly": true,
+ "description": "If is the configuration read only.",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "IsReadOnly",
+ "modelAsString": true
+ }
+ },
+ "isConfigPendingRestart": {
+ "type": "string",
+ "readOnly": true,
+ "description": "If is the configuration pending restart or not.",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "IsConfigPendingRestart",
+ "modelAsString": true
+ }
+ },
+ "isDynamicConfig": {
+ "type": "string",
+ "readOnly": true,
+ "description": "If is the configuration dynamic.",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "IsDynamicConfig",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The properties of a configuration."
+ },
+ "Configuration": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigurationProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a configuration."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Represents a Configuration."
+ },
+ "ConfigurationListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Configuration"
+ },
+ "description": "The list of server configurations."
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of server configurations."
+ },
+ "MaintenanceWindowProperties": {
+ "properties": {
+ "dayOfWeek": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The day of week of the maintenance window to start"
+ },
+ "durationInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The duration of the maintenance window to run."
+ },
+ "startHour": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The starting hour of the maintenance window."
+ },
+ "startMinute": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The starting minutes of the maintenance window."
+ }
+ },
+ "required": [
+ "dayOfWeek",
+ "startHour",
+ "startMinute"
+ ],
+ "description": "The properties of a server maintenance window."
+ },
+ "MaintenanceWindow": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MaintenanceWindowProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a customer maintenance window."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "Represents a server maintenance window."
+ },
+ "MaintenanceWindowListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaintenanceWindow"
+ },
+ "description": "The list of server maintenance window."
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of maintenance windows for a MySQL server."
+ },
+ "OperationDisplay": {
+ "properties": {
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Operation resource provider name."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource on which the operation is performed."
+ },
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Localized friendly name for the operation."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Operation description."
+ }
+ },
+ "description": "Display metadata associated with the operation."
+ },
+ "Operation": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the operation being performed on this particular object."
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "readOnly": true,
+ "description": "The localized display information for this particular operation or action."
+ },
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The intended executor of the operation.",
+ "enum": [
+ "NotSpecified",
+ "user",
+ "system"
+ ],
+ "x-ms-enum": {
+ "name": "OperationOrigin",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "readOnly": true,
+ "x-ms-client-flatten": false,
+ "description": "Additional descriptions for the operation."
+ }
+ },
+ "description": "REST API operation definition."
+ },
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "The list of resource provider operations."
+ }
+ },
+ "description": "A list of resource provider operations."
+ },
+ "NameAvailabilityRequest": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Resource name to verify."
+ },
+ "type": {
+ "type": "string",
+ "description": "Resource type used for verification."
+ }
+ },
+ "description": "Request from client to check resource name availability."
+ },
+ "NameAvailability": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Error Message."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Indicates whether the resource name is available."
+ },
+ "reason": {
+ "type": "string",
+ "description": "Reason for name being unavailable."
+ }
+ },
+ "description": "Represents a resource name availability."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse",
+ "description": "The resource management error response."
+ }
+ },
+ "description": "An error response from the Batch service."
+ }
+ },
+ "parameters": {
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server.",
+ "x-ms-parameter-location": "method"
+ },
+ "FirewallRuleNameParameter": {
+ "name": "firewallRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server firewall rule.",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the database.",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigurationNameParameter": {
+ "name": "configurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server configuration.",
+ "x-ms-parameter-location": "method"
+ },
+ "MaintenanceWindowNameParameter": {
+ "name": "maintenanceWindowName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance window.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/readme.md b/specification/mysql/resource-manager/readme.md
index 9a348aab98f8..9c165bd91bba 100644
--- a/specification/mysql/resource-manager/readme.md
+++ b/specification/mysql/resource-manager/readme.md
@@ -105,6 +105,15 @@ input-file:
- Microsoft.DBforMySQL/stable/2020-01-01/Servers.json
```
+### Tag: package-2020-07-01-privatepreview
+
+These settings apply only when `--tag=package-2020-07-01-privatepreview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-07-01-privatepreview'
+input-file:
+- Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json
+```
+
## Suppression
``` yaml
directive:
@@ -114,6 +123,9 @@ directive:
- suppress: PathResourceProviderNamePascalCase
from: Servers.json
reason: The name of the provider is Microsoft.DBforMySQL
+ - suppress: OperationsApiResponseSchema
+ from: mysql.json
+ reason: Property isDataAction is not included in get operation reponse body
```
---
diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceCreate.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceCreate.json
new file mode 100644
index 000000000000..3d9864c0be9e
--- /dev/null
+++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "resourceName": "testResource",
+ "resourceGroupName": "testRP",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "properties": {
+ "hostname": "Azure Notebooks"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource",
+ "name": "testResource",
+ "type": "Microsoft.Notebooks/NotebookProxies",
+ "properties": {
+ "resourceId": "acc07b62291e4a4a800f71ff252e0654",
+ "hostname": "Azure Notebooks"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource",
+ "name": "testResource",
+ "type": "Microsoft.Notebooks/NotebookProxies",
+ "properties": {
+ "resourceId": "acc07b62291e4a4a800f71ff252e0654",
+ "hostname": "Azure Notebooks"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceDelete.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceDelete.json
new file mode 100644
index 000000000000..3c63585808a9
--- /dev/null
+++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testResource",
+ "resourceGroupName": "testRP",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "properties": {
+ "hostname": "Azure Notebooks"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource",
+ "name": "testResource",
+ "type": "Microsoft.Notebooks/NotebookProxies",
+ "properties": {
+ "resourceId": "acc07b62291e4a4a800f71ff252e0654",
+ "hostname": "Azure Notebooks"
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceGet.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceGet.json
new file mode 100644
index 000000000000..5d5fa97a066e
--- /dev/null
+++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "resourceName": "testResource",
+ "resourceGroupName": "testRP",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "properties": {
+ "hostname": "Azure Notebooks"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource",
+ "name": "testResource",
+ "type": "Microsoft.Notebooks/NotebookProxies",
+ "properties": {
+ "resourceId": "acc07b62291e4a4a800f71ff252e0654",
+ "hostname": "Azure Notebooks"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceList.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceList.json
new file mode 100644
index 000000000000..32ccd88715a7
--- /dev/null
+++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "resourceName": "testResource",
+ "resourceGroupName": "testRP",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "properties": {
+ "hostname": "Azure Notebooks"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource",
+ "name": "testResource",
+ "type": "Microsoft.Notebooks/NotebookProxies",
+ "properties": {
+ "resourceId": "acc07b62291e4a4a800f71ff252e0654",
+ "hostname": "Azure Notebooks"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource2",
+ "name": "testResource2",
+ "type": "Microsoft.Notebooks/NotebookProxies",
+ "properties": {
+ "resourceId": "bcc07b62291e4a4a800f71ff252e0654",
+ "hostname": "Azure Notebooks"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceListCredentials.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceListCredentials.json
new file mode 100644
index 000000000000..bf9538056f11
--- /dev/null
+++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceListCredentials.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "resourceName": "testResource",
+ "resourceGroupName": "testRP",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "resourceId": "acc07b62291e4a4a800f71ff252e0654",
+ "primaryAccessKey": "42c43f86f937487dbc84256fab515bf2d80754b249154ded8ede0f5ded3733be",
+ "secondaryAccessKey": "1cef8965a0224bd896d27f87a7cabf1687e99f6412cd4c2ca25e5908d2105f79",
+ "hostname": "Azure Notebooks"
+ }
+ }
+ }
+}
diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEDelete.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEDelete.json
new file mode 100644
index 000000000000..eaaa8c198c6a
--- /dev/null
+++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEDelete.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "resourceName": "testPL1-1",
+ "resourceGroupName": "testRP",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "privateLinkId": "testPL1-proxy.dc9bcc9d-dbd2-48ba-bbbb-bcbdaed437ae",
+ "parameters": {
+ "properties": {
+ "hostname": "Azure Notebooks"
+ },
+ "connectionDetails": [
+ {
+ "id": "f6124779c97049738cc02655385b62ab_1111",
+ "privateIpAddress": "10.10.10.1",
+ "linkIdentifier": 1111,
+ "groupId": "f6124779c97049738cc02655385b62ab",
+ "memberName": "f6124779c97049738cc02655385b62ab_member"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEUpdate.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEUpdate.json
new file mode 100644
index 000000000000..e5382984121a
--- /dev/null
+++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEUpdate.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "resourceName": "testPL1-1",
+ "resourceGroupName": "testRP",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "privateLinkId": "testPL1-proxy.dc9bcc9d-dbd2-48ba-bbbb-bcbdaed437ae",
+ "parameters": {
+ "properties": {
+ "hostname": "Azure Notebooks",
+ "connectionDetails": [
+ {
+ "id": "f6124779c97049738cc02655385b62ab_1111",
+ "privateIpAddress": "10.10.10.1",
+ "linkIdentifier": 1111,
+ "groupId": "f6124779c97049738cc02655385b62ab",
+ "memberName": "f6124779c97049738cc02655385b62ab_member"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRp/providers/Microsoft.Network/privateEndpoints/testPL1-1",
+ "privateLinkServiceProxies": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000//resourceGroups/testRp/providers/Microsoft.Network/privateEndpoints/testPL1-1/privateLinkServiceProxies/testPL1-proxy.dc9bcc9d-dbd2-48ba-bbbb-bcbdaed437ae",
+ "groupConnectivityInformation": [
+ {
+ "groupId": "f6124779c97049738cc02655385b62ab",
+ "memberName": "f6124779c97049738cc02655385b62ab_member",
+ "customerVisibleFqdns": [
+ "testpl1.notebooks-test.azure.net"
+ ],
+ "internalFqdn": "privatelink.notebookapis-dev2.azure.com"
+ }
+ ]
+ }
+ ],
+ "connectionDetails": [
+ {
+ "id": "f6124779c97049738cc02655385b62ab_1111",
+ "privateIpAddress": "10.10.10.1",
+ "linkIdentifier": 1111,
+ "groupId": "f6124779c97049738cc02655385b62ab",
+ "memberName": "f6124779c97049738cc02655385b62ab_member"
+ }
+ ]
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRp/providers/Microsoft.Network/privateEndpoints/testPL1-1",
+ "privateLinkServiceProxies": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000//resourceGroups/testRp/providers/Microsoft.Network/privateEndpoints/testPL1-1/privateLinkServiceProxies/testPL1-proxy.dc9bcc9d-dbd2-48ba-bbbb-bcbdaed437ae",
+ "groupConnectivityInformation": [
+ {
+ "groupId": "f6124779c97049738cc02655385b62ab",
+ "memberName": "f6124779c97049738cc02655385b62ab_member",
+ "customerVisibleFqdns": [
+ "testpl1.notebooks-test.azure.net"
+ ],
+ "internalFqdn": "privatelink.notebookapis-dev2.azure.com"
+ }
+ ]
+ }
+ ],
+ "connectionDetails": [
+ {
+ "id": "f6124779c97049738cc02655385b62ab_1111",
+ "privateIpAddress": "10.10.10.1",
+ "linkIdentifier": 1111,
+ "groupId": "f6124779c97049738cc02655385b62ab",
+ "memberName": "f6124779c97049738cc02655385b62ab_member"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/notebooks.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/notebooks.json
new file mode 100644
index 000000000000..6fa544b75490
--- /dev/null
+++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/notebooks.json
@@ -0,0 +1,808 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "description": "Azure Notebooks Resource Management Client",
+ "version": "2019-10-11-preview",
+ "title": "NotebookResourceManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Notebooks/operations": {
+ "get": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Lists all of the available Azure Notebooks REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/APIVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Notebooks/notebookProxies/{resourceName}": {
+ "get": {
+ "tags": [
+ "NotebookProxy"
+ ],
+ "operationId": "NotebookProxies_Get",
+ "x-ms-examples": {
+ "Get Notebook Proxy": {
+ "$ref": "./examples/NBResourceGet.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "summary": "Get the properties of the specified NotebookProxy.",
+ "description": "Gets the properties of the specified NotebookProxy resource in the specified subscription and resource group. This operation returns properties of specified NotebookProxy resource including resourceId, credentials, and systemData.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NotebookProxy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NotebookProxy"
+ ],
+ "operationId": "NotebookProxies_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create Notebook Proxy": {
+ "$ref": "./examples/NBResourceCreate.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "summary": "Create or update NotebookProxy resource.",
+ "description": "Create or update NotebookProxy resource with specified configuration.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "description": "The properties of the NotebookProxy to be created or updated.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NotebookProxy"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NotebookProxy"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/NotebookProxy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NotebookProxy"
+ ],
+ "operationId": "NotebookProxies_Delete",
+ "x-ms-examples": {
+ "Delete Notebook Proxy": {
+ "$ref": "./examples/NBResourceDelete.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "summary": "Delete the specified NotebookProxy.",
+ "description": "Delete the specified NotebookProxy in the specified subscription and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NotebookProxy"
+ }
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Notebooks/notebookProxies": {
+ "get": {
+ "tags": [
+ "NotebookProxy"
+ ],
+ "operationId": "NotebookProxies_ListByResourceGroup",
+ "x-ms-examples": {
+ "List Notebook Proxy by Resource Group": {
+ "$ref": "./examples/NBResourceList.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "summary": "Get a list of NotebookProxy resources in the specified subscription and resource group.",
+ "description": "Get a list of NotebookProxy resources in the specified subscription and resource group. This operation returns properties of each NotebookProxy including resourceId, credentials, and systemData.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NotebookProxyListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Notebooks/notebookProxies": {
+ "get": {
+ "tags": [
+ "NotebookProxy"
+ ],
+ "operationId": "NotebookProxies_List",
+ "x-ms-examples": {
+ "List Notebook Proxy by Subscription": {
+ "$ref": "./examples/NBResourceList.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "summary": "Get a list of NotebookProxy resources in the specified subscription.",
+ "description": "Get a list of NotebookProxy resources in the specified subscription. This operation returns properties of each NotebookProxy including resourceId, credentials, and systemData.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NotebookProxyListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Notebooks/notebookProxies/{resourceName}/listCredentials": {
+ "post": {
+ "tags": [
+ "NotebookProxy"
+ ],
+ "operationId": "NotebookProxies_ListCredentials",
+ "x-ms-examples": {
+ "List Notebook Proxy Credentials": {
+ "$ref": "./examples/NBResourceListCredentials.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "summary": "Get the access keys of the specified NotebookProxy.",
+ "description": "Get the access keys of the specified NotebookProxy. in the specified subscription and resource group. This operation returns resourceId, primaryAccessKey and secondaryAccessKey.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NotebookProxyCredentials"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Notebooks/notebookProxies/{resourceName}/privateEndpointConnectionProxies/{privateLinkId}": {
+ "post": {
+ "tags": [
+ "NotebookProxy"
+ ],
+ "operationId": "PostPrivateLinkIdNotebookResource",
+ "x-ms-examples": {
+ "Create Notebook Proxy Private Endpoint": {
+ "$ref": "./examples/NBResourcePEUpdate.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateLinkId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceRequest",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/NotebookPEResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/NotebookPEResponse"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/NotebookPEResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Notebooks/notebookProxies/{resourceName}/removePrivateLinkId/{privateLinkId}": {
+ "post": {
+ "tags": [
+ "NotebookProxy"
+ ],
+ "operationId": "RemovePrivateLinkIdNotebookResource",
+ "x-ms-examples": {
+ "Remove Notebook Proxy Private Endpoint": {
+ "$ref": "./examples/NBResourcePEDelete.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateLinkId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceRequest",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/NotebookPEResponse"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NotebookProxy": {
+ "description": "A NotebookProxy resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NotebookResourceEntity",
+ "description": "The properties of NotebookProxy resource.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "NotebookResourceEntity": {
+ "description": "Properties of NotebookProxy resource",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The unique identifier (a GUID) generated for every resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostname": {
+ "description": "The friendly string identifier of the creator of the NotebookProxy resource.",
+ "type": "string"
+ }
+ }
+ },
+ "NotebookPEResource": {
+ "description": "Notebooks Proxy resource with Private Link",
+ "type": "object",
+ "properties": {
+ "hostname": {
+ "description": "The friendly string identifier of the creator of the NotebookProxy resource.",
+ "type": "string"
+ },
+ "connectionDetails": {
+ "description": "Private link connection details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionDetail"
+ }
+ }
+ }
+ },
+ "NotebookPEResponse": {
+ "description": "Private Endpoint details for a Notebook Proxy resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Private endpoint id",
+ "type": "string"
+ },
+ "privateLinkServiceProxies": {
+ "description": "Private endpoint service proxies",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointServiceProxy"
+ }
+ },
+ "connectionDetails": {
+ "description": "Private link connection details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionDetail"
+ }
+ }
+ }
+ },
+ "PrivateEndpointServiceProxy": {
+ "description": "Private Endpoint service proxy details",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Service proxy id",
+ "type": "string"
+ },
+ "groupConnectivityInformation": {
+ "description": "Group connectivity information",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupConnectivityInformation"
+ }
+ }
+ }
+ },
+ "GroupConnectivityInformation": {
+ "description": "Private link Group Connectivity Detail",
+ "type": "object",
+ "properties": {
+ "internalFqdn": {
+ "description": "Internal fully qualified domain name",
+ "type": "string"
+ },
+ "customerVisibleFqdns": {
+ "description": "Customer visible fully qualified domain names",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "groupId": {
+ "description": "Private link group Id",
+ "type": "string"
+ },
+ "memberName": {
+ "description": "Private link member name",
+ "type": "string"
+ }
+ }
+ },
+ "ConnectionDetail": {
+ "description": "Private link Connection Detail",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Private link connection id",
+ "type": "string"
+ },
+ "privateIpAddress": {
+ "description": "Private endpoint IP address",
+ "type": "string"
+ },
+ "linkIdentifier": {
+ "description": "Link Id for the private link",
+ "type": "integer",
+ "format": "int32"
+ },
+ "groupId": {
+ "description": "Private link group Id",
+ "type": "string"
+ },
+ "memberName": {
+ "description": "Private link member name",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource. Ex- Microsoft.Storage/storageAccounts or Microsoft.Notebooks/notebookProxies."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CloudError": {
+ "type": "object",
+ "description": "Wrapper for error response to follow ARM guidelines.",
+ "properties": {
+ "error": {
+ "description": "The error response.",
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "description": "Error response information.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "details": {
+ "type": "array",
+ "description": "An array of error detail objects.",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "ErrorDetail": {
+ "type": "object",
+ "description": "Error detail information.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "Operation": {
+ "description": "Azure Notebooks Proxy REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display name of operation",
+ "properties": {
+ "provider": {
+ "description": "The resource provider name: Microsoft.Notebooks",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation that users can perform.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description for the operation.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "An array of operations supported by the resource provider.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of Notebook Proxy operations supported by the Azure Notebooks resource provider."
+ }
+ }
+ },
+ "NotebookProxyListResult": {
+ "description": "The response containing list of NotebookProxy resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotebookProxy"
+ },
+ "description": "The list of NotebookProxy resources."
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of NotebookProxy resources.",
+ "type": "string"
+ }
+ }
+ },
+ "NotebookProxyCredentials": {
+ "description": "Credentials and other properties of NotebookProxy resource",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "resourceId": {
+ "description": "Notebook Proxy resource id",
+ "type": "string"
+ },
+ "primaryAccessKey": {
+ "description": "The primary key of the NotebookProxy resource.",
+ "type": "string"
+ },
+ "secondaryAccessKey": {
+ "description": "The secondary key of the NotebookProxy resource.",
+ "type": "string"
+ },
+ "hostname": {
+ "description": "Hostname for the Notebook Proxy resource",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription.",
+ "minLength": 1
+ },
+ "APIVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for this operation.",
+ "minLength": 1
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource.",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.cli.md b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.cli.md
new file mode 100644
index 000000000000..7712f4b56527
--- /dev/null
+++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.cli.md
@@ -0,0 +1,9 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+#cli:
+# test-scenario:
+# - name: Example_CreateOrUpdate
+```
diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.md b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.md
new file mode 100644
index 000000000000..b8e37386caa2
--- /dev/null
+++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.md
@@ -0,0 +1,66 @@
+# Notebooks
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Azure Notebooks Resource Management Client.
+
+---
+## Getting Started
+To build the SDK for Azure Resource Management, 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 Azure Notebooks Resource Management Client.
+
+``` yaml
+openapi-type: arm
+tag: package-2019-10-11-preview
+```
+### Tag: package-2019-10-11-preview
+
+These settings apply only when `--tag=package-2019-10-11-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-10-11-preview'
+input-file:
+- notebooks.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.
+
+## 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:
+ - notebooks.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/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.python.md b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.python.md
new file mode 100644
index 000000000000..d4181ff7ef65
--- /dev/null
+++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/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: Microsoft.Notebooks
+ package-name: notebooks
+ package-version: 2019-10-11-preview
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt/notebooks
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt/notebooks
+```
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CheckNameAvailability.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..8edb7b34471d
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "nameAvailabilityRequest": {
+ "name": "name1",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "message": "",
+ "name": "name1",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationGet.json
new file mode 100644
index 000000000000..55890a1e6df0
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "configurationName": "array_nulls",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2017-12-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "value": "on",
+ "description": "Enable input of NULL elements in arrays.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/array_nulls",
+ "name": "array_nulls",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationListByServer.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationListByServer.json
new file mode 100644
index 000000000000..2cf125c8d12a
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationListByServer.json
@@ -0,0 +1,1902 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations?api-version=2020-02-14-privatepreview&$top=200&$skiptoken=skiptoken",
+ "value": [
+ {
+ "properties": {
+ "value": "",
+ "description": "Sets the application name to be reported in statistics and logs.",
+ "defaultValue": "",
+ "dataType": "String",
+ "allowedValues": "[A-Za-z0-9._-]*",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/application_name",
+ "name": "application_name",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables input of NULL elements in arrays.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/array_nulls",
+ "name": "array_nulls",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Starts the autovacuum subprocess.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum",
+ "name": "autovacuum",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0.1",
+ "description": "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples.",
+ "defaultValue": "0.1",
+ "dataType": "Numeric",
+ "allowedValues": "0-100",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_analyze_scale_factor",
+ "name": "autovacuum_analyze_scale_factor",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "50",
+ "description": "Minimum number of tuple inserts, updates, or deletes prior to analyze.",
+ "defaultValue": "50",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_analyze_threshold",
+ "name": "autovacuum_analyze_threshold",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "60",
+ "description": "Time to sleep between autovacuum runs.",
+ "defaultValue": "60",
+ "dataType": "Integer",
+ "allowedValues": "1-2147483",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_naptime",
+ "name": "autovacuum_naptime",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "2",
+ "description": "Vacuum cost delay in milliseconds, for autovacuum.",
+ "defaultValue": "2",
+ "dataType": "Integer",
+ "allowedValues": "-1-100",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_cost_delay",
+ "name": "autovacuum_vacuum_cost_delay",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "-1",
+ "description": "Vacuum cost amount available before napping, for autovacuum.",
+ "defaultValue": "-1",
+ "dataType": "Integer",
+ "allowedValues": "-1-10000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_cost_limit",
+ "name": "autovacuum_vacuum_cost_limit",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0.2",
+ "description": "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples.",
+ "defaultValue": "0.2",
+ "dataType": "Numeric",
+ "allowedValues": "0-100",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_scale_factor",
+ "name": "autovacuum_vacuum_scale_factor",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "50",
+ "description": "Minimum number of tuple updates or deletes prior to vacuum.",
+ "defaultValue": "50",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_threshold",
+ "name": "autovacuum_vacuum_threshold",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "-1",
+ "description": "Sets the maximum memory to be used by each autovacuum worker process.",
+ "defaultValue": "-1",
+ "dataType": "Integer",
+ "allowedValues": "-1-2097151",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_work_mem",
+ "name": "autovacuum_work_mem",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "Number of pages after which previously performed writes are flushed to disk.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-256",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/backend_flush_after",
+ "name": "backend_flush_after",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "safe_encoding",
+ "description": "Sets whether \"\\'\" is allowed in string literals.",
+ "defaultValue": "safe_encoding",
+ "dataType": "Enumeration",
+ "allowedValues": "safe_encoding,on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/backslash_quote",
+ "name": "backslash_quote",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "200",
+ "description": "Background writer sleep time between rounds.",
+ "defaultValue": "200",
+ "dataType": "Integer",
+ "allowedValues": "10-10000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_delay",
+ "name": "bgwriter_delay",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "64",
+ "description": "Number of pages after which previously performed writes are flushed to disk.",
+ "defaultValue": "64",
+ "dataType": "Integer",
+ "allowedValues": "0-256",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_flush_after",
+ "name": "bgwriter_flush_after",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "100",
+ "description": "Background writer maximum number of LRU pages to flush per round.",
+ "defaultValue": "100",
+ "dataType": "Integer",
+ "allowedValues": "0-1073741823",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_lru_maxpages",
+ "name": "bgwriter_lru_maxpages",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "2",
+ "description": "Multiple of the average buffer usage to free per round.",
+ "defaultValue": "2",
+ "dataType": "Numeric",
+ "allowedValues": "0-10",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_lru_multiplier",
+ "name": "bgwriter_lru_multiplier",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "hex",
+ "description": "Sets the output format for bytea.",
+ "defaultValue": "hex",
+ "dataType": "Enumeration",
+ "allowedValues": "escape,hex",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bytea_output",
+ "name": "bytea_output",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Checks function bodies during CREATE FUNCTION.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/check_function_bodies",
+ "name": "check_function_bodies",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0.5",
+ "description": "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval.",
+ "defaultValue": "0.5",
+ "dataType": "Numeric",
+ "allowedValues": "0-1",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/checkpoint_completion_target",
+ "name": "checkpoint_completion_target",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "300",
+ "description": "Sets the maximum time between automatic WAL checkpoints.",
+ "defaultValue": "300",
+ "dataType": "Integer",
+ "allowedValues": "30-86400",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/checkpoint_timeout",
+ "name": "checkpoint_timeout",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "30",
+ "description": "Enables warnings if checkpoint segments are filled more frequently than this.",
+ "defaultValue": "30",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/checkpoint_warning",
+ "name": "checkpoint_warning",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "sql_ascii",
+ "description": "Sets the client's character set encoding.",
+ "defaultValue": "sql_ascii",
+ "dataType": "Enumeration",
+ "allowedValues": "BIG5,EUC_CN,EUC_JP,EUC_JIS_2004,EUC_KR,EUC_TW,GB18030,GBK,ISO_8859_5,ISO_8859_6,ISO_8859_7,ISO_8859_8,JOHAB,KOI8R,KOI8U,LATIN1,LATIN2,LATIN3,LATIN4,LATIN5,LATIN6,LATIN7,LATIN8,LATIN9,LATIN10,MULE_INTERNAL,SJIS,SHIFT_JIS_2004,SQL_ASCII,UHC,UTF8,WIN866,WIN874,WIN1250,WIN1251,WIN1252,WIN1253,WIN1254,WIN1255,WIN1256,WIN1257,WIN1258",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/client_encoding",
+ "name": "client_encoding",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "notice",
+ "description": "Sets the message levels that are sent to the client.",
+ "defaultValue": "notice",
+ "dataType": "Enumeration",
+ "allowedValues": "debug5,debug4,debug3,debug2,debug1,log,notice,warning,error",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/client_min_messages",
+ "name": "client_min_messages",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "Sets the delay in microseconds between transaction commit and flushing WAL to disk.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-100000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/commit_delay",
+ "name": "commit_delay",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "5",
+ "description": "Sets the minimum concurrent open transactions before performing commit_delay.",
+ "defaultValue": "5",
+ "dataType": "Integer",
+ "allowedValues": "0-1000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/commit_siblings",
+ "name": "commit_siblings",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "partition",
+ "description": "Enables the planner to use constraints to optimize queries.",
+ "defaultValue": "partition",
+ "dataType": "Enumeration",
+ "allowedValues": "partition,on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/constraint_exclusion",
+ "name": "constraint_exclusion",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0.005",
+ "description": "Sets the planner's estimate of the cost of processing each index entry during an index scan.",
+ "defaultValue": "0.005",
+ "dataType": "Numeric",
+ "allowedValues": "0-1.79769e+308",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cpu_index_tuple_cost",
+ "name": "cpu_index_tuple_cost",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0.0025",
+ "description": "Sets the planner's estimate of the cost of processing each operator or function call.",
+ "defaultValue": "0.0025",
+ "dataType": "Numeric",
+ "allowedValues": "0-1.79769e+308",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cpu_operator_cost",
+ "name": "cpu_operator_cost",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0.01",
+ "description": "Sets the planner's estimate of the cost of processing each tuple (row).",
+ "defaultValue": "0.01",
+ "dataType": "Numeric",
+ "allowedValues": "0-1.79769e+308",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cpu_tuple_cost",
+ "name": "cpu_tuple_cost",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0.1",
+ "description": "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved.",
+ "defaultValue": "0.1",
+ "dataType": "Numeric",
+ "allowedValues": "0-1",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cursor_tuple_fraction",
+ "name": "cursor_tuple_fraction",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "ISO, MDY",
+ "description": "Sets the display format for date and time values.",
+ "defaultValue": "ISO, MDY",
+ "dataType": "String",
+ "allowedValues": "(ISO|POSTGRES|SQL|GERMAN)(, (DMY|MDY|YMD))?",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/DateStyle",
+ "name": "DateStyle",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1000",
+ "description": "Sets the amount of time, in milliseconds, to wait on a lock before checking for deadlock.",
+ "defaultValue": "1000",
+ "dataType": "Integer",
+ "allowedValues": "1-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/deadlock_timeout",
+ "name": "deadlock_timeout",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Indents parse and plan tree displays.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_pretty_print",
+ "name": "debug_pretty_print",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Logs each query's parse tree.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_print_parse",
+ "name": "debug_print_parse",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Logs each query's execution plan.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_print_plan",
+ "name": "debug_print_plan",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Logs each query's rewritten parse tree.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_print_rewritten",
+ "name": "debug_print_rewritten",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "100",
+ "description": "Sets the default statistics target.",
+ "defaultValue": "100",
+ "dataType": "Integer",
+ "allowedValues": "1-10000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_statistics_target",
+ "name": "default_statistics_target",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "",
+ "description": "Sets the default tablespace to create tables and indexes in.",
+ "defaultValue": "",
+ "dataType": "String",
+ "allowedValues": "[A-Za-z._]*",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_tablespace",
+ "name": "default_tablespace",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "pg_catalog.english",
+ "description": "Sets default text search configuration.",
+ "defaultValue": "pg_catalog.english",
+ "dataType": "String",
+ "allowedValues": "[A-Za-z._]+",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_text_search_config",
+ "name": "default_text_search_config",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Sets the default deferrable status of new transactions.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_transaction_deferrable",
+ "name": "default_transaction_deferrable",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "read committed",
+ "description": "Sets the transaction isolation level of each new transaction.",
+ "defaultValue": "read committed",
+ "dataType": "Enumeration",
+ "allowedValues": "serializable,repeatable read,read committed,read uncommitted",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_transaction_isolation",
+ "name": "default_transaction_isolation",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Sets the default read-only status of new transactions.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_transaction_read_only",
+ "name": "default_transaction_read_only",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Creates new tables with OIDs by default.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_with_oids",
+ "name": "default_with_oids",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "3145728",
+ "description": "Sets the planner's assumption about the size of the disk cache.",
+ "defaultValue": "3145728",
+ "dataType": "Integer",
+ "allowedValues": "1-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/effective_cache_size",
+ "name": "effective_cache_size",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of bitmap-scan plans.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_bitmapscan",
+ "name": "enable_bitmapscan",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of gather merge plans.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_gathermerge",
+ "name": "enable_gathermerge",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of hashed aggregation plans.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_hashagg",
+ "name": "enable_hashagg",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of hash join plans.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_hashjoin",
+ "name": "enable_hashjoin",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of index-only-scan plans.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_indexonlyscan",
+ "name": "enable_indexonlyscan",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of index-scan plans.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_indexscan",
+ "name": "enable_indexscan",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of materialization.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_material",
+ "name": "enable_material",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of merge join plans.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_mergejoin",
+ "name": "enable_mergejoin",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of nested loop join plans.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_nestloop",
+ "name": "enable_nestloop",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of sequential-scan plans.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_seqscan",
+ "name": "enable_seqscan",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of explicit sort steps.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_sort",
+ "name": "enable_sort",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables the planner's use of TID scan plans.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_tidscan",
+ "name": "enable_tidscan",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Warns about backslash escapes in ordinary string literals.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/escape_string_warning",
+ "name": "escape_string_warning",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Terminates session on any error.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/exit_on_error",
+ "name": "exit_on_error",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1",
+ "description": "Sets the number of digits displayed for floating-point values.",
+ "defaultValue": "1",
+ "dataType": "Integer",
+ "allowedValues": "-15-3",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/extra_float_digits",
+ "name": "extra_float_digits",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Forces use of parallel query facilities.",
+ "defaultValue": "off",
+ "dataType": "Enumeration",
+ "allowedValues": "off,on,regress",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/force_parallel_mode",
+ "name": "force_parallel_mode",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "8",
+ "description": "Sets the FROM-list size beyond which subqueries are not collapsed.",
+ "defaultValue": "8",
+ "dataType": "Integer",
+ "allowedValues": "1-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/from_collapse_limit",
+ "name": "from_collapse_limit",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables genetic query optimization.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo",
+ "name": "geqo",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "5",
+ "description": "GEQO: effort is used to set the default for other GEQO parameters.",
+ "defaultValue": "5",
+ "dataType": "Integer",
+ "allowedValues": "1-10",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_effort",
+ "name": "geqo_effort",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "GEQO: number of iterations of the algorithm.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_generations",
+ "name": "geqo_generations",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "GEQO: number of individuals in the population.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_pool_size",
+ "name": "geqo_pool_size",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "GEQO: seed for random path selection.",
+ "defaultValue": "0",
+ "dataType": "Numeric",
+ "allowedValues": "0-1",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_seed",
+ "name": "geqo_seed",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "2",
+ "description": "GEQO: selective pressure within the population.",
+ "defaultValue": "2",
+ "dataType": "Numeric",
+ "allowedValues": "1.5-2",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_selection_bias",
+ "name": "geqo_selection_bias",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "12",
+ "description": "Sets the threshold of FROM items beyond which GEQO is used.",
+ "defaultValue": "12",
+ "dataType": "Integer",
+ "allowedValues": "2-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_threshold",
+ "name": "geqo_threshold",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "Sets the maximum allowed result for exact search by GIN.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/gin_fuzzy_search_limit",
+ "name": "gin_fuzzy_search_limit",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "4096",
+ "description": "Sets the maximum size of the pending list for GIN index.",
+ "defaultValue": "4096",
+ "dataType": "Integer",
+ "allowedValues": "64-2097151",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/gin_pending_list_limit",
+ "name": "gin_pending_list_limit",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "Sets the maximum allowed duration of any idling transaction.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/idle_in_transaction_session_timeout",
+ "name": "idle_in_transaction_session_timeout",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "postgres",
+ "description": "Sets the display format for interval values.",
+ "defaultValue": "postgres",
+ "dataType": "Enumeration",
+ "allowedValues": "postgres,postgres_verbose,sql_standard,iso_8601",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/IntervalStyle",
+ "name": "IntervalStyle",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "8",
+ "description": "Sets the FROM-list size beyond which JOIN constructs are not flattened.",
+ "defaultValue": "8",
+ "dataType": "Integer",
+ "allowedValues": "1-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/join_collapse_limit",
+ "name": "join_collapse_limit",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "en_US.utf-8",
+ "description": "Sets the locale for formatting monetary amounts.",
+ "defaultValue": "en_US.utf-8",
+ "dataType": "String",
+ "allowedValues": "[A-Za-z0-9._ -]+",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lc_monetary",
+ "name": "lc_monetary",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "en_US.utf-8",
+ "description": "Sets the locale for formatting numbers.",
+ "defaultValue": "en_US.utf-8",
+ "dataType": "String",
+ "allowedValues": "[A-Za-z0-9._ -]+",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lc_numeric",
+ "name": "lc_numeric",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Enables backward compatibility mode for privilege checks on large objects.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lo_compat_privileges",
+ "name": "lo_compat_privileges",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "Sets the maximum allowed duration (in milliseconds) of any wait for a lock. 0 turns this off.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lock_timeout",
+ "name": "lock_timeout",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "-1",
+ "description": "Sets the minimum execution time above which autovacuum actions will be logged.",
+ "defaultValue": "-1",
+ "dataType": "Integer",
+ "allowedValues": "-1-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_autovacuum_min_duration",
+ "name": "log_autovacuum_min_duration",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Logs each checkpoint.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_checkpoints",
+ "name": "log_checkpoints",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Logs each successful connection.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_connections",
+ "name": "log_connections",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "stderr",
+ "description": "Sets the destination for server log output.",
+ "defaultValue": "stderr",
+ "dataType": "Enumeration",
+ "allowedValues": "stderr,csvlog",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_destination",
+ "name": "log_destination",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Logs end of a session, including duration.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_disconnections",
+ "name": "log_disconnections",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Logs the duration of each completed SQL statement.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_duration",
+ "name": "log_duration",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "default",
+ "description": "Sets the verbosity of logged messages.",
+ "defaultValue": "default",
+ "dataType": "Enumeration",
+ "allowedValues": "terse,default,verbose",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_error_verbosity",
+ "name": "log_error_verbosity",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Logs long lock waits.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_lock_waits",
+ "name": "log_lock_waits",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "-1",
+ "description": "Sets the minimum execution time (in milliseconds) above which statements will be logged. -1 disables logging statement durations.",
+ "defaultValue": "-1",
+ "dataType": "Integer",
+ "allowedValues": "-1-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_min_duration_statement",
+ "name": "log_min_duration_statement",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "error",
+ "description": "Causes all statements generating error at or above this level to be logged.",
+ "defaultValue": "error",
+ "dataType": "Enumeration",
+ "allowedValues": "debug5,debug4,debug3,debug2,debug1,info,notice,warning,error,log,fatal,panic",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_min_error_statement",
+ "name": "log_min_error_statement",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "warning",
+ "description": "Sets the message levels that are logged.",
+ "defaultValue": "warning",
+ "dataType": "Enumeration",
+ "allowedValues": "debug5,debug4,debug3,debug2,debug1,info,notice,warning,error,log,fatal,panic",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_min_messages",
+ "name": "log_min_messages",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Logs each replication command.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_replication_commands",
+ "name": "log_replication_commands",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "none",
+ "description": "Sets the type of statements logged.",
+ "defaultValue": "none",
+ "dataType": "Enumeration",
+ "allowedValues": "none,ddl,mod,all",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_statement",
+ "name": "log_statement",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "For each query, writes cumulative performance statistics to the server log.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_statement_stats",
+ "name": "log_statement_stats",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "-1",
+ "description": "Logs the use of temporary files larger than this number of kilobytes.",
+ "defaultValue": "-1",
+ "dataType": "Integer",
+ "allowedValues": "-1-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_temp_files",
+ "name": "log_temp_files",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "332800",
+ "description": "Sets the maximum memory to be used for maintenance operations.",
+ "defaultValue": "332800",
+ "dataType": "Integer",
+ "allowedValues": "1024-2097151",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/maintenance_work_mem",
+ "name": "maintenance_work_mem",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "8",
+ "description": "Sets the maximum number of parallel workers than can be active at one time.",
+ "defaultValue": "8",
+ "dataType": "Integer",
+ "allowedValues": "0-1024",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_parallel_workers",
+ "name": "max_parallel_workers",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "2",
+ "description": "Sets the maximum number of parallel processes per executor node.",
+ "defaultValue": "2",
+ "dataType": "Integer",
+ "allowedValues": "0-1024",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_parallel_workers_per_gather",
+ "name": "max_parallel_workers_per_gather",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "2",
+ "description": "Sets the maximum number of predicate-locked tuples per page.",
+ "defaultValue": "2",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_pred_locks_per_page",
+ "name": "max_pred_locks_per_page",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "-2",
+ "description": "Sets the maximum number of predicate-locked pages and tuples per relation.",
+ "defaultValue": "-2",
+ "dataType": "Integer",
+ "allowedValues": "-2147483648-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_pred_locks_per_relation",
+ "name": "max_pred_locks_per_relation",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "30000",
+ "description": "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data.",
+ "defaultValue": "30000",
+ "dataType": "Integer",
+ "allowedValues": "-1-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_standby_archive_delay",
+ "name": "max_standby_archive_delay",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "30000",
+ "description": "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data.",
+ "defaultValue": "30000",
+ "dataType": "Integer",
+ "allowedValues": "-1-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_standby_streaming_delay",
+ "name": "max_standby_streaming_delay",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "2",
+ "description": "Maximum number of table synchronization workers per subscription.",
+ "defaultValue": "2",
+ "dataType": "Integer",
+ "allowedValues": "0-262143",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_sync_workers_per_subscription",
+ "name": "max_sync_workers_per_subscription",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1024",
+ "description": "Sets the WAL size that triggers a checkpoint.",
+ "defaultValue": "1024",
+ "dataType": "Integer",
+ "allowedValues": "2-2097151",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_wal_size",
+ "name": "max_wal_size",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "64",
+ "description": "Sets the minimum amount of index data for a parallel scan.",
+ "defaultValue": "64",
+ "dataType": "Integer",
+ "allowedValues": "0-715827882",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/min_parallel_index_scan_size",
+ "name": "min_parallel_index_scan_size",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1024",
+ "description": "Sets the minimum amount of table data for a parallel scan.",
+ "defaultValue": "1024",
+ "dataType": "Integer",
+ "allowedValues": "0-715827882",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/min_parallel_table_scan_size",
+ "name": "min_parallel_table_scan_size",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "80",
+ "description": "Sets the minimum size to shrink the WAL to.",
+ "defaultValue": "80",
+ "dataType": "Integer",
+ "allowedValues": "2-2097151",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/min_wal_size",
+ "name": "min_wal_size",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Emits a warning for constructs that changed meaning since PostgreSQL 9.4.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/operator_precedence_warning",
+ "name": "operator_precedence_warning",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1000",
+ "description": "Sets the planner's estimate of the cost of starting up worker processes for parallel query.",
+ "defaultValue": "1000",
+ "dataType": "Numeric",
+ "allowedValues": "0-1.79769e+308",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/parallel_setup_cost",
+ "name": "parallel_setup_cost",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0.1",
+ "description": "Sets the planner's estimate of the cost of passing each tuple (row) from worker to master backend.",
+ "defaultValue": "0.1",
+ "dataType": "Numeric",
+ "allowedValues": "0-1.79769e+308",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/parallel_tuple_cost",
+ "name": "parallel_tuple_cost",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "When generating SQL fragments, quotes all identifiers.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/quote_all_identifiers",
+ "name": "quote_all_identifiers",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "4",
+ "description": "Sets the planner's estimate of the cost of a nonsequentially fetched disk page.",
+ "defaultValue": "4",
+ "dataType": "Numeric",
+ "allowedValues": "0-1.79769e+308",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/random_page_cost",
+ "name": "random_page_cost",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables row security.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/row_security",
+ "name": "row_security",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "\"$user\", public",
+ "description": "Sets the schema search order for names that are not schema-qualified.",
+ "defaultValue": "\"$user\", public",
+ "dataType": "String",
+ "allowedValues": "[A-Za-z.\"$, ]+",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/search_path",
+ "name": "search_path",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1",
+ "description": "Sets the planner's estimate of the cost of a sequentially fetched disk page.",
+ "defaultValue": "1",
+ "dataType": "Numeric",
+ "allowedValues": "0-1.79769e+308",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/seq_page_cost",
+ "name": "seq_page_cost",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "origin",
+ "description": "Sets the session's behavior for triggers and rewrite rules.",
+ "defaultValue": "origin",
+ "dataType": "Enumeration",
+ "allowedValues": "origin,replica,local",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/session_replication_role",
+ "name": "session_replication_role",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Causes '...' strings to treat backslashes literally.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/standard_conforming_strings",
+ "name": "standard_conforming_strings",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "Sets the maximum allowed duration (in milliseconds) of any statement. 0 turns this off.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/statement_timeout",
+ "name": "statement_timeout",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Enables synchronized sequential scans.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/synchronize_seqscans",
+ "name": "synchronize_seqscans",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Sets the current transaction's synchronization level.",
+ "defaultValue": "on",
+ "dataType": "Enumeration",
+ "allowedValues": "local,remote_write,on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/synchronous_commit",
+ "name": "synchronous_commit",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "9",
+ "description": "Maximum number of TCP keepalive retransmits.",
+ "defaultValue": "9",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/tcp_keepalives_count",
+ "name": "tcp_keepalives_count",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "120",
+ "description": "Time between issuing TCP keepalives.",
+ "defaultValue": "120",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/tcp_keepalives_idle",
+ "name": "tcp_keepalives_idle",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "30",
+ "description": "Time between TCP keepalive retransmits.",
+ "defaultValue": "30",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/tcp_keepalives_interval",
+ "name": "tcp_keepalives_interval",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1024",
+ "description": "Sets the maximum number of temporary buffers used by each database session.",
+ "defaultValue": "1024",
+ "dataType": "Integer",
+ "allowedValues": "100-1073741823",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/temp_buffers",
+ "name": "temp_buffers",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "",
+ "description": "Sets the tablespace(s) to use for temporary tables and sort files.",
+ "defaultValue": "",
+ "dataType": "String",
+ "allowedValues": "[A-Za-z._]*",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/temp_tablespaces",
+ "name": "temp_tablespaces",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "UTC",
+ "description": "Sets the time zone for displaying and interpreting time stamps.",
+ "defaultValue": "UTC",
+ "dataType": "String",
+ "allowedValues": "[A-Za-z0-9/+_-]+",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/TimeZone",
+ "name": "TimeZone",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Collects information about executing commands.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_activities",
+ "name": "track_activities",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "on",
+ "description": "Collects statistics on database activity.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_counts",
+ "name": "track_counts",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "none",
+ "description": "Collects function-level statistics on database activity.",
+ "defaultValue": "none",
+ "dataType": "Enumeration",
+ "allowedValues": "none,pl,all",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_functions",
+ "name": "track_functions",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Collects timing statistics for database I/O activity.",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_io_timing",
+ "name": "track_io_timing",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "off",
+ "description": "Treats \"expr=NULL\" as \"expr IS NULL\".",
+ "defaultValue": "off",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/transform_null_equals",
+ "name": "transform_null_equals",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "Vacuum cost delay in milliseconds.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-100",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_delay",
+ "name": "vacuum_cost_delay",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "200",
+ "description": "Vacuum cost amount available before napping.",
+ "defaultValue": "200",
+ "dataType": "Integer",
+ "allowedValues": "1-10000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_limit",
+ "name": "vacuum_cost_limit",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "20",
+ "description": "Vacuum cost for a page dirtied by vacuum.",
+ "defaultValue": "20",
+ "dataType": "Integer",
+ "allowedValues": "0-10000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_page_dirty",
+ "name": "vacuum_cost_page_dirty",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1",
+ "description": "Vacuum cost for a page found in the buffer cache.",
+ "defaultValue": "1",
+ "dataType": "Integer",
+ "allowedValues": "0-10000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_page_hit",
+ "name": "vacuum_cost_page_hit",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "10",
+ "description": "Vacuum cost for a page not found in the buffer cache.",
+ "defaultValue": "10",
+ "dataType": "Integer",
+ "allowedValues": "0-10000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_page_miss",
+ "name": "vacuum_cost_page_miss",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-1000000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_defer_cleanup_age",
+ "name": "vacuum_defer_cleanup_age",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "50000000",
+ "description": "Minimum age at which VACUUM should freeze a table row.",
+ "defaultValue": "50000000",
+ "dataType": "Integer",
+ "allowedValues": "0-1000000000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_freeze_min_age",
+ "name": "vacuum_freeze_min_age",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "150000000",
+ "description": "Age at which VACUUM should scan whole table to freeze tuples.",
+ "defaultValue": "150000000",
+ "dataType": "Integer",
+ "allowedValues": "0-2000000000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_freeze_table_age",
+ "name": "vacuum_freeze_table_age",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "5000000",
+ "description": "Minimum age at which VACUUM should freeze a MultiXactId in a table row.",
+ "defaultValue": "5000000",
+ "dataType": "Integer",
+ "allowedValues": "0-1000000000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_multixact_freeze_min_age",
+ "name": "vacuum_multixact_freeze_min_age",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "150000000",
+ "description": "Multixact age at which VACUUM should scan whole table to freeze tuples.",
+ "defaultValue": "150000000",
+ "dataType": "Integer",
+ "allowedValues": "0-2000000000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_multixact_freeze_table_age",
+ "name": "vacuum_multixact_freeze_table_age",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "10",
+ "description": "Sets the maximum interval between WAL receiver status reports to the primary.",
+ "defaultValue": "10",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/wal_receiver_status_interval",
+ "name": "wal_receiver_status_interval",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "200",
+ "description": "Time between WAL flushes performed in the WAL writer.",
+ "defaultValue": "200",
+ "dataType": "Integer",
+ "allowedValues": "1-10000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/wal_writer_delay",
+ "name": "wal_writer_delay",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "128",
+ "description": "Amount of WAL written out by WAL writer that triggers a flush.",
+ "defaultValue": "128",
+ "dataType": "Integer",
+ "allowedValues": "0-2147483647",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/wal_writer_flush_after",
+ "name": "wal_writer_flush_after",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "115712",
+ "description": "Sets the amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files.",
+ "defaultValue": "115712",
+ "dataType": "Integer",
+ "allowedValues": "4096-2097151",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/work_mem",
+ "name": "work_mem",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "base64",
+ "description": "Sets how binary values are to be encoded in XML.",
+ "defaultValue": "base64",
+ "dataType": "Enumeration",
+ "allowedValues": "base64,hex",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/xmlbinary",
+ "name": "xmlbinary",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ },
+ {
+ "properties": {
+ "value": "content",
+ "description": "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments.",
+ "defaultValue": "content",
+ "dataType": "Enumeration",
+ "allowedValues": "content,document",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/xmloption",
+ "name": "xmloption",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowCreate.json
new file mode 100644
index 000000000000..648e0befb9a2
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowCreate.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "maintenanceWindowName": "customerMaintenanceWindow",
+ "serverName": "testserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties": {
+ "dayOfWeek": 1,
+ "startHour": 0,
+ "startMinute": 30,
+ "durationInMinutes": 30
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/prkinteastus/maintenanceWindows/customerMaintenanceWindow",
+ "name": "customerMaintenanceWindow",
+ "properties": {
+ "dayOfWeek": 1,
+ "startHour": 0,
+ "startMinute": 30,
+ "durationInMinutes": 30
+ },
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/prkinteastus/maintenanceWindows/customerMaintenanceWindow",
+ "name": "customerMaintenanceWindow",
+ "properties": {
+ "dayOfWeek": 1,
+ "startHour": 0,
+ "startMinute": 30,
+ "durationInMinutes": 30
+ },
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowDelete.json
new file mode 100644
index 000000000000..cafa0a76ed07
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "maintenanceWindowName": "customerMaintenanceWindow",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowGet.json
new file mode 100644
index 000000000000..8febc0a4b487
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "maintenanceWindowName": "customerMaintenanceWindow",
+ "serverName": "testserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/prkinteastus/maintenanceWindows/customerMaintenanceWindow",
+ "name": "customerMaintenanceWindow",
+ "properties": {
+ "dayOfWeek": 1,
+ "startHour": 0,
+ "startMinute": 30,
+ "durationInMinutes": 30
+ },
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows"
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowListByServer.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowListByServer.json
new file mode 100644
index 000000000000..aff335545a5c
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowListByServer.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/prkinteastus/maintenanceWindows/customerMaintenanceWindow",
+ "name": "customerMaintenanceWindow",
+ "properties": {
+ "dayOfWeek": 1,
+ "startHour": 0,
+ "startMinute": 30,
+ "durationInMinutes": 30
+ },
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleCreate.json
new file mode 100644
index 000000000000..08347b10a459
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "firewallRuleName": "rule1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleDelete.json
new file mode 100644
index 000000000000..7210184118b1
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "firewallRuleName": "rule1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleGet.json
new file mode 100644
index 000000000000..bafbaea55717
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "firewallRuleName": "rule1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleListByServer.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleListByServer.json
new file mode 100644
index 000000000000..d4c80afd0a6e
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleListByServer.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/firewallRules?api-version=2020-02-14-privatepreview&$top=2&$skiptoken=skiptoken",
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/firewallRules/rule2",
+ "name": "rule2",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules",
+ "properties": {
+ "startIpAddress": "1.0.0.0",
+ "endIpAddress": "255.0.0.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/OperationList.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/OperationList.json
new file mode 100644
index 000000000000..af13889175e0
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/OperationList.json
@@ -0,0 +1,176 @@
+{
+ "parameters": {
+ "api-version": "2020-02-14-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DBforPostgreSQL/flexibleServers/read",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "PostgreSQL Server",
+ "operation": "List/Get PostgreSQL Servers",
+ "description": "Return the list of servers or gets the properties for the specified server."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/flexibleServers/write",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "PostgreSQL Server",
+ "operation": "Create/Update PostgreSQL Server",
+ "description": "Creates a server with the specified parameters or update the properties or tags for the specified server."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/flexibleServers/delete",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "PostgreSQL Server",
+ "operation": "Delete PostgreSQL Server",
+ "description": "Deletes an existing server."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "Firewall Rules",
+ "operation": "List/Get Firewall Rules",
+ "description": "Return the list of firewall rules for a server or gets the properties for the specified firewall rule."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "Firewall Rules",
+ "operation": "Create/Update Firewall Rule",
+ "description": "Creates a firewall rule with the specified parameters or update an existing rule."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/delete",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "Firewall Rules",
+ "operation": "Delete Firewall Rule",
+ "description": "Deletes an existing firewall rule."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "Database Metric Definition",
+ "operation": "Get database metric definitions",
+ "description": "Return types of metrics that are available for databases"
+ },
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "cpu_percent",
+ "displayName": "CPU percent",
+ "displayDescription": "CPU percent",
+ "unit": "Percent",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "compute_limit",
+ "displayName": "Compute Unit limit",
+ "displayDescription": "Compute Unit limit",
+ "unit": "Count",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "compute_consumption_percent",
+ "displayName": "Compute Unit percentage",
+ "displayDescription": "Compute Unit percentage",
+ "unit": "Percent",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "memory_percent",
+ "displayName": "Memory percent",
+ "displayDescription": "Memory percent",
+ "unit": "Percent",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "io_consumption_percent",
+ "displayName": "IO percent",
+ "displayDescription": "IO percent",
+ "unit": "Percent",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "storage_percent",
+ "displayName": "Storage percentage",
+ "displayDescription": "Storage percentage",
+ "unit": "Percent",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "storage_used",
+ "displayName": "Storage used",
+ "displayDescription": "Storage used",
+ "unit": "Bytes",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "storage_limit",
+ "displayName": "Storage limit",
+ "displayDescription": "Storage limit",
+ "unit": "Bytes",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "active_connections",
+ "displayName": "Total active connections",
+ "displayDescription": "Total active connections",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "connections_failed",
+ "displayName": "Total failed connections",
+ "displayDescription": "Total failed connections",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "Database Metric Definition",
+ "operation": "Read diagnostic setting",
+ "description": "Gets the disagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "Database Metric Definition",
+ "operation": "Write diagnostic setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreate.json
new file mode 100644
index 000000000000..3c3908a9039a
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreate.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "serverName": "pgtestsvc4",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "administratorLoginPassword": "password",
+ "version": "12",
+ "standbyCount": 0,
+ "vnetInjArgs": {
+ "delegatedSubnetName": "test-subnet",
+ "delegatedVnetID": "6ed504a3-24b8-4ba8-ac1f-7a1780195437",
+ "delegatedVnetName": "test-vnet"
+ },
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "tags": {
+ "ElasticServer": "1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "version": "12",
+ "state": "Ready",
+ "haState": "NotEnabled",
+ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "standbyCount": 0,
+ "vnetInjArgs": {
+ "delegatedSubnetName": "test-subnet",
+ "delegatedVnetID": "6ed504a3-24b8-4ba8-ac1f-7a1780195437",
+ "delegatedVnetName": "test-vnet"
+ },
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4",
+ "name": "pgtestsvc4",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ },
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "version": "12",
+ "state": "Ready",
+ "haState": "NotEnabled",
+ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "standbyCount": 0,
+ "vnetInjArgs": {
+ "delegatedSubnetName": "test-subnet",
+ "delegatedVnetID": "6ed504a3-24b8-4ba8-ac1f-7a1780195437",
+ "delegatedVnetName": "test-vnet"
+ },
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4",
+ "name": "pgtestsvc4",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreatePointInTimeRestore.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreatePointInTimeRestore.json
new file mode 100644
index 000000000000..37fbec167d04
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreatePointInTimeRestore.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "serverName": "pgtestsvc4",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "createMode": "PointInTimeRestore",
+ "sourceServerName": "sourcePgServerName",
+ "pointInTimeUTC": "2020-06-30T23:41:49.000Z"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "version": "12",
+ "state": "Ready",
+ "haState": "NotEnabled",
+ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "standbyCount": 0,
+ "vnetInjArgs": {},
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4",
+ "name": "pgtestsvc4",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ },
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "version": "12",
+ "state": "Ready",
+ "haState": "NotEnabled",
+ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "standbyCount": 0,
+ "vnetInjArgs": {},
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4",
+ "name": "pgtestsvc4",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerDelete.json
new file mode 100644
index 000000000000..4f1c212e5e92
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGet.json
new file mode 100644
index 000000000000..fdb65ca0219c
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serverName": "pgtestsvc1",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "version": "12",
+ "state": "Ready",
+ "haState": "NotEnabled",
+ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc1",
+ "name": "pgtestsvc1",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGetWithVnet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGetWithVnet.json
new file mode 100644
index 000000000000..639fb674d91a
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGetWithVnet.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serverName": "pgtestsvc1",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "version": "12",
+ "state": "Ready",
+ "haState": "NotEnabled",
+ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Disabled",
+ "vnetInjArgs": {
+ "delegatedSubnetName": "test-subnet",
+ "delegatedVnetID": "6ed504a3-24b8-4ba8-ac1f-7a1780195437",
+ "delegatedVnetName": "test-vnet"
+ },
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc1",
+ "name": "pgtestsvc1",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerList.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerList.json
new file mode 100644
index 000000000000..c45b4e7331f2
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerList.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforPostgreSQL/flexibleServers?api-version=2020-02-14-privatepreview&$top=3&$skiptoken=skiptoken",
+ "value": [
+ {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "version": "12",
+ "state": "Ready",
+ "haState": "NotEnabled",
+ "fullyQualifiedDomainName": "pgtestsvc1.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "Server": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc1",
+ "name": "pgtestsvc1",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "version": "12",
+ "state": "Ready",
+ "haState": "Healthy",
+ "fullyQualifiedDomainName": "pgtestsvc2.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "Server": "2"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc2",
+ "name": "pgtestsvc2",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "version": "12",
+ "state": "Ready",
+ "haState": "FailingOver",
+ "fullyQualifiedDomainName": "pgtestsvc3.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "Server": "3"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc3",
+ "name": "pgtestsvc3",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "version": "12",
+ "state": "Ready",
+ "haState": "ReplicatingData",
+ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "Server": "4"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4",
+ "name": "pgtestsvc4",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerListByResourceGroup.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerListByResourceGroup.json
new file mode 100644
index 000000000000..eb147eed2fbf
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerListByResourceGroup.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers?api-version=2020-02-14-privatepreview&$top=3&$skiptoken=skiptoken",
+ "value": [
+ {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "version": "12",
+ "state": "Ready",
+ "haState": "NotEnabled",
+ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/servers/pgtestsvc1",
+ "name": "pgtestsvc1",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "version": "12",
+ "state": "Ready",
+ "haState": "Healthy",
+ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc2",
+ "name": "pgtestsvc2",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "version": "12",
+ "state": "Ready",
+ "haState": "Healthy",
+ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 7
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4",
+ "name": "pgtestsvc4",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerRestart.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerRestart.json
new file mode 100644
index 000000000000..529712063a59
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerRestart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStart.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStart.json
new file mode 100644
index 000000000000..529712063a59
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStop.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStop.json
new file mode 100644
index 000000000000..529712063a59
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdate.json
new file mode 100644
index 000000000000..9340c6e76e9b
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serverName": "pgtestsvc4",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-02-14-privatepreview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLoginPassword": "newpassword",
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 20
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "GeneralPurpose",
+ "capacity": 4,
+ "name": "Standard_D4s_v3"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "version": "12",
+ "state": "Ready",
+ "haState": "NotEnabled",
+ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com",
+ "displayName": "demosingleserver",
+ "publicNetworkAccess": "Enabled",
+ "storageProfile": {
+ "storageMB": 524288,
+ "backupRetentionDays": 20
+ },
+ "vnetInjArgs": {}
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4",
+ "name": "pgtestsvc4",
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json
new file mode 100644
index 000000000000..8d350737eb01
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json
@@ -0,0 +1,1640 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2020-02-14-privatepreview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.DBForPostgreSql/flexibleServers/{serverName}": {
+ "put": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "FlexibleServers_Create",
+ "x-ms-examples": {
+ "Create a new server": {
+ "$ref": "./examples/ServerCreate.json"
+ },
+ "Create a database as a point in time restore": {
+ "$ref": "./examples/ServerCreatePointInTimeRestore.json"
+ }
+ },
+ "description": "Creates a new server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Server"
+ },
+ "description": "The required parameters for creating or updating a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "FlexibleServers_Update",
+ "x-ms-examples": {
+ "ServerUpdate": {
+ "$ref": "./examples/ServerUpdate.json"
+ }
+ },
+ "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerForUpdate"
+ },
+ "description": "The required parameters for updating a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "FlexibleServers_Delete",
+ "x-ms-examples": {
+ "ServerDelete": {
+ "$ref": "./examples/ServerDelete.json"
+ }
+ },
+ "description": "Deletes a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "FlexibleServers_Get",
+ "x-ms-examples": {
+ "ServerGet": {
+ "$ref": "./examples/ServerGet.json"
+ },
+ "ServerGetWithVnet": {
+ "$ref": "./examples/ServerGetWithVnet.json"
+ }
+ },
+ "description": "Gets information about a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "FlexibleServers_ListByResourceGroup",
+ "x-ms-examples": {
+ "ServerListByResourceGroup": {
+ "$ref": "./examples/ServerListByResourceGroup.json"
+ }
+ },
+ "description": "List all the servers in a given resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/flexibleServers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "FlexibleServers_List",
+ "x-ms-examples": {
+ "ServerList": {
+ "$ref": "./examples/ServerList.json"
+ }
+ },
+ "description": "List all the servers in a given subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/restart": {
+ "post": {
+ "tags": [
+ "ServerRestart"
+ ],
+ "operationId": "FlexibleServers_Restart",
+ "x-ms-examples": {
+ "ServerRestart": {
+ "$ref": "./examples/ServerRestart.json"
+ }
+ },
+ "description": "Restarts a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/start": {
+ "post": {
+ "tags": [
+ "ServerStart"
+ ],
+ "operationId": "FlexibleServers_Start",
+ "x-ms-examples": {
+ "ServerStart": {
+ "$ref": "./examples/ServerStart.json"
+ }
+ },
+ "description": "Starts a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/stop": {
+ "post": {
+ "tags": [
+ "ServerStop"
+ ],
+ "operationId": "FlexibleServers_Stop",
+ "x-ms-examples": {
+ "ServerStop": {
+ "$ref": "./examples/ServerStop.json"
+ }
+ },
+ "description": "Stops a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/firewallRules/{firewallRuleName}": {
+ "put": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FlexibleServersFirewallRules_CreateOrUpdate",
+ "x-ms-examples": {
+ "FirewallRuleCreate": {
+ "$ref": "./examples/FirewallRuleCreate.json"
+ }
+ },
+ "description": "Creates a new firewall rule or updates an existing firewall rule.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ },
+ "description": "The required parameters for creating or updating a firewall rule."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_Delete",
+ "x-ms-examples": {
+ "FirewallRuleDelete": {
+ "$ref": "./examples/FirewallRuleDelete.json"
+ }
+ },
+ "description": "Deletes a PostgreSQL server firewall rule.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FlexibleServersFirewallRules_Get",
+ "x-ms-examples": {
+ "FirewallRuleList": {
+ "$ref": "./examples/FirewallRuleGet.json"
+ }
+ },
+ "description": "List all the firewall rules in a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/firewallRules": {
+ "get": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FlexibleServersFirewallRules_ListByServer",
+ "x-ms-examples": {
+ "FirewallRuleList": {
+ "$ref": "./examples/FirewallRuleListByServer.json"
+ }
+ },
+ "description": "List all the firewall rules in a given PostgreSQL server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/configurations": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "FlexibleServersConfigurations_ListByServer",
+ "x-ms-examples": {
+ "ConfigurationList": {
+ "$ref": "./examples/ConfigurationListByServer.json"
+ }
+ },
+ "description": "List all the configurations in a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/configurations/{configurationName}": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "FlexibleServersConfigurations_Get",
+ "x-ms-examples": {
+ "ConfigurationGet": {
+ "$ref": "./examples/ConfigurationGet.json"
+ }
+ },
+ "description": "Gets information about a configuration of server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/maintenanceWindows/{maintenanceWindowName}": {
+ "put": {
+ "tags": [
+ "CustomerMaintenanceWindow"
+ ],
+ "operationId": "FlexibleServersCustomerMaintenanceWindow_CreateOrUpdate",
+ "x-ms-examples": {
+ "CustomerMaintenanceWindowCreate": {
+ "$ref": "./examples/CustomerMaintenanceWindowCreate.json"
+ }
+ },
+ "description": "Creates a new customer maintenance window.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MaintenanceWindowNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CustomerMaintenanceWindow"
+ },
+ "description": "The required parameters for creating or updating a customer maintenance window."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CustomerMaintenanceWindow"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/CustomerMaintenanceWindow"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "CustomerMaintenanceWindow"
+ ],
+ "operationId": "FlexibleServersCustomerMaintenanceWindow_Delete",
+ "x-ms-examples": {
+ "CustomerMaintenanceWindowDelete": {
+ "$ref": "./examples/CustomerMaintenanceWindowDelete.json"
+ }
+ },
+ "description": "Deletes a PostgreSQL server Customer maintenance window.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MaintenanceWindowNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "CustomerMaintenanceWindow"
+ ],
+ "operationId": "FlexibleServersCustomerMaintenanceWindow_Get",
+ "x-ms-examples": {
+ "CustomerMaintenanceWindowGet": {
+ "$ref": "./examples/CustomerMaintenanceWindowGet.json"
+ }
+ },
+ "description": "Get the Customer maintenance windows of a given PostgreSQL server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MaintenanceWindowNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CustomerMaintenanceWindow"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/maintenanceWindows": {
+ "get": {
+ "tags": [
+ "CustomerMaintenanceWindow"
+ ],
+ "operationId": "FlexibleServersCustomerMaintenanceWindow_ListByServer",
+ "x-ms-examples": {
+ "CustomerMaintenanceWindowList": {
+ "$ref": "./examples/CustomerMaintenanceWindowListByServer.json"
+ }
+ },
+ "description": "List all the Customer Maintenance Windows in a given PostgreSQL server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CustomerMaintenanceWindowListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability"
+ ],
+ "operationId": "FlexibleServersCheckNameAvailability_Execute",
+ "x-ms-examples": {
+ "NameAvailability": {
+ "$ref": "./examples/CheckNameAvailability.json"
+ }
+ },
+ "description": "Check the availability of name for resource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "nameAvailabilityRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityRequest"
+ },
+ "description": "The required parameters for checking if resource name is available."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NameAvailability"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DBForPostgreSql/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "OperationList": {
+ "$ref": "./examples/OperationList.json"
+ }
+ },
+ "description": "Lists all of the available REST API operations.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServerVersion": {
+ "type": "string",
+ "description": "The version of a server.",
+ "enum": [
+ "12"
+ ],
+ "x-ms-enum": {
+ "name": "ServerVersion",
+ "modelAsString": true
+ }
+ },
+ "ServerProperties": {
+ "properties": {
+ "administratorLogin": {
+ "type": "string",
+ "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "administratorLoginPassword": {
+ "type": "string",
+ "description": "The administrator login password (required for server creation).",
+ "x-ms-secret": true,
+ "format": "password",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ]
+ },
+ "version": {
+ "$ref": "#/definitions/ServerVersion",
+ "description": "PostgreSQL Server version."
+ },
+ "state": {
+ "type": "string",
+ "description": "A state of a server that is visible to user.",
+ "readOnly": true,
+ "enum": [
+ "Ready",
+ "Dropping",
+ "Disabled",
+ "Starting",
+ "Stopping",
+ "Stopped",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "ServerState",
+ "modelAsString": true
+ }
+ },
+ "haState": {
+ "type": "string",
+ "description": "A state of a HA server that is visible to user.",
+ "enum": [
+ "NotEnabled",
+ "CreatingStandby",
+ "ReplicatingData",
+ "FailingOver",
+ "Healthy",
+ "RemovingStandby"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ServerHAState",
+ "modelAsString": true
+ }
+ },
+ "fullyQualifiedDomainName": {
+ "type": "string",
+ "description": "The fully qualified domain name of a server.",
+ "readOnly": true
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name of a server."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Storage profile of a server."
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "public network access is enabled or not",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ServerPublicNetworkAccessState",
+ "modelAsString": true
+ }
+ },
+ "standbyCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "stand by count value can be either 0 or 1"
+ },
+ "sourceServerName": {
+ "type": "string",
+ "description": "The source PostgreSQL server name to restore from."
+ },
+ "pointInTimeUTC": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Restore point creation time (ISO8601 format), specifying the time to restore from."
+ },
+ "vnetInjArgs": {
+ "properties": {
+ "delegatedVnetID": {
+ "type": "string",
+ "description": "delegated vNet ID"
+ },
+ "delegatedSubnetName": {
+ "type": "string",
+ "description": "delegated subnet name"
+ },
+ "delegatedVnetName": {
+ "type": "string",
+ "description": "delegated vNet name"
+ }
+ }
+ },
+ "createMode": {
+ "type": "string",
+ "description": "The mode to create a new PostgreSQL server.",
+ "enum": [
+ "Default",
+ "PointInTimeRestore"
+ ],
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The properties of a server."
+ },
+ "Server": {
+ "properties": {
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Identity",
+ "description": "The Azure Active Directory identity of the server."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU (pricing tier) of the server."
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerProperties",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the server."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Represents a server."
+ },
+ "ServerPropertiesForUpdate": {
+ "properties": {
+ "administratorLoginPassword": {
+ "type": "string",
+ "format": "password",
+ "description": "The password of the administrator login."
+ },
+ "version": {
+ "$ref": "#/definitions/ServerVersion",
+ "description": "PostgreSQL Server version."
+ },
+ "vCores": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Max compute of a server is 64vCores."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Storage profile of a server."
+ },
+ "standbyCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "stand by count value can be either 0 or 1"
+ },
+ "serverEdition": {
+ "type": "string",
+ "description": "server edition default to general purpose"
+ }
+ }
+ },
+ "ServerForUpdate": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location the resource resides in."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU (pricing tier) of the server."
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerPropertiesForUpdate",
+ "x-ms-client-flatten": false,
+ "description": "Properties of the server."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "Represents a server to be updated."
+ },
+ "ServerListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Server"
+ },
+ "description": "The list of servers"
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of servers."
+ },
+ "StorageProfile": {
+ "properties": {
+ "backupRetentionDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Backup retention days for the server."
+ },
+ "storageMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Max storage allowed for a server."
+ }
+ },
+ "description": "Storage Profile properties of a server"
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the particular SKU, e.g. Burstable.",
+ "enum": [
+ "Burstable",
+ "GeneralPurpose",
+ "MemoryOptimized"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The scale up/out capacity, representing server's compute units."
+ }
+ },
+ "description": "Sku information related properties of a server."
+ },
+ "FirewallRuleProperties": {
+ "properties": {
+ "startIpAddress": {
+ "type": "string",
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$",
+ "description": "The start IP address of the server firewall rule. Must be IPv4 format."
+ },
+ "endIpAddress": {
+ "type": "string",
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$",
+ "description": "The end IP address of the server firewall rule. Must be IPv4 format."
+ }
+ },
+ "required": [
+ "startIpAddress",
+ "endIpAddress"
+ ],
+ "description": "The properties of a server firewall rule."
+ },
+ "FirewallRule": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FirewallRuleProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a firewall rule."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "Represents a server firewall rule."
+ },
+ "FirewallRuleListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallRule"
+ },
+ "description": "The list of firewall rules in a server."
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of firewall rules."
+ },
+ "CustomerMaintenanceWindowProperties": {
+ "properties": {
+ "dayOfWeek": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The day of week of the customer maintenance window to start"
+ },
+ "durationInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The duration of the customer maintenance window to run."
+ },
+ "startHour": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The starting hour of the customer maintenance window."
+ },
+ "startMinute": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The starting minutes of the customer maintenance window."
+ }
+ },
+ "required": [
+ "dayOfWeek",
+ "startHour",
+ "startMinute"
+ ],
+ "description": "The properties of a server firewall rule."
+ },
+ "CustomerMaintenanceWindow": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CustomerMaintenanceWindowProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a customer maintenance window."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "Represents a server firewall rule."
+ },
+ "CustomerMaintenanceWindowListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomerMaintenanceWindow"
+ },
+ "description": "The list of CustomerMaintenanceWindows in a PostgreSQL server."
+ }
+ },
+ "description": "A list of firewall rules."
+ },
+ "ConfigurationProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Value of the configuration."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Description of the configuration."
+ },
+ "defaultValue": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Default value of the configuration."
+ },
+ "dataType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Data type of the configuration.",
+ "enum": [
+ "Boolean",
+ "Numeric",
+ "Integer",
+ "Enumeration"
+ ],
+ "x-ms-enum": {
+ "name": "ConfigurationDataType",
+ "modelAsString": true
+ }
+ },
+ "allowedValues": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Allowed values of the configuration."
+ },
+ "source": {
+ "type": "string",
+ "description": "Source of the configuration."
+ }
+ },
+ "description": "The properties of a configuration."
+ },
+ "Configuration": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigurationProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a configuration."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Represents a Configuration."
+ },
+ "ConfigurationListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Configuration"
+ },
+ "description": "The list of server configurations."
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of server configurations."
+ },
+ "OperationDisplay": {
+ "properties": {
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Operation resource provider name."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource on which the operation is performed."
+ },
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Localized friendly name for the operation."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Operation description."
+ }
+ },
+ "description": "Display metadata associated with the operation."
+ },
+ "Operation": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the operation being performed on this particular object."
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "readOnly": true,
+ "description": "The localized display information for this particular operation or action."
+ },
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The intended executor of the operation.",
+ "enum": [
+ "NotSpecified",
+ "user",
+ "system"
+ ],
+ "x-ms-enum": {
+ "name": "OperationOrigin",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "readOnly": true,
+ "x-ms-client-flatten": false,
+ "description": "Additional descriptions for the operation."
+ }
+ },
+ "description": "REST API operation definition."
+ },
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "The list of resource provider operations."
+ }
+ },
+ "description": "A list of resource provider operations."
+ },
+ "NameAvailabilityRequest": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Resource name to verify."
+ },
+ "type": {
+ "type": "string",
+ "description": "Resource type used for verification."
+ }
+ },
+ "description": "Request from client to check resource name availability."
+ },
+ "NameAvailability": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Error Message."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Indicates whether the resource name is available."
+ },
+ "name": {
+ "type": "string",
+ "description": "name of the PostgreSQL server."
+ },
+ "type": {
+ "type": "string",
+ "description": "type of the server"
+ }
+ },
+ "description": "Represents a resource name availability."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "description": "An error response from the Batch service."
+ }
+ },
+ "parameters": {
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server.",
+ "x-ms-parameter-location": "method"
+ },
+ "FirewallRuleNameParameter": {
+ "name": "firewallRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server firewall rule.",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigurationNameParameter": {
+ "name": "configurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server configuration.",
+ "x-ms-parameter-location": "method"
+ },
+ "MaintenanceWindowNameParameter": {
+ "name": "maintenanceWindowName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance window.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/readme.md b/specification/postgresql/resource-manager/readme.md
index 103327a277e4..fff38f5d4148 100644
--- a/specification/postgresql/resource-manager/readme.md
+++ b/specification/postgresql/resource-manager/readme.md
@@ -31,6 +31,16 @@ openapi-type: arm
tag: package-2020-01-01
```
+### Tag: package-2020-02-14-privatepreview
+
+These settings apply only when `--tag=package-2020-02-14-privatepreview` is specified on the command line.
+
+
+``` yaml $(tag) == 'package-2020-02-14-privatepreview'
+input-file:
+- Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json
+```
+
### Tag: package-2020-01-01-privatepreview
These settings apply only when `--tag=package-2020-01-01-privatepreview` is specified on the command line.
@@ -92,6 +102,7 @@ input-file:
- Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json
```
+
### Tag: package-2017-12-01
These settings apply only when `--tag=package-2017-12-01` is specified on the command line.
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollection_Update.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollection_Update.json
new file mode 100644
index 000000000000..473c63d53b67
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollection_Update.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "moveResourceName": "moveresourcename1",
+ "api-version": "2019-10-01-preview",
+ "properties": {
+ "tags": "mc1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "movecollection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1",
+ "type": "Microsoft.Migrate/MoveCollections",
+ "location": "United States",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "7488fa50-1c8e-42c4-a117-38c8d05d8b72",
+ "tenantId": "cc7e5736-dbba-4059-a621-664eab9c1d80"
+ },
+ "properties": {
+ "sourceRegion": "eastus",
+ "targetRegion": "westus",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Commit.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Commit.json
new file mode 100644
index 000000000000..03877882ade2
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Commit.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "validateOnly": false,
+ "moveResources": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e80eb9fa-c996-4435-aa32-5af6f3d3077c/resourceGroups/RegionMoveRG-southcentralus-southeastasia/providers/Microsoft.Migrate/MoveCollections/MoveCollection-southcentralus-southeastasia/operations/1e4193c3-206e-4916-b124-1da16175eb0e",
+ "name": "1e4193c3-206e-4916-b124-1da16175eb0e",
+ "status": "Succeeded",
+ "startTime": "6/17/2020 6:45:55 AM",
+ "endTime": "6/17/2020 6:45:56 AM",
+ "error": null,
+ "properties": {}
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Create.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Create.json
new file mode 100644
index 000000000000..83e41bdae3a1
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Create.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "sourceRegion": "eastus",
+ "targetRegion": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "movecollection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1",
+ "type": "Microsoft.Migrate/MoveCollections",
+ "location": "United States",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "7488fa50-1c8e-42c4-a117-38c8d05d8b72",
+ "tenantId": "cc7e5736-dbba-4059-a621-664eab9c1d80"
+ },
+ "properties": {
+ "sourceRegion": "eastus",
+ "targetRegion": "westus",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Delete.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Delete.json
new file mode 100644
index 000000000000..d0286083600d
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Delete.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e80eb9fa-c996-4435-aa32-5af6f3d3077c/resourceGroups/RegionMoveRG-southcentralus-southeastasia/providers/Microsoft.Migrate/MoveCollections/MoveCollection-southcentralus-southeastasia/operations/1e4193c3-206e-4916-b124-1da16175eb0e",
+ "name": "1e4193c3-206e-4916-b124-1da16175eb0e",
+ "status": "Succeeded",
+ "startTime": "6/17/2020 6:45:55 AM",
+ "endTime": "6/17/2020 6:45:56 AM",
+ "error": null,
+ "properties": {}
+ }
+ },
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Discard.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Discard.json
new file mode 100644
index 000000000000..03877882ade2
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Discard.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "validateOnly": false,
+ "moveResources": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e80eb9fa-c996-4435-aa32-5af6f3d3077c/resourceGroups/RegionMoveRG-southcentralus-southeastasia/providers/Microsoft.Migrate/MoveCollections/MoveCollection-southcentralus-southeastasia/operations/1e4193c3-206e-4916-b124-1da16175eb0e",
+ "name": "1e4193c3-206e-4916-b124-1da16175eb0e",
+ "status": "Succeeded",
+ "startTime": "6/17/2020 6:45:55 AM",
+ "endTime": "6/17/2020 6:45:56 AM",
+ "error": null,
+ "properties": {}
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Get.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Get.json
new file mode 100644
index 000000000000..0c87ced9794f
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "movecollection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1",
+ "type": "Microsoft.Migrate/MoveCollections",
+ "location": "United States",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "7488fa50-1c8e-42c4-a117-38c8d05d8b72",
+ "tenantId": "cc7e5736-dbba-4059-a621-664eab9c1d80"
+ },
+ "properties": {
+ "sourceRegion": "eastus",
+ "targetRegion": "westus",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_InitiateMove.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_InitiateMove.json
new file mode 100644
index 000000000000..03877882ade2
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_InitiateMove.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "validateOnly": false,
+ "moveResources": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e80eb9fa-c996-4435-aa32-5af6f3d3077c/resourceGroups/RegionMoveRG-southcentralus-southeastasia/providers/Microsoft.Migrate/MoveCollections/MoveCollection-southcentralus-southeastasia/operations/1e4193c3-206e-4916-b124-1da16175eb0e",
+ "name": "1e4193c3-206e-4916-b124-1da16175eb0e",
+ "status": "Succeeded",
+ "startTime": "6/17/2020 6:45:55 AM",
+ "endTime": "6/17/2020 6:45:56 AM",
+ "error": null,
+ "properties": {}
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsByResourceGroup.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsByResourceGroup.json
new file mode 100644
index 000000000000..7359254ceab5
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsByResourceGroup.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "movecollection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1",
+ "type": "Microsoft.Migrate/MoveCollections",
+ "location": "United States",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "7488fa50-1c8e-42c4-a117-38c8d05d8b72",
+ "tenantId": "cc7e5736-dbba-4059-a621-664eab9c1d80"
+ },
+ "properties": {
+ "sourceRegion": "eastus",
+ "targetRegion": "westus",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsBySubscription.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsBySubscription.json
new file mode 100644
index 000000000000..94d27ee64517
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsBySubscription.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "movecollection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1",
+ "type": "Microsoft.Migrate/MoveCollections",
+ "location": "United States",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "7488fa50-1c8e-42c4-a117-38c8d05d8b72",
+ "tenantId": "cc7e5736-dbba-4059-a621-664eab9c1d80"
+ },
+ "properties": {
+ "sourceRegion": "eastus",
+ "targetRegion": "westus",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Prepare.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Prepare.json
new file mode 100644
index 000000000000..03877882ade2
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Prepare.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "validateOnly": false,
+ "moveResources": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e80eb9fa-c996-4435-aa32-5af6f3d3077c/resourceGroups/RegionMoveRG-southcentralus-southeastasia/providers/Microsoft.Migrate/MoveCollections/MoveCollection-southcentralus-southeastasia/operations/1e4193c3-206e-4916-b124-1da16175eb0e",
+ "name": "1e4193c3-206e-4916-b124-1da16175eb0e",
+ "status": "Succeeded",
+ "startTime": "6/17/2020 6:45:55 AM",
+ "endTime": "6/17/2020 6:45:56 AM",
+ "error": null,
+ "properties": {}
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ResolveDependencies.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ResolveDependencies.json
new file mode 100644
index 000000000000..85002cd1e9f3
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ResolveDependencies.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "moveResources": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e80eb9fa-c996-4435-aa32-5af6f3d3077c/resourceGroups/RegionMoveRG-southcentralus-southeastasia/providers/Microsoft.Migrate/MoveCollections/MoveCollection-southcentralus-southeastasia/operations/1e4193c3-206e-4916-b124-1da16175eb0e",
+ "name": "1e4193c3-206e-4916-b124-1da16175eb0e",
+ "status": "Succeeded",
+ "startTime": "6/17/2020 6:45:55 AM",
+ "endTime": "6/17/2020 6:45:56 AM",
+ "error": null,
+ "properties": {}
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Create.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Create.json
new file mode 100644
index 000000000000..8a7fa06ea0ae
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Create.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "moveResourceName": "moveresourcename1",
+ "api-version": "2019-10-01-preview",
+ "properties": {
+ "sourceId": "/subscriptions/subid/resourceGroups/eastus/providers/Microsoft.Compute/virtualMachines/eastusvm1",
+ "dependsOnOverride": [
+ {
+ "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/networkInterfaces/eastusvm140",
+ "targetId": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/westus/providers/Microsoft.Network/networkInterfaces/eastusvm140"
+ }
+ ],
+ "resourceSettings": {
+ "resourceType": "Microsoft.Compute/VirtualMachines",
+ "targetResourceName": "westusvm1",
+ "targetAvailabilityZone": "2",
+ "targetVmSize": null
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "name": "moveresourcename1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1",
+ "type": "Microsoft.Migrate/MoveCollections/MoveResources",
+ "properties": {
+ "sourceId": "/subscriptions/subid/resourceGroups/eastus/providers/Microsoft.Compute/virtualMachines/eastusvm1",
+ "dependsOn": [
+ {
+ "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/networkInterfaces/eastusvm140",
+ "resolutionType": "Automatic",
+ "resolutionStatus": "Unresolved"
+ }
+ ],
+ "resourceSettings": {
+ "resourceType": "Microsoft.Compute/virtualMachines",
+ "targetResourceName": "westusvm1",
+ "targetAvailabilityZone": "2",
+ "targetVmSize": null
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Delete.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Delete.json
new file mode 100644
index 000000000000..2c5f62dc2375
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Delete.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "moveResourceName": "moveresourcename1",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e80eb9fa-c996-4435-aa32-5af6f3d3077c/resourceGroups/RegionMoveRG-southcentralus-southeastasia/providers/Microsoft.Migrate/MoveCollections/MoveCollection-southcentralus-southeastasia/operations/1e4193c3-206e-4916-b124-1da16175eb0e",
+ "name": "1e4193c3-206e-4916-b124-1da16175eb0e",
+ "status": "Succeeded",
+ "startTime": "6/17/2020 6:45:55 AM",
+ "endTime": "6/17/2020 6:45:56 AM",
+ "error": null,
+ "properties": {}
+ }
+ },
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Get.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Get.json
new file mode 100644
index 000000000000..1fe7dab84fe9
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "moveResourceName": "moveresourcename1",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "moveresourcename1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1",
+ "type": "Microsoft.Migrate/MoveCollections/MoveResources",
+ "properties": {
+ "sourceId": "/subscriptions/subid/resourceGroups/eastus/providers/Microsoft.Compute/virtualMachines/eastusvm1",
+ "dependsOn": [
+ {
+ "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/networkInterfaces/eastusvm140",
+ "resolutionType": "Automatic",
+ "resolutionStatus": "Unresolved"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_List.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_List.json
new file mode 100644
index 000000000000..9330757c1ca0
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_List.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "moveResourceName": "moveresourcename1",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "moveresourcename1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1",
+ "type": "Microsoft.Migrate/MoveCollections/MoveResources",
+ "properties": {
+ "sourceId": "/subscriptions/subid/resourceGroups/eastus/providers/Microsoft.Compute/virtualMachines/eastusvm1",
+ "dependsOn": [
+ {
+ "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/networkInterfaces/eastusvm140",
+ "resolutionType": "Automatic",
+ "resolutionStatus": "Resolved",
+ "automaticResolution": {
+ "moveResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource2"
+ }
+ },
+ {
+ "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/EASTUS/providers/Microsoft.Compute/disks/eastusvm1_OsDisk_1_a88a2f0e8cf44fb3af24aa0f27101f83",
+ "resolutionType": "Automatic",
+ "resolutionStatus": "Resolved",
+ "automaticResolution": {
+ "moveResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource3"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "moveresourcename2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource2",
+ "type": "Microsoft.Migrate/MoveCollections/MoveResources",
+ "properties": {
+ "sourceId": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/networkInterfaces/eastusvm140",
+ "dependsOn": [
+ {
+ "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/virtualNetworks/eastus-vnet",
+ "resolutionType": "Manual",
+ "resolutionStatus": "Resolved",
+ "manualResolution": {
+ "targetId": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/westus/providers/Microsoft.Network/virtualNetworks/westus-vnet"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "moveresourcename3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource3",
+ "type": "Microsoft.Migrate/MoveCollections/MoveResources",
+ "properties": {
+ "sourceId": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/EASTUS/providers/Microsoft.Compute/disks/eastusvm1_OsDisk_1_a88a2f0e8cf44fb3af24aa0f27101f83"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/OperationsDiscovery_Get.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/OperationsDiscovery_Get.json
new file mode 100644
index 000000000000..f6c7b66be98b
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/OperationsDiscovery_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2016-08-10",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/vaultTokens/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Vault Token",
+ "description": "The Vault Token operation can be used to get Vault Token for vault level backend operations."
+ },
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/UnresolvedDependencies_Get.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/UnresolvedDependencies_Get.json
new file mode 100644
index 000000000000..ce8acedf78aa
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/UnresolvedDependencies_Get.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "moveCollectionName": "movecollection1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "count": 1,
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/regionmovecollection.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/regionmovecollection.json
new file mode 100644
index 000000000000..a0b0c4313636
--- /dev/null
+++ b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/regionmovecollection.json
@@ -0,0 +1,1921 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Region Move Service API",
+ "description": "A first party Azure service orchestrating the move of Azure resources from one Azure region to another or between zones within a region.",
+ "version": "2019-10-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}": {
+ "put": {
+ "tags": [
+ "MoveCollections"
+ ],
+ "operationId": "MoveCollections_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/MoveCollection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MoveCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveCollections_Create": {
+ "$ref": "./examples/MoveCollections_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "MoveCollections"
+ ],
+ "operationId": "MoveCollection_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/UpdateMoveCollectionRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MoveCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveCollection_Update": {
+ "$ref": "./examples/MoveCollection_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MoveCollections"
+ ],
+ "operationId": "MoveCollections_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveCollections_Delete": {
+ "$ref": "./examples/MoveCollections_Delete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "MoveCollections"
+ ],
+ "operationId": "MoveCollections_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MoveCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveCollections_Get": {
+ "$ref": "./examples/MoveCollections_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/prepare": {
+ "post": {
+ "tags": [
+ "MoveCollections"
+ ],
+ "operationId": "MoveCollections_Prepare",
+ "description": "Initiates prepare for the set of resources included in the request body. The prepare operation is on the moveResources that are in the moveState 'PreparePending' or 'PrepareFailed', on a successful completion the moveResource moveState do a transition to MovePending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/PrepareRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveCollections_Prepare": {
+ "$ref": "./examples/MoveCollections_Prepare.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/initiateMove": {
+ "post": {
+ "tags": [
+ "MoveCollections"
+ ],
+ "operationId": "MoveCollections_InitiateMove",
+ "description": "Moves the set of resources included in the request body. The move operation is triggered after the moveResources are in the moveState 'MovePending' or 'MoveFailed', on a successful completion the moveResource moveState do a transition to CommitPending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/ResourceMoveRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveCollections_InitiateMove": {
+ "$ref": "./examples/MoveCollections_InitiateMove.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/commit": {
+ "post": {
+ "tags": [
+ "MoveCollections"
+ ],
+ "operationId": "MoveCollections_Commit",
+ "description": "Commits the set of resources included in the request body. The commit operation is triggered on the moveResources in the moveState 'CommitPending' or 'CommitFailed', on a successful completion the moveResource moveState do a transition to Committed. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/CommitRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveCollections_Commit": {
+ "$ref": "./examples/MoveCollections_Commit.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/discard": {
+ "post": {
+ "tags": [
+ "MoveCollections"
+ ],
+ "operationId": "MoveCollections_Discard",
+ "description": "Discards the set of resources included in the request body. The discard operation is triggered on the moveResources in the moveState 'CommitPending' or 'DiscardFailed', on a successful completion the moveResource moveState do a transition to MovePending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/DiscardRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveCollections_Discard": {
+ "$ref": "./examples/MoveCollections_Discard.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/resolveDependencies": {
+ "post": {
+ "tags": [
+ "MoveCollections"
+ ],
+ "operationId": "MoveCollections_ResolveDependencies",
+ "description": "Computes, resolves and validate the dependencies of the moveResources in the move collection.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveCollections_ResolveDependencies": {
+ "$ref": "./examples/MoveCollections_ResolveDependencies.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources": {
+ "get": {
+ "tags": [
+ "MoveCollections"
+ ],
+ "operationId": "MoveResources_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. For example, you can use $filter=Properties/ProvisioningState eq 'Succeeded'."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MoveResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/MoveResourceFilter",
+ "x-ms-examples": {
+ "MoveResources_List": {
+ "$ref": "./examples/MoveResources_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/unresolvedDependencies": {
+ "get": {
+ "tags": [
+ "MoveCollections"
+ ],
+ "operationId": "UnresolvedDependencies_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/UnresolvedDependencyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UnresolvedDependencies_Get": {
+ "$ref": "./examples/UnresolvedDependencies_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}": {
+ "put": {
+ "tags": [
+ "MoveResources"
+ ],
+ "operationId": "MoveResources_Create",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveResourceName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/MoveResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MoveResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveResources_Create": {
+ "$ref": "./examples/MoveResources_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MoveResources"
+ ],
+ "operationId": "MoveResources_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveResourceName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveResources_Delete": {
+ "$ref": "./examples/MoveResources_Delete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "MoveResources"
+ ],
+ "operationId": "MoveResources_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveCollectionName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "moveResourceName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MoveResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MoveResources_Get": {
+ "$ref": "./examples/MoveResources_Get.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Migrate/operations": {
+ "get": {
+ "tags": [
+ "OperationsDiscovery"
+ ],
+ "operationId": "OperationsDiscovery_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OperationsDiscoveryCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OperationsDiscovery_Get": {
+ "$ref": "./examples/OperationsDiscovery_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Migrate/moveCollections": {
+ "get": {
+ "summary": "Get all MoveCollections.",
+ "description": "Get all the MoveCollections in the subscription.",
+ "operationId": "MoveCollections_ListMoveCollectionsBySubscription",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/MoveCollectionResultList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "MoveCollections_ListMoveCollectionsBySubscription": {
+ "$ref": "./examples/MoveCollections_ListMoveCollectionsBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections": {
+ "get": {
+ "summary": "Get all projects.",
+ "description": "Get all the projects in the resource group.",
+ "operationId": "MoveCollections_ListMoveCollectionsByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "in": "path",
+ "name": "resourceGroupName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/MoveCollectionResultList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "MoveCollections_ListMoveCollectionsByResourceGroup": {
+ "$ref": "./examples/MoveCollections_ListMoveCollectionsByResourceGroup.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ResourceIdentityType": {
+ "description": "The type of identity used for the region move service.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": true
+ }
+ },
+ "Identity": {
+ "description": "Defines the MSI properties of the Move Collection.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/ResourceIdentityType"
+ },
+ "principalId": {
+ "description": "Gets or sets the principal id.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "Gets or sets the tenant id.",
+ "type": "string"
+ }
+ }
+ },
+ "MoveState": {
+ "description": "Defines the MoveResource states.",
+ "enum": [
+ "AssignmentPending",
+ "PreparePending",
+ "PrepareInProgress",
+ "PrepareFailed",
+ "MovePending",
+ "MoveInProgress",
+ "MoveFailed",
+ "DiscardInProgress",
+ "DiscardFailed",
+ "CommitPending",
+ "CommitInProgress",
+ "CommitFailed",
+ "Committed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MoveState",
+ "modelAsString": true
+ }
+ },
+ "ProvisioningState": {
+ "description": "Defines the provisioning states.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Creating",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "JobName": {
+ "description": "Defines the job names.",
+ "enum": [
+ "InitialSync"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobName",
+ "modelAsString": true
+ }
+ },
+ "JobStatus": {
+ "description": "Defines the job status.",
+ "type": "object",
+ "properties": {
+ "jobName": {
+ "$ref": "#/definitions/JobName"
+ },
+ "jobProgress": {
+ "description": "Gets or sets the monitoring job percentage.",
+ "type": "string"
+ }
+ }
+ },
+ "MoveResourceStatus": {
+ "description": "Defines the move resource status.",
+ "type": "object",
+ "properties": {
+ "moveState": {
+ "$ref": "#/definitions/MoveState"
+ },
+ "jobStatus": {
+ "$ref": "#/definitions/JobStatus"
+ },
+ "errors": {
+ "$ref": "#/definitions/MoveResourceError"
+ },
+ "targetId": {
+ "description": "Gets the Target ARM Id of the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "ResolutionType": {
+ "description": "Defines the resolution type.",
+ "enum": [
+ "Manual",
+ "Automatic"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResolutionType",
+ "modelAsString": true
+ }
+ },
+ "DependencyType": {
+ "description": "Defines the dependency type.",
+ "enum": [
+ "RequiredForPrepare",
+ "RequiredForMove"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DependencyType",
+ "modelAsString": true
+ }
+ },
+ "MoveResourceDependency": {
+ "description": "Defines the dependency of the move resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Gets the source ARM ID of the dependent resource.",
+ "type": "string"
+ },
+ "resolutionStatus": {
+ "description": "Gets the dependency resolution status.",
+ "type": "string"
+ },
+ "resolutionType": {
+ "$ref": "#/definitions/ResolutionType"
+ },
+ "dependencyType": {
+ "$ref": "#/definitions/DependencyType"
+ },
+ "manualResolution": {
+ "$ref": "#/definitions/ManualResolutionProperties"
+ },
+ "automaticResolution": {
+ "$ref": "#/definitions/AutomaticResolutionProperties"
+ }
+ }
+ },
+ "MoveResourceDependencyOverride": {
+ "description": "Defines the dependency of the move resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Gets or sets the ARM ID of the dependent resource.",
+ "type": "string"
+ },
+ "targetId": {
+ "description": "Gets or sets the resource ARM id of either the MoveResource or the resource ARM ID of\r\nthe dependent resource.",
+ "type": "string"
+ }
+ }
+ },
+ "ManualResolutionProperties": {
+ "description": "Defines the properties for manual resolution.",
+ "type": "object",
+ "properties": {
+ "targetId": {
+ "description": "Gets or sets the target resource ARM ID of the dependent resource if the resource type is Manual.",
+ "type": "string"
+ }
+ }
+ },
+ "AutomaticResolutionProperties": {
+ "description": "Defines the properties for automatic resolution.",
+ "type": "object",
+ "properties": {
+ "moveResourceId": {
+ "description": "Gets the MoveResource ARM ID of\r\nthe dependent resource if the resolution type is Automatic.",
+ "type": "string"
+ }
+ }
+ },
+ "MoveResourceProperties": {
+ "description": "Defines the move resource properties.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "sourceId": {
+ "description": "Gets or sets the Source ARM Id of the resource.",
+ "type": "string"
+ },
+ "targetId": {
+ "description": "Gets or sets the Target ARM Id of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "existingTargetId": {
+ "description": "Gets or sets the existing target ARM Id of the resource.",
+ "type": "string"
+ },
+ "resourceSettings": {
+ "description": "Gets or sets the resource settings.",
+ "$ref": "#/definitions/ResourceSettings"
+ },
+ "moveStatus": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MoveResourceStatus"
+ }
+ ],
+ "readOnly": true
+ },
+ "dependsOn": {
+ "description": "Gets or sets the move resource dependencies.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MoveResourceDependency"
+ }
+ },
+ "dependsOnOverrides": {
+ "description": "Gets or sets the move resource dependencies overrides.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MoveResourceDependencyOverride"
+ }
+ },
+ "errors": {
+ "$ref": "#/definitions/MoveResourceError"
+ }
+ }
+ },
+ "MoveResource": {
+ "description": "Defines the move resource.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource Id for the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/MoveResourceProperties"
+ }
+ }
+ },
+ "MoveCollectionProperties": {
+ "description": "Defines the move collection properties.",
+ "type": "object",
+ "properties": {
+ "sourceRegion": {
+ "description": "Gets or sets the source region.",
+ "type": "string"
+ },
+ "targetRegion": {
+ "description": "Gets or sets the target region.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ }
+ }
+ },
+ "MoveCollection": {
+ "description": "Define the move collection.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource Id for the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The geo-location where the resource lives"
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity"
+ },
+ "properties": {
+ "$ref": "#/definitions/MoveCollectionProperties"
+ }
+ }
+ },
+ "UpdateMoveCollectionRequest": {
+ "description": "Defines the request body for updating move collection.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Gets or sets the Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity"
+ }
+ }
+ },
+ "PrepareRequest": {
+ "description": "Defines the request body for initiate prepare operation.",
+ "type": "object",
+ "properties": {
+ "validateOnly": {
+ "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.",
+ "type": "boolean"
+ },
+ "moveResources": {
+ "description": "Gets or sets the list of move resources ARM id's.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ResourceMoveRequest": {
+ "description": "Defines the request body for resource move operation.",
+ "type": "object",
+ "properties": {
+ "validateOnly": {
+ "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.",
+ "type": "boolean"
+ },
+ "moveResources": {
+ "description": "Gets or sets the list of move resources ARM id's.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "CommitRequest": {
+ "description": "Defines the request body for commit operation.",
+ "type": "object",
+ "properties": {
+ "validateOnly": {
+ "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.",
+ "type": "boolean"
+ },
+ "moveResources": {
+ "description": "Gets or sets the list of move resources ARM id's.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DiscardRequest": {
+ "description": "Defines the request body for discard operation.",
+ "type": "object",
+ "properties": {
+ "validateOnly": {
+ "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.",
+ "type": "boolean"
+ },
+ "moveResources": {
+ "description": "Gets or sets the list of move resources ARM id's.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "MoveResourceFilter": {
+ "description": "Move resource filter.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MoveResourceFilterProperties"
+ }
+ }
+ },
+ "MoveResourceFilterProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state."
+ }
+ }
+ },
+ "MoveResourceCollection": {
+ "description": "Defines the collection of move resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Gets the list of move resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MoveResource"
+ }
+ },
+ "nextLink": {
+ "description": "Gets the value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "MoveCollectionResultList": {
+ "description": "Defines the collection of move collections.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Gets the list of move collections.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MoveCollection"
+ }
+ },
+ "nextLink": {
+ "description": "Gets the value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "UnresolvedDependency": {
+ "description": "Unresolved dependency.",
+ "type": "object",
+ "properties": {
+ "count": {
+ "format": "int32",
+ "description": "Gets or sets the count.",
+ "type": "integer"
+ },
+ "id": {
+ "description": "Gets or sets the arm id of the dependency.",
+ "type": "string"
+ }
+ }
+ },
+ "UnresolvedDependencyCollection": {
+ "description": "Unresolved dependency collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Gets or sets the list of unresolved dependencies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UnresolvedDependency"
+ }
+ },
+ "nextLink": {
+ "description": "Gets or sets the value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "Display": {
+ "description": "Contains the localized display information for this particular operation / action. These\r\nvalue will be used by several clients for\r\n(1) custom role definitions for RBAC;\r\n(2) complex query filters for the event service; and\r\n(3) audit history / records for management operations.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Gets or sets the provider.\r\nThe localized friendly form of the resource provider name – it is expected to also\r\ninclude the publisher/company responsible.\r\nIt should use Title Casing and begin with \"Microsoft\" for 1st party services.\r\ne.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\".",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Gets or sets the resource.\r\nThe localized friendly form of the resource related to this action/operation – it\r\nshould match the public documentation for the resource provider.\r\nIt should use Title Casing.\r\nThis value should be unique for a particular URL type (e.g. nested types should *not*\r\nreuse their parent’s display.resource field)\r\ne.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\"\r\nor \"Scheduler Jobs\".",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Gets or sets the operation.\r\nThe localized friendly name for the operation, as it should be shown to the user.\r\nIt should be concise (to fit in drop downs) but clear (i.e. self-documenting).\r\nIt should use Title Casing.\r\nPrescriptive guidance: Read Create or Update Delete 'ActionName'.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Gets or sets the description.\r\nThe localized friendly description for the operation, as it should be shown to the\r\nuser.\r\nIt should be thorough, yet concise – it will be used in tool tips and detailed views.\r\nPrescriptive guidance for namespace:\r\nRead any 'display.provider' resource\r\nCreate or Update any 'display.provider' resource\r\nDelete any 'display.provider' resource\r\nPerform any other action on any 'display.provider' resource\r\nPrescriptive guidance for namespace:\r\nRead any 'display.resource' Create or Update any 'display.resource' Delete any\r\n 'display.resource' 'ActionName' any 'display.resources'.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationsDiscoveryProperties": {
+ "description": "ClientDiscovery properties.",
+ "type": "object"
+ },
+ "OperationsDiscovery": {
+ "description": "Operations discovery class.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Gets or sets Name of the API.\r\nThe name of the operation being performed on this particular object. It should\r\nmatch the action name that appears in RBAC / the event service.\r\nExamples of operations include:\r\n* Microsoft.Compute/virtualMachine/capture/action\r\n* Microsoft.Compute/virtualMachine/restart/action\r\n* Microsoft.Compute/virtualMachine/write\r\n* Microsoft.Compute/virtualMachine/read\r\n* Microsoft.Compute/virtualMachine/delete\r\nEach action should include, in order:\r\n(1) Resource Provider Namespace\r\n(2) Type hierarchy for which the action applies (e.g. server/databases for a SQL\r\nAzure database)\r\n(3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH\r\non a collection or named value, Write should be used.\r\nIf it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it\r\nis a POST, Action should be used.\r\nAs a note: all resource providers would need to include the \"{Resource Provider\r\nNamespace}/register/action\" operation in their response.\r\nThis API is used to register for their service, and should include details about the\r\noperation (e.g. a localized name for the resource provider + any special\r\nconsiderations like PII release).",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/Display"
+ },
+ "origin": {
+ "description": "Gets or sets Origin.\r\nThe intended executor of the operation; governs the display of the operation in the\r\nRBAC UX and the audit logs UX.\r\nDefault value is \"user,system\".",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationsDiscoveryProperties"
+ }
+ }
+ },
+ "OperationsDiscoveryCollection": {
+ "description": "Collection of ClientDiscovery details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Gets or sets the ClientDiscovery details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationsDiscovery"
+ }
+ },
+ "nextLink": {
+ "description": "Gets or sets the value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "MoveResourceError": {
+ "properties": {
+ "properties": {
+ "type": "object",
+ "description": "The move resource error body.",
+ "$ref": "#/definitions/MoveResourceErrorBody"
+ }
+ },
+ "description": "An error response from the azure region move service."
+ },
+ "MoveResourceErrorBody": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MoveResourceErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Azure Migrate service."
+ },
+ "ResourceSettings": {
+ "description": "Gets or sets the resource settings.",
+ "type": "object",
+ "required": [
+ "resourceType"
+ ],
+ "properties": {
+ "resourceType": {
+ "description": "The resource type. For example, the value can be Microsoft.Compute/virtualMachines.",
+ "type": "string"
+ },
+ "targetResourceName": {
+ "description": "Gets or sets the target Resource name.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "VirtualMachineResourceSettings": {
+ "description": "Gets or sets the virtual machine resource settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ }
+ ],
+ "properties": {
+ "targetAvailabilityZone": {
+ "description": "Gets or sets the target availability zone.",
+ "type": "string",
+ "enum": [
+ "1",
+ "2",
+ "3",
+ "NA"
+ ],
+ "x-ms-enum": {
+ "name": "targetAvailabilityZone",
+ "modelAsString": true
+ }
+ },
+ "targetVmSize": {
+ "description": "Gets or sets the target vm size.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AvailabilitySetResourceSettings": {
+ "description": "Gets or sets the availability set resource settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ }
+ ],
+ "properties": {
+ "faultDomain": {
+ "description": "Gets or sets the target fault domain.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "x-nullable": true
+ },
+ "updateDomain": {
+ "description": "Gets or sets the target update domain.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 20,
+ "x-nullable": true
+ }
+ },
+ "x-ms-discriminator-value": "Microsoft.Compute/availabilitySets"
+ },
+ "VirtualNetworkResourceSettings": {
+ "description": "Defines the virtual network resource settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "Microsoft.Network/virtualNetworks"
+ },
+ "NetworkSecurityGroupResourceSettings": {
+ "description": "Defines the network security group resource settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "Microsoft.Network/networkSecurityGroups"
+ },
+ "NetworkInterfaceResourceSettings": {
+ "description": "Defines the network interface resource settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "Microsoft.Network/networkInterfaces"
+ },
+ "SqlServerResourceSettings": {
+ "description": "Defines the SQL Server resource settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "Microsoft.Sql/servers"
+ },
+ "ZoneRedundant": {
+ "description": "Defines the zone redundant resource setting.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ZoneRedundant",
+ "modelAsString": true
+ }
+ },
+ "SqlElasticPoolResourceSettings": {
+ "description": "Defines the Sql ElasticPool resource settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ }
+ ],
+ "properties": {
+ "zoneRedundant": {
+ "$ref": "#/definitions/ZoneRedundant"
+ }
+ },
+ "x-ms-discriminator-value": "Microsoft.Sql/servers/elasticPools"
+ },
+ "SqlDatabaseResourceSettings": {
+ "description": "Defines the Sql Database resource settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ }
+ ],
+ "properties": {
+ "zoneRedundant": {
+ "$ref": "#/definitions/ZoneRedundant"
+ }
+ },
+ "x-ms-discriminator-value": "Microsoft.Sql/servers/databases"
+ },
+ "ResourceGroupResourceSettings": {
+ "description": "Defines the resource group resource settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "resourceGroups"
+ },
+ "PublicIPAddressResourceSettings": {
+ "description": "Defines the public IP address resource settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "Microsoft.Network/publicIPAddresses"
+ },
+ "LoadBalancerResourceSettings": {
+ "description": "Defines the load balancer resource settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "Microsoft.Network/loadBalancers"
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Cloud error body."
+ }
+ },
+ "description": "An error response from the service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the service."
+ },
+ "OperationStatus": {
+ "description": "Operation status REST resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Operation name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the operation. ARM expects the terminal status to be one of Succeeded/ Failed/ Canceled. All other values imply that the operation is still running.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "Start time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "description": "End time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/OperationStatusError",
+ "description": "Error stating all error details for the operation.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationStatusProperties",
+ "description": "Custom data.",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationStatusError": {
+ "description": "Class for operation status errors.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error code."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error message."
+ },
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "description": "The error details.",
+ "items": {
+ "$ref": "#/definitions/OperationStatusError"
+ }
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The additional info."
+ }
+ }
+ },
+ "OperationStatusProperties": {
+ "description": "Class for operation result properties.",
+ "type": "object",
+ "properties": {}
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "in": "path",
+ "name": "subscriptionId",
+ "description": "The Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "in": "query",
+ "name": "api-version",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/regionmove/resource-manager/readme.csharp.md b/specification/regionmove/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..f8de1d553f88
--- /dev/null
+++ b/specification/regionmove/resource-manager/readme.csharp.md
@@ -0,0 +1,15 @@
+## C
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+```yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ client-side-validation: false
+ namespace: Microsoft.Migrate
+ output-folder: $(csharp-sdks-folder)/regionmove/management/Microsoft.Migrate/GeneratedProtocol
+```
diff --git a/specification/regionmove/resource-manager/readme.go.md b/specification/regionmove/resource-manager/readme.go.md
new file mode 100644
index 000000000000..6dfd40318a2a
--- /dev/null
+++ b/specification/regionmove/resource-manager/readme.go.md
@@ -0,0 +1,19 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+```
+
+### Tag: package-2019-10-01-preview and go
+
+These settings apply only when `--tag=package-2019-10-01-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2019-10-01-preview' && $(go)
+namespace: Microsoft.Migrate
+output-folder: $(go-sdks-folder)/regionmove/Generated
+```
diff --git a/specification/regionmove/resource-manager/readme.md b/specification/regionmove/resource-manager/readme.md
new file mode 100644
index 000000000000..f8195d7a8cc3
--- /dev/null
+++ b/specification/regionmove/resource-manager/readme.md
@@ -0,0 +1,79 @@
+# regionmove
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for regionmove.
+
+## Getting Started
+
+To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run:
+
+> `autorest readme.md`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page.
+
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for the regionmove.
+
+```yaml
+openapi-type: arm
+tag: package-2019-10-01-preview
+```
+
+### Tag: package-2019-10-01-preview
+
+These settings apply only when `--tag=package-2019-10-01-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-10-01-preview'
+input-file:
+ - Microsoft.Migrate/preview/2019-10-01-preview/regionmovecollection.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+```yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_regionmove']
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
diff --git a/specification/regionmove/resource-manager/readme.python.md b/specification/regionmove/resource-manager/readme.python.md
new file mode 100644
index 000000000000..d11ee0947874
--- /dev/null
+++ b/specification/regionmove/resource-manager/readme.python.md
@@ -0,0 +1,21 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+```yaml $(python)
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: Microsoft.Migrate
+ package-name: regionmove
+ package-version: 2019-10-01-preview
+ clear-output-folder: true
+```
+
+```yaml $(python)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt/regionmove
+```
diff --git a/specification/regionmove/resource-manager/readme.ruby.md b/specification/regionmove/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..e168fcf6da2a
--- /dev/null
+++ b/specification/regionmove/resource-manager/readme.ruby.md
@@ -0,0 +1,19 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+```yaml
+package-name: azure_mgmt_regionmove
+package-version: 2019-10-01-preview
+azure-arm: true
+```
+
+### Tag: package-2019-10-01-preview and ruby
+
+These settings apply only when `--tag=package-2019-10-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2019-10-01-preview' && $(ruby)
+namespace: Microsoft.Migrate
+output-folder: $(ruby-sdks-folder)/regionmove
+```
diff --git a/specification/regionmove/resource-manager/readme.typescript.md b/specification/regionmove/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..20ec0299cfdb
--- /dev/null
+++ b/specification/regionmove/resource-manager/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "regionmove"
+ output-folder: "$(typescript-sdks-folder)/packages/regionmove"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json
index 9502311983bd..533fae60c7f0 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json
@@ -1608,7 +1608,19 @@
"RedHat",
"SqlDataWarehouse",
"VMwareCloudSimple",
- "RedHatOsa"
+ "RedHatOsa",
+ "Databricks",
+ "AppService",
+ "ManagedDisk",
+ "BlockBlob",
+ "RedisCache",
+ "AzureDataExplorer",
+ "MySql",
+ "MariaDb",
+ "PostgreSql",
+ "DedicatedHost",
+ "SapHana",
+ "SqlAzureHybridBenefit"
],
"x-ms-enum": {
"name": "ReservedResourceType",
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json
index 64763dca9c3a..9f40dec3bcba 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json
@@ -5930,7 +5930,7 @@
"Delete"
],
"x-ms-enum": {
- "name": "operation",
+ "name": "tagsPatchOperation",
"modelAsString": true,
"values": [
{
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json
index 96b7e2efcdaa..cb91fbec0f89 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json
@@ -6083,7 +6083,7 @@
"Delete"
],
"x-ms-enum": {
- "name": "operation",
+ "name": "tagsPatchOperation",
"modelAsString": true,
"values": [
{
diff --git a/specification/resources/resource-manager/readme.python.md b/specification/resources/resource-manager/readme.python.md
index 6371fe633fa0..a280776e0d1a 100644
--- a/specification/resources/resource-manager/readme.python.md
+++ b/specification/resources/resource-manager/readme.python.md
@@ -424,6 +424,19 @@ python:
output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/resources/v2019_05_01
```
+### Tag: package-resources-2019-03 and python
+
+These settings apply only when `--tag=package-resources-2019-03 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-resources-2019-03'
+namespace: azure.mgmt.resource.resources.v2019_03_01
+output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/resources/v2019_03_01
+python:
+ namespace: azure.mgmt.resource.resources.v2019_03_01
+ output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/resources/v2019_03_01
+```
+
### Tag: package-resources-2018-05 and python
These settings apply only when `--tag=package-resources-2018-05 --python` is specified on the command line.
diff --git a/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json
index c2a69aac29b9..ddead0180328 100644
--- a/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json
+++ b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json
@@ -5628,6 +5628,15 @@
}
}
},
+ "NativeBlobSoftDeleteDeletionDetectionPolicy": {
+ "description": "Defines a data deletion detection policy that captures deletions using the soft-deletion capability of Azure Blob Storage",
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataDeletionDetectionPolicy"
+ }
+ ]
+ },
"SearchIndexerDataSourceType": {
"type": "string",
"enum": [
diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json
index ff607b71c3b9..4bf96e5ca874 100644
--- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json
+++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json
@@ -5630,6 +5630,15 @@
}
}
},
+ "NativeBlobSoftDeleteDeletionDetectionPolicy": {
+ "description": "Defines a data deletion detection policy that captures deletions using the soft-deletion capability of Azure Blob Storage",
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataDeletionDetectionPolicy"
+ }
+ ]
+ },
"SearchIndexerDataSourceType": {
"type": "string",
"enum": [
diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json
index 57a5eedf1b93..a3229ec0e5dd 100644
--- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json
+++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json
@@ -5630,6 +5630,15 @@
}
}
},
+ "NativeBlobSoftDeleteDeletionDetectionPolicy": {
+ "description": "Defines a data deletion detection policy that captures deletions using the soft-deletion capability of Azure Blob Storage",
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataDeletionDetectionPolicy"
+ }
+ ]
+ },
"SearchIndexerDataSourceType": {
"type": "string",
"enum": [
diff --git a/specification/search/data-plane/Azure.Search/stable/2019-05-06/searchservice.json b/specification/search/data-plane/Azure.Search/stable/2019-05-06/searchservice.json
index a160c1a6e433..8ec85eff6905 100644
--- a/specification/search/data-plane/Azure.Search/stable/2019-05-06/searchservice.json
+++ b/specification/search/data-plane/Azure.Search/stable/2019-05-06/searchservice.json
@@ -3774,6 +3774,15 @@
}
}
},
+ "NativeBlobSoftDeleteDeletionDetectionPolicy": {
+ "description": "Defines a data deletion detection policy that captures deletions using the soft-deletion capability of Azure Blob Storage",
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataDeletionDetectionPolicy"
+ }
+ ]
+ },
"DataSourceType": {
"type": "string",
"enum": [
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 b7c7afad2beb..3b4e9d3159fd 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
@@ -3320,6 +3320,248 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists": {
+ "get": {
+ "x-ms-examples": {
+ "Get all watchlists.": {
+ "$ref": "./examples/watchlists/GetWatchlists.json"
+ }
+ },
+ "tags": [
+ "Watchlists"
+ ],
+ "description": "Gets all watchlists.",
+ "operationId": "Watchlists_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WatchlistList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists": {
+ "get": {
+ "x-ms-examples": {
+ "Get all watchlists.": {
+ "$ref": "./examples/watchlists/GetWatchlists.json"
+ }
+ },
+ "tags": [
+ "Watchlists"
+ ],
+ "description": "Gets all watchlists in a subscription.",
+ "operationId": "Watchlists_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WatchlistList"
+ }
+ },
+ "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/watchlists/{watchlistAlias}": {
+ "get": {
+ "x-ms-examples": {
+ "Get a watchlist.": {
+ "$ref": "./examples/watchlists/GetWatchlistByAlias.json"
+ }
+ },
+ "tags": [
+ "Watchlists"
+ ],
+ "description": "Gets a watchlist.",
+ "operationId": "Watchlists_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/WatchlistAlias"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Watchlist"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete a watchlist.": {
+ "$ref": "./examples/watchlists/DeleteWatchlist.json"
+ }
+ },
+ "tags": [
+ "Watchlists"
+ ],
+ "description": "Delete a watchlist.",
+ "operationId": "Watchlists_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/WatchlistAlias"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates a watchlist.": {
+ "$ref": "./examples/watchlists/CreateWatchlist.json"
+ }
+ },
+ "tags": [
+ "Watchlists"
+ ],
+ "description": "Creates a watchlist",
+ "operationId": "Watchlists_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/WatchlistAlias"
+ },
+ {
+ "$ref": "#/parameters/Watchlist"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Watchlist"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Watchlist"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -3968,7 +4210,8 @@
"Collection",
"Exfiltration",
"CommandAndControl",
- "Impact"
+ "Impact",
+ "PreAttack"
],
"type": "string",
"x-ms-enum": {
@@ -8356,6 +8599,207 @@
"relationName"
],
"type": "object"
+ },
+ "WatchlistList": {
+ "description": "List all the watchlists.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of watchlists.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of watchlist.",
+ "items": {
+ "$ref": "#/definitions/Watchlist"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "Watchlist": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceWithEtag"
+ }
+ ],
+ "description": "Represents a Watchlist in Azure Security Insights.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WatchlistProperties",
+ "description": "Watchlist properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object"
+ },
+ "WatchlistProperties": {
+ "description": "Describes watchlist properties",
+ "properties": {
+ "createdTimeUtc": {
+ "description": "The time the watchlist was created",
+ "format": "date-time",
+ "type": "string"
+ },
+ "createdBy": {
+ "$ref": "#/definitions/UserInfo",
+ "description": "Describes a user that created the watchlist",
+ "type": "object"
+ },
+ "displayName": {
+ "description": "The display name of the watchlist",
+ "type": "string"
+ },
+ "watchlistType": {
+ "description": "The type of the watchlist",
+ "type": "string"
+ },
+ "source": {
+ "description": "The source of the watchlist",
+ "enum": [
+ "Local file",
+ "Remote storage"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "source"
+ }
+ },
+ "provider": {
+ "description": "The provider of the watchlist",
+ "type": "string"
+ },
+ "description": {
+ "description": "A description of the watchlist",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "The tenantId where the watchlist belongs to.",
+ "type": "string"
+ },
+ "workspaceId": {
+ "description": "The workspaceId where the watchlist belongs to.",
+ "type": "string"
+ },
+ "labels": {
+ "description": "List of labels relevant to this watchlist",
+ "items": {
+ "$ref": "#/definitions/Label"
+ },
+ "type": "array"
+ },
+ "notes": {
+ "description": "The notes of the watchlist",
+ "type": "string"
+ },
+ "lastUpdatedTimeUtc": {
+ "description": "The last time the watchlist was updated",
+ "format": "date-time",
+ "type": "string"
+ },
+ "updatedBy": {
+ "$ref": "#/definitions/UserInfo",
+ "description": "Describes a user that updated the watchlist",
+ "type": "object"
+ },
+ "defaultDuration": {
+ "description": "The default duration of a watchlist (in ISO 8601 duration format)",
+ "format": "duration",
+ "type": "string"
+ },
+ "watchlistItems": {
+ "description": "List of watchlist items.",
+ "items": {
+ "$ref": "#/definitions/WatchlistItem"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "displayName",
+ "source",
+ "provider"
+ ],
+ "type": "object"
+ },
+ "WatchlistItem": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Represents a Watchlist Item in Azure Security Insights.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WatchlistItemProperties",
+ "description": "Watchlist item properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object"
+ },
+ "WatchlistItemProperties": {
+ "description": "Describes watchlist item properties",
+ "properties": {
+ "createdBy": {
+ "$ref": "#/definitions/UserInfo",
+ "description": "Describes a user that created the watchlist",
+ "type": "object"
+ },
+ "updatedBy": {
+ "$ref": "#/definitions/UserInfo",
+ "description": "Describes a user that updated the watchlist",
+ "type": "object"
+ },
+ "watchlistItemName": {
+ "description": "Name of the watchlist item",
+ "type": "string"
+ },
+ "watchlistItemPair": {
+ "description": "A key-value pair for a watchlist item",
+ "type": "object"
+ },
+ "entityMapping": {
+ "description": "A key-value pair for a watchlist item entity mapping",
+ "type": "object"
+ },
+ "tenantId": {
+ "description": "The tenantId to which this watchlist item belongs to",
+ "type": "string"
+ },
+ "createdTimeUtc": {
+ "description": "The time the watchlist item was created",
+ "format": "date-time",
+ "type": "string"
+ },
+ "lastUpdatedTimeUtc": {
+ "description": "The last time the watchlist item was updated",
+ "format": "date-time",
+ "type": "string"
+ },
+ "timeToLiveUtc": {
+ "description": "The time to live for the watchlist item",
+ "format": "date-time",
+ "type": "string"
+ },
+ "watchlistItemType": {
+ "description": "The type of the watchlist item",
+ "type": "string"
+ },
+ "watchlistId": {
+ "description": "The watchlist id of the parent of this watchlist item",
+ "type": "string"
+ }
+ },
+ "required": [
+ "watchlistId",
+ "watchlistItemPair"
+ ],
+ "type": "object"
}
},
"parameters": {
@@ -8698,6 +9142,24 @@
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
+ },
+ "WatchlistAlias": {
+ "description": "Watchlist Alias",
+ "in": "path",
+ "name": "watchlistAlias",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Watchlist": {
+ "description": "The watchlist",
+ "in": "body",
+ "name": "watchlist",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Watchlist"
+ },
+ "x-ms-parameter-location": "method"
}
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/CreateWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/CreateWatchlist.json
new file mode 100644
index 000000000000..07cf84ce8165
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/CreateWatchlist.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "watchlistAlias": "highValueAsset",
+ "watchlist": {
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "createdBy": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70"
+ },
+ "updatedBy": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70"
+ },
+ "lastUpdatedTimeUtc": "2019-01-01T13:15:30Z",
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "displayName": "High Value Assets Watchlist",
+ "watchlistType": "watchlist",
+ "source": "Local file",
+ "provider": "Azure Sentinel",
+ "description": "Watchlist Description",
+ "notes": "A note for the watchlist",
+ "labels": [
+ "Tag1",
+ "Tag2"
+ ],
+ "defaultDuration": "P1D2H3M4S"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset",
+ "name": "highValueAsset",
+ "type": "Microsoft.SecurityInsights/Watchlists",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "createdBy": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john@contoso.com",
+ "name": "john doe"
+ },
+ "updatedBy": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john@contoso.com",
+ "name": "john doe"
+ },
+ "lastUpdatedTimeUtc": "2019-01-01T13:15:30Z",
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "displayName": "High Value Assets Watchlist",
+ "watchlistType": "watchlist",
+ "source": "Local file",
+ "provider": "Azure Sentinel",
+ "description": "Watchlist Description",
+ "notes": "A note for the watchlist",
+ "labels": [
+ "Tag1",
+ "Tag2"
+ ],
+ "defaultDuration": "P1D2H3M4S"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset",
+ "name": "highValueAsset",
+ "type": "Microsoft.SecurityInsights/Watchlists",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "createdBy": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john@contoso.com",
+ "name": "john doe"
+ },
+ "updatedBy": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john@contoso.com",
+ "name": "john doe"
+ },
+ "lastUpdatedTimeUtc": "2019-01-01T13:15:30Z",
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "displayName": "High Value Assets Watchlist",
+ "watchlistType": "watchlist",
+ "source": "Local file",
+ "provider": "Azure Sentinel",
+ "description": "Watchlist Description",
+ "notes": "A note for the watchlist",
+ "labels": [
+ "Tag1",
+ "Tag2"
+ ],
+ "defaultDuration": "P1D2H3M4S"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/DeleteWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/DeleteWatchlist.json
new file mode 100644
index 000000000000..f466add6d9f0
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/DeleteWatchlist.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",
+ "watchlistAlias": "highValueAsset"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlistByAlias.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlistByAlias.json
new file mode 100644
index 000000000000..7e8db045c713
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlistByAlias.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "watchlistAlias": "highValueAsset"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset",
+ "name": "highValueAsset",
+ "type": "Microsoft.SecurityInsights/Watchlists",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "createdBy": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john@contoso.com",
+ "name": "john doe"
+ },
+ "displayName": "High Value Assets Watchlist",
+ "watchlistType": "watchlist",
+ "source": "Local file",
+ "provider": "Azure Sentinel",
+ "description": "A description",
+ "tenantId": "9ad7a5a8-490c-4f6e-b906-be97a89fa92a",
+ "workspaceId": "8a6c62fc-325f-48b2-a330-7863bf73eb45",
+ "labels": [
+ "Tag1",
+ "Tag2"
+ ],
+ "notes": "A note for the watchlist",
+ "lastUpdatedTimeUtc": "2019-01-01T13:15:30Z",
+ "updatedBy": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john@contoso.com",
+ "name": "john doe"
+ },
+ "defaultDuration": "P1D2H3M4S"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlists.json
new file mode 100644
index 000000000000..35fe3af660a4
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlists.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "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/watchlists/highValueAsset",
+ "name": "highValueAsset",
+ "type": "Microsoft.SecurityInsights/Watchlists",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "createdBy": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john@contoso.com",
+ "name": "john doe"
+ },
+ "displayName": "High Value Assets Watchlist",
+ "watchlistType": "watchlist",
+ "source": "Local file",
+ "provider": "Azure Sentinel",
+ "description": "A description",
+ "tenantId": "9ad7a5a8-490c-4f6e-b906-be97a89fa92a",
+ "workspaceId": "8a6c62fc-325f-48b2-a330-7863bf73eb45",
+ "labels": [
+ "Tag1",
+ "Tag2"
+ ],
+ "notes": "A note for the watchlist",
+ "lastUpdatedTimeUtc": "2019-01-01T13:15:30Z",
+ "updatedBy": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john@contoso.com",
+ "name": "john doe"
+ },
+ "defaultDuration": "P1D2H3M4S"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/GetShortTermRetentionPolicy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/GetShortTermRetentionPolicy.json
new file mode 100644
index 000000000000..d902e38ed53b
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/GetShortTermRetentionPolicy.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "Default-SQL-SouthEastAsia",
+ "serverName": "testsvr",
+ "databaseName": "testdb",
+ "policyName": "default",
+ "api-version": "2020-02-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default",
+ "name": "default",
+ "type": "Microsoft.Sql/locations/servers/databases/backupShortTermRetentionPolicies",
+ "properties": {
+ "retentionDays": 14,
+ "diffBackupIntervalInHours": 24
+ }
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ListShortTermRetentionPoliciesByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ListShortTermRetentionPoliciesByDatabase.json
new file mode 100644
index 000000000000..6379ca16c4c9
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ListShortTermRetentionPoliciesByDatabase.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "Default-SQL-SouthEastAsia",
+ "serverName": "testsvr",
+ "databaseName": "testdb",
+ "policyName": "default",
+ "api-version": "2020-02-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default",
+ "name": "default",
+ "type": "Microsoft.Sql/locations/servers/databases/backupShortTermRetentionPolicies",
+ "properties": {
+ "retentionDays": 14,
+ "diffBackupIntervalInHours": 24
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMax.json
new file mode 100644
index 000000000000..77758d3bddbf
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMax.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B",
+ "resourceGroupName": "testrg",
+ "managedInstanceName": "testinstance",
+ "api-version": "2020-02-02-preview",
+ "parameters": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "location": "Japan East",
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "dummylogin",
+ "administratorLoginPassword": "Un53cuRE!",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vCores": 8,
+ "storageSizeInGB": 1024,
+ "licenseType": "LicenseIncluded",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "dnsZonePartner": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Redirect",
+ "timezoneId": "UTC",
+ "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "capacity": 8,
+ "family": "Gen5"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "state": "Ready",
+ "provisioningState": "Creating",
+ "vCores": 8,
+ "storageSizeInGB": 1024,
+ "licenseType": "LicenseIncluded",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Redirect",
+ "dnsZone": "1b4e2caff2530",
+ "timezoneId": "UTC",
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ },
+ "location": "japaneast",
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance",
+ "name": "testinstance",
+ "type": "Microsoft.Sql/managedInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "capacity": 8,
+ "family": "Gen5"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "state": "Ready",
+ "provisioningState": "Creating",
+ "vCores": 8,
+ "storageSizeInGB": 1024,
+ "licenseType": "LicenseIncluded",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Redirect",
+ "dnsZone": "1b4e2caff2530",
+ "timezoneId": "UTC",
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ },
+ "location": "japaneast",
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance",
+ "name": "testinstance",
+ "type": "Microsoft.Sql/managedInstances"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMin.json
new file mode 100644
index 000000000000..adbb8938ef82
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMin.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B",
+ "resourceGroupName": "testrg",
+ "managedInstanceName": "testinstance",
+ "api-version": "2020-02-02-preview",
+ "parameters": {
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "dummylogin",
+ "administratorLoginPassword": "Un53cuRE!",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vCores": 8,
+ "storageSizeInGB": 1024,
+ "licenseType": "LicenseIncluded"
+ },
+ "location": "Japan East"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "capacity": 8,
+ "family": "Gen4"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "state": "Ready",
+ "provisioningState": "Creating",
+ "vCores": 8,
+ "storageSizeInGB": 1024,
+ "licenseType": "LicenseIncluded",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Redirect",
+ "dnsZone": "1b4e2caff2530"
+ },
+ "location": "japaneast",
+ "tags": {},
+ "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance",
+ "name": "testinstance",
+ "type": "Microsoft.Sql/managedInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "capacity": 8,
+ "family": "Gen4"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "state": "Ready",
+ "provisioningState": "Creating",
+ "vCores": 8,
+ "storageSizeInGB": 1024,
+ "licenseType": "LicenseIncluded",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Redirect",
+ "dnsZone": "1b4e2caff2530"
+ },
+ "location": "japaneast",
+ "tags": {},
+ "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance",
+ "name": "testinstance",
+ "type": "Microsoft.Sql/managedInstances"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceDelete.json
new file mode 100644
index 000000000000..c319c4c572d9
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B",
+ "resourceGroupName": "testrg",
+ "managedInstanceName": "testinstance",
+ "api-version": "2020-02-02-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceGet.json
new file mode 100644
index 000000000000..65f20f9e13f1
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceGet.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "20d7082a-0fc7-4468-82bd-542694d5042b",
+ "resourceGroupName": "testrg",
+ "managedInstanceName": "testinstance",
+ "api-version": "2020-02-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "capacity": 8,
+ "family": "Gen4"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "state": "Ready",
+ "provisioningState": "Succeeded",
+ "vCores": 8,
+ "storageSizeInGB": 1024,
+ "licenseType": "LicenseIncluded",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Default",
+ "dnsZone": "1b4e2caff2530",
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ },
+ "location": "japaneast",
+ "tags": {
+ "key": "value"
+ },
+ "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance",
+ "name": "testinstance",
+ "type": "Microsoft.Sql/managedInstances"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceList.json
new file mode 100644
index 000000000000..d52e7870eb76
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceList.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B",
+ "api-version": "2015-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "japaneast",
+ "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1",
+ "name": "testinstance1",
+ "type": "Microsoft.Sql/managedInstances",
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "capacity": 8,
+ "family": "Gen4"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "state": "Ready",
+ "vCores": 8,
+ "storageSizeInGB": 1024,
+ "licenseType": "LicenseIncluded",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Default",
+ "dnsZone": "1b4e2caff2530",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ }
+ },
+ {
+ "location": "japaneast",
+ "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2",
+ "name": "testinstance2",
+ "type": "Microsoft.Sql/managedInstances",
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "capacity": 16,
+ "family": "Gen4"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2",
+ "state": "Ready",
+ "vCores": 16,
+ "storageSizeInGB": 1024,
+ "licenseType": "Full",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Default",
+ "dnsZone": "2c3d1bdae3412",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByInstancePool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByInstancePool.json
new file mode 100644
index 000000000000..a9070679328c
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByInstancePool.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B",
+ "resourceGroupName": "Test1",
+ "instancePoolName": "pool1",
+ "api-version": "2020-02-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "canadacentral",
+ "id": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1",
+ "name": "testinstance1",
+ "type": "Microsoft.Sql/managedInstances",
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "capacity": 8,
+ "family": "Gen5"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "state": "Ready",
+ "vCores": 8,
+ "storageSizeInGB": 1024,
+ "licenseType": "LicenseIncluded",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "dnsZone": "1b4e2caff2530",
+ "proxyOverride": "Redirect",
+ "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ }
+ },
+ {
+ "location": "canadacentral",
+ "id": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2",
+ "name": "testinstance2",
+ "type": "Microsoft.Sql/managedInstances",
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "capacity": 16,
+ "family": "Gen5"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "state": "Ready",
+ "vCores": 16,
+ "storageSizeInGB": 1024,
+ "licenseType": "Full",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "dnsZone": "2c3d1bdae3412",
+ "proxyOverride": "Redirect",
+ "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByResourceGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByResourceGroup.json
new file mode 100644
index 000000000000..840979c8b5d2
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByResourceGroup.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B",
+ "resourceGroupName": "Test1",
+ "api-version": "2020-02-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "japaneast",
+ "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1",
+ "name": "testinstance1",
+ "type": "Microsoft.Sql/managedInstances",
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "capacity": 8,
+ "family": "Gen4"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "state": "Ready",
+ "provisioningState": "Succeeded",
+ "vCores": 8,
+ "storageSizeInGB": 1024,
+ "licenseType": "LicenseIncluded",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Default",
+ "dnsZone": "1b4e2caff2530",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ }
+ },
+ {
+ "location": "japaneast",
+ "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2",
+ "name": "testinstance2",
+ "type": "Microsoft.Sql/managedInstances",
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "capacity": 16,
+ "family": "Gen4"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2",
+ "state": "Ready",
+ "provisioningState": "Succeeded",
+ "vCores": 16,
+ "storageSizeInGB": 1024,
+ "licenseType": "Full",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Default",
+ "dnsZone": "2c3d1bdae3412",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMax.json
new file mode 100644
index 000000000000..84369b90b629
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMax.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B",
+ "resourceGroupName": "testrg",
+ "managedInstanceName": "testinstance",
+ "api-version": "2020-02-02-preview",
+ "parameters": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "capacity": 8
+ },
+ "properties": {
+ "administratorLogin": "dummylogin",
+ "administratorLoginPassword": "Un53cuRE!",
+ "proxyOverride": "Redirect",
+ "publicDataEndpointEnabled": false,
+ "licenseType": "BasePrice",
+ "vCores": 8,
+ "storageSizeInGB": 448,
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "id": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance",
+ "name": "testinstance",
+ "type": "Microsoft.Sql/managedInstances",
+ "location": "japaneast",
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "capacity": 8,
+ "family": "Gen4"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "state": "Ready",
+ "vCores": 8,
+ "storageSizeInGB": 448,
+ "licenseType": "BasePrice",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Redirect",
+ "dnsZone": "1b4e2caff2530",
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMin.json
new file mode 100644
index 000000000000..ea148b9c9552
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMin.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B",
+ "resourceGroupName": "testrg",
+ "managedInstanceName": "testinstance",
+ "api-version": "2020-02-02-preview",
+ "parameters": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "capacity": 8,
+ "family": "Gen4"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "state": "Ready",
+ "vCores": 8,
+ "storageSizeInGB": 1024,
+ "licenseType": "LicenseIncluded",
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "publicDataEndpointEnabled": false,
+ "proxyOverride": "Default",
+ "dnsZone": "1b4e2caff2530",
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
+ },
+ "location": "japaneast",
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance",
+ "name": "testinstance",
+ "type": "Microsoft.Sql/managedInstances"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/UpdateShortTermRetentionPolicy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/UpdateShortTermRetentionPolicy.json
new file mode 100644
index 000000000000..80cc04f681f9
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/UpdateShortTermRetentionPolicy.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "resourceGroup",
+ "serverName": "testsvr",
+ "databaseName": "testdb",
+ "policyName": "default",
+ "api-version": "2020-02-02-preview",
+ "parameters": {
+ "properties": {
+ "retentionDays": 14,
+ "diffBackupIntervalInHours": 24
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default",
+ "name": "default",
+ "type": "Microsoft.Sql/locations/servers/databases/backupShortTermRetentionPolicies",
+ "properties": {
+ "retentionDays": 14,
+ "diffBackupIntervalInHours": 24
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json
new file mode 100644
index 000000000000..2eb45c066050
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json
@@ -0,0 +1,787 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-02-02-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": {
+ "get": {
+ "tags": [
+ "ManagedInstances"
+ ],
+ "description": "Gets a list of managed instances in a resource group.",
+ "operationId": "ManagedInstances_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of managed instances.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\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 * 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 ResourceNotFound - The requested resource was not found.\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 * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\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 * 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."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List managed instances by resource group": {
+ "$ref": "./examples/ManagedInstanceListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}": {
+ "get": {
+ "tags": [
+ "ManagedInstances"
+ ],
+ "description": "Gets a managed instance.",
+ "operationId": "ManagedInstances_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified managed instance.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\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 * 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 ResourceNotFound - The requested resource was not found.\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 * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\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 * 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."
+ }
+ },
+ "x-ms-examples": {
+ "Get managed instance": {
+ "$ref": "./examples/ManagedInstanceGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedInstances"
+ ],
+ "description": "Creates or updates a managed instance.",
+ "operationId": "ManagedInstances_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The requested managed instance resource state.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedInstance"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the managed instance.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstance"
+ }
+ },
+ "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 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 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\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 InvalidResourceId - Invalid resource identifier.\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 * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\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"
+ },
+ "201": {
+ "description": "Successfully created the managed instance.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstance"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create managed instance with minimal properties": {
+ "$ref": "./examples/ManagedInstanceCreateMin.json"
+ },
+ "Create managed instance with all properties": {
+ "$ref": "./examples/ManagedInstanceCreateMax.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedInstances"
+ ],
+ "description": "Deletes a managed instance.",
+ "operationId": "ManagedInstances_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the managed instance."
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\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 * 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 ResourceNotFound - The requested resource was not found.\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 * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\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 * 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 * 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."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "The specified managed instance does not exist."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete managed instance": {
+ "$ref": "./examples/ManagedInstanceDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedInstances"
+ ],
+ "description": "Updates a managed instance.",
+ "operationId": "ManagedInstances_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The requested managed instance resource state.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceUpdate"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the managed instance.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstance"
+ }
+ },
+ "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 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 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\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 InvalidResourceId - Invalid resource identifier.\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 * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update managed instance with minimal properties": {
+ "$ref": "./examples/ManagedInstanceUpdateMin.json"
+ },
+ "Update managed instance with all properties": {
+ "$ref": "./examples/ManagedInstanceUpdateMax.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}/managedInstances": {
+ "get": {
+ "tags": [
+ "ManagedInstances"
+ ],
+ "description": "Gets a list of all managed instances in an instance pool.",
+ "operationId": "ManagedInstances_ListByInstancePool",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "name": "instancePoolName",
+ "in": "path",
+ "description": "The instance pool name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of managed instances.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 InstancePoolNotFound - An instance pool cannot be found"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List managed instances by instance pool": {
+ "$ref": "./examples/ManagedInstanceListByInstancePool.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances": {
+ "get": {
+ "tags": [
+ "ManagedInstances"
+ ],
+ "description": "Gets a list of all managed instances in the subscription.",
+ "operationId": "ManagedInstances_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of managed instances.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List managed instances": {
+ "$ref": "./examples/ManagedInstanceList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ManagedInstanceListResult": {
+ "description": "A list of managed instances.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedInstance"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Sku": {
+ "description": "An ARM Resource SKU.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the SKU, typically, a letter + Number code, e.g. P3.",
+ "type": "string"
+ },
+ "tier": {
+ "description": "The tier or edition of the particular SKU, e.g. Basic, Premium.",
+ "type": "string"
+ },
+ "size": {
+ "description": "Size of the particular SKU",
+ "type": "string"
+ },
+ "family": {
+ "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here.",
+ "type": "string"
+ },
+ "capacity": {
+ "format": "int32",
+ "description": "Capacity of the particular SKU.",
+ "type": "integer"
+ }
+ }
+ },
+ "ManagedInstanceProperties": {
+ "description": "The properties of a managed instance.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "enum": [
+ "Creating",
+ "Deleting",
+ "Updating",
+ "Unknown",
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true
+ },
+ "managedInstanceCreateMode": {
+ "description": "Specifies the mode of database creation.\r\n\r\nDefault: Regular instance creation.\r\n\r\nRestore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.",
+ "enum": [
+ "Default",
+ "PointInTimeRestore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ManagedServerCreateMode",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "fullyQualifiedDomainName": {
+ "description": "The fully qualified domain name of the managed instance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "administratorLogin": {
+ "description": "Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation).",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "administratorLoginPassword": {
+ "description": "The administrator login password (required for managed instance creation).",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ]
+ },
+ "subnetId": {
+ "description": "Subnet resource ID for the managed instance.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The state of the managed instance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "licenseType": {
+ "description": "The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).",
+ "enum": [
+ "LicenseIncluded",
+ "BasePrice"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ManagedInstanceLicenseType",
+ "modelAsString": true
+ }
+ },
+ "vCores": {
+ "format": "int32",
+ "description": "The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80.",
+ "type": "integer"
+ },
+ "storageSizeInGB": {
+ "format": "int32",
+ "description": "Storage size in GB. Minimum value: 32. Maximum value: 8192. Increments of 32 GB allowed only.",
+ "type": "integer"
+ },
+ "collation": {
+ "description": "Collation of the managed instance.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "dnsZone": {
+ "description": "The Dns Zone that the managed instance is in.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dnsZonePartner": {
+ "description": "The resource id of another managed instance whose DNS zone this managed instance will share after creation.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "publicDataEndpointEnabled": {
+ "description": "Whether or not the public data endpoint is enabled.",
+ "type": "boolean"
+ },
+ "sourceManagedInstanceId": {
+ "description": "The resource identifier of the source managed instance associated with create operation of this instance.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "restorePointInTime": {
+ "format": "date-time",
+ "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "proxyOverride": {
+ "description": "Connection type used for connecting to the instance.",
+ "enum": [
+ "Proxy",
+ "Redirect",
+ "Default"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ManagedInstanceProxyOverride",
+ "modelAsString": true
+ }
+ },
+ "timezoneId": {
+ "description": "Id of the timezone. Allowed values are timezones supported by Windows.\r\nWindows keeps details on supported timezones, including the id, in registry under\r\nKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones.\r\nYou can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info.\r\nList of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.\r\nAn example of valid timezone id is \"Pacific Standard Time\" or \"W. Europe Standard Time\".",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "instancePoolId": {
+ "description": "The Id of the instance pool this managed server belongs to.",
+ "type": "string"
+ },
+ "maintenanceConfigurationId": {
+ "description": "Specifies maintenance configuration id to apply to this managed instance.",
+ "type": "string"
+ },
+ "minimalTlsVersion": {
+ "description": "Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'",
+ "type": "string"
+ }
+ }
+ },
+ "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
+ },
+ "ManagedInstancePrivateLinkServiceConnectionStateProperty": {
+ "required": [
+ "status",
+ "description"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The private link service connection status.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The private link service connection description.",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "The private link service connection description.",
+ "type": "string",
+ "readOnly": 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"
+ }
+ }
+ }
+ },
+ "ManagedInstance": {
+ "description": "An Azure SQL managed instance.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "../../../common/v1/types.json#/definitions/ResourceIdentity",
+ "description": "The Azure Active Directory identity of the managed instance.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Managed instance SKU. Allowed values for sku.name: GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5"
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedInstanceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ManagedInstanceUpdate": {
+ "description": "An update request for an Azure SQL Database managed instance.",
+ "type": "object",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Managed instance sku"
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedInstanceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "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"
+ },
+ "WorkspaceNameParameter": {
+ "name": "workspaceName",
+ "in": "path",
+ "description": "The name of the workspace.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlPoolNameParameter": {
+ "name": "sqlPoolName",
+ "in": "path",
+ "description": "The name of the sql pool.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlDatabaseNameParameter": {
+ "name": "sqlDatabaseName",
+ "in": "path",
+ "description": "The name of the sql database.",
+ "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/2020-02-02-preview/shortTermRetentionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/shortTermRetentionPolicies.json
new file mode 100644
index 000000000000..1acb5f22460f
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/shortTermRetentionPolicies.json
@@ -0,0 +1,468 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-02-02-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}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "BackupShortTermRetentionPolicies"
+ ],
+ "description": "Gets a database's short term retention policy.",
+ "operationId": "BackupShortTermRetentionPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$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": "ShortTermRetentionPolicyName",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the policy.",
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\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": {
+ "Get the short term retention policy for the database.": {
+ "$ref": "./examples/GetShortTermRetentionPolicy.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupShortTermRetentionPolicies"
+ ],
+ "description": "Updates a database's short term retention policy.",
+ "operationId": "BackupShortTermRetentionPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$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": "ShortTermRetentionPolicyName",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The short term retention policy info.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the policy.",
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\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 InvalidDiffBackupIntervalHours - The differential backup interval hours of {0} is not a valid configuration. Valid differential backup interval must be {1} hours.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\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 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\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 * 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": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update the short term retention policy for the database.": {
+ "$ref": "./examples/UpdateShortTermRetentionPolicy.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupShortTermRetentionPolicies"
+ ],
+ "description": "Updates a database's short term retention policy.",
+ "operationId": "BackupShortTermRetentionPolicies_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$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": "ShortTermRetentionPolicyName",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The short term retention policy info.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the policy.",
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\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 InvalidDiffBackupIntervalHours - The differential backup interval hours of {0} is not a valid configuration. Valid differential backup interval must be {1} hours.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\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 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\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 * 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": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update the short term retention policy for the database.": {
+ "$ref": "./examples/UpdateShortTermRetentionPolicy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies": {
+ "get": {
+ "tags": [
+ "BackupShortTermRetentionPolicies"
+ ],
+ "description": "Gets a database's short term retention policy.",
+ "operationId": "BackupShortTermRetentionPolicies_ListByDatabase",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the policy.",
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\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": {
+ "Get the short term retention policy for the database.": {
+ "$ref": "./examples/ListShortTermRetentionPoliciesByDatabase.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BackupShortTermRetentionPolicyProperties": {
+ "description": "Properties of a short term retention policy",
+ "type": "object",
+ "properties": {
+ "retentionDays": {
+ "format": "int32",
+ "description": "The backup retention period in days. This is how many days Point-in-Time Restore will be supported.",
+ "type": "integer"
+ },
+ "diffBackupIntervalInHours": {
+ "format": "int32",
+ "description": "The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases.",
+ "enum": [
+ "12",
+ "24"
+ ],
+ "type": "integer",
+ "x-ms-enum": {
+ "name": "DiffBackupIntervalInHours",
+ "modelAsString": 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": {}
+ },
+ "BackupShortTermRetentionPolicy": {
+ "description": "A short term retention policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicyProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "BackupShortTermRetentionPolicyListResult": {
+ "description": "A list of short term retention policies.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ },
+ "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"
+ },
+ "WorkspaceNameParameter": {
+ "name": "workspaceName",
+ "in": "path",
+ "description": "The name of the workspace.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlPoolNameParameter": {
+ "name": "sqlPoolName",
+ "in": "path",
+ "description": "The name of the sql pool.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlDatabaseNameParameter": {
+ "name": "sqlDatabaseName",
+ "in": "path",
+ "description": "The name of the sql database.",
+ "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 52f33c520137..fecbf7467db3 100644
--- a/specification/sql/resource-manager/readme.md
+++ b/specification/sql/resource-manager/readme.md
@@ -113,7 +113,6 @@ input-file:
- Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessmentScans.json
- Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessments.json
- Microsoft.Sql/preview/2017-10-01-preview/instanceFailoverGroups.json
-- Microsoft.Sql/preview/2017-10-01-preview/shortTermRetentionPolicies.json
- Microsoft.Sql/preview/2017-10-01-preview/TdeCertificates.json
- Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceTdeCertificates.json
- Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceKeys.json
@@ -124,7 +123,6 @@ input-file:
- Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json
- 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/FailoverDatabases.json
- Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json
- Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json
@@ -140,8 +138,10 @@ input-file:
- Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json
- Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json
- Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json
+- Microsoft.Sql/preview/2020-02-02-preview/shortTermRetentionPolicies.json
- Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json
- Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json
+- Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json
# Needed when there is more than one input file
override-info:
@@ -229,7 +229,6 @@ input-file:
- Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json
- 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/FailoverDatabases.json
- Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json
- Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json
@@ -245,6 +244,7 @@ input-file:
- Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json
- Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json
- Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json
+- Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json
# Needed when there is more than one input file
override-info:
@@ -321,7 +321,6 @@ input-file:
- Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json
- 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/FailoverDatabases.json
- Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json
- Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json
@@ -336,6 +335,7 @@ input-file:
- Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json
- Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json
- Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json
+- Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json
- Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json
# Needed when there is more than one input file
@@ -498,6 +498,7 @@ input-file:
- ./Microsoft.Sql/preview/2020-02-02-preview/ServerSecurityAlertPolicies.json
- ./Microsoft.Sql/preview/2020-02-02-preview/operations.json
- ./Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json
+- ./Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json
- Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json
# Needed when there is more than one input file
@@ -532,7 +533,7 @@ input-file:
# Needed when there is more than one input file
override-info:
title: SqlManagementClient
- ```
+```
### Tag: package-pure-2018-06-preview
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createAlias.json
new file mode 100644
index 000000000000..2aa968771e12
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createAlias.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "aliasName": "aliasForNewSub",
+ "api-version": "2019-10-01-preview",
+ "body": {
+ "properties": {
+ "displayName": "Contoso MCA subscription",
+ "billingScope": "/providers/Microsoft.Billing/billingAccounts/e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31/billingProfiles/PE2Q-NOIT-BG7-TGB/invoiceSections/MTT4-OBS7-PJA-TGB",
+ "workloadType": "Production"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub",
+ "name": "aliasForNewSub",
+ "type": "Microsoft.Subscription/aliases",
+ "properties": {
+ "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub",
+ "name": "aliasForNewSub",
+ "type": "Microsoft.Subscription/aliases",
+ "properties": {
+ "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/deleteAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/deleteAlias.json
new file mode 100644
index 000000000000..8663c11a8528
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/deleteAlias.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "aliasName": "aliasForNewSub",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getAlias.json
new file mode 100644
index 000000000000..d36ebffa17b8
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getAlias.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "aliasName": "aliasForNewSub",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub",
+ "name": "aliasForNewSub",
+ "type": "Microsoft.Subscription/aliases",
+ "properties": {
+ "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/listAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/listAlias.json
new file mode 100644
index 000000000000..8108ceb5ec9b
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/listAlias.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub",
+ "name": "aliasForNewSub",
+ "type": "Microsoft.Subscription/aliases",
+ "properties": {
+ "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
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
index 8605058478c8..19d2b3b1e662 100644
--- 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
@@ -392,6 +392,146 @@
}
]
}
+ },
+ "/providers/Microsoft.Subscription/aliases/{aliasName}": {
+ "put": {
+ "description": "Create Alias Subscription.",
+ "operationId": "Subscription_CreateAlias",
+ "x-ms-examples": {
+ "CreateAlias": {
+ "$ref": "./examples/createAlias.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "responses": {
+ "200": {
+ "description": "Normal response for a successful query.",
+ "schema": {
+ "$ref": "#/definitions/PutAliasResponse"
+ }
+ },
+ "201": {
+ "description": "Accepted. Subscription creation is in progress.",
+ "schema": {
+ "$ref": "#/definitions/PutAliasResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/aliasNameParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PutAliasRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ]
+ },
+ "get": {
+ "description": "Get Alias Subscription.",
+ "operationId": "Subscription_GetAlias",
+ "x-ms-examples": {
+ "GetAlias": {
+ "$ref": "./examples/getAlias.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Subscription details.",
+ "schema": {
+ "$ref": "#/definitions/PutAliasResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/aliasNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ]
+ },
+ "delete": {
+ "description": "Delete Alias.",
+ "operationId": "Subscription_DeleteAlias",
+ "x-ms-examples": {
+ "DeleteAlias": {
+ "$ref": "./examples/deleteAlias.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Deleted the alias"
+ },
+ "204": {
+ "description": "Alias does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/aliasNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ]
+ }
+ },
+ "/providers/Microsoft.Subscription/aliases": {
+ "get": {
+ "description": "Get Alias Subscription.",
+ "operationId": "Subscription_ListAlias",
+ "x-ms-examples": {
+ "GetAlias": {
+ "$ref": "./examples/listAlias.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Subscription details.",
+ "schema": {
+ "$ref": "#/definitions/PutAliasListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ]
+ }
}
},
"definitions": {
@@ -409,6 +549,16 @@
}
}
},
+ "ErrorResponseBody": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
"CanceledSubscriptionId": {
"description": "The ID of the canceled subscription",
"properties": {
@@ -608,6 +758,116 @@
"type": "string"
}
}
+ },
+ "PutAliasRequest": {
+ "description": "The parameters required to create a new subscription.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PutAliasRequestProperties",
+ "description": "Put alias request properties."
+ }
+ }
+ },
+ "PutAliasRequestProperties": {
+ "description": "Put subscription properties.",
+ "required": [
+ "displayName",
+ "workloadType",
+ "billingScope"
+ ],
+ "properties": {
+ "displayName": {
+ "description": "The friendly name of the subscription.",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "The workload type of the subscription. It can be either Production or DevTest.",
+ "type": "string",
+ "x-ms-enum": {
+ "name": "workloadType",
+ "modelAsString": true
+ },
+ "enum": [
+ "Production",
+ "DevTest"
+ ]
+ },
+ "billingScope": {
+ "description": "Determines whether subscription is fieldLed, partnerLed or LegacyEA",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "This parameter can be used to create alias for existing subscription Id",
+ "type": "string"
+ }
+ }
+ },
+ "PutAliasResponse": {
+ "description": "Subscription Information with the alias.",
+ "properties": {
+ "id": {
+ "description": "Fully qualified ID for the alias resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Alias ID.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type, Microsoft.Subscription/aliases.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/PutAliasResponseProperties",
+ "description": "Put Alias response properties."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PutAliasResponseProperties": {
+ "description": "Put subscription creation result properties.",
+ "properties": {
+ "subscriptionId": {
+ "description": "Newly created subscription Id.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Accepted",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PutAliasListResult": {
+ "description": "The list of aliases.",
+ "properties": {
+ "value": {
+ "description": "The list of alias.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PutAliasResponse"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
}
},
"parameters": {
@@ -635,6 +895,14 @@
"schema": {
"$ref": "#/definitions/SubscriptionName"
}
+ },
+ "aliasNameParameter": {
+ "name": "aliasName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Alias Name"
}
},
"security": [
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json
index c7b8fb876b6d..4a768103cef3 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json
@@ -77,6 +77,7 @@
}
},
"description": "Creates or updates a linked service.",
+ "x-ms-long-running-operation": true,
"parameters": [
{
"$ref": "#/parameters/linkedServiceName"
@@ -108,6 +109,9 @@
"$ref": "#/definitions/LinkedServiceResource"
}
},
+ "202": {
+ "description": "Accepted."
+ },
"default": {
"description": "An error response received from the Azure Synapse service.",
"schema": {
@@ -171,6 +175,7 @@
}
},
"description": "Deletes a linked service.",
+ "x-ms-long-running-operation": true,
"parameters": [
{
"$ref": "#/parameters/linkedServiceName"
@@ -183,6 +188,9 @@
"200": {
"description": "OK."
},
+ "202": {
+ "description": "Accepted."
+ },
"204": {
"description": "No Content."
},
@@ -415,6 +423,7 @@
}
},
"description": "Creates or updates a pipeline.",
+ "x-ms-long-running-operation": true,
"parameters": [
{
"$ref": "#/parameters/pipelineName"
@@ -446,6 +455,9 @@
"$ref": "#/definitions/PipelineResource"
}
},
+ "202": {
+ "description": "Accepted."
+ },
"default": {
"description": "An error response received from the Azure Synapse service.",
"schema": {
@@ -509,6 +521,7 @@
}
},
"description": "Deletes a pipeline.",
+ "x-ms-long-running-operation": true,
"parameters": [
{
"$ref": "#/parameters/pipelineName"
@@ -521,6 +534,9 @@
"200": {
"description": "OK."
},
+ "202": {
+ "description": "Accepted."
+ },
"204": {
"description": "No Content."
},
@@ -545,6 +561,7 @@
}
},
"description": "Creates a run of a pipeline.",
+ "x-ms-long-running-operation": true,
"parameters": [
{
"$ref": "#/parameters/pipelineName"
@@ -593,6 +610,9 @@
"$ref": "#/definitions/CreateRunResponse"
}
},
+ "202": {
+ "description": "Accepted."
+ },
"default": {
"description": "An error response received from the Azure Synapse service.",
"schema": {
@@ -819,6 +839,7 @@
}
},
"description": "Creates or updates a trigger.",
+ "x-ms-long-running-operation": true,
"parameters": [
{
"$ref": "#/parameters/triggerName"
@@ -850,6 +871,9 @@
"$ref": "#/definitions/TriggerResource"
}
},
+ "202": {
+ "description": "Accepted."
+ },
"default": {
"description": "An error response received from the Azure Synapse service.",
"schema": {
@@ -913,6 +937,7 @@
}
},
"description": "Deletes a trigger.",
+ "x-ms-long-running-operation": true,
"parameters": [
{
"$ref": "#/parameters/triggerName"
@@ -925,6 +950,9 @@
"200": {
"description": "OK."
},
+ "202": {
+ "description": "Accepted."
+ },
"204": {
"description": "No Content."
},
@@ -2145,6 +2173,7 @@
}
},
"description": "Creates or updates a Note Book.",
+ "x-ms-long-running-operation": true,
"parameters": [
{
"$ref": "#/parameters/NotebookName"
@@ -2176,6 +2205,9 @@
"$ref": "#/definitions/NotebookResource"
}
},
+ "202": {
+ "description": "Accepted."
+ },
"default": {
"description": "An error response received from the Azure Synapse service.",
"schema": {
@@ -2239,6 +2271,7 @@
}
},
"description": "Deletes a Note book.",
+ "x-ms-long-running-operation": true,
"parameters": [
{
"$ref": "#/parameters/NotebookName"
@@ -2251,6 +2284,9 @@
"200": {
"description": "OK."
},
+ "202": {
+ "description": "Accepted."
+ },
"204": {
"description": "No Content."
},
@@ -4166,6 +4202,78 @@
"readOnly": true
}
}
+ },
+ "SynapseNotebookReference": {
+ "description": "Synapse notebook reference type.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Synapse notebook reference type.",
+ "enum": [
+ "NotebookReference"
+ ],
+ "x-ms-enum": {
+ "name": "NotebookReferenceType",
+ "modelAsString": true
+ }
+ },
+ "referenceName": {
+ "type": "string",
+ "description": "Reference notebook name."
+ }
+ },
+ "required": [
+ "type",
+ "referenceName"
+ ]
+ },
+ "SynapseSparkJobReference": {
+ "description": "Synapse spark job reference type.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Synapse spark job reference type.",
+ "enum": [
+ "SparkJobDefinitionReference"
+ ],
+ "x-ms-enum": {
+ "name": "SparkJobReferenceType",
+ "modelAsString": true
+ }
+ },
+ "referenceName": {
+ "type": "string",
+ "description": "Reference spark job name."
+ }
+ },
+ "required": [
+ "type",
+ "referenceName"
+ ]
+ },
+ "SqlPoolReference": {
+ "description": "SQL pool reference type.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "SQL pool reference type.",
+ "enum": [
+ "SqlPoolReference"
+ ],
+ "x-ms-enum": {
+ "name": "SqlPoolReferenceType",
+ "modelAsString": true
+ }
+ },
+ "referenceName": {
+ "type": "string",
+ "description": "Reference SQL pool name."
+ }
+ },
+ "required": [
+ "type",
+ "referenceName"
+ ]
}
},
"parameters": {
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json
index 2f1930156943..85156f10da86 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json
@@ -5831,6 +5831,115 @@
"required": [
"dataFlow"
]
+ },
+ "SynapseNotebookActivity": {
+ "description": "Execute Synapse notebook activity.",
+ "x-ms-discriminator-value": "SynapseNotebook",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Activity"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "x-ms-client-flatten": true,
+ "description": "Execute Synapse notebook activity properties.",
+ "$ref": "#/definitions/SynapseNotebookActivityTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "SynapseNotebookActivityTypeProperties": {
+ "description": "Execute Synapse notebook activity properties.",
+ "properties": {
+ "notebook": {
+ "description": "Synapse notebook reference.",
+ "$ref": "../artifacts.json#/definitions/SynapseNotebookReference"
+ },
+ "parameters": {
+ "description": "Notebook parameters.",
+ "$ref": "../artifacts.json#/definitions/ParameterValueSpecification"
+ }
+ },
+ "required": [
+ "notebook"
+ ]
+ },
+ "SynapseSparkJobDefinitionActivity": {
+ "description": "Execute spark job activity.",
+ "x-ms-discriminator-value": "SparkJob",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Activity"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "x-ms-client-flatten": true,
+ "description": "Execute spark job activity properties.",
+ "$ref": "#/definitions/SynapseSparkJobActivityTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "SynapseSparkJobActivityTypeProperties": {
+ "description": "Execute spark job activity properties.",
+ "properties": {
+ "sparkJob": {
+ "description": "Synapse spark job reference.",
+ "$ref": "../artifacts.json#/definitions/SynapseSparkJobReference"
+ }
+ },
+ "required": [
+ "sparkJob"
+ ]
+ },
+ "SqlPoolStoredProcedureActivity": {
+ "description": "Execute SQL pool stored procedure activity.",
+ "x-ms-discriminator-value": "SqlPoolStoredProcedure",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Activity"
+ }
+ ],
+ "properties": {
+ "sqlPool": {
+ "description": "SQL pool stored procedure reference.",
+ "$ref": "../artifacts.json#/definitions/SqlPoolReference"
+ },
+ "typeProperties": {
+ "x-ms-client-flatten": true,
+ "description": "Execute SQL pool stored procedure activity properties.",
+ "$ref": "#/definitions/SqlPoolStoredProcedureActivityTypeProperties"
+ }
+ },
+ "required": [
+ "sqlPool",
+ "typeProperties"
+ ]
+ },
+ "SqlPoolStoredProcedureActivityTypeProperties": {
+ "description": "SQL stored procedure activity properties.",
+ "properties": {
+ "storedProcedureName": {
+ "type": "object",
+ "description": "Stored procedure name. Type: string (or Expression with resultType string)."
+ },
+ "storedProcedureParameters": {
+ "description": "Value and type setting for stored procedure parameters. Example: \"{Parameter1: {value: \"1\", type: \"int\"}}\".",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/StoredProcedureParameter"
+ }
+ }
+ },
+ "required": [
+ "storedProcedureName"
+ ]
}
}
}
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Create.json
index 83813ca2dbd3..98aa40e23cce 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Create.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Create.json
@@ -17,14 +17,16 @@
"api-version": "2019-06-01-preview"
},
"responses": {
- "200": {
+ "202": {
"headers": {
"Date": "Sat, 16 Jun 2018 00:37:34 GMT",
"X-Content-Type-Options": "nosniff",
"x-ms-ratelimit-remaining-subscription-writes": "1196",
"x-ms-request-id": "b3b336b3-b203-4654-9cb6-a3a8d3a4b5de",
"x-ms-correlation-request-id": "b3b336b3-b203-4654-9cb6-a3a8d3a4b5de"
- },
+ }
+ },
+ "200": {
"body": {
"id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/linkedservices/exampleLinkedService",
"name": "exampleLinkedService",
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Delete.json
index d18fa82e8963..056099383983 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Delete.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Delete.json
@@ -6,6 +6,7 @@
},
"responses": {
"200": {},
+ "202": {},
"204": {}
}
}
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Update.json
index 217788a059e1..4c187f4df71c 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Update.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Update.json
@@ -18,14 +18,16 @@
"api-version": "2019-06-01-preview"
},
"responses": {
- "200": {
+ "202": {
"headers": {
"Date": "Sat, 16 Jun 2018 00:37:36 GMT",
"X-Content-Type-Options": "nosniff",
"x-ms-ratelimit-remaining-subscription-writes": "1195",
"x-ms-request-id": "53ad9761-ecdf-43ed-916f-878a5fb92cb0",
"x-ms-correlation-request-id": "53ad9761-ecdf-43ed-916f-878a5fb92cb0"
- },
+ }
+ },
+ "200": {
"body": {
"id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/linkedservices/exampleLinkedService",
"name": "exampleLinkedService",
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json
index 6dfcafc232ee..fbfd87d5af67 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json
@@ -56,14 +56,16 @@
"api-version": "2019-06-01-preview"
},
"responses": {
- "200": {
+ "202": {
"headers": {
"Date": "Sat, 16 Jun 2018 00:37:41 GMT",
"X-Content-Type-Options": "nosniff",
"x-ms-ratelimit-remaining-subscription-writes": "1192",
"x-ms-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264",
"x-ms-correlation-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264"
- },
+ }
+ },
+ "200": {
"body": {
"id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/Notebooks/exampleNotebook",
"name": "exampleNotebook",
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Delete.json
index 58395fa417a1..18eb27bcf289 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Delete.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Delete.json
@@ -6,6 +6,7 @@
},
"responses": {
"200": {},
+ "202": {},
"204": {}
}
}
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json
index c84e1a5f1741..2bb3761e3bc4 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json
@@ -56,14 +56,16 @@
"api-version": "2019-06-01-preview"
},
"responses": {
- "200": {
+ "202": {
"headers": {
"Date": "Sat, 16 Jun 2018 00:37:41 GMT",
"X-Content-Type-Options": "nosniff",
"x-ms-ratelimit-remaining-subscription-writes": "1192",
"x-ms-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264",
"x-ms-correlation-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264"
- },
+ }
+ },
+ "200": {
"body": {
"id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/notebooks/exampleNotebook",
"name": "exampleNotebook",
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Create.json
index 399eb460bf34..209be01f3755 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Create.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Create.json
@@ -80,14 +80,16 @@
"api-version": "2019-06-01-preview"
},
"responses": {
- "200": {
+ "202": {
"headers": {
"Date": "Sat, 16 Jun 2018 00:37:41 GMT",
"X-Content-Type-Options": "nosniff",
"x-ms-ratelimit-remaining-subscription-writes": "1192",
"x-ms-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264",
"x-ms-correlation-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264"
- },
+ }
+ },
+ "200": {
"body": {
"id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/pipelines/examplePipeline",
"name": "examplePipeline",
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json
index 7c4ec522a5a3..85c50f17c706 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json
@@ -11,14 +11,16 @@
"api-version": "2019-06-01-preview"
},
"responses": {
- "200": {
+ "202": {
"headers": {
"Date": "Sat, 16 Jun 2018 00:37:48 GMT",
"X-Content-Type-Options": "nosniff",
"x-ms-ratelimit-remaining-subscription-writes": "1190",
"x-ms-request-id": "5c2b442b-d360-43ec-9268-f923f88f31fd",
"x-ms-correlation-request-id": "5c2b442b-d360-43ec-9268-f923f88f31fd"
- },
+ }
+ },
+ "200": {
"body": {
"runId": "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b"
}
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Delete.json
index 4a7573f09103..f11dbd33965e 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Delete.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Delete.json
@@ -6,6 +6,7 @@
},
"responses": {
"200": {},
+ "202": {},
"204": {}
}
}
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Update.json
index b5718b15aa75..df05abf27735 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Update.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Update.json
@@ -67,14 +67,16 @@
"api-version": "2019-06-01-preview"
},
"responses": {
- "200": {
+ "202": {
"headers": {
"Date": "Sat, 16 Jun 2018 00:37:43 GMT",
"X-Content-Type-Options": "nosniff",
"x-ms-ratelimit-remaining-subscription-writes": "1191",
"x-ms-request-id": "91a763b0-d944-493f-83fc-e989c8b6e122",
"x-ms-correlation-request-id": "91a763b0-d944-493f-83fc-e989c8b6e122"
- },
+ }
+ },
+ "200": {
"body": {
"id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/pipelines/examplePipeline",
"name": "examplePipeline",
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Create.json
index c93a8820594c..939534b0e3b2 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Create.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Create.json
@@ -33,14 +33,16 @@
"api-version": "2019-06-01-preview"
},
"responses": {
- "200": {
+ "202": {
"headers": {
"Date": "Sat, 16 Jun 2018 00:40:14 GMT",
"X-Content-Type-Options": "nosniff",
"x-ms-ratelimit-remaining-subscription-writes": "1186",
"x-ms-request-id": "373f1a49-685d-4c07-8857-0fcf1bcaffcb",
"x-ms-correlation-request-id": "373f1a49-685d-4c07-8857-0fcf1bcaffcb"
- },
+ }
+ },
+ "200": {
"body": {
"id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/triggers/exampleTrigger",
"name": "exampleTrigger",
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Delete.json
index b3a88c1cd75e..4d223d73cce6 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Delete.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Delete.json
@@ -6,6 +6,7 @@
},
"responses": {
"200": {},
+ "202": {},
"204": {}
}
}
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Update.json
index a86583945183..d2b7d38757f8 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Update.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Update.json
@@ -34,14 +34,16 @@
"api-version": "2019-06-01-preview"
},
"responses": {
- "200": {
+ "202": {
"headers": {
"Date": "Sat, 16 Jun 2018 00:40:15 GMT",
"X-Content-Type-Options": "nosniff",
"x-ms-ratelimit-remaining-subscription-writes": "1185",
"x-ms-request-id": "d5ccf096-0618-4b26-9829-db77e4c391c7",
"x-ms-correlation-request-id": "d5ccf096-0618-4b26-9829-db77e4c391c7"
- },
+ }
+ },
+ "200": {
"body": {
"id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/triggers/exampleTrigger",
"name": "exampleTrigger",
diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Create.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Create.json
index 225ba8b38f01..f451ae5ffd9f 100644
--- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Create.json
+++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Create.json
@@ -32,6 +32,7 @@
},
"etag": "000046c4-0000-0000-0000-5b2198bf0000"
}
- }
+ },
+ "202": {}
}
}
diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Delete.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Delete.json
index 37046b23a1aa..d98c954511af 100644
--- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Delete.json
+++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Delete.json
@@ -8,6 +8,7 @@
},
"responses": {
"200": {},
+ "202": {},
"204": {},
"default": {
"body": {
diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntime.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntime.json
index 5f5f74294989..24cebc6fdb62 100644
--- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntime.json
+++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntime.json
@@ -145,6 +145,7 @@
},
"put": {
"operationId": "IntegrationRuntimes_Create",
+ "x-ms-long-running-operation": true,
"summary": "Create integration runtime",
"description": "Create an integration runtime",
"tags": [
@@ -191,6 +192,9 @@
"$ref": "#/definitions/IntegrationRuntimeResource"
}
},
+ "202": {
+ "description": "Accepted."
+ },
"default": {
"description": "An error response received from PUT integration runtime operation.",
"schema": {
@@ -212,6 +216,7 @@
},
"delete": {
"operationId": "IntegrationRuntimes_Delete",
+ "x-ms-long-running-operation": true,
"summary": "Delete integration runtime",
"description": "Delete an integration runtime",
"tags": [
@@ -239,6 +244,9 @@
"200": {
"description": "OK."
},
+ "202": {
+ "description": "Accepted."
+ },
"204": {
"description": "No Content."
},
diff --git a/specification/timeseriesinsights/resource-manager/readme.go.md b/specification/timeseriesinsights/resource-manager/readme.go.md
index cf66c104efd4..d10635c0c85f 100644
--- a/specification/timeseriesinsights/resource-manager/readme.go.md
+++ b/specification/timeseriesinsights/resource-manager/readme.go.md
@@ -52,5 +52,5 @@ These settings apply only when `--tag=package-2020-05-15 --go` is specified on t
Please also specify `--go-sdk-folder=`.
``` yaml $(tag)=='package-2020-05-15' && $(go)
-output-folder: $(go-sdk-folder)/services/stable/$(namespace)/mgmt/2020-05-15$(namespace)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-15/$(namespace)
```
\ No newline at end of file
diff --git a/specification/web/resource-manager/readme.go.md b/specification/web/resource-manager/readme.go.md
index 3ea00b2ca37c..f6e517e79cd8 100644
--- a/specification/web/resource-manager/readme.go.md
+++ b/specification/web/resource-manager/readme.go.md
@@ -13,12 +13,22 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-06
- tag: package-2019-08
- tag: package-2018-02
- tag: package-2016-09
- tag: package-2015-08-preview
```
+### Tag: package-2020-06 and go
+
+These settings apply only when `--tag=package-2020-06 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-06' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace)
+```
+
### Tag: package-2019-08 and go
These settings apply only when `--tag=package-2019-08 --go` is specified on the command line.
diff --git a/specificationRepositoryConfiguration.json b/specificationRepositoryConfiguration.json
index dbcddfeb40e2..56f4e1a3d873 100644
--- a/specificationRepositoryConfiguration.json
+++ b/specificationRepositoryConfiguration.json
@@ -3,7 +3,6 @@
"pipelineName": "automation - sdk",
"sdkRepositoryMappings": {
"azure-sdk-for-go": {
- "mainBranch": "latest",
"integrationRepository": "AzureSDKAutomation/azure-sdk-for-go",
"mainRepository": "Azure/azure-sdk-for-go"
},