Please ensure to do self-check against checklists in first PR comment.
PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging.
For specs comparison cross API versions, Use [API Specs Comparison Report Generator](${openapiHub}/tools/diff?pr=${owner}/${repo}/${PRNumber})
If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. [How to fix?](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/ci-fix.md)
Any feedback about review process or workflow bot, pls contact swagger and tools team. vsswagger@microsoft.com"
-
- rule:
type: label
label: BreakingChangeReviewRequired
- onLabeledComments: "Hi @${PRAuthor}, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow [breaking change policy](https://aka.ms/AzBreakingChangesPolicy) to request breaking change review and approval before proceeding swagger PR review. **Action**: To initiate an evaluation of the breaking change, create a new intake using the [template for breaking changes](https://msazure.visualstudio.com/One/_workitems/create/Scenario?templateId=d1c215ec-5d6a-4cb3-a193-95ddd0a1ba96&ownerId=85bb92fb-21fe-41ca-9309-47f2c5f57515). Addition details on the process and office hours are on the [Breaking change Wiki](https://dev.azure.com/msazure/AzureWiki/_wiki/wikis/AzureWiki.wiki/37684/Breaking-Changes). If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ma/swaggerfeedback."
+ variables:
+ openapiHub: https://portal.azure-devex-tools.com
+ onLabeledComments: "Hi @${PRAuthor}, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow [breaking change policy](https://aka.ms/AzBreakingChangesPolicy) to request breaking change review and approval before proceeding swagger PR review. **Action**: To initiate an evaluation of the breaking change, create a new intake using the [template for breaking changes](https://aka.ms/Breakingchangetemplate). Addition details on the process and office hours are on the [Breaking change Wiki](https://dev.azure.com/msazure/AzureWiki/_wiki/wikis/AzureWiki.wiki/37684/Breaking-Changes). If you want to know the production traffic statistic, please see [ARM Traffic statistic](${openapiHub}/api/pr/query-traffic?pr=${owner}/${repo}/${PRNumber}&days=5). If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ma/swaggerfeedback."
- rule:
type: label
@@ -35,3 +29,18 @@
type: label
label: NewApiVersionRequired
onLabeledComments: "NewApiVersionRequired reason:A service’s API is a contract with customers and is represented by using the api-version query parameter. Changes such as adding an optional property to a request/response or introducing a new operation is a change to the service’s contract and therefore requires a new api-version value. This is critically important for documentation, client libraries, and customer support. EXAMPLE: if a customer calls a service in the public cloud using api-version=2020-07-27, the new property or operation may exist but if they call the service in a government cloud, air-gapped cloud, or Azure Stack Hub cloud using the same api-version, the property or operation may not exist. Because there is no clear relationship between the service api-version and the new property/operation, customers can’t trust the documentation and Azure customer have difficulty helping customers diagnose issues. In addition, each client library version documents the service version it supports. When an optional property or new operation is added to a service and its Swagger, new client libraries must be produced to expose this functionality to customers. Without updating the api-version, it is unclear to customers which version of a client library supports these new features. "
+
+- rule:
+ type: label
+ label: CI-FixRequiredOnFailure
+ onLabeledComments: "Hi @${PRAuthor}, Your PR has some issues. Please fix the CI sequentially by following the order of `Avocado, semantic validation, model validation, breaking change, lintDiff`.
If you need further help, please feedback via [swagger feedback](https://aka.ms/swaggerfeedback)."
+
+- rule:
+ type: PROpen
+ variables:
+ openapiHub: https://portal.azure-devex-tools.com
+ keywords:
+ - "I have reviewed the [documentation](https://aka.ms/ameonboard) for the workflow."
+ onOpenedComments: "Hi, @${PRAuthor} Thanks for your PR. I am workflow bot for review process. Here are some small tips.
Please ensure to do self-check against checklists in first PR comment.
PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging.
For specs comparison cross API versions, Use [API Specs Comparison Report Generator](${openapiHub}/tools/diff?pr=${owner}/${repo}/${PRNumber})
If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. [How to fix?](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/ci-fix.md)
**Max-length:** 20 characters"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length:** 8 characters
**Max-length:** 123 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\""
+ },
+ "licenseType": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Windows_Server"
+ ],
+ "x-ms-enum": {
+ "name": "licenseType",
+ "modelAsString": true
+ },
+ "description": "The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User Benefits for Windows VMs."
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true
+ },
+ "description": "Network plugin used for building Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true
+ },
+ "description": "Network policy used for building Kubernetes network."
+ },
+ "networkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true
+ },
+ "description": "Network mode used for building Kubernetes network."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true
+ },
+ "default": "loadBalancer",
+ "description": "The outbound (egress) routing method."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true
+ },
+ "description": "The load balancer sku for the managed cluster."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "MaintenanceConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "The list of maintenance configurations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of maintenance configuration results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List maintenance configurations operation."
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "MaintenanceConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "The system meta data relating to this resource."
+ },
+ "properties": {
+ "description": "Properties of a default maintenance configuration.",
+ "$ref": "#/definitions/MaintenanceConfigurationProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "maintenance configuration."
+ },
+ "MaintenanceConfigurationProperties": {
+ "properties": {
+ "timeInWeek": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeInWeek"
+ },
+ "description": "Weekday time slots allowed to upgrade."
+ },
+ "notAllowedTime": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSpan"
+ },
+ "description": "Time slots on which upgrade is not allowed."
+ }
+ },
+ "description": "Default maintenance configuration properties."
+ },
+ "TimeInWeek": {
+ "properties": {
+ "day": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "A day in a week."
+ },
+ "hourSlots": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HourInDay"
+ },
+ "description": "hour slots in a day."
+ }
+ },
+ "description": "Time in a week."
+ },
+ "WeekDay": {
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "WeekDay",
+ "modelAsString": true
+ },
+ "description": "The weekday enum."
+ },
+ "HourInDay": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 23,
+ "minimum": 0,
+ "description": "Hour in a day."
+ },
+ "TimeSpan": {
+ "properties": {
+ "start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start of a time span"
+ },
+ "end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of a time span"
+ }
+ },
+ "description": "The time span with start and end properties."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "powerState": {
+ "$ref": "#/definitions/PowerState",
+ "description": "Represents the Power State of the cluster",
+ "readOnly": true
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Version of Kubernetes specified when creating the managed cluster."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix specified when creating the managed cluster."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN of private cluster."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "Properties of the agent pool."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "Profile of managed cluster add-on."
+ },
+ "podIdentityProfile": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProfile",
+ "description": "Profile of managed cluster pod identity."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "Name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "Profile of network configuration."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "Profile of Azure Active Directory configuration."
+ },
+ "autoUpgradeProfile": {
+ "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile",
+ "description": "Profile of auto upgrade configuration."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string"
+ },
+ "expander": {
+ "type": "string",
+ "enum": [
+ "least-waste",
+ "most-pods",
+ "priority",
+ "random"
+ ],
+ "x-ms-enum": {
+ "name": "expander",
+ "modelAsString": true
+ }
+ },
+ "max-empty-bulk-delete": {
+ "type": "string"
+ },
+ "max-graceful-termination-sec": {
+ "type": "string"
+ },
+ "max-node-provision-time": {
+ "type": "string"
+ },
+ "max-total-unready-percentage": {
+ "type": "string"
+ },
+ "new-pod-scale-up-delay": {
+ "type": "string"
+ },
+ "ok-total-unready-count": {
+ "type": "string"
+ },
+ "scan-interval": {
+ "type": "string"
+ },
+ "scale-down-delay-after-add": {
+ "type": "string"
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string"
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string"
+ },
+ "scale-down-unneeded-time": {
+ "type": "string"
+ },
+ "scale-down-unready-time": {
+ "type": "string"
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string"
+ },
+ "skip-nodes-with-local-storage": {
+ "type": "string"
+ },
+ "skip-nodes-with-system-pods": {
+ "type": "string"
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "Access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "description": "ResourceId of the disk encryption set to use for enabling encryption at rest."
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ },
+ "description": "Identities associated with the cluster."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "PowerState": {
+ "description": "Describes the Power State of the cluster",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Tells whether the cluster is Running or Stopped",
+ "enum": [
+ "Running",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "code",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Authorized IP Ranges to kubernetes API server."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "description": "Whether to create the cluster as a private cluster or not."
+ },
+ "privateDNSZone": {
+ "type": "string",
+ "description": "Private dns zone mode for private cluster. "
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The user identity associated with the managed cluster. This identity will be used in control plane and only one user assigned identity is allowed. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource id of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client id of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object id of the user assigned identity."
+ }
+ }
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAutoUpgradeProfile": {
+ "properties": {
+ "upgradeChannel": {
+ "type": "string",
+ "enum": [
+ "rapid",
+ "stable",
+ "patch",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "upgradeChannel",
+ "modelAsString": true
+ },
+ "description": "upgrade channel for auto upgrade."
+ }
+ },
+ "description": "Auto upgrade profile for a managed cluster."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "managed": {
+ "type": "boolean",
+ "description": "Whether to enable managed AAD."
+ },
+ "enableAzureRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Azure RBAC for Kubernetes authorization."
+ },
+ "adminGroupObjectIDs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "AAD group object IDs that will have admin role of the cluster."
+ },
+ "clientAppID": {
+ "type": "string",
+ "description": "The client AAD application ID."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "The server AAD application ID."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "The server AAD application secret."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "description": "AADProfile specifies attributes for Azure Active Directory integration."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterPodIdentity": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the pod identity."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "Namespace of the pod identity."
+ },
+ "identity": {
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "Information of the user assigned identity."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of the pod identity.",
+ "enum": [
+ "Assigned",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterPodIdentityProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "provisioningInfo": {
+ "readOnly": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudError",
+ "description": "Pod identity assignment error (if any)."
+ }
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "identity"
+ ]
+ },
+ "ManagedClusterPodIdentityException": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the pod identity exception."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "Namespace of the pod identity exception."
+ },
+ "podLabels": {
+ "type": "object",
+ "description": "Pod labels to match.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "podLabels"
+ ]
+ },
+ "ManagedClusterPodIdentityProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the pod identity addon is enabled."
+ },
+ "userAssignedIdentities": {
+ "description": "User assigned pod identity settings.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentity"
+ }
+ },
+ "userAssignedIdentityExceptions": {
+ "description": "User assigned pod identity exception settings.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityException"
+ }
+ }
+ }
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "Properties of upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "Properties of agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "LatestNodeImageVersion is the latest AKS supported node image version."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool available versions."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool available versions."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool available versions."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true
+ },
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true
+ },
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete."
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand."
+ },
+ "ProximityPlacementGroupID": {
+ "type": "string",
+ "description": "The ID for Proximity Placement Group."
+ },
+ "CredentialResults": {
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list of credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a managed cluster SKU.",
+ "enum": [
+ "Basic"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Tier of a managed cluster SKU.",
+ "enum": [
+ "Paid",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the private endpoint connection."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Private endpoint which a connection belongs to.",
+ "properties": {
+ "id": {
+ "description": "The resource Id for private endpoint",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "description": "The private link service connection status.",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "type": "object",
+ "description": "A list of private link resources",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the private link resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the private link resource.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "The resource type."
+ },
+ "groupId": {
+ "type": "string",
+ "description": "The group ID of the resource."
+ },
+ "requiredMembers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "RequiredMembers of the resource"
+ },
+ "privateLinkServiceID": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The private link service ID of the resource, this field is exposed only to NRP internally."
+ }
+ }
+ },
+ "OSDiskType": {
+ "type": "string",
+ "enum": [
+ "Managed",
+ "Ephemeral"
+ ],
+ "x-ms-enum": {
+ "name": "OSDiskType",
+ "modelAsString": true
+ },
+ "description": "OSDiskType represents the type of an OS disk on an agent pool."
+ },
+ "KubeletDiskType": {
+ "type": "string",
+ "enum": [
+ "OS"
+ ],
+ "x-ms-enum": {
+ "name": "KubeletDiskType",
+ "modelAsString": true
+ },
+ "description": "KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS disk for data."
+ },
+ "KubeletConfig": {
+ "description": "Kubelet configurations of agent nodes.",
+ "type": "object",
+ "properties": {
+ "cpuManagerPolicy": {
+ "type": "string",
+ "description": "CPU Manager policy to use."
+ },
+ "cpuCfsQuota": {
+ "type": "boolean",
+ "description": "Enable CPU CFS quota enforcement for containers that specify CPU limits."
+ },
+ "cpuCfsQuotaPeriod": {
+ "type": "string",
+ "description": "Sets CPU CFS quota period value."
+ },
+ "imageGcHighThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The percent of disk usage after which image garbage collection is always run."
+ },
+ "imageGcLowThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The percent of disk usage before which image garbage collection is never run."
+ },
+ "topologyManagerPolicy": {
+ "type": "string",
+ "description": "Topology Manager policy to use."
+ },
+ "allowedUnsafeSysctls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`)."
+ },
+ "failSwapOn": {
+ "type": "boolean",
+ "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node."
+ },
+ "containerLogMaxSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated."
+ },
+ "containerLogMaxFiles": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.",
+ "minimum": 2
+ },
+ "podMaxPids": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of processes per pod."
+ }
+ }
+ },
+ "LinuxOSConfig": {
+ "description": "OS configurations of Linux agent nodes.",
+ "type": "object",
+ "properties": {
+ "sysctls": {
+ "$ref": "#/definitions/SysctlConfig",
+ "description": "Sysctl settings for Linux agent nodes."
+ },
+ "transparentHugePageEnabled": {
+ "type": "string",
+ "description": "Transparent Huge Page enabled configuration."
+ },
+ "transparentHugePageDefrag": {
+ "type": "string",
+ "description": "Transparent Huge Page defrag configuration."
+ },
+ "swapFileSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "SwapFileSizeMB specifies size in MB of a swap file will be created on each node."
+ }
+ }
+ },
+ "SysctlConfig": {
+ "description": "Sysctl settings for Linux agent nodes.",
+ "type": "object",
+ "properties": {
+ "netCoreSomaxconn": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.somaxconn."
+ },
+ "netCoreNetdevMaxBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.netdev_max_backlog."
+ },
+ "netCoreRmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_default."
+ },
+ "netCoreRmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_max."
+ },
+ "netCoreWmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_default."
+ },
+ "netCoreWmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_max."
+ },
+ "netCoreOptmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.optmem_max."
+ },
+ "netIpv4TcpMaxSynBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog."
+ },
+ "netIpv4TcpMaxTwBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets."
+ },
+ "netIpv4TcpFinTimeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_fin_timeout."
+ },
+ "netIpv4TcpKeepaliveTime": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_time."
+ },
+ "netIpv4TcpKeepaliveProbes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_probes."
+ },
+ "netIpv4TcpkeepaliveIntvl": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl."
+ },
+ "netIpv4TcpTwReuse": {
+ "type": "boolean",
+ "description": "Sysctl setting net.ipv4.tcp_tw_reuse."
+ },
+ "netIpv4IpLocalPortRange": {
+ "type": "string",
+ "description": "Sysctl setting net.ipv4.ip_local_port_range."
+ },
+ "netIpv4NeighDefaultGcThresh1": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1."
+ },
+ "netIpv4NeighDefaultGcThresh2": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2."
+ },
+ "netIpv4NeighDefaultGcThresh3": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3."
+ },
+ "netNetfilterNfConntrackMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_max."
+ },
+ "netNetfilterNfConntrackBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_buckets."
+ },
+ "fsInotifyMaxUserWatches": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.inotify.max_user_watches."
+ },
+ "fsFileMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.file-max."
+ },
+ "fsAioMaxNr": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.aio-max-nr."
+ },
+ "fsNrOpen": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.nr_open."
+ },
+ "kernelThreadsMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting kernel.threads-max."
+ },
+ "vmMaxMapCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.max_map_count."
+ },
+ "vmSwappiness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.swappiness."
+ },
+ "vmVfsCachePressure": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.vfs_cache_pressure."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/readme.azureresourceschema.md b/specification/containerservice/resource-manager/readme.azureresourceschema.md
index 9b0062f0ceb4..90924f4298cd 100644
--- a/specification/containerservice/resource-manager/readme.azureresourceschema.md
+++ b/specification/containerservice/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-containerservice-2020-12-01
- tag: schema-containerservice-2020-11-01
- tag: schema-containerservice-2020-09-01
- tag: schema-containerservice-2020-07-01
@@ -37,6 +38,15 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-containerservice-2020-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-12-01/managedClusters.json
+```
+
### Tag: schema-containerservice-2020-11-01 and azureresourceschema
``` yaml $(tag) == 'schema-containerservice-2020-11-01' && $(azureresourceschema)
diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md
index c9f8af355f3e..4f7dc30866c6 100644
--- a/specification/containerservice/resource-manager/readme.go.md
+++ b/specification/containerservice/resource-manager/readme.go.md
@@ -12,6 +12,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-12
- tag: package-2020-11
- tag: package-2020-09
- tag: package-2020-07
@@ -35,6 +36,15 @@ batch:
- tag: package-2017-08
- tag: package-2017-07
```
+### Tag: package-2020-12 and go
+
+These settings apply only when `--package-2020-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-12' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-12-01/$(namespace)
+```
### Tag: package-2020-11 and go
diff --git a/specification/containerservice/resource-manager/readme.java.md b/specification/containerservice/resource-manager/readme.java.md
index 9f5f1553bf85..9fcc0d09ecaf 100644
--- a/specification/containerservice/resource-manager/readme.java.md
+++ b/specification/containerservice/resource-manager/readme.java.md
@@ -28,6 +28,20 @@ batch:
- tag: package-2020-07
- tag: package-2020-09
- tag: package-2020-11
+ - tag: package-2020-12
+```
+
+### Tag: package-2020-12 and java
+
+These settings apply only when `--tag=package-2020-12` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-12' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2020_12_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_12_01
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2020-11 and java
diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md
index 80346189680d..6013dce2e92f 100644
--- a/specification/containerservice/resource-manager/readme.md
+++ b/specification/containerservice/resource-manager/readme.md
@@ -34,18 +34,27 @@ These are the global settings for the ContainerServices API.
``` yaml
openapi-type: arm
-tag: package-2020-11
+tag: package-2020-12
```
+### Tag: package-2020-12
+
+These settings apply only when `--tag=package-2020-12` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-12'
+input-file:
+ - Microsoft.ContainerService/stable/2020-12-01/managedClusters.json
+```
### Tag: package-2020-11
These settings apply only when `--tag=package-2020-11` is specified on the command line.
-```yaml $(tag) == 'package-2020-11'
+``` yaml $(tag) == 'package-2020-11'
input-file:
- Microsoft.ContainerService/stable/2020-11-01/managedClusters.json
```
+
### Tag: package-2020-09
These settings apply only when `--tag=package-2020-09` is specified on the command line.
@@ -292,6 +301,19 @@ input-file:
```
+### Tag: package-2020-12-01-only
+
+These settings apply only when `--tag=package-2020-12-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-12-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2020-12-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
+```
+
### Tag: package-2020-11-01-only
These settings apply only when `--tag=package-2020-11-01-only` is specified on the command line.
diff --git a/specification/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md
index fd111e3e17f0..c5275a68e54f 100644
--- a/specification/containerservice/resource-manager/readme.python.md
+++ b/specification/containerservice/resource-manager/readme.python.md
@@ -26,6 +26,7 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi) && !$(track2)
batch:
+ - tag: package-2020-12-01-only
- tag: package-2020-11-01-only
- tag: package-2020-09-01-only
- tag: package-2020-07-01-only
@@ -51,6 +52,7 @@ batch:
```yaml $(python) && $(multiapi) && $(track2)
batch:
+ - tag: package-2020-12-01-only
- tag: package-2020-11-01-only
- tag: package-2020-09-01-only
- tag: package-2020-07-01-only
@@ -79,7 +81,20 @@ batch:
output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/
clear-output-folder: false
perform-load: false
-```
+```
+
+### Tag: package-2020-12-01-only and python
+
+These settings apply only when `--tag=package-2020-12-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-12-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2020_12_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_12_01
+namespace: azure.mgmt.containerservice.v2020_12_01
+output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_12_01
+```
### Tag: package-2020-11-01-only and python
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
index 918f269d90aa..5c326dbdf557 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
@@ -7695,7 +7695,7 @@
},
"databasesToRestore": {
"type": "array",
- "description": "List of specific databases to restore.",
+ "description": "List of specific databases available for restore.",
"items": {
"$ref": "#/definitions/DatabaseRestoreResource"
}
@@ -7708,11 +7708,11 @@
"properties": {
"databaseName": {
"type": "string",
- "description": "The name of the database to restore."
+ "description": "The name of the database available for restore."
},
"collectionNames": {
"type": "array",
- "description": "The names of the collections to restore.",
+ "description": "The names of the collections available for restore.",
"items": {
"$ref": "#/definitions/CollectionName"
}
@@ -7837,6 +7837,65 @@
"type": "string",
"format": "date-time",
"description": "The time at which the restorable database account has been deleted (ISO-8601 format)."
+ },
+ "apiType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The API type of the restorable database account.",
+ "$ref": "#/definitions/ApiType"
+ },
+ "restorableLocations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of regions where the of the database account can be restored from.",
+ "items": {
+ "$ref": "#/definitions/RestorableLocationResource"
+ }
+ }
+ }
+ },
+ "ApiType": {
+ "description": "Enum to indicate the API type of the restorable database account.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "MongoDB",
+ "Gremlin",
+ "Cassandra",
+ "Table",
+ "Sql",
+ "GremlinV2"
+ ],
+ "x-ms-enum": {
+ "name": "ApiType",
+ "modelAsString": true
+ }
+ },
+ "RestorableLocationResource": {
+ "type": "object",
+ "description": "Properties of the regional restorable account.",
+ "properties": {
+ "locationName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The location of the regional restorable account."
+ },
+ "regionalDatabaseAccountInstanceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The instance id of the regional restorable account."
+ },
+ "creationTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The creation time of the regional restorable database account (ISO-8601 format)."
+ },
+ "deletionTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time at which the regional restorable database account has been deleted (ISO-8601 format)."
}
}
}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json
index d5edee780392..be54c7a508d7 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json
@@ -15,7 +15,21 @@
"properties": {
"accountName": "ddb1",
"creationTime": "2020-04-11T21:56:15Z",
- "deletionTime": "2020-06-12T22:05:09Z"
+ "deletionTime": "2020-06-12T22:05:09Z",
+ "apiType": "Sql",
+ "restorableLocations": [
+ {
+ "locationName": "South Central US",
+ "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5",
+ "creationTime": "2020-10-30T21:13:10.7486417Z",
+ "deletionTime": "2020-10-30T21:13:35.4466333Z"
+ },
+ {
+ "locationName": "West US",
+ "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c",
+ "creationTime": "2020-10-30T21:13:10.7486417Z"
+ }
+ ]
}
}
}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json
index aae7cbb69c37..6c2184f2f63e 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json
@@ -16,7 +16,21 @@
"properties": {
"accountName": "ddb1",
"creationTime": "2020-04-11T21:56:15Z",
- "deletionTime": "2020-06-12T22:05:09Z"
+ "deletionTime": "2020-06-12T22:05:09Z",
+ "apiType": "Sql",
+ "restorableLocations": [
+ {
+ "locationName": "South Central US",
+ "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5",
+ "creationTime": "2020-10-30T21:13:10.7486417Z",
+ "deletionTime": "2020-10-30T21:13:35.4466333Z"
+ },
+ {
+ "locationName": "West US",
+ "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c",
+ "creationTime": "2020-10-30T21:13:10.7486417Z"
+ }
+ ]
}
},
{
@@ -26,7 +40,21 @@
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts",
"properties": {
"accountName": "ddb2",
- "creationTime": "2020-05-01T08:05:18Z"
+ "creationTime": "2020-05-01T08:05:18Z",
+ "apiType": "Sql",
+ "restorableLocations": [
+ {
+ "locationName": "South Central US",
+ "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5",
+ "creationTime": "2020-10-30T21:13:10.7486417Z",
+ "deletionTime": "2020-10-30T21:13:35.4466333Z"
+ },
+ {
+ "locationName": "West US",
+ "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c",
+ "creationTime": "2020-10-30T21:13:10.7486417Z"
+ }
+ ]
}
}
]
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json
index 5b983987c671..0c71af847561 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json
@@ -15,7 +15,21 @@
"properties": {
"accountName": "ddb1",
"creationTime": "2020-04-11T21:56:15Z",
- "deletionTime": "2020-06-12T22:05:09Z"
+ "deletionTime": "2020-06-12T22:05:09Z",
+ "apiType": "Sql",
+ "restorableLocations": [
+ {
+ "locationName": "South Central US",
+ "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5",
+ "creationTime": "2020-10-30T21:13:10.7486417Z",
+ "deletionTime": "2020-10-30T21:13:35.4466333Z"
+ },
+ {
+ "locationName": "West US",
+ "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c",
+ "creationTime": "2020-10-30T21:13:10.7486417Z"
+ }
+ ]
}
},
{
@@ -25,7 +39,21 @@
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts",
"properties": {
"accountName": "ddb2",
- "creationTime": "2020-05-01T08:05:18Z"
+ "creationTime": "2020-05-01T08:05:18Z",
+ "apiType": "Sql",
+ "restorableLocations": [
+ {
+ "locationName": "South Central US",
+ "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5",
+ "creationTime": "2020-10-30T21:13:10.7486417Z",
+ "deletionTime": "2020-10-30T21:13:35.4466333Z"
+ },
+ {
+ "locationName": "West US",
+ "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c",
+ "creationTime": "2020-10-30T21:13:10.7486417Z"
+ }
+ ]
}
}
]
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableMongodbCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableMongodbCollectionList.json
new file mode 100644
index 000000000000..7ccb03a9c397
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableMongodbCollectionList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "location": "WestUS",
+ "instanceId": "98a570f2-63db-4117-91f0-366327b7b353",
+ "restorableMongodbDatabaseRid": "PD5DALigDgw="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableMongodbCollections/79609a98-3394-41f8-911f-cfab0c075c86",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbCollections",
+ "name": "79609a98-3394-41f8-911f-cfab0c075c86",
+ "properties": {
+ "resource": {
+ "_rid": "zAyAPQAAAA==",
+ "eventTimestamp": "2020-10-13T04:56:42Z",
+ "ownerId": "Collection1",
+ "ownerResourceId": "V18LoLrv-qA=",
+ "operationType": "Create"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableMongodbDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableMongodbDatabaseList.json
new file mode 100644
index 000000000000..5638d0cafb39
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableMongodbDatabaseList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588",
+ "location": "WestUS",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableMongodbDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases",
+ "name": "59c21367-b98b-4a8e-abb7-b6f46600decc",
+ "properties": {
+ "resource": {
+ "_rid": "DLB14gAAAA==",
+ "eventTimestamp": "2020-09-02T19:45:03Z",
+ "ownerId": "Database1",
+ "ownerResourceId": "PD5DALigDgw=",
+ "operationType": "Create"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableMongodbDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases",
+ "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257",
+ "properties": {
+ "resource": {
+ "_rid": "ESXNLAAAAA==",
+ "eventTimestamp": "2020-09-02T19:53:42Z",
+ "ownerId": "Database1",
+ "ownerResourceId": "PD5DALigDgw=",
+ "operationType": "Delete"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableMongodbResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableMongodbResourceList.json
new file mode 100644
index 000000000000..c1144838ccaf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableMongodbResourceList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588",
+ "location": "WestUS",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "restoreLocation": "WestUS",
+ "restoreTimestampInUtc": "10/13/2020 4:56"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "databaseName": "Database1",
+ "collectionNames": [
+ "Collection1"
+ ]
+ },
+ {
+ "databaseName": "Database2",
+ "collectionNames": [
+ "Collection1",
+ "Collection2"
+ ]
+ },
+ {
+ "databaseName": "Database3",
+ "collectionNames": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableSqlContainerList.json
new file mode 100644
index 000000000000..1bfd3cede997
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableSqlContainerList.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "location": "WestUS",
+ "instanceId": "98a570f2-63db-4117-91f0-366327b7b353",
+ "restorableSqlDatabaseRid": "3fu-hg=="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/79609a98-3394-41f8-911f-cfab0c075c86",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers",
+ "name": "79609a98-3394-41f8-911f-cfab0c075c86",
+ "properties": {
+ "resource": {
+ "_rid": "zAyAPQAAAA==",
+ "eventTimestamp": "2020-10-13T04:56:42Z",
+ "ownerId": "Container1",
+ "ownerResourceId": "V18LoLrv-qA=",
+ "operationType": "Create",
+ "container": {
+ "id": "Container1",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*"
+ },
+ {
+ "path": "/\"_ts\"/?"
+ }
+ ],
+ "excludedPaths": [
+ {
+ "path": "/\"_etag\"/?"
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/_ts",
+ "conflictResolutionProcedure": ""
+ },
+ "_rid": "V18LoLrv-qA=",
+ "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/",
+ "_etag": "\"00003e00-0000-0700-0000-5f85338a0000\""
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/e85298a1-c631-4726-825e-a7ca092e9098",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers",
+ "name": "e85298a1-c631-4726-825e-a7ca092e9098",
+ "properties": {
+ "resource": {
+ "_rid": "PrArcgAAAA==",
+ "eventTimestamp": "2020-10-13T05:03:27Z",
+ "ownerId": "Container1",
+ "ownerResourceId": "V18LoLrv-qA=",
+ "operationType": "Replace",
+ "container": {
+ "id": "Container1",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*"
+ },
+ {
+ "path": "/\"_ts\"/?"
+ }
+ ],
+ "excludedPaths": [
+ {
+ "path": "/\"_etag\"/?"
+ }
+ ]
+ },
+ "defaultTtl": 12345,
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/_ts",
+ "conflictResolutionProcedure": ""
+ },
+ "_rid": "V18LoLrv-qA=",
+ "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/",
+ "_etag": "\"00004400-0000-0700-0000-5f85351f0000\""
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableSqlDatabaseList.json
new file mode 100644
index 000000000000..9c22669e1c8c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableSqlDatabaseList.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588",
+ "location": "WestUS",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableSqlDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases",
+ "name": "59c21367-b98b-4a8e-abb7-b6f46600decc",
+ "properties": {
+ "resource": {
+ "_rid": "DLB14gAAAA==",
+ "eventTimestamp": "2020-09-02T19:45:03Z",
+ "ownerId": "Database1",
+ "ownerResourceId": "3fu-hg==",
+ "operationType": "Create",
+ "database": {
+ "id": "Database1",
+ "_rid": "3fu-hg==",
+ "_self": "dbs/3fu-hg==/",
+ "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"",
+ "_colls": "colls/",
+ "_users": "users/"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases",
+ "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257",
+ "properties": {
+ "resource": {
+ "_rid": "ESXNLAAAAA==",
+ "eventTimestamp": "2020-09-02T19:53:42Z",
+ "ownerId": "Database1",
+ "ownerResourceId": "3fu-hg==",
+ "database": {
+ "id": "Database1",
+ "_rid": "3fu-hg==",
+ "_self": "dbs/3fu-hg==/",
+ "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"",
+ "_colls": "colls/",
+ "_users": "users/",
+ "_ts": 1599075903
+ },
+ "operationType": "Delete"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/2c07991b-9c7c-4e85-be68-b18c1f2ff326",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases",
+ "name": "2c07991b-9c7c-4e85-be68-b18c1f2ff326",
+ "properties": {
+ "resource": {
+ "_rid": "aXFqUQAAAA==",
+ "eventTimestamp": "2020-09-02T19:53:15Z",
+ "ownerId": "Database2",
+ "ownerResourceId": "0SziSg==",
+ "database": {
+ "id": "Database2",
+ "_rid": "0SziSg==",
+ "_self": "dbs/0SziSg==/",
+ "_etag": "\"0000ca0a-0000-0700-0000-5f4ff82b0000\"",
+ "_colls": "colls/",
+ "_users": "users/"
+ },
+ "operationType": "Create"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableSqlResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableSqlResourceList.json
new file mode 100644
index 000000000000..48c753e9f968
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableSqlResourceList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588",
+ "location": "WestUS",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "restoreLocation": "WestUS",
+ "restoreTimestampInUtc": "10/13/2020 4:56"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "databaseName": "Database1",
+ "collectionNames": [
+ "Container1"
+ ]
+ },
+ {
+ "databaseName": "Database2",
+ "collectionNames": [
+ "Container1",
+ "Container2"
+ ]
+ },
+ {
+ "databaseName": "Database3",
+ "collectionNames": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/restorable.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/restorable.json
new file mode 100644
index 000000000000..9a3d6b9b8a43
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/restorable.json
@@ -0,0 +1,693 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlDatabases": {
+ "get": {
+ "operationId": "RestorableSqlDatabases_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableSqlDatabaseList": {
+ "$ref": "./examples/CosmosDBRestorableSqlDatabaseList.json"
+ }
+ },
+ "description": "Lists all the restorable Azure Cosmos DB SQL databases available under the restorable account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableSqlDatabasesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlContainers": {
+ "get": {
+ "operationId": "RestorableSqlContainers_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableSqlContainerList": {
+ "$ref": "./examples/CosmosDBRestorableSqlContainerList.json"
+ }
+ },
+ "description": "Lists all the restorable Azure Cosmos DB SQL containers available for a specific database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/restorableSqlDatabaseRidParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableSqlContainersListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlResources": {
+ "get": {
+ "operationId": "RestorableSqlResources_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableSqlResourceList": {
+ "$ref": "./examples/CosmosDBRestorableSqlResourceList.json"
+ }
+ },
+ "description": "Lists all the restorable Azure Cosmos DB SQL resources available for a specific database account at a given time and location.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/restoreLocationParameter"
+ },
+ {
+ "$ref": "#/parameters/restoreTimestampInUtcParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableSqlResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbDatabases": {
+ "get": {
+ "operationId": "RestorableMongodbDatabases_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableMongodbDatabaseList": {
+ "$ref": "./examples/CosmosDBRestorableMongodbDatabaseList.json"
+ }
+ },
+ "description": "Lists all the restorable Azure Cosmos DB MongoDB databases available under the restorable account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableMongodbDatabasesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbCollections": {
+ "get": {
+ "operationId": "RestorableMongodbCollections_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableMongodbCollectionList": {
+ "$ref": "./examples/CosmosDBRestorableMongodbCollectionList.json"
+ }
+ },
+ "description": "Lists all the restorable Azure Cosmos DB MongoDB collection available for a specific database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/restorableMongodbDatabaseRidParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableMongodbCollectionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbResources": {
+ "get": {
+ "operationId": "RestorableMongodbResources_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableMongodbResourceList": {
+ "$ref": "./examples/CosmosDBRestorableMongodbResourceList.json"
+ }
+ },
+ "description": "Lists all the restorable Azure Cosmos DB MongoDB resources available for a specific database account at a given time and location.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/restoreLocationParameter"
+ },
+ {
+ "$ref": "#/parameters/restoreTimestampInUtcParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableMongodbResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RestorableSqlDatabasesListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableSqlDatabaseGetResult"
+ },
+ "description": "List of restorable SQL databases and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the restorable SQL databases and their properties."
+ },
+ "RestorableSqlDatabaseGetResult": {
+ "description": "An Azure Cosmos DB restorable SQL database",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a restorable SQL database.",
+ "$ref": "#/definitions/RestorableSqlDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "RestorableSqlDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB restorable SQL database",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property. A unique identifier."
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The operation type of this database event.",
+ "$ref": "#/definitions/OperationType"
+ },
+ "eventTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The timestamp of this database event."
+ },
+ "ownerId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of this restorable SQL database."
+ },
+ "ownerResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource Id of this restorable SQL database."
+ },
+ "database": {
+ "properties": {
+ "_colls": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property that specified the addressable path of the collections resource."
+ },
+ "_users": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property that specifies the addressable path of the users resource."
+ },
+ "_self": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property that specifies the addressable path of the database resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/SqlDatabaseResource"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "RestorableSqlContainersListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableSqlContainerGetResult"
+ },
+ "description": "List of restorable SQL containers and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the restorable SQL containers and their properties."
+ },
+ "RestorableSqlContainerGetResult": {
+ "description": "An Azure Cosmos DB restorable SQL container",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a restorable SQL container.",
+ "$ref": "#/definitions/RestorableSqlContainerProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "RestorableSqlContainerProperties": {
+ "description": "The properties of an Azure Cosmos DB restorable SQL container",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property. A unique identifier."
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The operation type of this container event.",
+ "$ref": "#/definitions/OperationType"
+ },
+ "eventTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The timestamp of this container event."
+ },
+ "ownerId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of this restorable SQL container."
+ },
+ "ownerResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource Id of this restorable SQL container."
+ },
+ "container": {
+ "properties": {
+ "_self": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property that specifies the addressable path of the container resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/SqlContainerResource"
+ },
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "RestorableSqlResourcesListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/DatabaseRestoreResource"
+ },
+ "description": "List of restorable SQL resources, including the database and collection names."
+ }
+ },
+ "description": "The List operation response, that contains the restorable SQL resources."
+ },
+ "RestorableMongodbDatabasesListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableMongodbDatabaseGetResult"
+ },
+ "description": "List of restorable MongoDB databases and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the restorable MongoDB databases and their properties."
+ },
+ "RestorableMongodbDatabaseGetResult": {
+ "description": "An Azure Cosmos DB restorable MongoDB database",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a restorable MongoDB database.",
+ "$ref": "#/definitions/RestorableMongodbDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "RestorableMongodbDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB restorable MongoDB database",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property. A unique identifier."
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The operation type of this database event.",
+ "$ref": "#/definitions/OperationType"
+ },
+ "eventTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The timestamp of this database event."
+ },
+ "ownerId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of this restorable MongoDB database."
+ },
+ "ownerResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource Id of this restorable MongoDB database."
+ }
+ }
+ }
+ }
+ },
+ "RestorableMongodbCollectionsListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableMongodbCollectionGetResult"
+ },
+ "description": "List of restorable MongoDB collections and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the restorable MongoDB collections and their properties."
+ },
+ "RestorableMongodbCollectionGetResult": {
+ "description": "An Azure Cosmos DB restorable MongoDB collection",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a restorable MongoDB collection.",
+ "$ref": "#/definitions/RestorableMongodbCollectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "RestorableMongodbCollectionProperties": {
+ "description": "The properties of an Azure Cosmos DB restorable MongoDB collection",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property. A unique identifier."
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The operation type of this collection event.",
+ "$ref": "#/definitions/OperationType"
+ },
+ "eventTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The timestamp of this collection event."
+ },
+ "ownerId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of this restorable MongoDB collection."
+ },
+ "ownerResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource Id of this restorable MongoDB collection."
+ }
+ }
+ }
+ }
+ },
+ "RestorableMongodbResourcesListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/DatabaseRestoreResource"
+ },
+ "description": "List of restorable MongoDB resources, including the database and collection names."
+ }
+ },
+ "description": "The List operation response, that contains the restorable MongoDB resources."
+ },
+ "OperationType": {
+ "description": "Enum to indicate the operation type of the event.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Create",
+ "Replace",
+ "Delete",
+ "SystemOperation"
+ ],
+ "x-ms-enum": {
+ "name": "OperationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "restorableSqlDatabaseRidParameter": {
+ "name": "restorableSqlDatabaseRid",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The resource id of the restorable SQL database."
+ },
+ "restorableMongodbDatabaseRidParameter": {
+ "name": "restorableMongodbDatabaseRid",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The resource id of the restorable Mongo database."
+ },
+ "restoreLocationParameter": {
+ "name": "restoreLocation",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The location where the restorable resources are located."
+ },
+ "restoreTimestampInUtcParameter": {
+ "name": "restoreTimestampInUtc",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The timestamp when the restorable resources existed."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md
index 7cf871f3c057..cb05de45e9c4 100644
--- a/specification/cosmos-db/resource-manager/readme.md
+++ b/specification/cosmos-db/resource-manager/readme.md
@@ -51,6 +51,7 @@ input-file:
- Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
- Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json
- Microsoft.DocumentDB/preview/2020-06-01-preview/rbac.json
+- Microsoft.DocumentDB/preview/2020-06-01-preview/restorable.json
- Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
- Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
```
diff --git a/specification/cost-management/resource-manager/readme.python.md b/specification/cost-management/resource-manager/readme.python.md
index e813c023f2cb..898adc69f3f7 100644
--- a/specification/cost-management/resource-manager/readme.python.md
+++ b/specification/cost-management/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -16,14 +16,34 @@ python:
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.costmanagement
+package-name: azure-mgmt-costmanagement
+package-version: 1.0.0b1
+clear-output-folder: true
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement/azure/mgmt/costmanagement
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement/azure/mgmt/costmanagement
+```
+
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement
-```
\ No newline at end of file
+```
+
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement
+```
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/cpimTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/cpimTenant.json
new file mode 100644
index 000000000000..02f04c14f828
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/cpimTenant.json
@@ -0,0 +1,915 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "B2CTenants",
+ "version": "2019-01-01-preview",
+ "description": "Manage the Azure resource for an Azure Active Directory B2C tenant."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureActiveDirectory/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "B2CTenants"
+ ],
+ "operationId": "B2CTenants_CheckNameAvailability",
+ "description": "Checks the availability and validity of a domain name for the tenant.",
+ "x-ms-examples": {
+ "Check name availability - available": {
+ "$ref": "./examples/checkNameAvailability-available.json"
+ },
+ "Check name availability - taken": {
+ "$ref": "./examples/checkNameAvailability-taken.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "checkNameAvailabilityRequestBody",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequestBody"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The result of checking for the name availability.",
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/b2cDirectories": {
+ "get": {
+ "description": "Get all the Azure AD B2C tenant resources in a resource group.",
+ "operationId": "B2CTenants_ListByResourceGroup",
+ "tags": [
+ "B2CTenants"
+ ],
+ "x-ms-examples": {
+ "B2CTenants_ListByResourceGroup": {
+ "$ref": "./examples/listTenantsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Azure AD B2C tenants in resource group successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureActiveDirectory/b2cDirectories": {
+ "get": {
+ "description": "Get all the Azure AD B2C tenant resources in a subscription.",
+ "operationId": "B2CTenants_ListBySubscription",
+ "tags": [
+ "B2CTenants"
+ ],
+ "x-ms-examples": {
+ "B2CTenants_ListBySubscription": {
+ "$ref": "./examples/listTenantsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure AD B2C tenant resources in subscription successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/b2cDirectories/{resourceName}": {
+ "get": {
+ "description": "Get the Azure AD B2C tenant resource.",
+ "operationId": "B2CTenants_Get",
+ "tags": [
+ "B2CTenants"
+ ],
+ "x-ms-examples": {
+ "Get tenant": {
+ "$ref": "./examples/getTenant.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure AD B2C tenant resource successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "description": "Update the Azure AD B2C tenant resource.",
+ "operationId": "B2CTenants_Update",
+ "tags": [
+ "B2CTenants"
+ ],
+ "x-ms-examples": {
+ "Get tenant": {
+ "$ref": "./examples/updateTenant.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "updateTenantRequestBody",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated the Azure AD B2C tenant resource.",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "B2CTenants_Create",
+ "description": "Initiates an async request to create both the Azure AD B2C tenant and the corresponding Azure resource linked to a subscription.",
+ "x-ms-examples": {
+ "Create tenant": {
+ "$ref": "./examples/createTenant.json"
+ }
+ },
+ "tags": [
+ "B2CTenants"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "createTenantRequestBody",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CreateTenantRequestBody"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The expected resource type once successfully created from the async request.",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantResource"
+ }
+ },
+ "201": {
+ "description": "OK. The expected resource type once successfully created from the async request.",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantResource"
+ }
+ },
+ "202": {
+ "description": "Tenant create request accepted. The Location header indicates the URL/location in which to check to get the async status of the operation.",
+ "headers": {
+ "Location": {
+ "description": "Contains the URL/location which can return the tenant provisioning status.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Contains the number of seconds to wait before checking the tenant provisioning status.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "delete": {
+ "operationId": "B2CTenants_Delete",
+ "description": "Initiates an async operation to delete the Azure AD B2C tenant and Azure resource. The resource deletion can only happen as the last step in [the tenant deletion process](https://aka.ms/deleteB2Ctenant). ",
+ "x-ms-examples": {
+ "Delete tenant": {
+ "$ref": "./examples/deleteTenant.json"
+ }
+ },
+ "tags": [
+ "B2CTenants"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource deletion successful."
+ },
+ "202": {
+ "description": "Resource deletion request accepted. The Location header indicates the URL/location in which to check to get the async status of the operation. ",
+ "headers": {
+ "Location": {
+ "description": "Contains the URL/location which can return the deletion status.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Contains the number of seconds to wait before checking the deletion status.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist. "
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/providers/Microsoft.AzureActiveDirectory/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "operations_list": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "description": "Lists the operations available from this provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureActiveDirectory/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_GetAsyncStatus",
+ "description": "Gets the status of the async operation.",
+ "x-ms-examples": {
+ "Get Async Status": {
+ "$ref": "./examples/getAsyncOperationStatus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "operationId",
+ "type": "string",
+ "in": "path",
+ "description": "The operation ID.",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The async operation status.",
+ "schema": {
+ "$ref": "#/definitions/AsyncOperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Operation": {
+ "description": "Microsoft.AzureActiveDirectory REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.AzureActiveDirectory.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: GuestUsages, etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Friendly name of the operation",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of listing operations for the resourceProvider",
+ "properties": {
+ "value": {
+ "description": "List of cpim service operations supported by the Microsoft.AzureActiveDirectory resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ }
+ }
+ },
+ "AsyncOperationStatus": {
+ "description": "The async operation status.",
+ "properties": {
+ "subscriptionId": {
+ "type": "string",
+ "description": "Subscription ID that the resource belongs to."
+ },
+ "id": {
+ "type": "string",
+ "description": "The GET resource path for the operation."
+ },
+ "name": {
+ "type": "string",
+ "description": "The operation ID."
+ },
+ "status": {
+ "description": "The status of the operation.",
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Pending",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "StatusType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Succeeded",
+ "description": "The operation succeeded."
+ },
+ {
+ "value": "Pending",
+ "description": "The operation is pending."
+ },
+ {
+ "value": "Failed",
+ "description": "The operation failed."
+ }
+ ]
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Start time of the async operation."
+ },
+ "endTime": {
+ "type": "string",
+ "description": "End time of the async operation."
+ },
+ "properties": {
+ "$ref": "#/definitions/B2CTenantResourceProperties",
+ "x-ms-client-flatten": true,
+ "description": "The Azure AD B2C tenant resource properties"
+ },
+ "error": {
+ "description": "Error response if async operation failed.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ }
+ }
+ }
+ },
+ "B2CTenantResourceProperties": {
+ "description": "Properties of the Azure AD B2C tenant Azure resource.",
+ "type": "object",
+ "properties": {
+ "billingConfig": {
+ "type": "object",
+ "description": "The billing configuration for the tenant.",
+ "properties": {
+ "billingType": {
+ "type": "string",
+ "description": "The type of billing. Will be MAU for all new customers. If 'Auths', it can be updated to 'MAU'. Cannot be changed if value is 'MAU'. Learn more about Azure AD B2C billing at [aka.ms/b2cBilling](https://aka.ms/b2cbilling).",
+ "enum": [
+ "MAU",
+ "Auths"
+ ],
+ "x-ms-enum": {
+ "name": "BillingType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "MAU",
+ "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses a monthly active users (MAU) billing model."
+ },
+ {
+ "value": "Auths",
+ "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses number of authentications based billing."
+ }
+ ]
+ }
+ },
+ "effectiveStartDateUtc": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The data from which the billing type took effect"
+ }
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "An identifier of the B2C tenant."
+ }
+ }
+ },
+ "B2CResourceSKU": {
+ "description": "SKU properties of the Azure AD B2C tenant. Learn more about Azure AD B2C billing at [aka.ms/b2cBilling](https://aka.ms/b2cBilling).",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU for the tenant.",
+ "enum": [
+ "Standard",
+ "PremiumP1",
+ "PremiumP2"
+ ],
+ "x-ms-enum": {
+ "name": "B2CResourceSKUName",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Standard",
+ "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses a monthly active users (MAU) billing model."
+ },
+ {
+ "value": "PremiumP1",
+ "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses number of authentications based billing."
+ },
+ {
+ "value": "PremiumP2",
+ "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses number of authentications based billing."
+ }
+ ]
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the tenant.",
+ "enum": [
+ "A0"
+ ],
+ "x-ms-enum": {
+ "name": "B2CResourceSKUTier",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "A0",
+ "description": "The SKU tier used for all Azure AD B2C tenants."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "NameAvailabilityResponse": {
+ "description": "Response of the CheckNameAvailability operation.",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Description of the reason if name is not available."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "True if the name is available and can be used to create a new tenant. Otherwise false."
+ },
+ "reason": {
+ "$ref": "#/definitions/NameAvailabilityReason"
+ }
+ }
+ },
+ "NameAvailabilityReason": {
+ "description": "Describes the reason for the 'nameAvailable' value.",
+ "type": "string",
+ "enum": [
+ "AlreadyExists",
+ "Invalid"
+ ],
+ "x-ms-enum": {
+ "name": "NameAvailabilityReasonType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "AlreadyExists",
+ "description": "The name is already in use and is therefore unavailable."
+ },
+ {
+ "value": "Invalid",
+ "description": "The name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.)."
+ }
+ ]
+ }
+ },
+ "CheckNameAvailabilityRequestBody": {
+ "type": "object",
+ "description": "The information required to check the availability of the name for the tenant.",
+ "required": [
+ "name",
+ "countryCode"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The domain name to check for availability."
+ },
+ "countryCode": {
+ "$ref": "#/definitions/CountryCode"
+ }
+ }
+ },
+ "B2CTenantUpdateRequest": {
+ "type": "object",
+ "description": "The request body to update the Azure AD B2C tenant resource.",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/B2CResourceSKU"
+ },
+ "properties": {
+ "$ref": "#/definitions/B2CTenantResourceProperties",
+ "x-ms-client-flatten": true,
+ "description": "The Azure AD B2C tenant resource properties."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource Tags"
+ }
+ }
+ },
+ "B2CTenantResource": {
+ "type": "object",
+ "required": [
+ "location",
+ "sku"
+ ],
+ "x-ms-azure-resource": true,
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of the B2C tenant resource.",
+ "readOnly": true,
+ "enum": [
+ "Microsoft.AzureActiveDirectory/b2cDirectories"
+ ],
+ "x-ms-enum": {
+ "name": "TypeValue",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "description": "The resource type for Azure AD B2C tenant resource."
+ }
+ ]
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/B2CResourceSKU"
+ },
+ "properties": {
+ "$ref": "#/definitions/B2CTenantResourceProperties",
+ "x-ms-client-flatten": true,
+ "description": "The B2C tenant resource properties"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An identifier that represents the B2C tenant resource."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the B2C tenant resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location in which the resource is hosted and data resides. Refer to [this documentation](https://aka.ms/B2CDataResidency) to see valid data residency locations. Please choose one of 'United States', 'Europe', and 'Asia Pacific'.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource Tags"
+ }
+ }
+ },
+ "B2CTenantResourceList": {
+ "description": "The collection of Azure AD B2C tenant resources",
+ "properties": {
+ "value": {
+ "description": "List of guest usages resources",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/B2CTenantResource"
+ }
+ }
+ }
+ },
+ "CreateTenantRequestBody": {
+ "type": "object",
+ "description": "The information needed to create the Azure AD B2C tenant and corresponding Azure resource, which is used for billing purposes.",
+ "required": [
+ "location",
+ "sku",
+ "properties"
+ ],
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location in which the resource is hosted and data resides. Refer to [this documentation](https://aka.ms/B2CDataResidency) to see valid data residency locations. Please choose one of 'United States', 'Europe', and 'Asia Pacific'."
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "createTenantProperties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateTenantProperties"
+ }
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/B2CResourceSKU"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource Tags"
+ }
+ }
+ },
+ "CreateTenantProperties": {
+ "type": "object",
+ "description": "These properties are used to create the Azure AD B2C tenant. These properties are not part of the Azure resource.",
+ "properties": {
+ "displayName": {
+ "description": "The display name of the B2C tenant.",
+ "type": "string"
+ },
+ "countryCode": {
+ "$ref": "#/definitions/CountryCode"
+ }
+ }
+ },
+ "CountryCode": {
+ "type": "string",
+ "description": "Country code of Azure tenant (e.g. 'US'). Refer to [aka.ms/B2CDataResidency](https://aka.ms/B2CDataResidency) to see valid country codes and corresponding data residency locations. If you do not see a country code in an valid data residency location, choose one from the list."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "description": "An error response for a resource management request."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The initial domain name of the B2C tenant.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/OperationsList.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/OperationsList.json
new file mode 100644
index 000000000000..bbd8bc4d1a1e
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/OperationsList.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "resourceGroupName": "cpimClient",
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AzureActiveDirectory/register/action",
+ "display": {
+ "provider": "Microsoft.AzureActiveDirectory",
+ "resource": "Microsoft.AzureActiveDirectory Resource Provider",
+ "operation": "Registers the Microsoft.AzureActiveDirectory Resource Provider",
+ "description": "Registers the Microsoft.AzureActiveDirectory Resource Provider"
+ }
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/guestUsages/read",
+ "display": {
+ "provider": "Microsoft.AzureActiveDirectory",
+ "resource": "GuestUsagesResource",
+ "operation": "read",
+ "description": "Read call for Guest Usages Resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/guestUsages/write",
+ "display": {
+ "provider": "Microsoft.AzureActiveDirectory",
+ "resource": "GuestUsagesResource",
+ "operation": "write",
+ "description": "Create or Update call for Guest Usages Resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/guestUsages/delete",
+ "display": {
+ "provider": "Microsoft.AzureActiveDirectory",
+ "resource": "GuestUsagesResource",
+ "operation": "delete",
+ "description": "Delete call for Guest Usages Resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/b2cDirectories/read",
+ "display": {
+ "provider": "Microsoft.AzureActiveDirectory",
+ "resource": "GuestUsagesResource",
+ "operation": "read",
+ "description": "Read call for Guest Usages Resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/b2cDirectories/write",
+ "display": {
+ "provider": "Microsoft.AzureActiveDirectory",
+ "resource": "GuestUsagesResource",
+ "operation": "write",
+ "description": "Create or Update call for Guest Usages Resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/b2cDirectories/delete",
+ "display": {
+ "provider": "Microsoft.AzureActiveDirectory",
+ "resource": "GuestUsagesResource",
+ "operation": "delete",
+ "description": "Delete call for Guest Usages Resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/checkNameAvailability",
+ "display": {
+ "provider": "Microsoft.AzureActiveDirectory",
+ "resource": "Check Name Availability",
+ "operation": "Get Check Name Availability",
+ "description": "Check if resource name is available."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/checkNameAvailability-available.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/checkNameAvailability-available.json
new file mode 100644
index 000000000000..dc32fd60203c
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/checkNameAvailability-available.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2019-01-01-preview",
+ "checkNameAvailabilityRequestBody": {
+ "name": "constoso.onmicrosoft.com",
+ "countryCode": "US"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "nameAvailable": true,
+ "reason": null,
+ "message": null
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/checkNameAvailability-taken.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/checkNameAvailability-taken.json
new file mode 100644
index 000000000000..4c4046b009ad
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/checkNameAvailability-taken.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2019-01-01-preview",
+ "checkNameAvailabilityRequestBody": {
+ "name": "constoso.onmicrosoft.com",
+ "countryCode": "US"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "A tenant with this domain name already exists. Please choose another."
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/createTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/createTenant.json
new file mode 100644
index 000000000000..29825f563794
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/createTenant.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2019-01-01-preview",
+ "resourceGroupName": "contosoResourceGroup",
+ "resourceName": "contoso.onmicrosoft.com",
+ "createTenantRequestBody": {
+ "location": "United States",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "createTenantProperties": {
+ "displayName": "Contoso",
+ "countryCode": "US"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": null
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": null
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.AzureActiveDirectory/operations/99999999-9999-9999-9999-999999999999",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/deleteTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/deleteTenant.json
new file mode 100644
index 000000000000..f38919d66987
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/deleteTenant.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2019-01-01-preview",
+ "resourceGroupName": "rg1",
+ "resourceName": "contoso.onmicrosoft.com"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.AzureActiveDirectory/operations/99999999-9999-9999-9999-999999999999",
+ "Retry-After": "60"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/getAsyncOperationStatus.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/getAsyncOperationStatus.json
new file mode 100644
index 000000000000..5180330221ad
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/getAsyncOperationStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2019-01-01-preview",
+ "operationId": "99999999-9999-9999-9999-999999999999"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/microsoft.azureactivedirectory/operations/99999999-9999-9999-9999-999999999999",
+ "name": "99999999-9999-9999-9999-999999999999",
+ "status": "Succeeded",
+ "startTime": "08/01/2019 00:00:00",
+ "endTime": "08/01/2019 01:00:00",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "error": null
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/getTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/getTenant.json
new file mode 100644
index 000000000000..ad70c3daf258
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/getTenant.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2019-01-01-preview",
+ "resourceGroupName": "contosoResourceGroup",
+ "resourceName": "contoso.onmicrosoft.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com",
+ "name": "nickgomez97.onmicrosoft.com",
+ "location": "United States",
+ "tags": null
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsByResourceGroup.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsByResourceGroup.json
new file mode 100644
index 000000000000..96348c395eab
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsByResourceGroup.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2019-01-01-preview",
+ "resourceGroupName": "contosoResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com",
+ "name": "nickgomez97.onmicrosoft.com",
+ "location": "United States",
+ "tags": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsBySubscription.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsBySubscription.json
new file mode 100644
index 000000000000..f161e5cf5266
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsBySubscription.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2019-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com",
+ "name": "nickgomez97.onmicrosoft.com",
+ "location": "United States",
+ "tags": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/updateTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/updateTenant.json
new file mode 100644
index 000000000000..f300721b1364
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/updateTenant.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2019-01-01-preview",
+ "resourceGroupName": "contosoResourceGroup",
+ "resourceName": "contoso.onmicrosoft.com",
+ "updateTenantRequestBody": {
+ "sku": {
+ "name": "PremiumP1"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU"
+ }
+ },
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "sku": {
+ "name": "PremiumP1",
+ "tier": "A0"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": {
+ "key": "value"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/readme.csharp.md b/specification/cpim/resource-manager/readme.csharp.md
index 38a02cf78765..3fc9b660693e 100644
--- a/specification/cpim/resource-manager/readme.csharp.md
+++ b/specification/cpim/resource-manager/readme.csharp.md
@@ -1,15 +1,8 @@
-## 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.AzureActiveDirectory
- output-folder: $(csharp-sdks-folder)/cpim/management/Microsoft.AzureActiveDirectory/GeneratedProtocol
-```
+ namespace: Microsoft.AzureADB2C
+ output-folder: $(csharp-sdks-folder)/azureadb2c/management/Microsoft.AzureADB2C/GeneratedProtocol
\ No newline at end of file
diff --git a/specification/cpim/resource-manager/readme.go.md b/specification/cpim/resource-manager/readme.go.md
index 11bd72613e44..602be4bd4dc5 100644
--- a/specification/cpim/resource-manager/readme.go.md
+++ b/specification/cpim/resource-manager/readme.go.md
@@ -5,15 +5,32 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: azureadb2c
clear-output-folder: true
```
+### Go multi-api
+
+```yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-05-01-preview
+ - tag: package-2019-01-01-preview
+```
+
+### Tag: package-2019-01-01-preview and go
+
+These settings apply only when `--tag=package-2019-01-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2019-01-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/azureadb2c/mgmt/2019-01-01-preview/$(namespace)
+```
+
### Tag: package-2020-05-01-preview and go
These settings apply only when `--tag=package-2020-05-01-preview --go` is specified on the command line.
-Please also specify `--go-sdks-folder=`.
+Please also specify `--go-sdk-folder=`.
```yaml $(tag) == 'package-2020-05-01-preview' && $(go)
-namespace: Microsoft.AzureActiveDirectory
-output-folder: $(go-sdks-folder)/cpim/Generated
+output-folder: $(go-sdk-folder)/services/preview/azureadb2c/mgmt/2020-05-01-preview/$(namespace)
```
diff --git a/specification/cpim/resource-manager/readme.md b/specification/cpim/resource-manager/readme.md
index acc5245c5750..1390572c54e5 100644
--- a/specification/cpim/resource-manager/readme.md
+++ b/specification/cpim/resource-manager/readme.md
@@ -2,7 +2,7 @@
> see https://aka.ms/autorest
-This is the AutoRest configuration file for cpim.
+This is the AutoRest configuration file for azureadb2c.
## Getting Started
@@ -22,13 +22,24 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor
### Basic Information
-These are the global settings for the cpim.
+These are the global settings for the azureadb2c APIs.
```yaml
+title: CPIMConfigurationClient
+description: CPIM Configuration Client
openapi-type: arm
tag: package-2020-05-01-preview
```
+### Tag: package-2019-01-01-preview
+
+These settings apply only when `--tag=package-2019-01-01-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-01-01-preview'
+input-file:
+ - Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/cpimTenant.json
+```
+
### Tag: package-2020-05-01-preview
These settings apply only when `--tag=package-2020-05-01-preview` is specified on the command line.
@@ -50,15 +61,8 @@ 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-python-track2
- 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_cpim']
- - repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js cpim/resource-manager
```
## Go
@@ -69,19 +73,6 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.python.md](./readme.python.md)
-## Ruby
-
-See configuration in [readme.ruby.md](./readme.ruby.md)
-
-## TypeScript
-
-See configuration in [readme.typescript.md](./readme.typescript.md)
-
## CSharp
See configuration in [readme.csharp.md](./readme.csharp.md)
-
-## AzureResourceSchema
-
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-
diff --git a/specification/cpim/resource-manager/readme.python.md b/specification/cpim/resource-manager/readme.python.md
index 9b05d3b50643..f71cd3681047 100644
--- a/specification/cpim/resource-manager/readme.python.md
+++ b/specification/cpim/resource-manager/readme.python.md
@@ -1,21 +1,73 @@
## Python
These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-```yaml $(python)
+```yaml !$(track2)
python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
payload-flattening-threshold: 2
- namespace: Microsoft.AzureActiveDirectory
- package-name: cpim
- package-version: 2020-05-01-preview
+ package-name: azure-mgmt-azureadb2c
clear-output-folder: true
+ no-namespace-folders: true
+ python-base-folder: azureadb2c/azure-mgmt-azureadb2c/azure/mgmt/azureadb2c
+ python-base-namespace: azure.mgmt.azureadb2c
+```
+
+These settings apply only when `--track2` is specified on the command line.
+
+```yaml $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-azureadb2c
+no-namespace-folders: true
+python-base-folder: azureadb2c/azure-mgmt-azureadb2c/azure/mgmt/azureadb2c
+```
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(multiapi) && !$(track2)
+batch:
+ - tag: package-2020-05-01-preview
+ - tag: package-2019-01-01-preview
+```
+
+```yaml $(multiapi) && $(track2)
+clear-output-folder: true
+batch:
+ - tag: package-2020-05-01-preview
+ - tag: package-2019-01-01-preview
+ - multiapiscript: true
```
-```yaml $(python)
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/azureadb2c/azure-mgmt-azureadb2c/azure/mgmt/azureadb2c/
+clear-output-folder: false
+perform-load: false
+```
+
+### Tag: package-2020-05-01-preview and python
+
+These settings apply only when `--tag=package-2020-05-01-preview --python` is specified on the command line. Please also specify `--python-sdks-folder=`.
+
+```yaml $(tag) =='package-2020-05-01-preview'
+namespace: $(python-base-namespace).v2020_05_01_preview
+output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_05_01_preview
python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt/cpim
+ namespace: $(python-base-namespace).v2020_05_01_preview
+ output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_05_01_preview
+```
+
+### Tag: package-2019-01-01-preview and python
+
+These settings apply only when `--tag=package-2019-01-01-preview --python` is specified on the command line. Please also specify `--python-sdks-folder=`.
+
+```yaml $(tag) =='package-2019-01-01-preview'
+namespace: $(python-base-namespace).v2019_01_01_preview
+output-folder: $(python-sdks-folder)/$(python-base-folder)/v2019_01_01_preview
+python:
+ namespace: $(python-base-namespace).v2019_01_01_preview
+ output-folder: $(python-sdks-folder)/$(python-base-folder)/v2019_01_01_preview
```
diff --git a/specification/cpim/resource-manager/readme.ruby.md b/specification/cpim/resource-manager/readme.ruby.md
deleted file mode 100644
index bf0a94227dc2..000000000000
--- a/specification/cpim/resource-manager/readme.ruby.md
+++ /dev/null
@@ -1,19 +0,0 @@
-## Ruby
-
-These settings apply only when `--ruby` is specified on the command line.
-
-```yaml
-package-name: azure_mgmt_cpim
-package-version: 2020-05-01-preview
-azure-arm: true
-```
-
-### Tag: package-2020-05-01-preview and ruby
-
-These settings apply only when `--tag=package-2020-05-01-preview --ruby` is specified on the command line.
-Please also specify `--ruby-sdks-folder=`.
-
-```yaml $(tag) == 'package-2020-05-01-preview' && $(ruby)
-namespace: Microsoft.AzureActiveDirectory
-output-folder: $(ruby-sdks-folder)/cpim
-```
diff --git a/specification/cpim/resource-manager/readme.azureresourceschema.md b/specification/cpim/resource-manager/reeadme.azureresourceschema.md
similarity index 64%
rename from specification/cpim/resource-manager/readme.azureresourceschema.md
rename to specification/cpim/resource-manager/reeadme.azureresourceschema.md
index b627d4375146..ca73aeee45de 100644
--- a/specification/cpim/resource-manager/readme.azureresourceschema.md
+++ b/specification/cpim/resource-manager/reeadme.azureresourceschema.md
@@ -7,6 +7,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
- tag: schema-azureactivedirectory-2020-05-01-preview
+ - tag: schema-azureactivedirectory-2019-01-01-preview
```
@@ -22,3 +23,14 @@ input-file:
- Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json
```
+
+### Tag: schema-azureactivedirectory-2019-01-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-azureactivedirectory-2019-01-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/cpimTenant.json
+
+```
diff --git a/specification/customproviders/resource-manager/readme.python.md b/specification/customproviders/resource-manager/readme.python.md
index 4e1e85b9ba52..ae8f7bd9c9d8 100644
--- a/specification/customproviders/resource-manager/readme.python.md
+++ b/specification/customproviders/resource-manager/readme.python.md
@@ -3,7 +3,7 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-```yaml $(python)
+```yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -14,14 +14,32 @@ python:
package-version: 2018-09-01-preview
clear-output-folder: true
```
+```yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.customproviders
+package-name: azure-mgmt-customproviders
+package-version: 2018-09-01-preview
+clear-output-folder: true
+```
-```yaml $(python) && $(python-mode) == 'create'
+```yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/customproviders/azure-mgmt-customproviders
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/customproviders/azure-mgmt-customproviders/azure/mgmt/customproviders
-```
\ No newline at end of file
+```
+
+```yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/customproviders/azure-mgmt-customproviders
+```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/customproviders/azure-mgmt-customproviders/azure/mgmt/customproviders
+```
diff --git a/specification/databox/resource-manager/readme.python.md b/specification/databox/resource-manager/readme.python.md
index ebdc1a83087b..2956e1d72d64 100644
--- a/specification/databox/resource-manager/readme.python.md
+++ b/specification/databox/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
@@ -18,16 +18,43 @@ python:
no-namespace-folders: true
```
+``` yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.databox
+package-name: azure-mgmt-databox
+package-version: 0.1.0
+title: DataBoxManagementClient
+description: The DataBox Client.
+clear-output-folder: true
+no-namespace-folders: true
+```
+
### Python multi-api
Generate all API versions currently shipped for this package
-```yaml $(python) && $(multiapi)
+```yaml $(python) && $(multiapi) && !$(track2)
+batch:
+ - tag: package-2020-11
+ - tag: package-2020-04
+ - tag: package-2019-09
+ - tag: package-2018-01
+```
+
+```yaml $(python) && $(multiapi) && $(track2)
batch:
- tag: package-2020-11
- tag: package-2020-04
- tag: package-2019-09
- tag: package-2018-01
+ - multiapiscript: true
+```
+
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/
+clear-output-folder: false
+perform-load: false
```
### Tag: package-2020-11 and python
@@ -35,41 +62,57 @@ batch:
These settings apply only when `--tag=package-2020-11 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2020-11' && $(python)
+``` yaml $(tag) == 'package-2020-11' && $(python) && !$(track2)
python:
namespace: azure.mgmt.databox.v2020_11_01
output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_11_01
```
+``` yaml $(tag) == 'package-2020-11' && $(python) && $(track2)
+namespace: azure.mgmt.databox.v2020_11_01
+output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_11_01
+```
### Tag: package-2020-04 and python
These settings apply only when `--tag=package-2020-04 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2020-04' && $(python)
+``` yaml $(tag) == 'package-2020-04' && $(python) && !$(track2)
python:
namespace: azure.mgmt.databox.v2020_04_01
output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_04_01
```
+``` yaml $(tag) == 'package-2020-04' && $(python) && $(track2)
+namespace: azure.mgmt.databox.v2020_04_01
+output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_04_01
+```
### Tag: package-2019-09 and python
These settings apply only when `--tag=package-2019-09 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2019-09' && $(python)
+``` yaml $(tag) == 'package-2019-09' && $(python) && !$(track2)
python:
namespace: azure.mgmt.databox.v2019_09_01
output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2019_09_01
```
+``` yaml $(tag) == 'package-2019-09' && $(python) && $(track2)
+namespace: azure.mgmt.databox.v2019_09_01
+output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2019_09_01
+```
### Tag: package-2018-01 and python
These settings apply only when `--tag=package-2018-01 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2018-01' && $(python)
+``` yaml $(tag) == 'package-2018-01' && $(python) && !$(track2)
python:
namespace: azure.mgmt.databox.v2018_01_01
output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2018_01_01
-```
\ No newline at end of file
+```
+``` yaml $(tag) == 'package-2018-01' && $(python) && $(track2)
+namespace: azure.mgmt.databox.v2018_01_01
+output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2018_01_01
+```
diff --git a/specification/databoxedge/resource-manager/readme.python.md b/specification/databoxedge/resource-manager/readme.python.md
index 6016f29d1038..6c06a856dfb2 100644
--- a/specification/databoxedge/resource-manager/readme.python.md
+++ b/specification/databoxedge/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
@@ -16,17 +16,41 @@ python:
clear-output-folder: true
no-namespace-folders: true
```
+``` yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.databoxedge
+package-name: azure-mgmt-databoxedge
+title: DataBoxEdgeManagementClient
+description: The DataBoxEdge Client.
+clear-output-folder: true
+no-namespace-folders: true
+```
### Python multi-api
Generate all API versions currently shipped for this package
-```yaml $(python) && $(multiapi)
+```yaml $(python) && $(multiapi) && !$(track2)
+batch:
+ - tag: package-2020-05-preview
+ - tag: package-2019-08
+ - tag: package-2019-07
+ - tag: package-2019-03
+```
+```yaml $(python) && $(multiapi) && $(track2)
batch:
- tag: package-2020-05-preview
- tag: package-2019-08
- tag: package-2019-07
- tag: package-2019-03
+ - multiapiscript: true
+```
+
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/
+clear-output-folder: false
+perform-load: false
```
### Tag: package-2020-05-preview and python
@@ -34,41 +58,57 @@ batch:
These settings apply only when `--tag=package-2020-05-preview --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2020-05-preview' && $(python)
+``` yaml $(tag) == 'package-2020-05-preview' && $(python) & !$(track2)
python:
namespace: azure.mgmt.databoxedge.v2020_05_01_preview
output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2020_05_01_preview
```
+``` yaml $(tag) == 'package-2020-05-preview' && $(python) && $(track2)
+namespace: azure.mgmt.databoxedge.v2020_05_01_preview
+output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2020_05_01_preview
+```
### Tag: package-2019-08 and python
These settings apply only when `--tag=package-2019-08 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2019-08' && $(python)
+``` yaml $(tag) == 'package-2019-08' && $(python) && !$(track2)
python:
namespace: azure.mgmt.databoxedge.v2019_08_01
output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_08_01
```
+``` yaml $(tag) == 'package-2019-08' && $(python) && $(track2)
+namespace: azure.mgmt.databoxedge.v2019_08_01
+output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_08_01
+```
### Tag: package-2019-07 and python
These settings apply only when `--tag=package-2019-07 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2019-07' && $(python)
+``` yaml $(tag) == 'package-2019-07' && $(python) && !$(track2)
python:
namespace: azure.mgmt.databoxedge.v2019_07_01
output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_07_01
```
+``` yaml $(tag) == 'package-2019-07' && $(python) && $(track2)
+namespace: azure.mgmt.databoxedge.v2019_07_01
+output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_07_01
+```
### Tag: package-2019-03 and python
These settings apply only when `--tag=package-2019-03 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2019-03' && $(python)
+``` yaml $(tag) == 'package-2019-03' && $(python) && !$(track2)
python:
namespace: azure.mgmt.databoxedge.v2019_03_01
output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_03_01
```
+``` yaml $(tag) == 'package-2019-03' && $(python) && $(track2)
+namespace: azure.mgmt.databoxedge.v2019_03_01
+output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_03_01
+```
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json
index f44ce0804b10..d768a2994c98 100644
--- a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json
@@ -1511,7 +1511,8 @@
"x-ms-enum": {
"modelAsString": true,
"name": "MonitoringStatus"
- }
+ },
+ "readOnly": true
},
"MarketplaceSubscriptionStatus": {
"description": "Flag specifying the Marketplace Subscription Status of the resource. If payment is not made in time, the resource will go in Suspended state.",
@@ -1523,7 +1524,8 @@
"x-ms-enum": {
"modelAsString": true,
"name": "MarketplaceSubscriptionStatus"
- }
+ },
+ "readOnly": true
},
"DatadogOrganizationProperties": {
"description": "Datadog organization properties",
@@ -1544,14 +1546,16 @@
"type": "string",
"x-ms-mutability": [
"create"
- ]
+ ],
+ "x-ms-secret": true
},
"linkingClientId": {
"description": "The client_id from an existing in exchange for an auth token to link organization.",
"type": "string",
"x-ms-mutability": [
"create"
- ]
+ ],
+ "x-ms-secret": true
},
"enterpriseAppId": {
"description": "The Id of the Enterprise App used for Single sign on.",
@@ -1581,7 +1585,8 @@
"maxLength": 40,
"type": "string"
}
- }
+ },
+ "x-ms-secret": true
},
"LiftrResourceCategories": {
"enum": [
@@ -1894,7 +1899,8 @@
},
"singleSignOnUrl": {
"description": "The login URL specific to this Datadog Organization.",
- "type": "string"
+ "type": "string",
+ "readOnly": true
}
}
},
diff --git a/specification/datalake-store/resource-manager/readme.python.md b/specification/datalake-store/resource-manager/readme.python.md
index fc228c2d76e0..f1f8b12ab41b 100644
--- a/specification/datalake-store/resource-manager/readme.python.md
+++ b/specification/datalake-store/resource-manager/readme.python.md
@@ -18,23 +18,30 @@ python:
python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
-payload-flattening-threshold: 2
namespace: azure.mgmt.datalake.store
package-name: azure-mgmt-datalake-store
package-version: 1.0.0b1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store/azure/mgmt/datalake/store
no-namespace-folders: true
output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store/azure/mgmt/datalake/store
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store
basic-setup-py: true
output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store
```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store/azure/mgmt/datalake/store
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store
+```
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json
index 20b815e53811..2c8ac1949c60 100644
--- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json
@@ -1772,6 +1772,10 @@
"sku": {
"description": "Sku info for a provisioning Service.",
"$ref": "#/definitions/IotDpsSkuInfo"
+ },
+ "identity": {
+ "description": "The managed identities for the IotDps instance.",
+ "$ref": "#/definitions/ArmIdentity"
}
},
"allOf": [
@@ -1920,20 +1924,67 @@
"location"
]
},
+ "ArmIdentity": {
+ "type": "object",
+ "description": "The set of ARM identities associated with the IoT DPS resource.",
+ "properties": {
+ "principalId": {
+ "description": "Principal Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Tenant Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "identityType": {
+ "description": "Identity type. Only allowed values are SystemAssigned and UserAssigned. Comma separated if both for ex: SystemAssigned,UserAssigned.",
+ "type": "string"
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "description": "The set of UserAssigned identities associated with the IoT DPS resource.",
+ "additionalProperties": {
+ "$ref": "#/definitions/ArmUserIdentity"
+ }
+ }
+ }
+ },
+ "ArmUserIdentity": {
+ "type": "object",
+ "description": "The ARM UserAssigned identity information",
+ "properties": {
+ "principalId": {
+ "description": "Principal Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "Client Id",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"EncryptionPropertiesDescription": {
- "description": "The encryption properties for the IoT DPS instance.",
+ "description": "The customer-managed encryption key (CMK) properties for the IoT DPS instance.",
"type": "object",
"properties": {
"keySource": {
- "description": "The source of the key.",
+ "description": "The source of the encryption key. Typically, Microsoft.KeyVault",
"type": "string"
},
"keyVaultProperties": {
- "description": "The properties of the KeyVault key.",
+ "description": "The properties of the encryption key configured in KeyVault.",
"type": "array",
"items": {
"$ref": "#/definitions/KeyVaultKeyProperties"
}
+ },
+ "identity": {
+ "description": "The identity used to access the encryption key in KeyVault.",
+ "$ref": "#/definitions/EncryptionKeyIdentity"
}
}
},
@@ -1947,6 +1998,16 @@
}
}
},
+ "EncryptionKeyIdentity": {
+ "description": "The properties of the identity used to access the key encryption key in KeyVault.",
+ "type": "object",
+ "properties": {
+ "userAssignedIdentity": {
+ "type": "string",
+ "description": "The user assigned identity."
+ }
+ }
+ },
"IpFilterRule": {
"description": "The IP filter rules for a provisioning Service.",
"type": "object",
diff --git a/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/devops.json b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/devops.json
new file mode 100644
index 000000000000..50827cbc7642
--- /dev/null
+++ b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/devops.json
@@ -0,0 +1,925 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure DevOps",
+ "description": "Azure DevOps Resource Provider",
+ "version": "2020-07-13-preview",
+ "x-ms-code-generation-settings": {
+ "name": "DevOpsClient"
+ }
+ },
+ "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.DevOps/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "description": "Lists all the operations supported by Microsoft.DevOps resource provider.",
+ "tags": [
+ "Operations"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of supported operations has been fetched successfully.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get a list of operations supported by Microsoft.DevOps resource provider": {
+ "$ref": "./examples/ListOperations.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DevOps/pipelineTemplateDefinitions": {
+ "get": {
+ "tags": [
+ "PipelineTemplateDefinitions"
+ ],
+ "operationId": "PipelineTemplateDefinitions_List",
+ "description": "Lists all pipeline templates which can be used to configure a Pipeline.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "The pipeline template definitions have been fetched successfully.",
+ "schema": {
+ "$ref": "#/definitions/PipelineTemplateDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get the list of pipeline template definitions": {
+ "$ref": "./examples/ListPipelineTemplateDefinitions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOps/pipelines/{pipelineName}": {
+ "put": {
+ "operationId": "Pipelines_CreateOrUpdate",
+ "description": "Creates or updates a Pipeline.",
+ "tags": [
+ "Pipelines"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "pipelineName",
+ "description": "The name of the Pipeline resource in ARM.",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "createOperationParameters",
+ "description": "The request payload to create the Pipeline.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Pipeline"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The request has been accepted for processing and the Pipeline will be configured asynchronously."
+ },
+ "200": {
+ "description": "The Pipeline has been configured successfully.",
+ "schema": {
+ "$ref": "#/definitions/Pipeline"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create an Azure pipeline to deploy a sample ASP.Net application to Azure web-app": {
+ "$ref": "./examples/CreateAzurePipeline-Sample-AspNet-WindowsWebApp.json"
+ },
+ "Create a GitHub pipeline to deploy a sample ASP.Net application to Azure web-app": {
+ "$ref": "./examples/CreateGitHubPipeline-Sample-AspNet-WindowsWebApp.json"
+ }
+ }
+ },
+ "get": {
+ "operationId": "Pipelines_Get",
+ "description": "Gets an existing Pipeline.",
+ "tags": [
+ "Pipelines"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "pipelineName",
+ "description": "The name of the Pipeline resource in ARM.",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Pipeline has been fetched successfully.",
+ "schema": {
+ "$ref": "#/definitions/Pipeline"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get an existing pipeline": {
+ "$ref": "./examples/GetPipeline.json"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "Pipelines_Update",
+ "description": "Updates the properties of an Azure Pipeline. Currently, it is not supported on 'githubWorkflow' pipeline type and only tags can be updated for 'azurePipeline' pipeline type.",
+ "tags": [
+ "Pipelines"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "pipelineName",
+ "description": "The name of the Azure Pipeline resource.",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "updateOperationParameters",
+ "description": "The request payload containing the properties to update in the Azure Pipeline.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PipelineUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Azure Pipeline has been updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/Pipeline"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update an existing Azure pipeline": {
+ "$ref": "./examples/UpdateAzurePipeline.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Pipelines_Delete",
+ "description": "Deletes a Pipeline.",
+ "tags": [
+ "Pipelines"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "pipelineName",
+ "description": "The name of the Pipeline resource.",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Pipeline has been deleted successfully."
+ },
+ "204": {
+ "description": "The Pipeline is not found or has been deleted already."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete an existing pipeline": {
+ "$ref": "./examples/DeletePipeline.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOps/pipelines": {
+ "get": {
+ "operationId": "Pipelines_ListByResourceGroup",
+ "description": "Lists all Pipelines under the specified resource group.",
+ "tags": [
+ "Pipelines"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Pipelines have been fetched successfully.",
+ "schema": {
+ "$ref": "#/definitions/PipelineListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all Pipelines under the specified resource group": {
+ "$ref": "./examples/ListPipelinesByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DevOps/pipelines": {
+ "get": {
+ "operationId": "Pipelines_ListBySubscription",
+ "description": "Lists all Pipelines under the specified subscription.",
+ "tags": [
+ "Pipelines"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Pipelines have been fetched successfully.",
+ "schema": {
+ "$ref": "#/definitions/PipelineListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all pipelines under the specified subscription": {
+ "$ref": "./examples/ListPipelinesBySubscription.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "description": "Details of the error from the Pipelines Resource Provider.",
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Pipelines Resource Provider."
+ },
+ "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 or the method where the error occurred."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Pipelines Resource Provider."
+ },
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of operations supported by Microsoft.DevOps resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of operations, if there are any."
+ }
+ },
+ "description": "Result of a request to list all operations supported by Microsoft.DevOps resource provider."
+ },
+ "Operation": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the operation."
+ },
+ "isDataAction": {
+ "type": "string",
+ "description": "Indicates whether the operation applies to data-plane."
+ },
+ "display": {
+ "description": "Display information of the operation.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationDisplayValue"
+ }
+ },
+ "description": "Properties of an Operation."
+ },
+ "OperationDisplayValue": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Friendly name of the operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Friendly name of the resource type the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Friendly description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Friendly name of the resource provider."
+ }
+ },
+ "description": "Display information of an operation."
+ },
+ "PipelineTemplateDefinitionListResult": {
+ "type": "object",
+ "description": "Result of a request to list all pipeline template definitions.",
+ "properties": {
+ "value": {
+ "description": "List of pipeline template definitions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PipelineTemplateDefinition"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of pipeline template definitions, if there are any."
+ }
+ }
+ },
+ "PipelineTemplateDefinition": {
+ "type": "object",
+ "description": "Definition of a pipeline template.",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the pipeline template.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the pipeline enabled by the template.",
+ "type": "string"
+ },
+ "inputs": {
+ "description": "List of input parameters required by the template to create a pipeline.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InputDescriptor"
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "InputDescriptor": {
+ "type": "object",
+ "description": "Representation of a pipeline template input parameter.",
+ "properties": {
+ "id": {
+ "description": "Identifier of the input parameter.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the input parameter.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Data type of the value of the input parameter.",
+ "type": "string",
+ "enum": [
+ "String",
+ "SecureString",
+ "Int",
+ "Bool",
+ "Authorization"
+ ],
+ "x-ms-enum": {
+ "name": "InputDataType",
+ "modelAsString": true
+ }
+ },
+ "possibleValues": {
+ "description": "List of possible values for the input parameter.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InputValue"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "type"
+ ]
+ },
+ "InputValue": {
+ "type": "object",
+ "description": "Representation of a pipeline template input parameter value.",
+ "properties": {
+ "value": {
+ "description": "Value of an input parameter.",
+ "type": "string"
+ },
+ "displayValue": {
+ "description": "Description of the input parameter value.",
+ "type": "string"
+ }
+ }
+ },
+ "Pipeline": {
+ "type": "object",
+ "description": "Pipeline used to configure Continuous Integration (CI) & Continuous Delivery (CD) for Azure resources.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PipelineProperties",
+ "description": "Custom properties of the Pipeline.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system metadata pertaining to this resource.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "PipelineProperties": {
+ "type": "object",
+ "description": "Custom properties of a Pipeline.",
+ "discriminator": "pipelineType",
+ "properties": {
+ "pipelineId": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Unique identifier of the Pipeline"
+ },
+ "pipelineType": {
+ "type": "string",
+ "enum": [
+ "githubWorkflow",
+ "azurePipeline"
+ ],
+ "x-ms-enum": {
+ "name": "pipelineTypeEnum",
+ "modelAsString": true
+ },
+ "description": "Specifies which CI/CD provider to use. Valid options are 'azurePipeline', 'githubWorkflow'."
+ },
+ "bootstrapConfiguration": {
+ "$ref": "#/definitions/BootstrapConfiguration",
+ "description": "Configuration used to bootstrap the Pipeline."
+ }
+ },
+ "required": [
+ "pipelineType",
+ "bootstrapConfiguration"
+ ]
+ },
+ "azurePipelineProperties": {
+ "type": "object",
+ "x-ms-discriminator-value": "azurePipeline",
+ "description": "Custom properties of a Azure Pipeline.",
+ "properties": {
+ "organization": {
+ "$ref": "#/definitions/OrganizationReference",
+ "description": "Reference to the Azure DevOps Organization containing the Pipeline. Required for 'azurePipeline' pipeline type."
+ },
+ "project": {
+ "$ref": "#/definitions/ProjectReference",
+ "description": "Reference to the Azure DevOps Project containing the Pipeline. Required for 'azurePipeline' pipeline type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PipelineProperties"
+ }
+ ],
+ "required": [
+ "organization",
+ "project"
+ ]
+ },
+ "githubWorkflowProperties": {
+ "type": "object",
+ "x-ms-discriminator-value": "githubWorkflow",
+ "description": "Custom properties of an Github Pipeline.",
+ "properties": {
+ "repository": {
+ "$ref": "#/definitions/CodeRepository",
+ "description": "Contains the specifications of the repository to be created for generating the workflow. Required for 'githubWorkflow' pipeline type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PipelineProperties"
+ }
+ ],
+ "required": [
+ "repository"
+ ]
+ },
+ "OrganizationReference": {
+ "type": "object",
+ "description": "Reference to an Azure DevOps Organization.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique immutable identifier for the Azure DevOps Organization."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Azure DevOps Organization."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "ProjectReference": {
+ "type": "object",
+ "description": "Reference to an Azure DevOps Project.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique immutable identifier of the Azure DevOps Project."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Azure DevOps Project."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "BootstrapConfiguration": {
+ "type": "object",
+ "description": "Configuration used to bootstrap a Pipeline.",
+ "properties": {
+ "sourceRepository": {
+ "$ref": "#/definitions/CodeRepository",
+ "description": "Repository containing the source code for the pipeline. Currently only 'azurePipeline' pipeline type supports this."
+ },
+ "template": {
+ "$ref": "#/definitions/PipelineTemplate",
+ "description": "Template used to bootstrap the pipeline."
+ }
+ },
+ "required": [
+ "template"
+ ]
+ },
+ "CodeRepository": {
+ "type": "object",
+ "description": "Repository containing the source code for a pipeline.",
+ "properties": {
+ "repositoryType": {
+ "description": "Type of code repository.",
+ "type": "string",
+ "enum": [
+ "gitHub",
+ "vstsGit"
+ ],
+ "x-ms-enum": {
+ "name": "CodeRepositoryType",
+ "modelAsString": true
+ }
+ },
+ "id": {
+ "description": "Unique immutable identifier of the code repository.",
+ "type": "string"
+ },
+ "defaultBranch": {
+ "description": "Default branch used to configure Continuous Integration (CI) in the pipeline.",
+ "type": "string"
+ },
+ "authorization": {
+ "description": "Authorization info to access the code repository.",
+ "$ref": "#/definitions/Authorization"
+ },
+ "properties": {
+ "description": "Repository-specific properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "repositoryType",
+ "id",
+ "defaultBranch"
+ ]
+ },
+ "Authorization": {
+ "description": "Authorization info used to access a resource (like code repository).",
+ "type": "object",
+ "properties": {
+ "authorizationType": {
+ "description": "Type of authorization.",
+ "type": "string",
+ "enum": [
+ "personalAccessToken"
+ ],
+ "x-ms-enum": {
+ "name": "AuthorizationType",
+ "modelAsString": true
+ }
+ },
+ "parameters": {
+ "description": "Authorization parameters corresponding to the authorization type.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "authorizationType"
+ ]
+ },
+ "PipelineTemplate": {
+ "type": "object",
+ "description": "Template used to bootstrap the pipeline.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the pipeline template."
+ },
+ "parameters": {
+ "type": "object",
+ "description": "Dictionary of input parameters used in the pipeline template.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "Resource": {
+ "type": "object",
+ "description": "An Azure Resource Manager (ARM) resource.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Type"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource Tags"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource Location"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Name"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PipelineUpdateParameters": {
+ "type": "object",
+ "description": "Request payload used to update an existing Azure Pipeline.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Dictionary of key-value pairs to be set as tags on the Azure Pipeline. This will overwrite any existing tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PipelineListResult": {
+ "description": "Result of a request to list all Pipelines under a given scope.",
+ "properties": {
+ "value": {
+ "description": "List of pipelines.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Pipeline"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of Pipelines, if there are any."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Unique identifier of the Azure subscription. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the resource group within the Azure subscription.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "API version to be used with the HTTP request."
+ }
+ }
+}
diff --git a/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/CreateAzurePipeline-Sample-AspNet-WindowsWebApp.json b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/CreateAzurePipeline-Sample-AspNet-WindowsWebApp.json
new file mode 100644
index 000000000000..6d80ec42e208
--- /dev/null
+++ b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/CreateAzurePipeline-Sample-AspNet-WindowsWebApp.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myAspNetWebAppPipeline-rg",
+ "pipelineName": "myAspNetWebAppPipeline",
+ "api-version": "2020-07-13-preview",
+ "createOperationParameters": {
+ "properties": {
+ "pipelineType": "azurePipeline",
+ "organization": {
+ "name": "myAspNetWebAppPipeline-org"
+ },
+ "project": {
+ "name": "myAspNetWebAppPipeline-project"
+ },
+ "bootstrapConfiguration": {
+ "template": {
+ "id": "ms.vss-continuous-delivery-pipeline-templates.aspnet-windowswebapp",
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroup": "myAspNetWebAppPipeline-rg",
+ "webAppName": "myAspNetWebApp",
+ "location": "South India",
+ "appServicePlan": "S1 Standard",
+ "appInsightLocation": "South India",
+ "azureAuth": "{\"scheme\":\"ServicePrincipal\",\"parameters\":{\"tenantid\":\"{subscriptionTenantId}\",\"objectid\":\"{appObjectId}\",\"serviceprincipalid\":\"{appId}\",\"serviceprincipalkey\":\"{appSecret}\"}}"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "The request has been accepted for processing and the Azure Pipeline will be configured asynchronously.",
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myAspNetWebAppPipeline-rg/providers/Microsoft.DevOps/pipelines/myAspNetWebAppPipeline/operations/{operationId}",
+ "retry-after": "5"
+ }
+ },
+ "200": {
+ "description": "The Pipeline has been configured successfully.",
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myAspNetWebAppPipeline-rg/providers/Microsoft.DevOps/pipelines/myAspNetWebAppPipeline",
+ "name": "myAspNetWebAppPipeline",
+ "type": "Microsoft.DevOps/pipelines",
+ "properties": {
+ "pipelineType": "azurePipeline",
+ "organization": {
+ "name": "myAspNetWebAppPipeline-org"
+ },
+ "project": {
+ "name": "myAspNetWebAppPipeline-project"
+ },
+ "bootstrapConfiguration": {
+ "template": {
+ "id": "ms.vss-continuous-delivery-pipeline-templates.aspnet-windowswebapp",
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroup": "myAspNetWebAppPipeline-rg",
+ "webAppName": "myAspNetWebApp",
+ "location": "South India",
+ "appServicePlan": "S1 Standard",
+ "appInsightLocation": "South India",
+ "azureAuth": null
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/CreateGitHubPipeline-Sample-AspNet-WindowsWebApp.json b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/CreateGitHubPipeline-Sample-AspNet-WindowsWebApp.json
new file mode 100644
index 000000000000..9d7cad8ba81d
--- /dev/null
+++ b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/CreateGitHubPipeline-Sample-AspNet-WindowsWebApp.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myAspNetWebAppPipeline-rg",
+ "pipelineName": "myAspNetWebAppPipeline",
+ "api-version": "2020-07-13-preview",
+ "createOperationParameters": {
+ "properties": {
+ "pipelineType": "githubWorkflow",
+ "repository": {
+ "repositoryType": "gitHub",
+ "id": "contoso/myAspNetWebAppPipeline-org",
+ "defaultBranch": "master",
+ "authorization": {
+ "authorizationType": "personalAccessToken",
+ "parameters": {
+ "token": "mypat"
+ }
+ }
+ },
+ "bootstrapConfiguration": {
+ "template": {
+ "id": "ms.vss-continuous-delivery-pipeline-templates.aspnet-windowswebapp",
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroup": "myAspNetWebAppPipeline-rg",
+ "webAppName": "myAspNetWebApp",
+ "location": "South India",
+ "appServicePlan": "S1 Standard",
+ "appInsightLocation": "South India",
+ "azureAuth": "{\"scheme\":\"ServicePrincipal\",\"parameters\":{\"tenantid\":\"{subscriptionTenantId}\",\"objectid\":\"{appObjectId}\",\"serviceprincipalid\":\"{appId}\",\"serviceprincipalkey\":\"{appSecret}\"}}"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "The request has been accepted for processing and the Azure Pipeline will be configured asynchronously.",
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myAspNetWebAppPipeline-rg/providers/Microsoft.DevOps/pipelines/myAspNetWebAppPipeline/operations/{operationId}",
+ "retry-after": "5"
+ }
+ },
+ "200": {
+ "description": "The Pipeline has been configured successfully.",
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myAspNetWebAppPipeline-rg/providers/Microsoft.DevOps/pipelines/myAspNetWebAppPipeline",
+ "name": "myAspNetWebAppPipeline",
+ "type": "Microsoft.DevOps/pipelines",
+ "properties": {
+ "pipelineType": "githubWorkflow",
+ "repository": {
+ "repositoryType": "gitHub",
+ "id": "contoso/myAspNetWebAppPipeline-org",
+ "defaultBranch": "master"
+ },
+ "bootstrapConfiguration": {
+ "template": {
+ "id": "ms.vss-continuous-delivery-pipeline-templates.aspnet-windowswebapp",
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroup": "myAspNetWebAppPipeline-rg",
+ "webAppName": "myAspNetWebApp",
+ "location": "South India",
+ "appServicePlan": "S1 Standard",
+ "appInsightLocation": "South India",
+ "azureAuth": null
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/DeletePipeline.json b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/DeletePipeline.json
new file mode 100644
index 000000000000..06ce8c762e7f
--- /dev/null
+++ b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/DeletePipeline.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myAspNetWebAppPipeline-rg",
+ "pipelineName": "myAspNetWebAppPipeline",
+ "api-version": "2020-07-13-preview"
+ },
+ "responses": {
+ "200": {
+ "description": "The Pipeline has been deleted successfully."
+ },
+ "204": {
+ "description": "The Pipeline is not found or has been deleted already."
+ }
+ }
+}
diff --git a/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/GetPipeline.json b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/GetPipeline.json
new file mode 100644
index 000000000000..fe471c07eba8
--- /dev/null
+++ b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/GetPipeline.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myAspNetWebAppPipeline-rg",
+ "pipelineName": "myAspNetWebAppPipeline",
+ "api-version": "2020-07-13-preview"
+ },
+ "responses": {
+ "200": {
+ "description": "The Pipeline has been configured successfully.",
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myAspNetWebAppPipeline-rg/providers/Microsoft.DevOps/pipelines/myAspNetWebAppPipeline",
+ "name": "myAspNetWebAppPipeline",
+ "type": "Microsoft.DevOps/pipelines",
+ "properties": {
+ "pipelineType": "azurePipeline",
+ "organization": {
+ "name": "myAspNetWebAppPipeline-org"
+ },
+ "project": {
+ "name": "myAspNetWebAppPipeline-project"
+ },
+ "bootstrapConfiguration": {
+ "template": {
+ "id": "ms.vss-continuous-delivery-pipeline-templates.aspnet-windowswebapp",
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroup": "myAspNetWebAppPipeline-rg",
+ "webAppName": "myAspNetWebApp",
+ "location": "South India",
+ "appServicePlan": "S1 Standard",
+ "appInsightLocation": "South India",
+ "azureAuth": null
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListOperations.json b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListOperations.json
new file mode 100644
index 000000000000..069122a9a7be
--- /dev/null
+++ b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListOperations.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2020-07-13-preview"
+ },
+ "responses": {
+ "200": {
+ "description": "The list of supported operations has been fetched successfully.",
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DevOps/register/action",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft DevOps",
+ "resource": "register",
+ "operation": "Register for Microsoft.DevOps",
+ "description": "Registers the specified subscription with Microsoft.DevOps resource provider and enables the creation of Pipelines"
+ }
+ },
+ {
+ "name": "Microsoft.DevOps/pipelines/write",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft DevOps",
+ "resource": "Pipelines",
+ "operation": "Create or Update Pipeline",
+ "description": "Creates or Updates any Pipeline"
+ }
+ },
+ {
+ "name": "Microsoft.DevOps/pipelines/read",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft DevOps",
+ "resource": "Pipelines",
+ "operation": "Read Pipeline",
+ "description": "Reads any Pipeline"
+ }
+ },
+ {
+ "name": "Microsoft.DevOps/pipelines/delete",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft DevOps",
+ "resource": "Pipelines",
+ "operation": "Delete Pipeline",
+ "description": "Deletes any Pipeline"
+ }
+ },
+ {
+ "name": "Microsoft.DevOps/pipelineTemplateDefinitions/read",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft DevOps",
+ "resource": "PipelineTemplateDefinitions",
+ "operation": "Read PipelineTemplateDefinition",
+ "description": "Reads any PipelineTemplateDefinition"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListPipelineTemplateDefinitions.json b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListPipelineTemplateDefinitions.json
new file mode 100644
index 000000000000..1796dde31e47
--- /dev/null
+++ b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListPipelineTemplateDefinitions.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2020-07-13-preview"
+ },
+ "responses": {
+ "200": {
+ "description": "The pipeline template definitions have been fetched successfully.",
+ "body": {
+ "value": [
+ {
+ "id": "ms.vss-continuous-delivery-pipeline-templates.aspnet-windowswebapp",
+ "description": "Template for configuring CI/CD pipeline for ASP.Net app on Azure windows app service",
+ "inputs": [
+ {
+ "id": "azureAuth",
+ "description": "Authorization for Azure ARM endpoints.",
+ "type": "String",
+ "possibleValues": []
+ },
+ {
+ "id": "subscriptionId",
+ "description": "Id of subscription where azure resources will be created.",
+ "type": "String",
+ "possibleValues": []
+ },
+ {
+ "id": "resourceGroup",
+ "description": "A resource group is a collection of resources that share the same lifecycle, permissions, and policies. Name of resource group which should contain web app.",
+ "type": "String",
+ "possibleValues": []
+ },
+ {
+ "id": "webAppName",
+ "description": "Name of web app to be created",
+ "type": "String",
+ "possibleValues": []
+ },
+ {
+ "id": "location",
+ "description": "Choose the Azure region that's right for you and your customers.",
+ "type": "String",
+ "possibleValues": []
+ },
+ {
+ "id": "appServicePlan",
+ "description": "Details of cost and compute resource associated with the web app",
+ "type": "String",
+ "possibleValues": [
+ {
+ "value": "P1 Premium",
+ "displayValue": "P1 Premium (1 Core, 1.75 GB RAM)"
+ },
+ {
+ "value": "P2 Premium",
+ "displayValue": "P2 Premium (2 Core, 3.5 GB RAM)"
+ },
+ {
+ "value": "P3 Premium",
+ "displayValue": "P3 Premium (4 Core, 7 GB RAM)"
+ },
+ {
+ "value": "S1 Standard",
+ "displayValue": "S1 Standard (1 Core, 1.75 GB RAM)"
+ },
+ {
+ "value": "S2 Standard",
+ "displayValue": "S2 Standard (2 Core, 3.5 GB RAM)"
+ },
+ {
+ "value": "S3 Standard",
+ "displayValue": "S3 Standard (4 Core, 7 GB RAM)"
+ },
+ {
+ "value": "B1 Basic",
+ "displayValue": "B1 Basic (1 Core, 1.75 GB RAM)"
+ },
+ {
+ "value": "B2 Basic",
+ "displayValue": "B2 Basic (2 Core, 3.5 GB RAM)"
+ },
+ {
+ "value": "B3 Basic",
+ "displayValue": "B3 Basic (4 Core, 7 GB RAM)"
+ },
+ {
+ "value": "F1 Free",
+ "displayValue": "F1 Free"
+ },
+ {
+ "value": "D1 Shared",
+ "displayValue": "D1 Shared"
+ }
+ ]
+ },
+ {
+ "id": "appInsightLocation",
+ "description": "Collect application monitoring data using Application Insights.",
+ "type": "String",
+ "possibleValues": []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListPipelinesByResourceGroup.json b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListPipelinesByResourceGroup.json
new file mode 100644
index 000000000000..78c8f67adbe7
--- /dev/null
+++ b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListPipelinesByResourceGroup.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myAspNetWebAppPipeline-rg",
+ "api-version": "2020-07-13-preview"
+ },
+ "responses": {
+ "200": {
+ "description": "The Pipelines has been fetched successfully.",
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myAspNetWebAppPipeline-rg/providers/Microsoft.DevOps/pipelines/myAspNetWebAppPipeline",
+ "name": "myAspNetWebAppPipeline",
+ "type": "Microsoft.DevOps/pipelines",
+ "properties": {
+ "pipelineType": "azurePipeline",
+ "organization": {
+ "name": "myAspNetWebAppPipeline-org"
+ },
+ "project": {
+ "name": "myAspNetWebAppPipeline-project"
+ },
+ "bootstrapConfiguration": {
+ "template": {
+ "id": "ms.vss-continuous-delivery-pipeline-templates.aspnet-windowswebapp",
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroup": "myAspNetWebAppPipeline-rg",
+ "webAppName": "myAspNetWebApp",
+ "location": "South India",
+ "appServicePlan": "S1 Standard",
+ "appInsightLocation": "South India",
+ "azureAuth": null
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListPipelinesBySubscription.json b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListPipelinesBySubscription.json
new file mode 100644
index 000000000000..5fc8386eb81c
--- /dev/null
+++ b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/ListPipelinesBySubscription.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "api-version": "2020-07-13-preview"
+ },
+ "responses": {
+ "200": {
+ "description": "The Pipelines have been fetched successfully.",
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myAspNetWebAppPipeline-rg/providers/Microsoft.DevOps/pipelines/myAspNetWebAppPipeline",
+ "name": "myAspNetWebAppPipeline",
+ "type": "Microsoft.DevOps/pipelines",
+ "properties": {
+ "pipelineType": "azurePipeline",
+ "organization": {
+ "name": "myAspNetWebAppPipeline-org"
+ },
+ "project": {
+ "name": "myAspNetWebAppPipeline-project"
+ },
+ "bootstrapConfiguration": {
+ "template": {
+ "id": "ms.vss-continuous-delivery-pipeline-templates.aspnet-windowswebapp",
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroup": "myAspNetWebAppPipeline-rg",
+ "webAppName": "myAspNetWebApp",
+ "location": "South India",
+ "appServicePlan": "S1 Standard",
+ "appInsightLocation": "South India",
+ "azureAuth": null
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myAspNetWebAppPipeline-rg1/providers/Microsoft.DevOps/pipelines/myAspNetWebAppPipeline1",
+ "name": "myAspNetWebAppPipeline1",
+ "type": "Microsoft.DevOps/pipelines",
+ "properties": {
+ "pipelineType": "azurePipeline",
+ "organization": {
+ "name": "myAspNetWebAppPipeline-org1"
+ },
+ "project": {
+ "name": "myAspNetWebAppPipeline-project1"
+ },
+ "bootstrapConfiguration": {
+ "template": {
+ "id": "ms.vss-continuous-delivery-pipeline-templates.aspnet-windowswebapp",
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroup": "myAspNetWebAppPipeline-rg",
+ "webAppName": "myAspNetWebApp",
+ "location": "South India",
+ "appServicePlan": "S1 Standard",
+ "appInsightLocation": "South India",
+ "azureAuth": null
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/UpdateAzurePipeline.json b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/UpdateAzurePipeline.json
new file mode 100644
index 000000000000..f288df90c799
--- /dev/null
+++ b/specification/devops/resource-manager/Microsoft.DevOps/preview/2020-07-13-preview/examples/UpdateAzurePipeline.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myAspNetWebAppPipeline-rg",
+ "pipelineName": "myAspNetWebAppPipeline",
+ "api-version": "2020-07-13-preview",
+ "updateOperationParameters": {
+ "tags": {
+ "tagKey": "tagvalue"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "The Azure Pipeline has been updated successfully.",
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myAspNetWebAppPipeline-rg/providers/Microsoft.DevOps/pipelines/myAspNetWebAppPipeline",
+ "name": "myAspNetWebAppPipeline",
+ "type": "Microsoft.DevOps/pipelines",
+ "properties": {
+ "pipelineType": "azurePipeline",
+ "organization": {
+ "name": "myAspNetWebAppPipeline-org"
+ },
+ "project": {
+ "name": "myAspNetWebAppPipeline-project"
+ },
+ "bootstrapConfiguration": {
+ "template": {
+ "id": "ms.vss-continuous-delivery-pipeline-templates.aspnet-windowswebapp",
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroup": "myAspNetWebAppPipeline-rg",
+ "webAppName": "myAspNetWebApp",
+ "location": "South India",
+ "appServicePlan": "S1 Standard",
+ "appInsightLocation": "South India",
+ "azureAuth": null
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devops/resource-manager/readme.azureresourceschema.md b/specification/devops/resource-manager/readme.azureresourceschema.md
index f9ba7f8d1279..306aa14f7664 100644
--- a/specification/devops/resource-manager/readme.azureresourceschema.md
+++ b/specification/devops/resource-manager/readme.azureresourceschema.md
@@ -6,12 +6,24 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-devops-2020-07-13-preview
- tag: schema-devops-2019-07-01-preview
```
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-devops-2020-07-13-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-devops-2020-07-13-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DevOps/preview/2020-07-13-preview/devops.json
+
+```
+
### Tag: schema-devops-2019-07-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-devops-2019-07-01-preview' && $(azureresourceschema)
diff --git a/specification/devops/resource-manager/readme.go.md b/specification/devops/resource-manager/readme.go.md
index 70edb4ea11ce..b58fcf33e7d4 100644
--- a/specification/devops/resource-manager/readme.go.md
+++ b/specification/devops/resource-manager/readme.go.md
@@ -13,11 +13,21 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-07-13-preview
- tag: package-2019-07-01-preview
```
### Tag: package-2019-07-01-preview and go
+These settings apply only when `--tag=package-2020-07-13-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2020-07-13-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-13-preview/$(namespace)
+```
+
+### Tag: package-2019-07-01-preview and go
+
These settings apply only when `--tag=package-2019-07-01-preview --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
diff --git a/specification/devops/resource-manager/readme.md b/specification/devops/resource-manager/readme.md
index cc8c568e45df..4ee71522435b 100644
--- a/specification/devops/resource-manager/readme.md
+++ b/specification/devops/resource-manager/readme.md
@@ -29,6 +29,15 @@ openapi-type: arm
tag: package-2019-07-01-preview
```
+### Tag: package-2020-07-13-preview
+
+These settings apply only when `--tag=package-2020-07-13-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-07-13-preview'
+input-file:
+ - Microsoft.DevOps/preview/2020-07-13-preview/devops.json
+```
+
### Tag: package-2019-07-01-preview
These settings apply only when `--tag=package-2019-07-01-preview` is specified on the command line.
diff --git a/specification/devops/resource-manager/readme.python.md b/specification/devops/resource-manager/readme.python.md
index d8329e41d90e..72a583c125c5 100644
--- a/specification/devops/resource-manager/readme.python.md
+++ b/specification/devops/resource-manager/readme.python.md
@@ -10,7 +10,7 @@ python:
payload-flattening-threshold: 2
namespace: azure.mgmt.devops
package-name: azure-mgmt-devops
- package-version: 2019-07-01-preview
+ package-version: 2020-07-13-preview
clear-output-folder: true
```
diff --git a/specification/devops/resource-manager/readme.ruby.md b/specification/devops/resource-manager/readme.ruby.md
index 3522830affc4..2511e5de0d55 100644
--- a/specification/devops/resource-manager/readme.ruby.md
+++ b/specification/devops/resource-manager/readme.ruby.md
@@ -4,10 +4,28 @@ These settings apply only when `--ruby` is specified on the command line.
```yaml
package-name: azure_mgmt_devops
-package-version: 2019-07-01-preview
+package-version: 2020-07-13-preview
azure-arm: true
```
+### Ruby multi-api
+
+``` yaml $(ruby) && $(multiapi)
+batch:
+ - tag: package-2020-07-13-preview
+ - tag: package-2019-07-01-preview
+```
+
+### Tag: package-2020-07-13-preview and ruby
+
+These settings apply only when `--tag=package-2020-07-13-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-07-13-preview' && $(ruby)
+namespace: Azure::DevOps::Mgmt::V2020_07_13_preview
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_devops/lib
+```
+
### Tag: package-2019-07-01-preview and ruby
These settings apply only when `--tag=package-2019-07-01-preview --ruby` is specified on the command line.
diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetComponent.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetComponent.json
index 655246856feb..a04df0474eca 100644
--- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetComponent.json
+++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetComponent.json
@@ -8,24 +8,10 @@
"200": {
"body": {
"$metadata": {
- "$model": "dtmi:com:example:interfaces:interfaceName;1",
"property1": {
- "desiredValue": 1,
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
},
"property2": {
- "desiredValue": {
- "subProperty1": "some value",
- "subProperty2": "some other value"
- },
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
},
@@ -36,13 +22,7 @@
},
"component1": {
"$metadata": {
- "$model": "dtmi:com:example:interfaces:subInterfaceName;1",
"componentProperty": {
- "desiredValue": "some value",
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
}
diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetTwin.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetTwin.json
index 7dce0f94a6e8..a64c036dcb37 100644
--- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetTwin.json
+++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetTwin.json
@@ -10,22 +10,9 @@
"$metadata": {
"$model": "dtmi:com:example:interfaces:interfaceName;1",
"property1": {
- "desiredValue": 1,
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
},
"property2": {
- "desiredValue": {
- "subProperty1": "some value",
- "subProperty2": "some other value"
- },
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
},
@@ -36,13 +23,7 @@
},
"component1": {
"$metadata": {
- "$model": "dtmi:com:example:interfaces:subInterfaceName;1",
"componentProperty": {
- "desiredValue": "some value",
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
}
diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PutTwinAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PutTwinAdvancedExample.json
index 7639f575e1dc..63dcc7c0cc9c 100644
--- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PutTwinAdvancedExample.json
+++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PutTwinAdvancedExample.json
@@ -27,22 +27,9 @@
"$metadata": {
"$model": "dtmi:com:example:interfaces:interfaceName;1",
"property1": {
- "desiredValue": 1,
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
},
"property2": {
- "desiredValue": {
- "subProperty1": "some value",
- "subProperty2": "some other value"
- },
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
},
@@ -53,13 +40,7 @@
},
"component1": {
"$metadata": {
- "$model": "dtmi:com:example:interfaces:subInterfaceName;1",
"componentProperty": {
- "desiredValue": "some value",
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
}
diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetComponent.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetComponent.json
index 3bfbe8c87b49..733c357f7622 100644
--- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetComponent.json
+++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetComponent.json
@@ -8,24 +8,10 @@
"200": {
"body": {
"$metadata": {
- "$model": "dtmi:com:example:interfaces:interfaceName;1",
"property1": {
- "desiredValue": 1,
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
},
"property2": {
- "desiredValue": {
- "subProperty1": "some value",
- "subProperty2": "some other value"
- },
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
},
@@ -37,11 +23,6 @@
"component1": {
"$metadata": {
"componentProperty": {
- "desiredValue": "some value",
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
}
diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetTwin.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetTwin.json
index dd68f5b7d31a..2e19bf65ef9c 100644
--- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetTwin.json
+++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetTwin.json
@@ -10,22 +10,9 @@
"$metadata": {
"$model": "dtmi:com:example:interfaces:interfaceName;1",
"property1": {
- "desiredValue": 1,
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
},
"property2": {
- "desiredValue": {
- "subProperty1": "some value",
- "subProperty2": "some other value"
- },
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
},
@@ -37,11 +24,6 @@
"component1": {
"$metadata": {
"componentProperty": {
- "desiredValue": "some value",
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
}
diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PutTwinAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PutTwinAdvancedExample.json
index e52e9481e53b..a20ccfdb304f 100644
--- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PutTwinAdvancedExample.json
+++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PutTwinAdvancedExample.json
@@ -25,22 +25,9 @@
"$metadata": {
"$model": "dtmi:com:example:interfaces:interfaceName;1",
"property1": {
- "desiredValue": 1,
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
},
"property2": {
- "desiredValue": {
- "subProperty1": "some value",
- "subProperty2": "some other value"
- },
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
},
@@ -52,11 +39,6 @@
"component1": {
"$metadata": {
"componentProperty": {
- "desiredValue": "some value",
- "desiredVersion": 1,
- "ackVersion": 1,
- "ackCode": 200,
- "ackDescription": "description",
"lastUpdateTime": "2020-05-23T21:44:02Z"
}
}
diff --git a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/stable/2020-12-01/digitaltwins.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/stable/2020-12-01/digitaltwins.json
new file mode 100644
index 000000000000..a60a0f5f0aa1
--- /dev/null
+++ b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/stable/2020-12-01/digitaltwins.json
@@ -0,0 +1,1819 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-12-01",
+ "title": "AzureDigitalTwinsManagementClient",
+ "description": "Azure Digital Twins Client for managing DigitalTwinsInstance"
+ },
+ "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.DigitalTwins/digitalTwinsInstances/{resourceName}": {
+ "get": {
+ "tags": [
+ "DigitalTwinsInstance"
+ ],
+ "description": "Get DigitalTwinsInstances resource.",
+ "operationId": "DigitalTwins_Get",
+ "x-ms-examples": {
+ "Get a DigitalTwinsInstance resource": {
+ "$ref": "./examples/DigitalTwinsGet_example.json"
+ },
+ "Get a DigitalTwinsInstance resource with identity": {
+ "$ref": "./examples/DigitalTwinsGet_WithIdentity_example.json"
+ },
+ "Get a DigitalTwinsInstance resource with a private endpoint connection": {
+ "$ref": "./examples/DigitalTwinsGet_WithPrivateEndpointConnection_example.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 DigitalTwinsInstance. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsDescription"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DigitalTwinsInstance"
+ ],
+ "description": "Create or update the metadata of a DigitalTwinsInstance. The usual pattern to modify a property is to retrieve the DigitalTwinsInstance and security metadata, and then combine them with the modified values in a new body to update the DigitalTwinsInstance.",
+ "operationId": "DigitalTwins_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Put a DigitalTwinsInstance resource": {
+ "$ref": "./examples/DigitalTwinsPut_example.json"
+ },
+ "Put a DigitalTwinsInstance resource with identity": {
+ "$ref": "./examples/DigitalTwinsPut_WithIdentity_example.json"
+ },
+ "Put a DigitalTwinsInstance resource with publicNetworkAccess property": {
+ "$ref": "./examples/DigitalTwinsPut_WithPublicNetworkAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "digitalTwinsCreate",
+ "in": "body",
+ "description": "The DigitalTwinsInstance and security metadata.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsDescription"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is returned as a response when the resource already exists and was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsDescription"
+ }
+ },
+ "201": {
+ "description": "Created - Put request accepted; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsDescription"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DigitalTwinsInstance"
+ ],
+ "description": "Update metadata of DigitalTwinsInstance.",
+ "operationId": "DigitalTwins_Update",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Patch a DigitalTwinsInstance resource": {
+ "$ref": "./examples/DigitalTwinsPatch_example.json"
+ },
+ "Patch a DigitalTwinsInstance resource with identity": {
+ "$ref": "./examples/DigitalTwinsPatch_WithIdentity_example.json"
+ },
+ "Patch a DigitalTwinsInstance resource with publicNetworkAccess property": {
+ "$ref": "./examples/DigitalTwinsPatch_WithPublicNetworkAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "digitalTwinsPatchDescription",
+ "in": "body",
+ "description": "The DigitalTwinsInstance and security metadata.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsPatchDescription"
+ }
+ }
+ ],
+ "responses": {
+ "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/DigitalTwinsDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted - Patch request accepted; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsDescription"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DigitalTwinsInstance"
+ ],
+ "description": "Delete a DigitalTwinsInstance.",
+ "operationId": "DigitalTwins_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a DigitalTwinsInstance resource": {
+ "$ref": "./examples/DigitalTwinsDelete_example.json"
+ },
+ "Delete a DigitalTwinsInstance resource with identity": {
+ "$ref": "./examples/DigitalTwinsDelete_WithIdentity_example.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returned if the operation was canceled or failed.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted - Delete request accepted; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsDescription"
+ }
+ },
+ "204": {
+ "description": "Returned when the long running delete operation has finished, or the Digital Twins instance does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/endpoints": {
+ "get": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Get DigitalTwinsInstance Endpoints.",
+ "operationId": "DigitalTwinsEndpoint_List",
+ "x-ms-examples": {
+ "Get a DigitalTwinsInstance endpoints": {
+ "$ref": "./examples/DigitalTwinsEndpointsGet_example.json"
+ },
+ "Get a DigitalTwinsInstance endpoints with identity": {
+ "$ref": "./examples/DigitalTwinsEndpointsGet_WithIdentity_example.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "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 DigitalTwinsInstance. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsEndpointResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/endpoints/{endpointName}": {
+ "get": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Get DigitalTwinsInstances Endpoint.",
+ "operationId": "DigitalTwinsEndpoint_Get",
+ "x-ms-examples": {
+ "Get a DigitalTwinsInstance endpoint": {
+ "$ref": "./examples/DigitalTwinsEndpointGet_example.json"
+ },
+ "Get a DigitalTwinsInstance endpoint with identity": {
+ "$ref": "./examples/DigitalTwinsEndpointGet_WithIdentity_example.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/endpointName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the non-security properties of the DigitalTwinsInstance. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsEndpointResource"
+ }
+ },
+ "default": {
+ "description": "Default error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Create or update DigitalTwinsInstance endpoint.",
+ "operationId": "DigitalTwinsEndpoint_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Put a DigitalTwinsInstance resource": {
+ "$ref": "./examples/DigitalTwinsEndpointPut_example.json"
+ },
+ "Put a DigitalTwinsInstance resource with identity": {
+ "$ref": "./examples/DigitalTwinsEndpointPut_WithIdentity_example.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/endpointName"
+ },
+ {
+ "name": "endpointDescription",
+ "in": "body",
+ "description": "The DigitalTwinsInstance endpoint metadata and security metadata.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsEndpointResource"
+ }
+ }
+ ],
+ "responses": {
+ "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/DigitalTwinsEndpointResource"
+ }
+ },
+ "201": {
+ "description": "Created - Put request accepted; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsEndpointResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Delete a DigitalTwinsInstance endpoint.",
+ "operationId": "DigitalTwinsEndpoint_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a DigitalTwinsInstance endpoint": {
+ "$ref": "./examples/DigitalTwinsEndpointDelete_example.json"
+ },
+ "Delete a DigitalTwinsInstance endpoint with identity": {
+ "$ref": "./examples/DigitalTwinsEndpointDelete_WithIdentity_example.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/endpointName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returned if the operation was canceled or failed.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsEndpointResource"
+ }
+ },
+ "202": {
+ "description": "Accepted - Delete request accepted; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsEndpointResource"
+ }
+ },
+ "204": {
+ "description": "Returned when the long running delete operation has finished, or the egress endpoint does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DigitalTwins/digitalTwinsInstances": {
+ "get": {
+ "tags": [
+ "DigitalTwinsInstance"
+ ],
+ "description": "Get all the DigitalTwinsInstances in a subscription.",
+ "operationId": "DigitalTwins_List",
+ "x-ms-examples": {
+ "Get DigitalTwinsInstance resources by subscription": {
+ "$ref": "./examples/DigitalTwinsList_example.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "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 DigitalTwinsInstances in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances": {
+ "get": {
+ "tags": [
+ "DigitalTwinsInstance"
+ ],
+ "description": "Get all the DigitalTwinsInstances in a resource group.",
+ "operationId": "DigitalTwins_ListByResourceGroup",
+ "x-ms-examples": {
+ "Get DigitalTwinsInstance resources by resource group": {
+ "$ref": "./examples/DigitalTwinsListByResourceGroup_example.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "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 DigitalTwinsInstances in the resource group. If more data is available, the body will contain a link to the next page of items (nextLink).",
+ "schema": {
+ "$ref": "#/definitions/DigitalTwinsDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DigitalTwins/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available DigitalTwins service REST API operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Get available operations": {
+ "$ref": "./examples/DigitalTwinsOperationsList_example.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DigitalTwins/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability"
+ ],
+ "description": "Check if a DigitalTwinsInstance name is available.",
+ "operationId": "DigitalTwins_CheckNameAvailability",
+ "x-ms-examples": {
+ "Check name Availability": {
+ "$ref": "./examples/DigitalTwinsCheckNameAvailability_example.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/location"
+ },
+ {
+ "name": "digitalTwinsInstanceCheckName",
+ "in": "body",
+ "description": "Set the name parameter in the DigitalTwinsInstanceCheckName structure to the name of the DigitalTwinsInstance to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the DigitalTwins service name is available. If the name is not available, the body contains the reason.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "description": "List private link resources for given Digital Twin.",
+ "operationId": "PrivateLinkResources_List",
+ "x-ms-examples": {
+ "List private link resources for given Digital Twin": {
+ "$ref": "./examples/PrivateLinkResourcesList_example.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/GroupIdInformationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/privateLinkResources/{resourceId}": {
+ "get": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "description": "Get the specified private link resource for the given Digital Twin.",
+ "operationId": "PrivateLinkResources_Get",
+ "x-ms-examples": {
+ "Get the specified private link resource for the given Digital Twin": {
+ "$ref": "./examples/PrivateLinkResourcesByGroupId_example.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/resourceId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the specified of private link resource.",
+ "schema": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "description": "List private endpoint connection properties.",
+ "operationId": "PrivateEndpointConnections_List",
+ "x-ms-examples": {
+ "List private endpoint connection properties": {
+ "$ref": "./examples/PrivateEndpointConnectionsList_example.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/PrivateEndpointConnectionsResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "description": "Get private endpoint connection properties for the given private endpoint.",
+ "operationId": "PrivateEndpointConnections_Get",
+ "x-ms-examples": {
+ "Get private endpoint connection properties for the given private endpoint": {
+ "$ref": "./examples/PrivateEndpointConnectionByConnectionName_example.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": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "description": "Delete private endpoint connection with the specified name.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete private endpoint connection with the specified name": {
+ "$ref": "./examples/PrivateEndpointConnectionDelete_example.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returned when the long running delete operation has failed, and has reached a terminal state."
+ },
+ "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. The status URL returns 204 No Content when the deletion is complete."
+ },
+ "204": {
+ "description": "Returned when the long running delete operation has finished, or the private endpoint does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "description": "Update the status of a private endpoint connection with the given name.",
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update the status of a private endpoint connection with the given name": {
+ "$ref": "./examples/PrivateEndpointConnectionPut_example.json"
+ }
+ },
+ "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": {
+ "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. If successful, the operation returns HTTP status code of 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response when the resource already exists and was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DigitalTwinsPatchProperties": {
+ "description": "The properties of a DigitalTwinsInstance.",
+ "type": "object",
+ "properties": {
+ "publicNetworkAccess": {
+ "description": "Public network access for the DigitalTwinsInstance.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "publicNetworkAccess",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DigitalTwinsProperties": {
+ "description": "The properties of a DigitalTwinsInstance.",
+ "type": "object",
+ "properties": {
+ "createdTime": {
+ "description": "Time when DigitalTwinsInstance was created.",
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastUpdatedTime": {
+ "description": "Time when DigitalTwinsInstance was updated.",
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ "provisioningState": {
+ "description": "The provisioning state.",
+ "enum": [
+ "Provisioning",
+ "Deleting",
+ "Updating",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Deleted",
+ "Warning",
+ "Suspending",
+ "Restoring",
+ "Moving"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ },
+ "hostName": {
+ "description": "Api endpoint to work with DigitalTwinsInstance.",
+ "type": "string",
+ "x-nullable": true,
+ "readOnly": true
+ },
+ "privateEndpointConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "publicNetworkAccess": {
+ "description": "Public network access for the DigitalTwinsInstance.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "publicNetworkAccess",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DigitalTwinsDescription": {
+ "description": "The description of the DigitalTwins service.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "DigitalTwins instance properties.",
+ "$ref": "#/definitions/DigitalTwinsProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DigitalTwinsResource"
+ }
+ ]
+ },
+ "DigitalTwinsPatchDescription": {
+ "description": "The description of the DigitalTwins service.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Instance patch properties",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "description": "The managed identity for the DigitalTwinsInstance.",
+ "x-nullable": true,
+ "$ref": "#/definitions/DigitalTwinsIdentity"
+ },
+ "properties": {
+ "description": "Properties for the DigitalTwinsInstance.",
+ "x-nullable": true,
+ "$ref": "#/definitions/DigitalTwinsPatchProperties"
+ }
+ }
+ },
+ "DigitalTwinsResource": {
+ "description": "The common properties of a DigitalTwinsInstance.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?!-)[A-Za-z0-9-]{3,63}(?`.
+### Tag: schema-digitaltwins-2020-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-digitaltwins-2020-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DigitalTwins/stable/2020-12-01/digitaltwins.json
+
+```
+
### Tag: schema-digitaltwins-2020-10-31 and azureresourceschema
``` yaml $(tag) == 'schema-digitaltwins-2020-10-31' && $(azureresourceschema)
diff --git a/specification/digitaltwins/resource-manager/readme.csharp.md b/specification/digitaltwins/resource-manager/readme.csharp.md
index e27768ab73b1..ebce3e69b9ea 100644
--- a/specification/digitaltwins/resource-manager/readme.csharp.md
+++ b/specification/digitaltwins/resource-manager/readme.csharp.md
@@ -10,6 +10,6 @@ csharp:
payload-flattening-threshold: 1
clear-output-folder: true
client-side-validation: false
- namespace: Microsoft.DigitalTwins
- output-folder: $(csharp-sdks-folder)/digitaltwins/management/Microsoft.DigitalTwins/GeneratedProtocol
+ namespace: Microsoft.Azure.Management.DigitalTwins
+ output-folder: $(csharp-sdks-folder)/digitaltwins/Microsoft.Azure.Management.DigitalTwins/
```
diff --git a/specification/digitaltwins/resource-manager/readme.go.md b/specification/digitaltwins/resource-manager/readme.go.md
index 78e8b74c463d..99e7838eb217 100644
--- a/specification/digitaltwins/resource-manager/readme.go.md
+++ b/specification/digitaltwins/resource-manager/readme.go.md
@@ -13,10 +13,21 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-12
- tag: package-2020-10
- tag: package-2020-03-01-preview
```
+### Tag: package-2020-12 and go
+
+These settings apply only when `--tag=package-2020-12 --go` is specified on the command line.
+Please also specify `--go-sdks-folder=digitaltwins`.
+
+```yaml $(tag) == 'package-2020-12' && $(go)
+namespace: digitaltwins
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-12-01/$(namespace)
+```
+
### Tag: package-2020-10 and go
These settings apply only when `--tag=package-2020-10 --go` is specified on the command line.
diff --git a/specification/digitaltwins/resource-manager/readme.java.md b/specification/digitaltwins/resource-manager/readme.java.md
index e85c4d26fdcb..d2ac1dc6a6ab 100644
--- a/specification/digitaltwins/resource-manager/readme.java.md
+++ b/specification/digitaltwins/resource-manager/readme.java.md
@@ -16,10 +16,24 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-digitaltwins
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2020-12
- tag: package-2020-10
- tag: package-2020-03-01-preview
```
+### Tag: package-2020-12 and java
+
+These settings apply only when `--tag=package-2020-12 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-12' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.digitaltwins.v2020_12_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/digitaltwins/mgmt-v2020_12_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2020-10 and java
These settings apply only when `--tag=package-2020-10 --java` is specified on the command line.
diff --git a/specification/digitaltwins/resource-manager/readme.md b/specification/digitaltwins/resource-manager/readme.md
index 9b4edd43b37d..dc750a9fedd2 100644
--- a/specification/digitaltwins/resource-manager/readme.md
+++ b/specification/digitaltwins/resource-manager/readme.md
@@ -26,9 +26,18 @@ These are the global settings for the digitaltwins.
``` yaml
openapi-type: arm
-tag: package-2020-10
+tag: package-2020-12
```
+
+### Tag: package-2020-12
+
+These settings apply only when `--tag=package-2020-12` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-12'
+input-file:
+ - Microsoft.DigitalTwins/stable/2020-12-01/digitaltwins.json
+```
### Tag: package-2020-10
These settings apply only when `--tag=package-2020-10` is specified on the command line.
@@ -134,4 +143,7 @@ directive:
where: '$.definitions.EventHub.allOf["1"].properties.connectionStringSecondaryKey'
from: digitaltwins.json
reason: Secrets are obfuscated on read.
+ - suppress: R4009
+ from: digitaltwins.json
+ reason: Warning raised to error while PR was being reviewed. Will implement in next version.
```
diff --git a/specification/digitaltwins/resource-manager/readme.python.md b/specification/digitaltwins/resource-manager/readme.python.md
index 1cb571183572..d9aebbb3cbce 100644
--- a/specification/digitaltwins/resource-manager/readme.python.md
+++ b/specification/digitaltwins/resource-manager/readme.python.md
@@ -20,10 +20,22 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi)
batch:
+ - tag: package-2020-12
- tag: package-2020-10
- tag: package-2020-03-01-preview
```
+### Tag: package-2020-12 and python
+
+These settings apply only when `--tag=package-2020-12 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-12' && $(python)
+python:
+ namespace: azure.mgmt.digitaltwins.v2020_12_01
+ output-folder: $(python-sdks-folder)/digitaltwins/azure-mgmt-digitaltwins/azure/mgmt/digitaltwins/v2020_12_01
+```
+
### Tag: package-2020-10 and python
These settings apply only when `--tag=package-2020-10 --python` is specified on the command line.
diff --git a/specification/digitaltwins/resource-manager/readme.ruby.md b/specification/digitaltwins/resource-manager/readme.ruby.md
index ea228f0d9175..dc19e32c1dda 100644
--- a/specification/digitaltwins/resource-manager/readme.ruby.md
+++ b/specification/digitaltwins/resource-manager/readme.ruby.md
@@ -4,10 +4,20 @@ These settings apply only when `--ruby` is specified on the command line.
```yaml
package-name: azure_mgmt_digitaltwins
-package-version: 2020-10-31
+package-version: 2020-12-01
azure-arm: true
```
+### Tag: package-2020-12 and ruby
+
+These settings apply only when `--tag=package-2020-12 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-12' && $(ruby)
+namespace: Microsoft.DigitalTwins
+output-folder: $(ruby-sdks-folder)/digitaltwins
+```
+
### Tag: package-2020-10 and ruby
These settings apply only when `--tag=package-2020-10 --ruby` is specified on the command line.
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/domainservices.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/domainservices.json
index 92c99464a87e..470559d8f843 100644
--- a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/domainservices.json
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/domainservices.json
@@ -431,6 +431,7 @@
"version": {
"readOnly": true,
"type": "integer",
+ "format": "int32",
"description": "Data Model Version"
},
"tenantId": {
@@ -505,6 +506,7 @@
"description": "Notification Settings"
},
"migrationProperties": {
+ "readOnly": true,
"$ref": "#/definitions/MigrationProperties",
"description": "Migration Properties"
},
@@ -550,6 +552,7 @@
"Enabled",
"Disabled"
],
+ "default": "Disabled",
"description": "A flag to determine whether or not Secure LDAP is enabled or disabled.",
"x-ms-enum": {
"name": "Ldaps",
@@ -586,6 +589,7 @@
"Enabled",
"Disabled"
],
+ "default": "Disabled",
"description": "A flag to determine whether or not Secure LDAP access over the internet is enabled or disabled.",
"x-ms-enum": {
"name": "ExternalAccess",
@@ -744,14 +748,17 @@
"description": "Migration Properties",
"properties": {
"oldSubnetId": {
+ "readOnly": true,
"type": "string",
"description": "Old Subnet Id"
},
"oldVnetSiteId": {
+ "readOnly": true,
"type": "string",
"description": "Old Vnet Site Id"
},
"migrationProgress": {
+ "readOnly": true,
"$ref": "#/definitions/MigrationProgress",
"description": "Migration Progress"
}
@@ -780,6 +787,7 @@
"Enabled",
"Disabled"
],
+ "default": "Enabled",
"description": "A flag to determine whether or not NtlmV1 is enabled or disabled.",
"x-ms-enum": {
"name": "NtlmV1",
@@ -792,6 +800,7 @@
"Enabled",
"Disabled"
],
+ "default": "Enabled",
"description": "A flag to determine whether or not TlsV1 is enabled or disabled.",
"x-ms-enum": {
"name": "TlsV1",
@@ -804,6 +813,7 @@
"Enabled",
"Disabled"
],
+ "default": "Enabled",
"description": "A flag to determine whether or not SyncNtlmPasswords is enabled or disabled.",
"x-ms-enum": {
"name": "SyncNtlmPasswords",
@@ -816,6 +826,7 @@
"Enabled",
"Disabled"
],
+ "default": "Enabled",
"description": "A flag to determine whether or not SyncKerberosPasswords is enabled or disabled.",
"x-ms-enum": {
"name": "SyncKerberosPasswords",
@@ -828,6 +839,7 @@
"Enabled",
"Disabled"
],
+ "default": "Enabled",
"description": "A flag to determine whether or not SyncOnPremPasswords is enabled or disabled.",
"x-ms-enum": {
"name": "SyncOnPremPasswords",
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/domainservices.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/domainservices.json
index f1421de05f9a..553f8067c1e8 100644
--- a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/domainservices.json
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/domainservices.json
@@ -431,6 +431,7 @@
"version": {
"readOnly": true,
"type": "integer",
+ "format": "int32",
"description": "Data Model Version"
},
"tenantId": {
@@ -497,6 +498,7 @@
"description": "Notification Settings"
},
"migrationProperties": {
+ "readOnly": true,
"$ref": "#/definitions/MigrationProperties",
"description": "Migration Properties"
},
@@ -582,6 +584,7 @@
"Enabled",
"Disabled"
],
+ "default": "Disabled",
"description": "A flag to determine whether or not Secure LDAP is enabled or disabled.",
"x-ms-enum": {
"name": "Ldaps",
@@ -618,6 +621,7 @@
"Enabled",
"Disabled"
],
+ "default": "Disabled",
"description": "A flag to determine whether or not Secure LDAP access over the internet is enabled or disabled.",
"x-ms-enum": {
"name": "ExternalAccess",
@@ -771,14 +775,17 @@
"description": "Migration Properties",
"properties": {
"oldSubnetId": {
+ "readOnly": true,
"type": "string",
"description": "Old Subnet Id"
},
"oldVnetSiteId": {
+ "readOnly": true,
"type": "string",
"description": "Old Vnet Site Id"
},
"migrationProgress": {
+ "readOnly": true,
"$ref": "#/definitions/MigrationProgress",
"description": "Migration Progress"
}
@@ -807,6 +814,7 @@
"Enabled",
"Disabled"
],
+ "default": "Enabled",
"description": "A flag to determine whether or not NtlmV1 is enabled or disabled.",
"x-ms-enum": {
"name": "NtlmV1",
@@ -819,6 +827,7 @@
"Enabled",
"Disabled"
],
+ "default": "Enabled",
"description": "A flag to determine whether or not TlsV1 is enabled or disabled.",
"x-ms-enum": {
"name": "TlsV1",
@@ -831,6 +840,7 @@
"Enabled",
"Disabled"
],
+ "default": "Enabled",
"description": "A flag to determine whether or not SyncNtlmPasswords is enabled or disabled.",
"x-ms-enum": {
"name": "SyncNtlmPasswords",
@@ -843,6 +853,7 @@
"Enabled",
"Disabled"
],
+ "default": "Enabled",
"description": "A flag to determine whether or not SyncKerberosPasswords is enabled or disabled.",
"x-ms-enum": {
"name": "SyncKerberosPasswords",
@@ -855,6 +866,7 @@
"Enabled",
"Disabled"
],
+ "default": "Enabled",
"description": "A flag to determine whether or not SyncOnPremPasswords is enabled or disabled.",
"x-ms-enum": {
"name": "SyncOnPremPasswords",
diff --git a/specification/domainservices/resource-manager/readme.md b/specification/domainservices/resource-manager/readme.md
index a9d111ac2021..3a50e4b2b1aa 100644
--- a/specification/domainservices/resource-manager/readme.md
+++ b/specification/domainservices/resource-manager/readme.md
@@ -26,7 +26,7 @@ These are the global settings for the DomainServices API.
``` yaml
openapi-type: arm
-tag: package-2017-06
+tag: package-2020-01
```
### Tag: package-2020-01
diff --git a/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
index aed780d15360..d13e2d9eb9ae 100644
--- a/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
+++ b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
@@ -22,6 +22,10 @@
"etag": {
"description": "The etag representing the new state of the key-value.",
"type": "string"
+ },
+ "syncToken": {
+ "description": "The sync token representing the server state after the event.",
+ "type": "string"
}
}
},
@@ -40,6 +44,10 @@
"etag": {
"description": "The etag representing the key-value that was deleted.",
"type": "string"
+ },
+ "syncToken": {
+ "description": "The sync token representing the server state after the event.",
+ "type": "string"
}
}
}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AuthorizationRules.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AuthorizationRules.json
new file mode 100644
index 000000000000..0b842030db1a
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AuthorizationRules.json
@@ -0,0 +1,886 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules": {
+ "get": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_ListAuthorizationRules",
+ "x-ms-examples": {
+ "ListAuthorizationRules": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets a list of authorization rules for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}": {
+ "put": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_CreateOrUpdateAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleCreate": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json"
+ }
+ },
+ "description": "Creates or updates an AuthorizationRule for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ },
+ "description": "The shared access AuthorizationRule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule created",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_DeleteAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleDelete": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json"
+ }
+ },
+ "description": "Deletes an AuthorizationRule for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_GetAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleGet": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json"
+ }
+ },
+ "description": "Gets an AuthorizationRule for a Namespace by rule name.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_ListKeys",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleListKey": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json"
+ }
+ },
+ "description": "Gets the primary and secondary connection strings for the Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_RegenerateKeys",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleRegenerateKey": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json"
+ }
+ },
+ "description": "Regenerates the primary or secondary connection strings for the specified Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateAccessKeyParameters"
+ },
+ "description": "Parameters required to regenerate the connection string."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings regenerated successfully.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules": {
+ "get": {
+ "tags": [
+ "AuthorizationRules DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_ListAuthorizationRules",
+ "x-ms-examples": {
+ "ListAuthorizationRules": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets a list of authorization rules for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}": {
+ "get": {
+ "tags": [
+ "AuthorizationRules DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_GetAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleGet": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json"
+ }
+ },
+ "description": "Gets an AuthorizationRule for a Namespace by rule name.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Alias Namespace AuthorizationRule returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}/listKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_ListKeys",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleListKey": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json"
+ }
+ },
+ "description": "Gets the primary and secondary connection strings for the Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules": {
+ "get": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_ListAuthorizationRules",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleListAll": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets the authorization rules for an Event Hub.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}": {
+ "put": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_CreateOrUpdateAuthorizationRule",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleCreate": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleCreate.json"
+ }
+ },
+ "description": "Creates or updates an AuthorizationRule for the specified Event Hub. Creation/update of the AuthorizationRule will take a few seconds to take effect.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ },
+ "description": "The shared access AuthorizationRule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule successfully created.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_GetAuthorizationRule",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleGet": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleGet.json"
+ }
+ },
+ "description": "Gets an AuthorizationRule for an Event Hub by rule name.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_DeleteAuthorizationRule",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleDelete": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleDelete.json"
+ }
+ },
+ "description": "Deletes an Event Hub AuthorizationRule.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/listKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_ListKeys",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleListKey": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleListKey.json"
+ }
+ },
+ "description": "Gets the ACS and SAS connection strings for the Event Hub.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_RegenerateKeys",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleRegenerateKey": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json"
+ }
+ },
+ "description": "Regenerates the ACS and SAS connection strings for the Event Hub.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateAccessKeyParameters"
+ },
+ "description": "Parameters supplied to regenerate the AuthorizationRule Keys (PrimaryKey/SecondaryKey)."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings successfully regenerated.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AuthorizationRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AuthorizationRule"
+ },
+ "description": "Result of the List Authorization Rules operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains an incomplete list of Authorization Rules"
+ }
+ },
+ "description": "The response from the List namespace operation."
+ },
+ "AuthorizationRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "rights": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Manage",
+ "Send",
+ "Listen"
+ ],
+ "x-ms-enum": {
+ "name": "AccessRights",
+ "modelAsString": true
+ }
+ },
+ "description": "The rights associated with the rule."
+ }
+ },
+ "required": [
+ "rights"
+ ],
+ "description": "Properties supplied to create or update AuthorizationRule"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Single item in a List or Get AuthorizationRule operation"
+ },
+ "AccessKeys": {
+ "properties": {
+ "primaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Primary connection string of the created namespace AuthorizationRule."
+ },
+ "secondaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Secondary connection string of the created namespace AuthorizationRule."
+ },
+ "aliasPrimaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Primary connection string of the alias if GEO DR is enabled"
+ },
+ "aliasSecondaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Secondary connection string of the alias if GEO DR is enabled"
+ },
+ "primaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token."
+ },
+ "secondaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token."
+ },
+ "keyName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A string that describes the AuthorizationRule."
+ }
+ },
+ "description": "Namespace/EventHub Connection String"
+ },
+ "RegenerateAccessKeyParameters": {
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "description": "The access key to regenerate.",
+ "enum": [
+ "PrimaryKey",
+ "SecondaryKey"
+ ],
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ },
+ "key": {
+ "type": "string",
+ "description": "Optional, if the key value provided, is set for KeyType or autogenerated Key value set for keyType"
+ }
+ },
+ "required": [
+ "keyType"
+ ],
+ "description": "Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to be reset."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/CheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/CheckNameAvailability.json
new file mode 100644
index 000000000000..9fa140de8f2d
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/CheckNameAvailability.json
@@ -0,0 +1,132 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability Namespaces"
+ ],
+ "operationId": "Namespaces_CheckNameAvailability",
+ "x-ms-examples": {
+ "NamespacesCheckNameAvailability": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceCheckNameAvailability.json"
+ }
+ },
+ "description": "Check the give Namespace name availability.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameter"
+ },
+ "description": "Parameters to check availability of the given Namespace name"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "check availability returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UnavailableReason": {
+ "type": "string",
+ "enum": [
+ "None",
+ "InvalidName",
+ "SubscriptionIsDisabled",
+ "NameInUse",
+ "NameInLockdown",
+ "TooManyNamespaceInCurrentSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "UnavailableReason",
+ "modelAsString": false
+ },
+ "description": "Specifies the reason for the unavailability of the service."
+ },
+ "CheckNameAvailabilityParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name to check the namespace name availability"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Parameter supplied to check Namespace name availability operation "
+ },
+ "CheckNameAvailabilityResult": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The detailed info regarding the reason associated with the Namespace."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Value indicating Namespace is availability, true if the Namespace is available; otherwise, false."
+ },
+ "reason": {
+ "$ref": "#/definitions/UnavailableReason",
+ "description": "The reason for unavailability of a Namespace."
+ }
+ },
+ "description": "The Result of the CheckNameAvailability operation"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/consumergroups.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/consumergroups.json
new file mode 100644
index 000000000000..1ce36f761c74
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/consumergroups.json
@@ -0,0 +1,292 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}": {
+ "put": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_CreateOrUpdate",
+ "x-ms-examples": {
+ "ConsumerGroupCreate": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupCreate.json"
+ }
+ },
+ "description": "Creates or updates an Event Hubs consumer group as a nested resource within a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroup"
+ },
+ "description": "Parameters supplied to create or update a consumer group resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Consumer group successfully created.",
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroup"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_Delete",
+ "x-ms-examples": {
+ "ConsumerGroupDelete": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupDelete.json"
+ }
+ },
+ "description": "Deletes a consumer group from the specified Event Hub and resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Consumer group deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_Get",
+ "x-ms-examples": {
+ "ConsumerGroupGet": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupGet.json"
+ }
+ },
+ "description": "Gets a description for the specified consumer group.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the consumer group description.",
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroup"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups": {
+ "get": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_ListByEventHub",
+ "x-ms-examples": {
+ "ConsumerGroupsListAll": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupListByEventHub.json"
+ }
+ },
+ "description": "Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists in the Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of consumer groups.",
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConsumerGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "createdAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Exact time the message was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The exact time the message was updated."
+ },
+ "userMetadata": {
+ "type": "string",
+ "description": "User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be used to store descriptive data, such as list of teams and their contact information also user-defined configuration settings can be stored."
+ }
+ },
+ "description": "Single item in List or Get Consumer group operation"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Single item in List or Get Consumer group operation"
+ },
+ "ConsumerGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConsumerGroup"
+ },
+ "description": "Result of the List Consumer Group operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of Consumer Group"
+ }
+ },
+ "description": "The result to the List Consumer Group operation."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/disasterRecoveryConfigs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/disasterRecoveryConfigs.json
new file mode 100644
index 000000000000..c21f73f10c9b
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/disasterRecoveryConfigs.json
@@ -0,0 +1,482 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_CheckNameAvailability",
+ "x-ms-examples": {
+ "NamespacesCheckNameAvailability": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json"
+ }
+ },
+ "description": "Check the give Namespace name availability.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameter"
+ },
+ "description": "Parameters to check availability of the given Alias name"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "check availability returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs": {
+ "get": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_List",
+ "x-ms-examples": {
+ "EHAliasList": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasList.json"
+ }
+ },
+ "description": "Gets all Alias(Disaster Recovery configurations)",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of Alias(Disaster Recovery configurations) for eventhub namespace",
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecoveryListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}": {
+ "put": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_CreateOrUpdate",
+ "x-ms-examples": {
+ "EHAliasCreate": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasCreate.json"
+ }
+ },
+ "description": "Creates or updates a new Alias(Disaster Recovery configuration)",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ },
+ "description": "Parameters required to create an Alias(Disaster Recovery configuration)"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Alias(Disaster Recovery configuration) successfully created",
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ }
+ },
+ "201": {
+ "description": "Alias(Disaster Recovery configuration) creation request received"
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_Delete",
+ "x-ms-examples": {
+ "EHAliasDelete": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasDelete.json"
+ }
+ },
+ "description": "Deletes an Alias(Disaster Recovery configuration)",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete Alias(Disaster Recovery configuration) request accepted"
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_Get",
+ "x-ms-examples": {
+ "EHAliasGet": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasGet.json"
+ }
+ },
+ "description": "Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the Alias(Disaster Recovery configurations)",
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing": {
+ "post": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_BreakPairing",
+ "x-ms-examples": {
+ "EHAliasBreakPairing": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasBreakPairing.json"
+ }
+ },
+ "description": "This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Break-Pairing operation is successful."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover": {
+ "post": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_FailOver",
+ "x-ms-examples": {
+ "EHAliasFailOver": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasFailOver.json"
+ }
+ },
+ "description": "Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Failover operation is successful."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UnavailableReason": {
+ "type": "string",
+ "enum": [
+ "None",
+ "InvalidName",
+ "SubscriptionIsDisabled",
+ "NameInUse",
+ "NameInLockdown",
+ "TooManyNamespaceInCurrentSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "UnavailableReason",
+ "modelAsString": false
+ },
+ "description": "Specifies the reason for the unavailability of the service."
+ },
+ "CheckNameAvailabilityParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name to check the namespace name availability"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Parameter supplied to check Namespace name availability operation "
+ },
+ "CheckNameAvailabilityResult": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The detailed info regarding the reason associated with the Namespace."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Value indicating Namespace is availability, true if the Namespace is available; otherwise, false."
+ },
+ "reason": {
+ "$ref": "#/definitions/UnavailableReason",
+ "description": "The reason for unavailability of a Namespace."
+ }
+ },
+ "description": "The Result of the CheckNameAvailability operation"
+ },
+ "ArmDisasterRecovery": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' or 'Succeeded' or 'Failed'",
+ "enum": [
+ "Accepted",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningStateDR",
+ "modelAsString": false
+ }
+ },
+ "partnerNamespace": {
+ "type": "string",
+ "description": "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing"
+ },
+ "alternateName": {
+ "type": "string",
+ "description": "Alternate name specified when alias and namespace names are same."
+ },
+ "role": {
+ "readOnly": true,
+ "type": "string",
+ "description": "role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or 'Secondary'",
+ "enum": [
+ "Primary",
+ "PrimaryNotReplicating",
+ "Secondary"
+ ],
+ "x-ms-enum": {
+ "name": "RoleDisasterRecovery",
+ "modelAsString": false
+ }
+ },
+ "pendingReplicationOperationsCount": {
+ "readOnly": true,
+ "format": "int64",
+ "type": "integer",
+ "description": "Number of entities pending to be replicated."
+ }
+ },
+ "description": "Properties required to the Create Or Update Alias(Disaster Recovery configurations)"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Single item in List or Get Alias(Disaster Recovery configuration) operation"
+ },
+ "ArmDisasterRecoveryListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ },
+ "description": "List of Alias(Disaster Recovery configurations)"
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster Recovery configuration)"
+ }
+ },
+ "description": "The result of the List Alias(Disaster Recovery configuration) operation."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/eventhubs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/eventhubs.json
new file mode 100644
index 000000000000..eca9e091638d
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/eventhubs.json
@@ -0,0 +1,389 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs": {
+ "get": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_ListByNamespace",
+ "x-ms-examples": {
+ "EventHubsListAll": {
+ "$ref": "./examples/EventHubs/EHEventHubListByNameSpace.json"
+ }
+ },
+ "description": "Gets all the Event Hubs in a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of Event Hubs.",
+ "schema": {
+ "$ref": "#/definitions/EventHubListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}": {
+ "put": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_CreateOrUpdate",
+ "x-ms-examples": {
+ "EventHubCreate": {
+ "$ref": "./examples/EventHubs/EHEventHubCreate.json"
+ }
+ },
+ "description": "Creates or updates a new Event Hub as a nested resource within a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Eventhub"
+ },
+ "description": "Parameters supplied to create an Event Hub resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub successfully created.",
+ "schema": {
+ "$ref": "#/definitions/Eventhub"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_Delete",
+ "x-ms-examples": {
+ "EventHubDelete": {
+ "$ref": "./examples/EventHubs/EHEventHubDelete.json"
+ }
+ },
+ "description": "Deletes an Event Hub from the specified Namespace and resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_Get",
+ "x-ms-examples": {
+ "EventHubGet": {
+ "$ref": "./examples/EventHubs/EHEventHubGet.json"
+ }
+ },
+ "description": "Gets an Event Hubs description for the specified Event Hub.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the Event Hub description.",
+ "schema": {
+ "$ref": "#/definitions/Eventhub"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CaptureDescription": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "A value that indicates whether capture description is enabled. "
+ },
+ "encoding": {
+ "type": "string",
+ "description": "Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be deprecated in New API Version",
+ "enum": [
+ "Avro",
+ "AvroDeflate"
+ ],
+ "x-ms-enum": {
+ "name": "EncodingCaptureDescription",
+ "modelAsString": false
+ }
+ },
+ "intervalInSeconds": {
+ "format": "int32",
+ "type": "integer",
+ "maximum": 900,
+ "minimum": 60,
+ "description": "The time window allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds"
+ },
+ "sizeLimitInBytes": {
+ "format": "int32",
+ "type": "integer",
+ "maximum": 524288000,
+ "minimum": 10485760,
+ "description": "The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 to 524288000 bytes"
+ },
+ "destination": {
+ "$ref": "#/definitions/Destination",
+ "description": "Properties of Destination where capture will be stored. (Storage Account, Blob Names)"
+ },
+ "skipEmptyArchives": {
+ "type": "boolean",
+ "description": "A value that indicates whether to Skip Empty Archives"
+ }
+ },
+ "description": "Properties to configure capture description for eventhub"
+ },
+ "Eventhub": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "partitionIds": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Current number of shards on the Event Hub."
+ },
+ "createdAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Exact time the Event Hub was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The exact time the message was updated."
+ },
+ "messageRetentionInDays": {
+ "format": "int64",
+ "type": "integer",
+ "minimum": 1,
+ "description": "Number of days to retain the events for this Event Hub, value should be 1 to 7 days"
+ },
+ "partitionCount": {
+ "format": "int64",
+ "type": "integer",
+ "minimum": 1,
+ "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions."
+ },
+ "status": {
+ "type": "string",
+ "description": "Enumerates the possible values for the status of the Event Hub.",
+ "enum": [
+ "Active",
+ "Disabled",
+ "Restoring",
+ "SendDisabled",
+ "ReceiveDisabled",
+ "Creating",
+ "Deleting",
+ "Renaming",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "EntityStatus",
+ "modelAsString": false
+ }
+ },
+ "captureDescription": {
+ "$ref": "#/definitions/CaptureDescription",
+ "description": "Properties of capture description"
+ }
+ },
+ "description": "Properties supplied to the Create Or Update Event Hub operation."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Single item in List or Get Event Hub operation"
+ },
+ "EventHubListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Eventhub"
+ },
+ "description": "Result of the List EventHubs operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of EventHubs."
+ }
+ },
+ "description": "The result of the List EventHubs operation."
+ },
+ "Destination": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name for capture destination"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "storageAccountResourceId": {
+ "type": "string",
+ "description": "Resource id of the storage account to be used to create the blobs"
+ },
+ "blobContainer": {
+ "type": "string",
+ "description": "Blob container Name"
+ },
+ "archiveNameFormat": {
+ "type": "string",
+ "description": "Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order"
+ }
+ },
+ "description": "Properties describing the storage account, blob container and archive name format for capture destination"
+ }
+ },
+ "description": "Capture storage details for capture description"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupCreate.json
new file mode 100644
index 000000000000..e1cada31ac4b
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupCreate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "consumerGroupName": "sdk-ConsumerGroup-5563",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "userMetadata": "New consumergroup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-ConsumerGroup-5563",
+ "name": "sdk-ConsumerGroup-5563",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:43:09.4536234Z",
+ "updatedAt": "2017-05-25T03:43:09.4536234Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupDelete.json
new file mode 100644
index 000000000000..eeb75b5d1b2c
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "consumerGroupName": "sdk-ConsumerGroup-5563",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupGet.json
new file mode 100644
index 000000000000..0de78ed0a63a
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "consumerGroupName": "sdk-ConsumerGroup-5563",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-ConsumerGroup-5563",
+ "name": "sdk-ConsumerGroup-5563",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:43:08.7152556Z",
+ "updatedAt": "2017-05-25T03:43:08.7152556Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json
new file mode 100644
index 000000000000..2d6ecbdf72a0
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/$Default",
+ "name": "$Default",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:42:52.287Z",
+ "updatedAt": "2017-05-25T03:42:52.287Z"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-consumergroup-5563",
+ "name": "sdk-consumergroup-5563",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:43:09.314Z",
+ "updatedAt": "2017-05-25T03:43:09.314Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Operations_List.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EHOperations_List.json
similarity index 93%
rename from specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Operations_List.json
rename to specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EHOperations_List.json
index 2b7934171ac1..2722fb1257b6 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Operations_List.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EHOperations_List.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "api-version": "2018-01-01-preview"
+ "api-version": "2016-07-01"
},
"responses": {
"200": {
@@ -205,22 +205,6 @@
"resource": "Namespace logs",
"operation": "Get Namespace logs"
}
- },
- {
- "name": "Microsoft.EventHub/clusters/read",
- "display": {
- "provider": "Microsoft Azure EventHub",
- "resource": "Cluster",
- "operation": "Get Event Hubs Clusters"
- }
- },
- {
- "name": "Microsoft.EventHub/clusters/write",
- "display": {
- "provider": "Microsoft Azure EventHub",
- "resource": "Cluster",
- "operation": "Update Cluster"
- }
}
]
}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EHRegionsListBySkuBasic.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EHRegionsListBySkuBasic.json
new file mode 100644
index 000000000000..09545371b99e
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EHRegionsListBySkuBasic.json
@@ -0,0 +1,390 @@
+{
+ "parameters": {
+ "sku": "Basic",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "subscriptionid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/CentralUS",
+ "name": "Central US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Central US",
+ "fullName": "Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/EastUS",
+ "name": "East US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "East US",
+ "fullName": "East US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/EastUS2",
+ "name": "East US 2",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "East US 2",
+ "fullName": "East US 2"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/NorthCentralUS",
+ "name": "North Central US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "North Central US",
+ "fullName": "North Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/SouthCentralUS",
+ "name": "South Central US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "South Central US",
+ "fullName": "South Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/WestUS",
+ "name": "West US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "West US",
+ "fullName": "West US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/WestUS2",
+ "name": "West US 2",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "West US 2",
+ "fullName": "West US 2"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/WestCentralUS",
+ "name": "West Central US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "West Central US",
+ "fullName": "West Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/NorthEurope",
+ "name": "North Europe",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "North Europe",
+ "fullName": "North Europe"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/WestEurope",
+ "name": "West Europe",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "West Europe",
+ "fullName": "West Europe"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/EastAsia",
+ "name": "East Asia",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "East Asia",
+ "fullName": "East Asia"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/SoutheastAsia",
+ "name": "Southeast Asia",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Southeast Asia",
+ "fullName": "Southeast Asia"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/BrazilSouth",
+ "name": "Brazil South",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Brazil South",
+ "fullName": "Brazil South"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/JapanEast",
+ "name": "Japan East",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Japan East",
+ "fullName": "Japan East"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/JapanWest",
+ "name": "Japan West",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Japan West",
+ "fullName": "Japan West"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/CentralIndia",
+ "name": "Central India",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Central India",
+ "fullName": "Central India"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/SouthIndia",
+ "name": "South India",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "South India",
+ "fullName": "South India"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/WestIndia",
+ "name": "West India",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "West India",
+ "fullName": "West India"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/UKSouth2",
+ "name": "UK South 2",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "UK South 2",
+ "fullName": "UK South 2"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/UKNorth",
+ "name": "UK North",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "UK North",
+ "fullName": "UK North"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/CanadaCentral",
+ "name": "Canada Central",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Canada Central",
+ "fullName": "Canada Central"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/CanadaEast",
+ "name": "Canada East",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Canada East",
+ "fullName": "Canada East"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/AustraliaEast",
+ "name": "Australia East",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Australia East",
+ "fullName": "Australia East"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/AustraliaSoutheast",
+ "name": "Australia Southeast",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Australia Southeast",
+ "fullName": "Australia Southeast"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/UKSouth",
+ "name": "UK South",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "UK South",
+ "fullName": "UK South"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/UKWest",
+ "name": "UK West",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "UK West",
+ "fullName": "UK West"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/EASTUS2EUAP",
+ "name": "EAST US 2 EUAP",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "EAST US 2 EUAP",
+ "fullName": "EAST US 2 EUAP"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/CentralUSEUAP",
+ "name": "Central US EUAP",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Central US EUAP",
+ "fullName": "Central US EUAP"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/KoreaCentral",
+ "name": "Korea Central",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Korea Central",
+ "fullName": "Korea Central"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/KoreaSouth",
+ "name": "Korea South",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Korea South",
+ "fullName": "Korea South"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/FranceCentral",
+ "name": "France Central",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "France Central",
+ "fullName": "France Central"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/FranceSouth",
+ "name": "France South",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "France South",
+ "fullName": "France South"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/AustraliaCentral",
+ "name": "Australia Central",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Australia Central",
+ "fullName": "Australia Central"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Basic/regions/AustraliaCentral2",
+ "name": "Australia Central 2",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Australia Central 2",
+ "fullName": "Australia Central 2"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EHRegionsListBySkuStandard.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EHRegionsListBySkuStandard.json
new file mode 100644
index 000000000000..7e9c167560e1
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EHRegionsListBySkuStandard.json
@@ -0,0 +1,390 @@
+{
+ "parameters": {
+ "sku": "Standard",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "subscriptionid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/CentralUS",
+ "name": "Central US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Central US",
+ "fullName": "Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/EastUS",
+ "name": "East US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "East US",
+ "fullName": "East US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/EastUS2",
+ "name": "East US 2",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "East US 2",
+ "fullName": "East US 2"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/NorthCentralUS",
+ "name": "North Central US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "North Central US",
+ "fullName": "North Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/SouthCentralUS",
+ "name": "South Central US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "South Central US",
+ "fullName": "South Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/WestUS",
+ "name": "West US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "West US",
+ "fullName": "West US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/WestUS2",
+ "name": "West US 2",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "West US 2",
+ "fullName": "West US 2"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/WestCentralUS",
+ "name": "West Central US",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "West Central US",
+ "fullName": "West Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/NorthEurope",
+ "name": "North Europe",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "North Europe",
+ "fullName": "North Europe"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/WestEurope",
+ "name": "West Europe",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "West Europe",
+ "fullName": "West Europe"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/EastAsia",
+ "name": "East Asia",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "East Asia",
+ "fullName": "East Asia"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/SoutheastAsia",
+ "name": "Southeast Asia",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Southeast Asia",
+ "fullName": "Southeast Asia"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/BrazilSouth",
+ "name": "Brazil South",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Brazil South",
+ "fullName": "Brazil South"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/JapanEast",
+ "name": "Japan East",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Japan East",
+ "fullName": "Japan East"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/JapanWest",
+ "name": "Japan West",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Japan West",
+ "fullName": "Japan West"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/CentralIndia",
+ "name": "Central India",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Central India",
+ "fullName": "Central India"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/SouthIndia",
+ "name": "South India",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "South India",
+ "fullName": "South India"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/WestIndia",
+ "name": "West India",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "West India",
+ "fullName": "West India"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/UKSouth2",
+ "name": "UK South 2",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "UK South 2",
+ "fullName": "UK South 2"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/UKNorth",
+ "name": "UK North",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "UK North",
+ "fullName": "UK North"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/CanadaCentral",
+ "name": "Canada Central",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Canada Central",
+ "fullName": "Canada Central"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/CanadaEast",
+ "name": "Canada East",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Canada East",
+ "fullName": "Canada East"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/AustraliaEast",
+ "name": "Australia East",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Australia East",
+ "fullName": "Australia East"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/AustraliaSoutheast",
+ "name": "Australia Southeast",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Australia Southeast",
+ "fullName": "Australia Southeast"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/UKSouth",
+ "name": "UK South",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "UK South",
+ "fullName": "UK South"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/UKWest",
+ "name": "UK West",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "UK West",
+ "fullName": "UK West"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/EASTUS2EUAP",
+ "name": "EAST US 2 EUAP",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "EAST US 2 EUAP",
+ "fullName": "EAST US 2 EUAP"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/CentralUSEUAP",
+ "name": "Central US EUAP",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Central US EUAP",
+ "fullName": "Central US EUAP"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/KoreaCentral",
+ "name": "Korea Central",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Korea Central",
+ "fullName": "Korea Central"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/KoreaSouth",
+ "name": "Korea South",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Korea South",
+ "fullName": "Korea South"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/FranceCentral",
+ "name": "France Central",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "France Central",
+ "fullName": "France Central"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/FranceSouth",
+ "name": "France South",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "France South",
+ "fullName": "France South"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/AustraliaCentral",
+ "name": "Australia Central",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Australia Central",
+ "fullName": "Australia Central"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionid/providers/Microsoft.EventHub/sku/Standard/regions/AustraliaCentral2",
+ "name": "Australia Central 2",
+ "type": "Microsoft.EventHub/sku/Regions",
+ "location": null,
+ "tags": null,
+ "properties": {
+ "code": "Australia Central 2",
+ "fullName": "Australia Central 2"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json
new file mode 100644
index 000000000000..d12e0d4f4d65
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513",
+ "name": "sdk-Authrules-2513",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json
new file mode 100644
index 000000000000..c699644a6347
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleGet.json
new file mode 100644
index 000000000000..b5d10ce32c65
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513",
+ "name": "sdk-Authrules-2513",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..d4fde87a8dc0
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513",
+ "name": "sdk-Authrules-2513",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..3580578efbcc
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-960.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-2513;SharedAccessKey=############################################;EntityPath=sdk-EventHub-532",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-960.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-2513;SharedAccessKey=############################################;EntityPath=sdk-EventHub-532",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-2513"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json
new file mode 100644
index 000000000000..caa9318ebeb6
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-1534",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "keyType": "PrimaryKey"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-9027.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1534;SharedAccessKey=#############################################;EntityPath=sdk-EventHub-1647",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-9027.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1534;SharedAccessKey=#############################################;EntityPath=sdk-EventHub-1647",
+ "primaryKey": "#############################################",
+ "secondaryKey": "#############################################",
+ "keyName": "sdk-Authrules-1534"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubCreate.json
new file mode 100644
index 000000000000..5e2b6f0310c1
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5357",
+ "resourceGroupName": "Default-NotificationHubs-AustraliaEast",
+ "eventHubName": "sdk-EventHub-6547",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763,
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-EventHub-10",
+ "name": "sdk-EventHub-10",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs",
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "createdAt": "2017-06-28T02:45:55.877Z",
+ "updatedAt": "2017-06-28T02:46:05.877Z",
+ "partitionIds": [
+ "0",
+ "1",
+ "2",
+ "3"
+ ],
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ },
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubDelete.json
new file mode 100644
index 000000000000..fd213d75d44e
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5357",
+ "resourceGroupName": "ArunMonocle",
+ "eventHubName": "sdk-EventHub-6547",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubGet.json
new file mode 100644
index 000000000000..7e4bf39e2361
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-716",
+ "resourceGroupName": "Default-NotificationHubs-AustraliaEast",
+ "eventHubName": "sdk-EventHub-10",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-EventHub-10",
+ "name": "sdk-EventHub-10",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs",
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "createdAt": "2017-06-28T02:45:55.877Z",
+ "updatedAt": "2017-06-28T02:46:05.877Z",
+ "partitionIds": [
+ "0",
+ "1",
+ "2",
+ "3"
+ ],
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ },
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubListByNameSpace.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubListByNameSpace.json
new file mode 100644
index 000000000000..be467f00318c
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/EventHubs/EHEventHubListByNameSpace.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5357",
+ "resourceGroupName": "Default-NotificationHubs-AustraliaEast",
+ "api-version": "2018-01-01-preview",
+ "eventHubName": "sdk-eventhub-10",
+ "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-eventhub-10",
+ "name": "sdk-eventhub-10",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs",
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "createdAt": "2017-06-28T02:45:55.877Z",
+ "updatedAt": "2017-06-28T02:46:05.877Z",
+ "partitionIds": [
+ "0",
+ "1",
+ "2",
+ "3"
+ ],
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ },
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json
new file mode 100644
index 000000000000..16a26aa26132
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules/sdk-Authrules-1746",
+ "name": "sdk-Authrules-1746",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json
new file mode 100644
index 000000000000..84e3ba216e06
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8980",
+ "authorizationRuleName": "sdk-Authrules-8929",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json
new file mode 100644
index 000000000000..0f47a06132b1
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules/sdk-Authrules-1746",
+ "name": "sdk-Authrules-1746",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..da31066909a3
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules?api-version=2017-04-01/RootManageSharedAccessKey",
+ "name": "RootManageSharedAccessKey",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Manage",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules?api-version=2017-04-01/sdk-Authrules-1746",
+ "name": "sdk-Authrules-1746",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..b8175bee73db
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-2702.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1746;SharedAccessKey=############################################",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-2702.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1746;SharedAccessKey=############################################",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-1746"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json
new file mode 100644
index 000000000000..a58011927e48
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8980",
+ "authorizationRuleName": "sdk-Authrules-8929",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "keyType": "PrimaryKey"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-8980.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-8929;SharedAccessKey=############################################",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-8980.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-8929;SharedAccessKey=############################################",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-8929"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json
new file mode 100644
index 000000000000..b1f2ccf66711
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2017-04-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "name": "sdk-Namespace-8458"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "None",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json
new file mode 100644
index 000000000000..8b45b710330c
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-9080",
+ "authorizationRuleName": "sdk-Authrules-4879",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-4879",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-4879",
+ "name": "sdk-Authrules-4879",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..5916f0bec2a2
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-9080",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-4047",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/RootManageSharedAccessKey",
+ "name": "RootManageSharedAccessKey",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Manage",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-1067",
+ "name": "sdk-Authrules-1067",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-1684",
+ "name": "sdk-Authrules-1684",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-4879",
+ "name": "sdk-Authrules-4879",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..c12b0814203c
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-4047",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "aliasPrimaryConnectionString": "Endpoint=sb://sdk-disasterrecovery-4047.servicebus.windows-int.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=############################################",
+ "aliasSecondaryConnectionString": "Endpoint=sb://sdk-disasterrecovery-4047.servicebus.windows-int.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=############################################",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-1746"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json
new file mode 100644
index 000000000000..df4aa5f98d4a
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json
new file mode 100644
index 000000000000..f6bd905b38c4
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "exampleSubscriptionId",
+ "namespaceName": "sdk-Namespace-9080",
+ "resourceGroupName": "exampleResourceGroup",
+ "parameters": {
+ "name": "sdk-DisasterRecovery-9474"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "None",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasCreate.json
new file mode 100644
index 000000000000..dd715b54a57d
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasCreate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "exampleSubscriptionId",
+ "parameters": {
+ "properties": {
+ "partnerNamespace": "sdk-Namespace-37"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/exampleResourceGroup/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-8859/disasterRecoveryConfig/sdk-DisasterRecovery-3814",
+ "name": "sdk-DisasterRecovery-3814",
+ "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig",
+ "properties": {
+ "provisioningState": "Accepted",
+ "partnerNamespace": "sdk-Namespace-37",
+ "role": "Primary"
+ }
+ }
+ },
+ "201": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasDelete.json
new file mode 100644
index 000000000000..557bae1823d1
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5849",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasFailOver.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasFailOver.json
new file mode 100644
index 000000000000..df4aa5f98d4a
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasFailOver.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasGet.json
new file mode 100644
index 000000000000..0d0e5e378f3c
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-37/disasterRecoveryConfig/sdk-DisasterRecovery-3814",
+ "name": "sdk-DisasterRecovery-3814",
+ "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig",
+ "properties": {
+ "provisioningState": "Accepted",
+ "partnerNamespace": "sdk-Namespace-8859",
+ "role": "Secondary",
+ "pendingReplicationOperationsCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasList.json
new file mode 100644
index 000000000000..2e4b6af3ae8a
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/disasterRecoveryConfigs/EHAliasList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-8859/disasterRecoveryConfig/sdk-DisasterRecovery-3814",
+ "name": "sdk-DisasterRecovery-3814",
+ "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig",
+ "properties": {
+ "provisioningState": "Accepted",
+ "partnerNamespace": "sdk-Namespace-37",
+ "role": "Primary"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations.json
new file mode 100644
index 000000000000..fbc8ca8fb42e
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations.json
@@ -0,0 +1,126 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.EventHub/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "EHOperations_List": {
+ "$ref": "./examples/EHOperations_List.json"
+ }
+ },
+ "description": "Lists all of the available Event Hub REST API operations.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "description": "Result of the request to list Event Hub operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of Event Hub operations supported by the Microsoft.EventHub resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "A Event Hub REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{operation}"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Service provider: Microsoft.EventHub"
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource on which the operation is performed: Invoice, etc."
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation type: Read, write, delete, etc."
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/sku.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/sku.json
new file mode 100644
index 000000000000..566c8d93e530
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/sku.json
@@ -0,0 +1,128 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/sku/{sku}/regions": {
+ "get": {
+ "tags": [
+ "Regions"
+ ],
+ "operationId": "Regions_ListBySku",
+ "x-ms-examples": {
+ "RegionsListBySkuBasic": {
+ "$ref": "./examples/EHRegionsListBySkuBasic.json"
+ },
+ "RegionsListBySkuStandard": {
+ "$ref": "./examples/EHRegionsListBySkuStandard.json"
+ }
+ },
+ "description": "Gets the available Regions for a given sku",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkuNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Regions successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/MessagingRegionsListResult"
+ }
+ },
+ "default": {
+ "description": "EventHub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MessagingRegions": {
+ "properties": {
+ "properties": {
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Region code"
+ },
+ "fullName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Full name of the region"
+ }
+ },
+ "description": "Properties of Messaging Region"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Messaging Region"
+ },
+ "MessagingRegionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MessagingRegions"
+ },
+ "description": "Result of the List MessagingRegions type."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of MessagingRegions."
+ }
+ },
+ "description": "The response of the List MessagingRegions operation."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/readme.md b/specification/eventhub/resource-manager/readme.md
index bae790871680..8d6c77f28674 100644
--- a/specification/eventhub/resource-manager/readme.md
+++ b/specification/eventhub/resource-manager/readme.md
@@ -88,13 +88,13 @@ input-file:
- Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json
- Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json
- Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json
-- Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json
-- Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json
-- Microsoft.EventHub/stable/2017-04-01/consumergroups.json
-- Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json
-- Microsoft.EventHub/stable/2017-04-01/operations.json
-- Microsoft.EventHub/stable/2017-04-01/eventhubs.json
-- Microsoft.EventHub/stable/2017-04-01/sku.json
+- Microsoft.EventHub/preview/2018-01-01-preview/AuthorizationRules.json
+- Microsoft.EventHub/preview/2018-01-01-preview/CheckNameAvailability.json
+- Microsoft.EventHub/preview/2018-01-01-preview/consumergroups.json
+- Microsoft.EventHub/preview/2018-01-01-preview/disasterRecoveryConfigs.json
+- Microsoft.EventHub/preview/2018-01-01-preview/operations.json
+- Microsoft.EventHub/preview/2018-01-01-preview/eventhubs.json
+- Microsoft.EventHub/preview/2018-01-01-preview/sku.json
```
### Tag: profile-hybrid-2020-09-01
diff --git a/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json b/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json
index 37e9a5185c2b..637258867d0d 100644
--- a/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json
+++ b/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json
@@ -1435,6 +1435,88 @@
}
}
},
+ "/{tenantID}/servicePrincipals/{objectId}/appRoleAssignedTo": {
+ "get": {
+ "tags": [
+ "ServicePrincipalAppRoleAssignedTo"
+ ],
+ "operationId": "ServicePrincipals_ListAppRoleAssignedTo",
+ "summary": "Principals (users, groups, and service principals) that are assigned to this service principal.",
+ "parameters": [
+ {
+ "name": "objectId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The object ID of the service principal for which to get owners."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/tenantIDInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/AppRoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/GraphError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ }
+ }
+ },
+ "/{tenantID}/servicePrincipals/{objectId}/appRoleAssignments": {
+ "get": {
+ "tags": [
+ "ServicePrincipalAppRoleAssignments"
+ ],
+ "operationId": "ServicePrincipals_ListAppRoleAssignments",
+ "summary": "Applications that the service principal is assigned to.",
+ "parameters": [
+ {
+ "name": "objectId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The object ID of the service principal for which to get owners."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/tenantIDInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/AppRoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/GraphError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ }
+ }
+ },
"/{tenantID}/servicePrincipals/{objectId}/owners": {
"get": {
"tags": [
@@ -3320,6 +3402,59 @@
},
"description": "KeyCredential list operation result."
},
+ "AppRoleAssignmentListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AppRoleAssignment"
+ },
+ "description": "A collection of AppRoleAssignment."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "AppRoleAssignment list operation result."
+ },
+ "AppRoleAssignment": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DirectoryObject"
+ }
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The role id that was assigned to the principal. This role must be declared by the target resource application resourceId in its appRoles property."
+ },
+ "principalDisplayName": {
+ "type": "string",
+ "description": "The display name of the principal that was granted the access."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "The unique identifier (objectId) for the principal being granted the access."
+ },
+ "principalType": {
+ "type": "string",
+ "description": "The type of principal. This can either be \"User\", \"Group\" or \"ServicePrincipal\"."
+ },
+ "resourceDisplayName": {
+ "type": "string",
+ "description": "The display name of the resource to which the assignment was made."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The unique identifier (objectId) for the target resource (service principal) for which the assignment was made."
+ }
+ },
+ "x-ms-discriminator-value": "AppRoleAssignment",
+ "description": "AppRoleAssignment information."
+ },
"DirectoryObjectListResult": {
"type": "object",
"properties": {
diff --git a/specification/guestconfiguration/resource-manager/readme.go.md b/specification/guestconfiguration/resource-manager/readme.go.md
new file mode 100644
index 000000000000..07062758e002
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: guestconfiguration
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-06-25
+```
+
+### Tag: package-2020-06-25 and go
+
+These settings apply only when `--tag=package-2020-06-25 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-25' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-25/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/readme.md b/specification/guestconfiguration/resource-manager/readme.md
index a114e01a1f17..16040945cfd0 100644
--- a/specification/guestconfiguration/resource-manager/readme.md
+++ b/specification/guestconfiguration/resource-manager/readme.md
@@ -112,6 +112,7 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
+ - repo: azure-sdk-for-go
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
after_scripts:
diff --git a/specification/hanaonazure/resource-manager/readme.python.md b/specification/hanaonazure/resource-manager/readme.python.md
index 2341b2940400..7bcd12fae479 100644
--- a/specification/hanaonazure/resource-manager/readme.python.md
+++ b/specification/hanaonazure/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -15,13 +15,30 @@ python:
clear-output-folder: true
package-version: 0.6.0
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.hanaonazure
+package-name: azure-mgmt-hanaonazure
+clear-output-folder: true
+package-version: 0.6.0
+```
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/hanaonazure/azure-mgmt-hanaonazure/azure/mgmt/hanaonazure
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/hanaonazure/azure-mgmt-hanaonazure
```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/hanaonazure/azure-mgmt-hanaonazure/azure/mgmt/hanaonazure
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/hanaonazure/azure-mgmt-hanaonazure
+```
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json
index 321114224267..428fa685bad2 100644
--- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json
@@ -74,6 +74,9 @@
},
"Create cluster with network properties": {
"$ref": "./examples/CreateHDInsightClusterWithCustomNetworkProperties.json"
+ },
+ "Create cluster with compute isolation properties": {
+ "$ref": "./examples/CreateHDInsightClusterWithComputeIsolationProperties.json"
}
},
"parameters": [
@@ -1043,6 +1046,19 @@
}
}
},
+ "ComputeIsolationProperties": {
+ "description": "The compute isolation properties.",
+ "properties": {
+ "enableComputeIsolation": {
+ "type": "boolean",
+ "description": "The flag indicates whether enable compute isolation or not."
+ },
+ "hostSku": {
+ "type": "string",
+ "description": "The host sku."
+ }
+ }
+ },
"ClusterCreateProperties": {
"description": "The cluster create parameters.",
"properties": {
@@ -1109,6 +1125,10 @@
"networkProperties": {
"$ref": "#/definitions/NetworkProperties",
"description": "The network properties."
+ },
+ "computeIsolationProperties": {
+ "$ref": "#/definitions/ComputeIsolationProperties",
+ "description": "The compute isolation properties."
}
}
},
@@ -1301,6 +1321,10 @@
"networkProperties": {
"$ref": "#/definitions/NetworkProperties",
"description": "The network properties."
+ },
+ "computeIsolationProperties": {
+ "$ref": "#/definitions/ComputeIsolationProperties",
+ "description": "The compute isolation properties."
}
},
"required": [
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithComputeIsolationProperties.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithComputeIsolationProperties.json
new file mode 100644
index 000000000000..659a34ba95fc
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithComputeIsolationProperties.json
@@ -0,0 +1,149 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subId",
+ "parameters": {
+ "properties": {
+ "clusterVersion": "3.6",
+ "osType": "Linux",
+ "clusterDefinition": {
+ "kind": "hadoop",
+ "configurations": {
+ "gateway": {
+ "restAuthCredential.isEnabled": true,
+ "restAuthCredential.username": "admin",
+ "restAuthCredential.password": "**********"
+ }
+ }
+ },
+ "storageProfile": {
+ "storageaccounts": [
+ {
+ "name": "mystorage",
+ "isDefault": true,
+ "container": "containername",
+ "key": "storage account key"
+ }
+ ]
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********",
+ "sshProfile": {
+ "publicKeys": [
+ {
+ "certificateData": "**********"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********",
+ "sshProfile": {
+ "publicKeys": [
+ {
+ "certificateData": "**********"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ]
+ },
+ "computeIsolationProperties": {
+ "enableComputeIsolation": true,
+ "hostSku": null
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1",
+ "name": "cluster1",
+ "type": "Microsoft.HDInsight/clusters",
+ "location": "South Central US",
+ "etag": "fdf2a6e8-ce83-42cc-8c2d-0ceb11a370ff",
+ "tags": null,
+ "properties": {
+ "clusterVersion": "3.6.1000.67",
+ "osType": "Linux",
+ "clusterId": "8186508b6234470e9d16c9e8e13bd821",
+ "clusterDefinition": {
+ "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2005040905.json",
+ "kind": "hadoop"
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ },
+ "virtualNetworkProfile": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
+ "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ }
+ ]
+ },
+ "computeIsolationProperties": {
+ "enableComputeIsolation": true,
+ "hostSku": null
+ },
+ "provisioningState": "Succeeded",
+ "clusterState": "Running",
+ "createdDate": "2020-06-09T12:25:43.48",
+ "quotaInfo": {
+ "coresUsed": 16
+ },
+ "tier": "Standard"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json
index 4db9dc3a68d9..dfb4be455bcc 100644
--- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json
@@ -136,6 +136,14 @@
"name": {
"description": "The host name",
"type": "string"
+ },
+ "fqdn": {
+ "description": "The Fully Qualified Domain Name of host",
+ "type": "string"
+ },
+ "effectiveDiskEncryptionKeyUrl": {
+ "description": "The effective disk encryption key URL used by the host",
+ "type": "string"
}
},
"readOnly": true
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/CheckNameAvailability.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..b42f33c038d8
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/CheckNameAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-12-08-preview",
+ "subscriptionId": "subscription-id",
+ "parameters": {
+ "name": "MyBot",
+ "type": "string"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/GetOperations.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/GetOperations.json
new file mode 100644
index 000000000000..80cc8124627b
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/GetOperations.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-12-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.HealthBot/healthbot/botName/read",
+ "display": {
+ "provider": "Microsoft Healthcare Bot",
+ "resource": "Microsoft Healthcare Bot name availability",
+ "operation": "Check bot name availability",
+ "description": "Check bot name availability"
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsByResourceGroup.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsByResourceGroup.json
new file mode 100644
index 000000000000..105b30bf9fc0
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsByResourceGroup.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-12-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsBySubscription.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsBySubscription.json
new file mode 100644
index 000000000000..105b30bf9fc0
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsBySubscription.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-12-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceCreationPut.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceCreationPut.json
new file mode 100644
index 000000000000..16d3f2951401
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceCreationPut.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2020-12-08-preview",
+ "subscriptionId": "subid",
+ "botName": "samplebotname",
+ "parameters": {
+ "location": "East US",
+ "sku": {
+ "name": "F0"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage",
+ "provisioningState": "Provisioning"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceDeletionDelete.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceDeletionDelete.json
new file mode 100644
index 000000000000..55ab192b98c7
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceDeletionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2020-12-08-preview",
+ "subscriptionId": "subid",
+ "botName": "samplebotname"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceInfoGet.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceInfoGet.json
new file mode 100644
index 000000000000..14ba7b0d404a
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceInfoGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2020-12-08-preview",
+ "subscriptionId": "subid",
+ "botName": "samplebotname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceUpdatePatch.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceUpdatePatch.json
new file mode 100644
index 000000000000..03fdd5025a2b
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceUpdatePatch.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2020-12-08-preview",
+ "subscriptionId": "subid",
+ "botName": "samplebotname",
+ "parameters": {
+ "sku": {
+ "name": "F0"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/healthbot.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/healthbot.json
new file mode 100644
index 000000000000..18ec15a66f31
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/healthbot.json
@@ -0,0 +1,818 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-12-08-preview",
+ "title": "healthbot",
+ "description": "Microsoft Healthcare Bot is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.",
+ "x-ms-code-generation-settings": {
+ "name": "healthbotClient"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HealthBot/checkNameAvailability": {
+ "post": {
+ "description": "Check whether a bot name is available.",
+ "operationId": "Bots_CheckNameAvailability",
+ "x-ms-examples": {
+ "check Name Availability": {
+ "$ref": "./examples/CheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequestBody"
+ },
+ "description": "The request body parameters to provide for the check name availability request"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResponseBody"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots/{botName}": {
+ "put": {
+ "operationId": "Bots_Create",
+ "x-ms-examples": {
+ "BotCreate": {
+ "$ref": "./examples/ResourceCreationPut.json"
+ }
+ },
+ "description": "Create a new Healthcare Bot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ },
+ "description": "The parameters to provide for the created bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is updated successfully, the service should return 200.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "operationId": "Bots_Get",
+ "x-ms-examples": {
+ "ResourceInfoGet": {
+ "$ref": "./examples/ResourceInfoGet.json"
+ }
+ },
+ "description": "Get a Healthcare Bot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is got successfully, the service should return 200.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "Bots_Update",
+ "x-ms-examples": {
+ "BotUpdate": {
+ "$ref": "./examples/ResourceUpdatePatch.json"
+ }
+ },
+ "description": "Patch a Healthcare Bot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HealthBotUpdateParameters"
+ },
+ "description": "The parameters to provide for the required bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is patched successfully, the service should return 200.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "201": {
+ "description": "If resource is received update request successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Bots_Delete",
+ "x-ms-examples": {
+ "BotDelete": {
+ "$ref": "./examples/ResourceDeletionDelete.json"
+ }
+ },
+ "description": "Delete a Healthcare Bot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is deleted successfully, the service should return 200."
+ },
+ "202": {
+ "description": "Accepted - Delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots": {
+ "get": {
+ "description": "Returns all the resources of a particular type belonging to a resource group",
+ "operationId": "Bots_ListByResourceGroup",
+ "x-ms-examples": {
+ "List Bots by Resource Group": {
+ "$ref": "./examples/ListBotsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value†property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.",
+ "schema": {
+ "$ref": "#/definitions/BotResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HealthBot/healthBots": {
+ "get": {
+ "description": "Returns all the resources of a particular type belonging to a subscription.",
+ "operationId": "Bots_List",
+ "x-ms-examples": {
+ "List Bots by Subscription": {
+ "$ref": "./examples/ListBotsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ",
+ "schema": {
+ "$ref": "#/definitions/BotResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.HealthBot/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all the available HealthBot operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/AvailableOperations"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Sku": {
+ "description": "The resource model definition representing SKU",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the HealthBot SKU",
+ "enum": [
+ "F0",
+ "S1",
+ "C0"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": false
+ }
+ },
+ "tier": {
+ "type": "string",
+ "enum": [
+ "Free",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": false
+ },
+ "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT."
+ },
+ "size": {
+ "type": "string",
+ "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. "
+ },
+ "family": {
+ "type": "string",
+ "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here."
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "CheckNameAvailabilityRequestBody": {
+ "description": "The request body for a request to to check availability of a bot name.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "the name of the bot for which availability needs to be checked.",
+ "type": "string"
+ },
+ "type": {
+ "description": "the type of the bot for which availability needs to be checked",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ]
+ },
+ "CheckNameAvailabilityResponseBody": {
+ "description": "The response body returned for a request to check availability of a bot name.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "indicates if the bot name is valid and available.",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "Reason for the result",
+ "type": "string"
+ },
+ "message": {
+ "description": "additional message from server",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "description": "The resource model definition for a ARM tracked top level resource",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "Fully qualified resource Id for the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "Metadata pertaining to creation and last modification of the resource"
+ }
+ }
+ },
+ "TrackedResource": {
+ "description": "The resource model definition for a ARM tracked top level resource",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The geo-location where the resource lives"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "HealthBot": {
+ "type": "object",
+ "description": "HealthBot resource definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU of the HealthBot."
+ },
+ "properties": {
+ "$ref": "#/definitions/HealthBotProperties",
+ "description": "The set of properties specific to healthcare bot resource."
+ }
+ }
+ },
+ "HealthBotProperties": {
+ "title": "HealthBotProperties",
+ "description": "The properties of a HealthBot. The Health Bot Service is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the Healthcare bot resource.",
+ "readOnly": true
+ },
+ "botManagementPortalLink": {
+ "type": "string",
+ "description": "The link.",
+ "readOnly": true
+ }
+ }
+ },
+ "HealthBotUpdateParameters": {
+ "type": "object",
+ "description": "Parameters for updating a HealthBot.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Tags for a HealthBot.",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ]
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU of the HealthBot."
+ }
+ }
+ },
+ "SystemData": {
+ "description": "Read only system data",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "$ref": "#/definitions/IdentityType",
+ "description": "The type of identity that created the resource"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)"
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "$ref": "#/definitions/IdentityType",
+ "description": "The type of identity that last modified the resource"
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource last modification (UTC)"
+ }
+ }
+ },
+ "IdentityType": {
+ "description": "The type of identity that creates/modifies resources",
+ "type": "string",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "ValidationResult": {
+ "title": "ValidationResult",
+ "description": "The response returned from validation process",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status code of the response validation."
+ }
+ }
+ },
+ "Error": {
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "The error object.",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error code."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error message."
+ },
+ "target": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error target."
+ },
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Error"
+ },
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ }
+ }
+ },
+ "description": "The resource management error response."
+ },
+ "ErrorAdditionalInfo": {
+ "properties": {
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The additional info type."
+ },
+ "info": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The additional info."
+ }
+ },
+ "description": "The resource management error additional info."
+ },
+ "AvailableOperations": {
+ "description": "Available operations of the service",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of available operation details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDetail"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDetail": {
+ "description": "Operation detail payload",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Additional properties.",
+ "type": "object"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display payload",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider of the operation",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource of the operation",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string"
+ }
+ }
+ },
+ "BotResponseList": {
+ "properties": {
+ "nextLink": {
+ "readOnly": true,
+ "description": "The link used to get the next page of bot service resources.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthBot"
+ },
+ "description": "Gets the list of healthcare bot results and their properties."
+ }
+ },
+ "description": "The list of healthcare bot operation response."
+ }
+ },
+ "parameters": {
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource group in the user subscription."
+ },
+ "resourceNameParameter": {
+ "name": "botName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource."
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/GetOperations.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/GetOperations.json
new file mode 100644
index 000000000000..01f453b57330
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/GetOperations.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-12-08"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.HealthBot/healthbot/botName/read",
+ "display": {
+ "provider": "Microsoft Healthcare Bot",
+ "resource": "Microsoft Healthcare Bot name availability",
+ "operation": "Check bot name availability",
+ "description": "Check bot name availability"
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsByResourceGroup.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsByResourceGroup.json
new file mode 100644
index 000000000000..393493f179d6
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsByResourceGroup.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-12-08"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsBySubscription.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsBySubscription.json
new file mode 100644
index 000000000000..393493f179d6
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsBySubscription.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-12-08"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceCreationPut.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceCreationPut.json
new file mode 100644
index 000000000000..1077058598f3
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceCreationPut.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2020-12-08",
+ "subscriptionId": "subid",
+ "botName": "samplebotname",
+ "parameters": {
+ "location": "East US",
+ "sku": {
+ "name": "F0"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage",
+ "provisioningState": "Provisioning"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceDeletionDelete.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceDeletionDelete.json
new file mode 100644
index 000000000000..521997c1eb90
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceDeletionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2020-12-08",
+ "subscriptionId": "subid",
+ "botName": "samplebotname"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceInfoGet.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceInfoGet.json
new file mode 100644
index 000000000000..76f5d35bd34b
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceInfoGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2020-12-08",
+ "subscriptionId": "subid",
+ "botName": "samplebotname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceUpdatePatch.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceUpdatePatch.json
new file mode 100644
index 000000000000..3778a66d33a9
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceUpdatePatch.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2020-12-08",
+ "subscriptionId": "subid",
+ "botName": "samplebotname",
+ "parameters": {
+ "sku": {
+ "name": "F0"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/healthbot.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/healthbot.json
new file mode 100644
index 000000000000..a0007dbc1075
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/healthbot.json
@@ -0,0 +1,718 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-12-08",
+ "title": "healthbot",
+ "description": "Microsoft Healthcare Bot is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.",
+ "x-ms-code-generation-settings": {
+ "name": "healthbotClient"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots/{botName}": {
+ "put": {
+ "operationId": "Bots_Create",
+ "x-ms-examples": {
+ "BotCreate": {
+ "$ref": "./examples/ResourceCreationPut.json"
+ }
+ },
+ "description": "Create a new HealthBot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ },
+ "description": "The parameters to provide for the created bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is updated successfully, the service should return 200.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "operationId": "Bots_Get",
+ "x-ms-examples": {
+ "ResourceInfoGet": {
+ "$ref": "./examples/ResourceInfoGet.json"
+ }
+ },
+ "description": "Get a HealthBot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is got successfully, the service should return 200.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "Bots_Update",
+ "x-ms-examples": {
+ "BotUpdate": {
+ "$ref": "./examples/ResourceUpdatePatch.json"
+ }
+ },
+ "description": "Patch a HealthBot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HealthBotUpdateParameters"
+ },
+ "description": "The parameters to provide for the required bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is patched successfully, the service should return 200.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "201": {
+ "description": "If resource is received update request successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Bots_Delete",
+ "x-ms-examples": {
+ "BotDelete": {
+ "$ref": "./examples/ResourceDeletionDelete.json"
+ }
+ },
+ "description": "Delete a HealthBot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is deleted successfully, the service should return 200."
+ },
+ "202": {
+ "description": "Accepted - Delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots": {
+ "get": {
+ "description": "Returns all the resources of a particular type belonging to a resource group",
+ "operationId": "Bots_ListByResourceGroup",
+ "x-ms-examples": {
+ "List Bots by Resource Group": {
+ "$ref": "./examples/ListBotsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value†property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.",
+ "schema": {
+ "$ref": "#/definitions/BotResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HealthBot/healthBots": {
+ "get": {
+ "description": "Returns all the resources of a particular type belonging to a subscription.",
+ "operationId": "Bots_List",
+ "x-ms-examples": {
+ "List Bots by Subscription": {
+ "$ref": "./examples/ListBotsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ",
+ "schema": {
+ "$ref": "#/definitions/BotResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.HealthBot/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all the available HealthBot operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/AvailableOperations"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Sku": {
+ "description": "The resource model definition representing SKU",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the HealthBot SKU",
+ "enum": [
+ "F0",
+ "S1",
+ "C0"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "Resource": {
+ "description": "The resource model definition for a ARM tracked top level resource",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "Fully qualified resource Id for the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "Metadata pertaining to creation and last modification of the resource"
+ }
+ }
+ },
+ "TrackedResource": {
+ "description": "The resource model definition for a ARM tracked top level resource",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The geo-location where the resource lives"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "HealthBot": {
+ "type": "object",
+ "description": "HealthBot resource definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU of the HealthBot."
+ },
+ "properties": {
+ "$ref": "#/definitions/HealthBotProperties",
+ "description": "The set of properties specific to Healthbot resource."
+ }
+ },
+ "required": [
+ "sku"
+ ]
+ },
+ "HealthBotProperties": {
+ "title": "HealthBotProperties",
+ "description": "The properties of a HealthBot. The Health Bot Service is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the Healthbot resource.",
+ "readOnly": true
+ },
+ "botManagementPortalLink": {
+ "type": "string",
+ "description": "The link.",
+ "readOnly": true
+ }
+ }
+ },
+ "HealthBotUpdateParameters": {
+ "type": "object",
+ "description": "Parameters for updating a HealthBot.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Tags for a HealthBot.",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ]
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU of the HealthBot."
+ }
+ }
+ },
+ "SystemData": {
+ "description": "Read only system data",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "$ref": "#/definitions/IdentityType",
+ "description": "The type of identity that created the resource"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)"
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "$ref": "#/definitions/IdentityType",
+ "description": "The type of identity that last modified the resource"
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource last modification (UTC)"
+ }
+ }
+ },
+ "IdentityType": {
+ "description": "The type of identity that creates/modifies resources",
+ "type": "string",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "ValidationResult": {
+ "title": "ValidationResult",
+ "description": "The response returned from validation process",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status code of the response validation."
+ }
+ }
+ },
+ "Error": {
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "The error object.",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error code."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error message."
+ },
+ "target": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error target."
+ },
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Error"
+ },
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ }
+ }
+ },
+ "description": "The resource management error response."
+ },
+ "ErrorAdditionalInfo": {
+ "properties": {
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The additional info type."
+ },
+ "info": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The additional info."
+ }
+ },
+ "description": "The resource management error additional info."
+ },
+ "AvailableOperations": {
+ "description": "Available operations of the service",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of available operation details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDetail"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDetail": {
+ "description": "Operation detail payload",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Additional properties.",
+ "type": "object"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display payload",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider of the operation",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource of the operation",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string"
+ }
+ }
+ },
+ "BotResponseList": {
+ "properties": {
+ "nextLink": {
+ "readOnly": true,
+ "description": "The link used to get the next page of bot service resources.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthBot"
+ },
+ "description": "Gets the list of Healthbot results and their properties."
+ }
+ },
+ "description": "The list of Healthbot operation response."
+ }
+ },
+ "parameters": {
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource group in the user subscription."
+ },
+ "resourceNameParameter": {
+ "name": "botName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource."
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/readme.az.md b/specification/healthbot/resource-manager/readme.az.md
new file mode 100644
index 000000000000..83164380aa49
--- /dev/null
+++ b/specification/healthbot/resource-manager/readme.az.md
@@ -0,0 +1,21 @@
+# AZ HealthBot
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az)
+az:
+ extensions: healthbot
+ namespace: azure.mgmt.healthbot
+ package-name: azure-mgmt-healthbot
+az-output-folder: $(azure-cli-extension-folder)/src/healthbot
+python-sdk-output-folder: "$(az-output-folder)/azext_healthbot/vendored_sdks/healthbot"
+```
+
+``` yaml
+directive:
+ - where:
+ group: healthbot bot
+ set:
+ group: healthbot
+
+```
diff --git a/specification/healthbot/resource-manager/readme.cli.md b/specification/healthbot/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..c8997ac28a0a
--- /dev/null
+++ b/specification/healthbot/resource-manager/readme.cli.md
@@ -0,0 +1 @@
+## CLI common settings for all command line tools
\ No newline at end of file
diff --git a/specification/healthbot/resource-manager/readme.csharp.md b/specification/healthbot/resource-manager/readme.csharp.md
index 14c4be9d14f0..babfcdff06b1 100644
--- a/specification/healthbot/resource-manager/readme.csharp.md
+++ b/specification/healthbot/resource-manager/readme.csharp.md
@@ -10,6 +10,6 @@ csharp:
payload-flattening-threshold: 1
clear-output-folder: true
client-side-validation: false
- namespace: Microsoft.HealthBot
- output-folder: $(csharp-sdks-folder)/healthbot/management/Microsoft.HealthBot/GeneratedProtocol
+ namespace: Microsoft.Azure.Management.Healthbot
+ output-folder: $(csharp-sdks-folder)/healthbot/management/Microsoft.Azure.Management.Healthbot/src/Generated
```
diff --git a/specification/healthbot/resource-manager/readme.go.md b/specification/healthbot/resource-manager/readme.go.md
new file mode 100644
index 000000000000..69c8db2aabba
--- /dev/null
+++ b/specification/healthbot/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: healthbot
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-12-08
+```
+
+### Tag: package-2020-12-08 and go
+
+These settings apply only when `--tag=package-2020-12-08 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-12-08' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-12-08/$(namespace)
+```
diff --git a/specification/healthbot/resource-manager/readme.md b/specification/healthbot/resource-manager/readme.md
index 6ed83a9f4af9..3e51ddf1c0f4 100644
--- a/specification/healthbot/resource-manager/readme.md
+++ b/specification/healthbot/resource-manager/readme.md
@@ -27,7 +27,7 @@ These are the global settings for the healthbot.
```yaml
openapi-type: arm
openapi-subtype: rpaas
-tag: package-2020-10-20-preview
+tag: package-2020-12-08
```
@@ -53,6 +53,28 @@ input-file:
---
+### Tag3: package-2020-12-08-preview
+
+These settings apply only when `--tag=package-2020-12-08-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-12-08-preview'
+input-file:
+ - Microsoft.HealthBot/preview/2020-12-08-preview/healthbot.json
+```
+
+---
+
+### Tag3: package-2020-12-08
+
+These settings apply only when `--tag=package-2020-12-08` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-12-08'
+input-file:
+ - Microsoft.HealthBot/stable/2020-12-08/healthbot.json
+```
+
+---
+
# Code Generation
## Swagger to SDK
@@ -66,8 +88,10 @@ swagger-to-sdk:
- repo: azure-sdk-for-java
- repo: azure-sdk-for-js
- repo: azure-sdk-for-ruby
+ - repo: azure-sdk-for-go
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_healthbot']
+ - repo: azure-cli-extensions
```
## Python
@@ -85,3 +109,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
## CSharp
See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## GO
+
+See configuration in [readme.go.md](./readme.go.md)
diff --git a/specification/healthbot/resource-manager/readme.python.md b/specification/healthbot/resource-manager/readme.python.md
index 1dbb61e1a22f..e15aac93a9f0 100644
--- a/specification/healthbot/resource-manager/readme.python.md
+++ b/specification/healthbot/resource-manager/readme.python.md
@@ -8,8 +8,8 @@ python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
payload-flattening-threshold: 2
- namespace: Microsoft.HealthBot
- package-name: healthbot
+ namespace: azure.mgmt.healthbot
+ package-name: azure-mgmt-healthbot
package-version: 2020-10-20-preview
clear-output-folder: true
```
@@ -17,5 +17,5 @@ python:
```yaml $(python)
python:
no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt/healthbot
+ output-folder: $(python-sdks-folder)/healthbot/azure-mgmt-healthbot/azure/mgmt/healthbot
```
diff --git a/specification/healthbot/resource-manager/readme.typescript.md b/specification/healthbot/resource-manager/readme.typescript.md
index 5186c93d66ef..5d614efa9767 100644
--- a/specification/healthbot/resource-manager/readme.typescript.md
+++ b/specification/healthbot/resource-manager/readme.typescript.md
@@ -6,8 +6,8 @@ Please also specify `--typescript-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -14,7 +14,15 @@ python:
package-name: azure-mgmt-hybridcompute
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.hybridcompute
+package-name: azure-mgmt-hybridcompute
+clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/hybridcompute/azure-mgmt-hybridcompute/azure/mgmt/hybridcompute
@@ -24,7 +32,7 @@ directive:
- Machines_CreateOrUpdate
- Machines_Update
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/azure-mgmt-hybridcompute
@@ -34,3 +42,22 @@ directive:
- Machines_CreateOrUpdate
- Machines_Update
```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/hybridcompute/azure-mgmt-hybridcompute/azure/mgmt/hybridcompute
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/azure-mgmt-hybridcompute
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+```
+
diff --git a/specification/hybridkubernetes/resource-manager/readme.python.md b/specification/hybridkubernetes/resource-manager/readme.python.md
index c9a7c10980ad..6c4ece64c4ae 100644
--- a/specification/hybridkubernetes/resource-manager/readme.python.md
+++ b/specification/hybridkubernetes/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-```yaml $(python)
+```yaml $(python) && !$(track2)
python:
python-mode: create
azure-arm: true
@@ -15,13 +15,30 @@ python:
package-version: 0.1.1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+```yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.hybridkubernetes
+package-name: azure-mgmt-hybridkubernetes
+package-version: 0.1.1
+clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/hybridkubernetes/azure-mgmt-hybridkubernetes
-```
\ No newline at end of file
+```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/hybridkubernetes/azure-mgmt-hybridkubernetes
+```
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_Templates.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_Templates.json
index 9a80de984780..ca1862ff3dca 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_Templates.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_Templates.json
@@ -14,7 +14,7 @@
{
"manifestId": "iotc-default",
"manifestVersion": "1.0.0",
- "appTemplateName": "IoT Central Application template",
+ "name": "IoT Central Application template",
"title": "IoT Central Application template",
"order": 1,
"description": "Description for IoT Central Application template"
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json
index f7887e217709..24803cd2cdf1 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json
@@ -794,7 +794,7 @@
"type": "string",
"readOnly": true
},
- "appTemplateName": {
+ "name": {
"description": "The name of the template.",
"type": "string",
"readOnly": true
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json
index b7b9e122df92..d5344ba46deb 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json
@@ -284,7 +284,8 @@
"RestoreOperationParameters": {
"properties": {
"sasTokenParameters": {
- "$ref": "#/definitions/SASTokenParameter"
+ "$ref": "#/definitions/SASTokenParameter",
+ "description": "SAS token parameter object containing Azure storage resourceUri and token"
},
"folderToRestore": {
"type": "string",
@@ -299,7 +300,8 @@
"SelectiveKeyRestoreOperationParameters": {
"properties": {
"sasTokenParameters": {
- "$ref": "#/definitions/SASTokenParameter"
+ "$ref": "#/definitions/SASTokenParameter",
+ "description": "SAS token parameter object containing Azure storage resourceUri and token"
},
"folder": {
"type": "string",
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteRoleDefinition-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteRoleDefinition-example.json
new file mode 100644
index 000000000000..d707b2b24e5a
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteRoleDefinition-example.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "vaultBaseUrl": "https://myvault.vault.azure.net/",
+ "scope": "",
+ "api-version": "7.2-preview",
+ "roleDefinitionName": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleName": "My custom role",
+ "type": "CustomRole",
+ "description": "Role description",
+ "assignableScopes": [
+ "/"
+ ],
+ "permissions": [
+ {
+ "dataActions": [ "Microsoft.KeyVault/managedHsm/keys/sign/action" ],
+ }
+ ]
+ },
+ "id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Authorization/roleDefinitions",
+ "name": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetRoleDefinition-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetRoleDefinition-example.json
new file mode 100644
index 000000000000..d707b2b24e5a
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetRoleDefinition-example.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "vaultBaseUrl": "https://myvault.vault.azure.net/",
+ "scope": "",
+ "api-version": "7.2-preview",
+ "roleDefinitionName": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleName": "My custom role",
+ "type": "CustomRole",
+ "description": "Role description",
+ "assignableScopes": [
+ "/"
+ ],
+ "permissions": [
+ {
+ "dataActions": [ "Microsoft.KeyVault/managedHsm/keys/sign/action" ],
+ }
+ ]
+ },
+ "id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Authorization/roleDefinitions",
+ "name": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/PutRoleDefinition-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/PutRoleDefinition-example.json
new file mode 100644
index 000000000000..473984477f83
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/PutRoleDefinition-example.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "vaultBaseUrl": "https://myvault.vault.azure.net/",
+ "scope": "keys",
+ "roleDefinitionName": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "properties": {
+ "roleName": "My custom role",
+ "type": "CustomRole",
+ "description": "Role description",
+ "permissions": [
+ {
+ "dataActions": [ "Microsoft.KeyVault/managedHsm/keys/sign/action" ],
+ }
+ ]
+ }
+ },
+ "api-version": "7.2-preview"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleName": "My custom role",
+ "type": "CustomRole",
+ "description": "Role description",
+ "assignableScopes": [
+ "/"
+ ],
+ "permissions": [
+ {
+ "dataActions": [ "Microsoft.KeyVault/managedHsm/keys/sign/action" ],
+ }
+ ]
+ },
+ "id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Authorization/roleDefinitions",
+ "name": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json
index 2d19a1aa5d13..ab3da6b9af49 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json
@@ -1807,6 +1807,23 @@
"type": "string",
"format": "base64url",
"readOnly": true
+ },
+ "iv": {
+ "type": "string",
+ "format": "base64url",
+ "readOnly": true
+ },
+ "tag": {
+ "type": "string",
+ "x-ms-client-name": "authenticationTag",
+ "format": "base64url",
+ "readOnly": true
+ },
+ "aad": {
+ "type": "string",
+ "x-ms-client-name": "additionalAuthenticatedData",
+ "format": "base64url",
+ "readOnly": true
}
},
"description": "The key operation result."
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/rbac.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/rbac.json
index a15c7e1d7dfb..f5a4a9b8429a 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/rbac.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/rbac.json
@@ -27,6 +27,155 @@
"application/json"
],
"paths": {
+ "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionName}": {
+ "delete": {
+ "tags": [
+ "RoleDefinitions"
+ ],
+ "operationId": "RoleDefinitions_Delete",
+ "description": "Deletes a custom role definition.",
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role definition to delete. Managed HSM only supports '/'.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name (GUID) of the role definition to delete."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role definition that was deleted.",
+ "schema": {
+ "$ref": "#/definitions/RoleDefinition"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteRoleDefinition": {
+ "$ref": "./examples/DeleteRoleDefinition-example.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RoleDefinitions"
+ ],
+ "operationId": "RoleDefinitions_CreateOrUpdate",
+ "description": "Creates or updates a custom role definition.",
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role definition to create or update. Managed HSM only supports '/'.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role definition to create or update. It can be any valid GUID."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RoleDefinitionCreateParameters"
+ },
+ "description": "Parameters for the role definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created - Returns information about the role definition.",
+ "schema": {
+ "$ref": "#/definitions/RoleDefinition"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PutRoleDefinition": {
+ "$ref": "./examples/PutRoleDefinition-example.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "RoleDefinitions"
+ ],
+ "operationId": "RoleDefinitions_Get",
+ "description": "Get the specified role definition.",
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role definition to get. Managed HSM only supports '/'.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role definition to get."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role definition.",
+ "schema": {
+ "$ref": "#/definitions/RoleDefinition"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetRoleAssignments": {
+ "$ref": "./examples/GetRoleDefinition-example.json"
+ }
+ }
+ }
+ },
"/{scope}/providers/Microsoft.Authorization/roleDefinitions": {
"get": {
"tags": [
@@ -365,6 +514,18 @@
],
"description": "Role assignment properties."
},
+ "RoleDefinitionCreateParameters": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RoleDefinitionProperties",
+ "description": "Role definition properties."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Role definition create parameters."
+ },
"RoleAssignmentCreateParameters": {
"properties": {
"properties": {
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/ImportCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/ImportCertificate-example.json
index 6f4c0ed6c95d..74c0eec081b2 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/ImportCertificate-example.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/ImportCertificate-example.json
@@ -4,7 +4,7 @@
"certificate-name": "importCert01",
"api-version": "7.3-preview",
"parameters": {
- "value": "MIIJOwIBAzCCCPcGCSqGSIb3DQEHAaCCCOgEggjkMIII4DCCBgkGCSqGSIb3DQEHAaCCBfoEggX2MIIF8jCCBe4GCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAj15YH9pOE58AICB9AEggTYLrI+SAru2dBZRQRlJY7XQ3LeLkah2FcRR3dATDshZ2h0IA2oBrkQIdsLyAAWZ32qYR1qkWxLHn9AqXgu27AEbOk35+pITZaiy63YYBkkpR+pDdngZt19Z0PWrGwHEq5z6BHS2GLyyN8SSOCbdzCz7blj3+7IZYoMj4WOPgOm/tQ6U44SFWek46QwN2zeA4i97v7ftNNns27ms52jqfhOvTA9c/wyfZKAY4aKJfYYUmycKjnnRl012ldS2lOkASFt+lu4QCa72IY6ePtRudPCvmzRv2pkLYS6z3cI7omT8nHP3DymNOqLbFqr5O2M1ZYaLC63Q3xt3eVvbcPh3N08D1hHkhz/KDTvkRAQpvrW8ISKmgDdmzN55Pe55xHfSWGB7gPw8sZea57IxFzWHTK2yvTslooWoosmGxanYY2IG/no3EbPOWDKjPZ4ilYJe5JJ2immlxPz+2e2EOCKpDI+7fzQcRz3PTd3BK+budZ8aXX8aW/lOgKS8WmxZoKnOJBNWeTNWQFugmktXfdPHAdxMhjUXqeGQd8wTvZ4EzQNNafovwkI7IV/ZYoa++RGofVR3ZbRSiBNF6TDj/qXFt0wN/CQnsGAmQAGNiN+D4mY7i25dtTu/Jc7OxLdhAUFpHyJpyrYWLfvOiS5WYBeEDHkiPUa/8eZSPA3MXWZR1RiuDvuNqMjct1SSwdXADTtF68l/US1ksU657+XSC+6ly1A/upz+X71+C4Ho6W0751j5ZMT6xKjGh5pee7MVuduxIzXjWIy3YSd0fIT3U0A5NLEvJ9rfkx6JiHjRLx6V1tqsrtT6BsGtmCQR1UCJPLqsKVDvAINx3cPA/CGqr5OX2BGZlAihGmN6n7gv8w4O0k0LPTAe5YefgXN3m9pE867N31GtHVZaJ/UVgDNYS2jused4rw76ZWN41akx2QN0JSeMJqHXqVz6AKfz8ICS/dFnEGyBNpXiMRxrY/QPKi/wONwqsbDxRW7vZRVKs78pBkE0ksaShlZk5GkeayDWC/7Hi/NqUFtIloK9XB3paLxo1DGu5qqaF34jZdktzkXp0uZqpp+FfKZaiovMjt8F7yHCPk+LYpRsU2Cyc9DVoDA6rIgf+uEP4jppgehsxyT0lJHax2t869R2jYdsXwYUXjgwHIV0voj7bJYPGFlFjXOp6ZW86scsHM5xfsGQoK2Fp838VT34SHE1ZXU/puM7rviREHYW72pfpgGZUILQMohuTPnd8tFtAkbrmjLDo+k9xx7HUvgoFTiNNWuq/cRjr70FKNguMMTIrid+HwfmbRoaxENWdLcOTNeascER2a+37UQolKD5ksrPJG6RdNA7O2pzp3micDYRs/+s28cCIxO//J/d4nsgHp6RTuCu4+Jm9k0YTw2Xg75b2cWKrxGnDUgyIlvNPaZTB5QbMid4x44/lE0LLi9kcPQhRgrK07OnnrMgZvVGjt1CLGhKUv7KFc3xV1r1rwKkosxnoG99oCoTQtregcX5rIMjHgkc1IdflGJkZzaWMkYVFOJ4Weynz008i4ddkske5vabZs37Lb8iggUYNBYZyGzalruBgnQyK4fz38Fae4nWYjyildVfgyo/fCePR2ovOfphx9OQJi+M9BoFmPrAg+8ARDZ+R+5yzYuEc9ZoVX7nkp7LTGB3DANBgkrBgEEAYI3EQIxADATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGEAOAAwAGQAZgBmADgANgAtAGUAOQA2AGUALQA0ADIAMgA0AC0AYQBhADEAMQAtAGIAZAAxADkANABkADUAYQA2AGIANwA3MF0GCSsGAQQBgjcRATFQHk4ATQBpAGMAcgBvAHMAbwBmAHQAIABTAHQAcgBvAG4AZwAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIwggLPBgkqhkiG9w0BBwagggLAMIICvAIBADCCArUGCSqGSIb3DQEHATAcBgoqhkiG9w0BDAEGMA4ECNX+VL2MxzzWAgIH0ICCAojmRBO+CPfVNUO0s+BVuwhOzikAGNBmQHNChmJ/pyzPbMUbx7tO63eIVSc67iERda2WCEmVwPigaVQkPaumsfp8+L6iV/BMf5RKlyRXcwh0vUdu2Qa7qadD+gFQ2kngf4Dk6vYo2/2HxayuIf6jpwe8vql4ca3ZtWXfuRix2fwgltM0bMz1g59d7x/glTfNqxNlsty0A/rWrPJjNbOPRU2XykLuc3AtlTtYsQ32Zsmu67A7UNBw6tVtkEXlFDqhavEhUEO3dvYqMY+QLxzpZhA0q44ZZ9/ex0X6QAFNK5wuWxCbupHWsgxRwKftrxyszMHsAvNoNcTlqcctee+ecNwTJQa1/MDbnhO6/qHA7cfG1qYDq8Th635vGNMW1w3sVS7l0uEvdayAsBHWTcOC2tlMa5bfHrhY8OEIqj5bN5H9RdFy8G/W239tjDu1OYjBDydiBqzBn8HG1DSj1Pjc0kd/82d4ZU0308KFTC3yGcRad0GnEH0Oi3iEJ9HbriUbfVMbXNHOF+MktWiDVqzndGMKmuJSdfTBKvGFvejAWVO5E4mgLvoaMmbchc3BO7sLeraHnJN5hvMBaLcQI38N86mUfTR8AP6AJ9c2k514KaDLclm4z6J8dMz60nUeo5D3YD09G6BavFHxSvJ8MF0Lu5zOFzEePDRFm9mH8W0N/sFlIaYfD/GWU/w44mQucjaBk95YtqOGRIj58tGDWr8iUdHwaYKGqU24zGeRae9DhFXPzZshV1ZGsBQFRaoYkyLAwdJWIXTi+c37YaC8FRSEnnNmS79Dou1Kc3BvK4EYKAD2KxjtUebrV174gD0Q+9YuJ0GXOTspBvCFd5VT2Rw5zDNrA/J3F5fMCk4wOzAfMAcGBSsOAwIaBBSxgh2xyF+88V4vAffBmZXv8Txt4AQU4O/NX4MjxSodbE7ApNAMIvrtREwCAgfQ",
+ "value": "MIIJ...",
"pwd": "123",
"policy": {
"key_props": {
@@ -26,7 +26,7 @@
"kid": "https://myvault.vault.azure.net/keys/importCert01/f00e72f0ddee4dddadc27c0f605d84d7",
"sid": "https://myvault.vault.azure.net/secrets/importCert01/f00e72f0ddee4dddadc27c0f605d84d7",
"x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo",
- "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=",
+ "cer": "MIIC...",
"attributes": {
"enabled": true,
"nbf": 1430344421,
diff --git a/specification/keyvault/resource-manager/readme.azureresourceschema.md b/specification/keyvault/resource-manager/readme.azureresourceschema.md
index c0807b7e70d0..331b24762f0e 100644
--- a/specification/keyvault/resource-manager/readme.azureresourceschema.md
+++ b/specification/keyvault/resource-manager/readme.azureresourceschema.md
@@ -40,6 +40,8 @@ output-folder: $(azureresourceschema-folder)/schemas
input-file:
- Microsoft.KeyVault/stable/2019-09-01/keyvault.json
- Microsoft.KeyVault/stable/2019-09-01/providers.json
+ - Microsoft.KeyVault/stable/2019-09-01/keys.json
+ - Microsoft.KeyVault/stable/2019-09-01/secrets.json
```
@@ -52,6 +54,7 @@ output-folder: $(azureresourceschema-folder)/schemas
input-file:
- Microsoft.KeyVault/preview/2018-02-14-preview/keyvault.json
- Microsoft.KeyVault/preview/2018-02-14-preview/providers.json
+ - Microsoft.KeyVault/preview/2018-02-14-preview/secrets.json
```
@@ -64,6 +67,7 @@ output-folder: $(azureresourceschema-folder)/schemas
input-file:
- Microsoft.KeyVault/stable/2018-02-14/keyvault.json
- Microsoft.KeyVault/stable/2018-02-14/providers.json
+ - Microsoft.KeyVault/stable/2018-02-14/secrets.json
```
@@ -76,6 +80,7 @@ output-folder: $(azureresourceschema-folder)/schemas
input-file:
- Microsoft.KeyVault/stable/2016-10-01/keyvault.json
- Microsoft.KeyVault/stable/2016-10-01/providers.json
+ - Microsoft.KeyVault/stable/2016-10-01/secrets.json
```
diff --git a/specification/logic/resource-manager/readme.python.md b/specification/logic/resource-manager/readme.python.md
index 211909639ce5..78519d024972 100644
--- a/specification/logic/resource-manager/readme.python.md
+++ b/specification/logic/resource-manager/readme.python.md
@@ -3,7 +3,7 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-```yaml $(python)
+```yaml $(python) && !$(track2)
python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
@@ -12,14 +12,30 @@ python:
package-version: 2019-05-01
clear-output-folder: true
```
+```yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.logic
+package-name: azure-mgmt-logic
+package-version: 2019-05-01
+clear-output-folder: true
+```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/logic/azure-mgmt-logic/azure/mgmt/logic
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/logic/azure-mgmt-logic
+```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/logic/azure-mgmt-logic/azure/mgmt/logic
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/logic/azure-mgmt-logic
```
\ No newline at end of file
diff --git a/specification/machinelearningservices/resource-manager/readme.python.md b/specification/machinelearningservices/resource-manager/readme.python.md
index 1adbed6eb50e..1af80c915fe6 100644
--- a/specification/machinelearningservices/resource-manager/readme.python.md
+++ b/specification/machinelearningservices/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -15,13 +15,30 @@ python:
package-version: 0.1.0
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.machinelearningservices
+package-name: azure-mgmt-machinelearningservices
+package-version: 0.1.0
+clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/machinelearning/azure-mgmt-machinelearningservices
```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/machinelearning/azure-mgmt-machinelearningservices
+```
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/readme.python.md b/specification/managementgroups/resource-manager/readme.python.md
index e7723a3f525c..e4c72147fa71 100644
--- a/specification/managementgroups/resource-manager/readme.python.md
+++ b/specification/managementgroups/resource-manager/readme.python.md
@@ -3,23 +3,39 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-```yaml $(python)
+```yaml $(python) && !$(track2)
python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
- namespace: azure.mgmt.managementgroup
- package-name: azure-mgmt-managementgroup
+ namespace: azure.mgmt.managementgroups
+ package-name: azure-mgmt-managementgroups
package-version: 2019-05-01
clear-output-folder: true
```
+```yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.managementgroups
+package-name: azure-mgmt-managementgroups
+package-version: 2019-05-01
+clear-output-folder: true
+```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
- output-folder: $(python-sdks-folder)/managementgroup/azure-mgmt-managementgroup/azure/mgmt/managementgroup
+ output-folder: $(python-sdks-folder)/managementgroups/azure-mgmt-managementgroups/azure/mgmt/managementgroups
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
- output-folder: $(python-sdks-folder)/managementgroup/azure-mgmt-managementgroup
-```
\ No newline at end of file
+ output-folder: $(python-sdks-folder)/managementgroups/azure-mgmt-managementgroups
+```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/managementgroups/azure-mgmt-managementgroups/azure/mgmt/managementgroups
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/managementgroups/azure-mgmt-managementgroups
+```
diff --git a/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json
index ad56b8206ba0..1f90ca86e530 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json
@@ -272,7 +272,7 @@
{
"name": "style",
"in": "query",
- "description": "
The style to be used to render the tile.
Absolute which returns colors reflecting the absolute speed measured.
Relative to which returns the speed relative to free-flow.
Relative-delay displays when relative speeds are different from the free-flow speeds.
",
+ "description": "
The style to be used to render the tile.
",
"required": true,
"type": "string",
"enum": [
@@ -287,15 +287,15 @@
"values": [
{
"value": "absolute",
- "description": "Colors will reflect the absolute speed measured."
+ "description": "Colors will reflect the absolute speed measured. Absolute speed is the capability to access the full speed."
},
{
"value": "relative",
- "description": "Colors will reflect the speed relative to free-flow."
+ "description": "This is the speed relative to free-flow, highlighting areas of congestion visualizing the traffic flow. Free-flow refers to conditions where there is no congestion and traffic can follow the speed limits. The most used option to visualize traffic flow on a map."
},
{
"value": "relative-delay",
- "description": "Displays relative colors only where they are different from the freeflow speeds."
+ "description": "Displays relative colors only where they are different from the free-flow speeds. This option will only highlights areas of congestion."
},
{
"value": "reduced-sensitivity",
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/maps-management.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/maps-management.json
index 40e936ec0923..987e4766168c 100644
--- a/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/maps-management.json
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/maps-management.json
@@ -439,9 +439,9 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/privateAtlases/{privateAtlasName}": {
"put": {
"tags": [
- "Private Atlases"
+ "Private Atlases (deprecated)"
],
- "description": "Create or update a Private Atlas resource. Private Atlas resource will enable the usage of Azure resources to build a custom set of mapping data. It requires an account to exist before it can be created.",
+ "description": "[Deprecated] Create or update a Private Atlas resource. Private Atlas resource will enable the usage of Azure resources to build a custom set of mapping data. It requires an account to exist before it can be created.",
"operationId": "PrivateAtlases_CreateOrUpdate",
"x-ms-examples": {
"CreatePrivateAtlas": {
@@ -497,9 +497,9 @@
},
"patch": {
"tags": [
- "Private Atlases"
+ "Private Atlases (deprecated)"
],
- "description": "Updates the Private Atlas resource. Only a subset of the parameters may be updated after creation, such as Tags.",
+ "description": "[Deprecated] Updates the Private Atlas resource. Only a subset of the parameters may be updated after creation, such as Tags.",
"operationId": "PrivateAtlases_Update",
"x-ms-examples": {
"UpdateAccount": {
@@ -549,9 +549,9 @@
},
"delete": {
"tags": [
- "Private Atlases"
+ "Private Atlases (deprecated)"
],
- "description": "Delete a Private Atlas resource.",
+ "description": "[Deprecated] Delete a Private Atlas resource.",
"operationId": "PrivateAtlases_Delete",
"x-ms-examples": {
"DeletePrivateAtlas": {
@@ -592,9 +592,9 @@
},
"get": {
"tags": [
- "Private Atlases"
+ "Private Atlases (deprecated)"
],
- "description": "Get a Private Atlas resource.",
+ "description": "[Deprecated] Get a Private Atlas resource.",
"operationId": "PrivateAtlases_Get",
"x-ms-examples": {
"GetPrivateAtlas": {
@@ -637,9 +637,9 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/privateAtlases": {
"get": {
"tags": [
- "Private Atlases"
+ "Private Atlases (deprecated)"
],
- "description": "Get all Private Atlas instances for an Azure Map Account",
+ "description": "[Deprecated] Get all Private Atlas instances for an Azure Map Account",
"operationId": "PrivateAtlases_ListByAccount",
"x-ms-examples": {
"ListPrivateAtlasByAccount": {
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/QueryPerformanceInsights.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/QueryPerformanceInsights.json
index eff98a2d7447..03cea2952824 100644
--- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/QueryPerformanceInsights.json
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/QueryPerformanceInsights.json
@@ -69,6 +69,12 @@
"schema": {
"$ref": "#/definitions/QueryText"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -116,6 +122,12 @@
"schema": {
"$ref": "#/definitions/QueryTextsResultList"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
},
"x-ms-pageable": {
@@ -158,6 +170,12 @@
"schema": {
"$ref": "#/definitions/QueryStatistic"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -203,6 +221,12 @@
"schema": {
"$ref": "#/definitions/TopQueryStatisticsResultList"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
},
"x-ms-pageable": {
@@ -245,6 +269,12 @@
"schema": {
"$ref": "#/definitions/WaitStatistic"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -290,12 +320,60 @@
"schema": {
"$ref": "#/definitions/WaitStatisticsResultList"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/resetQueryPerformanceInsightData": {
+ "post": {
+ "tags": [
+ "ResetQueryPerformanceInsightData"
+ ],
+ "operationId": "ResetQueryPerformanceInsightData",
+ "x-ms-examples": {
+ "QueryPerformanceInsightResetData": {
+ "$ref": "./examples/QueryPerformanceInsightResetData.json"
+ }
+ },
+ "description": "Reset data for Query Performance Insight.",
+ "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/QueryPerformanceInsightResetDataResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -602,6 +680,37 @@
"readOnly": true
}
}
+ },
+ "QueryPerformanceInsightResetDataResult": {
+ "description": "Result of Query Performance Insight data reset.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "QueryPerformanceInsightResetDataResultState",
+ "modelAsString": true
+ },
+ "description": "Indicates result of the operation."
+ },
+ "message": {
+ "type": "string",
+ "description": "operation message."
+ }
+ }
+ },
+ "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": {
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/QueryPerformanceInsightResetData.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/QueryPerformanceInsightResetData.json
new file mode 100644
index 000000000000..20ccc408ed12
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/QueryPerformanceInsightResetData.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testResourceGroupName",
+ "serverName": "testServerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Succeeded",
+ "message": "QPI reset data successful"
+ }
+ }
+ }
+}
diff --git a/specification/marketplaceordering/resource-manager/readme.md b/specification/marketplaceordering/resource-manager/readme.md
index 8b9d60577378..5f1b6f669eb5 100644
--- a/specification/marketplaceordering/resource-manager/readme.md
+++ b/specification/marketplaceordering/resource-manager/readme.md
@@ -108,7 +108,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -119,17 +119,39 @@ python:
clear-output-folder: true
package-version: 0.1.0
```
-``` yaml $(python) && $(python-mode) == 'update'
+
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.marketplaceordering
+package-name: azure-mgmt-marketplaceordering
+clear-output-folder: true
+package-version: 1.0.0b1
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/marketplaceordering/azure-mgmt-marketplaceordering/azure/mgmt/marketplaceordering
```
-``` yaml $(python) && $(python-mode) == 'create'
+
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/marketplaceordering/azure-mgmt-marketplaceordering/azure/mgmt/marketplaceordering
+```
+
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/marketplaceordering/azure-mgmt-marketplaceordering
```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/marketplaceordering/azure-mgmt-marketplaceordering
+```
+
Workaround invalid date-time returned by the server.
``` yaml $(python)
diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalytics.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalytics.json
new file mode 100644
index 000000000000..1ab16cb7b6a4
--- /dev/null
+++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalytics.json
@@ -0,0 +1,1128 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "description": "Direct Methods for Live Video Analytics on IoT Edge.",
+ "version": "2.0.0",
+ "title": "Direct Methods for Live Video Analytics on IoT Edge",
+ "contact": {
+ "email": "amshelp@microsoft.com"
+ }
+ },
+ "security": [
+ {
+ "sharedAccessSignature": []
+ }
+ ],
+ "paths": {},
+ "securityDefinitions": {
+ "sharedAccessSignature": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "definitions": {
+ "MediaGraphInstance": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The identifier for the media graph instance."
+ },
+ "systemData": {
+ "$ref": "#/definitions/MediaGraphSystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/MediaGraphInstanceProperties"
+ }
+ },
+ "description": "Represents an instance of a media graph."
+ },
+ "MediaGraphInstanceProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "An optional description for the instance."
+ },
+ "topologyName": {
+ "type": "string",
+ "description": "The name of the media graph topology that this instance will run. A topology with this name should already have been set in the Edge module."
+ },
+ "parameters": {
+ "type": "array",
+ "description": "List of one or more graph instance parameters.",
+ "items": {
+ "$ref": "#/definitions/MediaGraphParameterDefinition"
+ }
+ },
+ "state": {
+ "type": "string",
+ "description": "Allowed states for a graph instance.",
+ "enum": [
+ "Inactive",
+ "Activating",
+ "Active",
+ "Deactivating"
+ ],
+ "x-ms-enum": {
+ "name": "MediaGraphInstanceState",
+ "values": [
+ {
+ "value": "Inactive",
+ "description": "The media graph instance is idle and not processing media."
+ },
+ {
+ "value": "Activating",
+ "description": "The media graph instance is transitioning into the active state."
+ },
+ {
+ "value": "Active",
+ "description": "The media graph instance is active and processing media."
+ },
+ {
+ "value": "Deactivating",
+ "description": "The media graph instance is transitioning into the inactive state."
+ }
+ ],
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Properties of a media graph instance."
+ },
+ "MediaGraphParameterDefinition": {
+ "type": "object",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the parameter defined in the media graph topology."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value to supply for the named parameter defined in the media graph topology."
+ }
+ },
+ "description": "A key-value pair. A media graph topology allows certain values to be parameterized. When an instance is created, the parameters are supplied with arguments specific to that instance. This allows the same graph topology to be used as a blueprint for multiple graph instances with different values for the parameters."
+ },
+ "MediaGraphInstanceCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "A collection of media graph instances.",
+ "items": {
+ "$ref": "#/definitions/MediaGraphInstance"
+ }
+ },
+ "@continuationToken": {
+ "type": "string",
+ "description": "A continuation token to use in subsequent calls to enumerate through the graph instance collection. This is used when the collection contains too many results to return in one response."
+ }
+ },
+ "description": "A collection of media graph instances."
+ },
+ "MediaGraphTopologyCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "A collection of media graph topologies.",
+ "items": {
+ "$ref": "#/definitions/MediaGraphTopology"
+ }
+ },
+ "@continuationToken": {
+ "type": "string",
+ "description": "A continuation token to use in subsequent calls to enumerate through the graph topologies collection. This is used when the collection contains too many results to return in one response."
+ }
+ },
+ "description": "A collection of media graph topologies."
+ },
+ "MediaGraphTopology": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The identifier for the media graph topology."
+ },
+ "systemData": {
+ "$ref": "#/definitions/MediaGraphSystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/MediaGraphTopologyProperties"
+ }
+ },
+ "description": "The definition of a media graph topology."
+ },
+ "MediaGraphTopologyProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description of a media graph topology. It is recommended to use this to describe the expected use of the topology."
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MediaGraphParameterDeclaration"
+ },
+ "description": "The list of parameters defined in the topology. The value for these parameters are supplied by instances of this topology."
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MediaGraphSource"
+ },
+ "description": "The list of source nodes in this topology."
+ },
+ "processors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MediaGraphProcessor"
+ },
+ "description": "The list of processor nodes in this topology."
+ },
+ "sinks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MediaGraphSink"
+ },
+ "description": "The list of sink nodes in this topology."
+ }
+ },
+ "description": "A description of the properties of a media graph topology."
+ },
+ "MediaGraphSystemData": {
+ "type": "object",
+ "properties": {
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)."
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource last modification (UTC)."
+ }
+ },
+ "description": "The system data for a resource. This is used by both topologies and instances."
+ },
+ "MediaGraphParameterDeclaration": {
+ "type": "object",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the parameter.",
+ "maxLength": 64
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the parameter.",
+ "enum": [
+ "String",
+ "SecretString",
+ "Int",
+ "Double",
+ "Bool"
+ ],
+ "x-ms-enum": {
+ "name": "MediaGraphParameterType",
+ "values": [
+ {
+ "value": "String",
+ "description": "A string parameter value."
+ },
+ {
+ "value": "SecretString",
+ "description": "A string to hold sensitive information as parameter value."
+ },
+ {
+ "value": "Int",
+ "description": "A 32-bit signed integer as parameter value."
+ },
+ {
+ "value": "Double",
+ "description": "A 64-bit double-precision floating point type as parameter value."
+ },
+ {
+ "value": "Bool",
+ "description": "A boolean value that is either true or false."
+ }
+ ],
+ "modelAsString": false
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the parameter."
+ },
+ "default": {
+ "type": "string",
+ "description": "The default value for the parameter to be used if the media graph instance does not specify a value."
+ }
+ },
+ "description": "The declaration of a parameter in the media graph topology. A media graph topology can be authored with parameters. Then, during graph instance creation, the value for those parameters can be specified. This allows the same graph topology to be used as a blueprint for multiple graph instances with different values for the parameters."
+ },
+ "MediaGraphSource": {
+ "type": "object",
+ "required": [
+ "@type",
+ "name"
+ ],
+ "discriminator": "@type",
+ "properties": {
+ "@type": {
+ "type": "string",
+ "description": "The type of the source node. The discriminator for derived types."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name to be used for this source node."
+ }
+ },
+ "description": "A source node in a media graph."
+ },
+ "MediaGraphRtspSource": {
+ "type": "object",
+ "properties": {
+ "transport": {
+ "type": "string",
+ "description": "Underlying RTSP transport. This is used to enable or disable HTTP tunneling.",
+ "enum": [
+ "Http",
+ "Tcp"
+ ],
+ "x-ms-enum": {
+ "name": "MediaGraphRtspTransport",
+ "values": [
+ {
+ "value": "Http",
+ "description": "HTTP/HTTPS transport. This should be used when HTTP tunneling is desired."
+ },
+ {
+ "value": "Tcp",
+ "description": "TCP transport. This should be used when HTTP tunneling is NOT desired."
+ }
+ ],
+ "modelAsString": true
+ }
+ },
+ "endpoint": {
+ "description": "RTSP endpoint of the stream that is being connected to.",
+ "$ref": "#/definitions/MediaGraphEndpoint"
+ }
+ },
+ "required": [
+ "endpoint"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphSource"
+ }
+ ],
+ "description": "Enables a media graph to capture media from a RTSP server.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphRtspSource"
+ },
+ "MediaGraphIoTHubMessageSource": {
+ "type": "object",
+ "properties": {
+ "hubInputName": {
+ "type": "string",
+ "description": "Name of the input path where messages can be routed to (via routes declared in the IoT Edge deployment manifest)."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphSource"
+ }
+ ],
+ "description": "Enables a media graph to receive messages via routes declared in the IoT Edge deployment manifest.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphIoTHubMessageSource"
+ },
+ "MediaGraphIoTHubMessageSink": {
+ "type": "object",
+ "properties": {
+ "hubOutputName": {
+ "type": "string",
+ "description": "Name of the output path to which the media graph will publish message. These messages can then be delivered to desired destinations by declaring routes referencing the output path in the IoT Edge deployment manifest."
+ }
+ },
+ "required": [
+ "@type",
+ "hubOutputName"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphSink"
+ }
+ ],
+ "description": "Enables a media graph to publish messages that can be delivered via routes declared in the IoT Edge deployment manifest.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphIoTHubMessageSink"
+ },
+ "MediaGraphEndpoint": {
+ "type": "object",
+ "required": [
+ "@type",
+ "url"
+ ],
+ "discriminator": "@type",
+ "properties": {
+ "@type": {
+ "type": "string",
+ "description": "The discriminator for derived types."
+ },
+ "credentials": {
+ "description": "Polymorphic credentials to be presented to the endpoint.",
+ "$ref": "#/definitions/MediaGraphCredentials"
+ },
+ "url": {
+ "type": "string",
+ "description": "Url for the endpoint."
+ }
+ },
+ "description": "Base class for endpoints."
+ },
+ "MediaGraphCredentials": {
+ "type": "object",
+ "required": [
+ "@type"
+ ],
+ "discriminator": "@type",
+ "properties": {
+ "@type": {
+ "type": "string",
+ "description": "The discriminator for derived types."
+ }
+ },
+ "description": "Credentials to present during authentication."
+ },
+ "MediaGraphUsernamePasswordCredentials": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string",
+ "description": "Username for a username/password pair."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password for a username/password pair. Please use a parameter so that the actual value is not returned on PUT or GET requests."
+ }
+ },
+ "required": [
+ "username"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphCredentials"
+ }
+ ],
+ "description": "Username/password credential pair.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials"
+ },
+ "MediaGraphHttpHeaderCredentials": {
+ "type": "object",
+ "properties": {
+ "headerName": {
+ "type": "string",
+ "description": "HTTP header name."
+ },
+ "headerValue": {
+ "type": "string",
+ "description": "HTTP header value. Please use a parameter so that the actual value is not returned on PUT or GET requests."
+ }
+ },
+ "required": [
+ "headerName",
+ "headerValue"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphCredentials"
+ }
+ ],
+ "description": "Http header service credentials.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphHttpHeaderCredentials"
+ },
+ "MediaGraphUnsecuredEndpoint": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphEndpoint"
+ }
+ ],
+ "description": "An endpoint that the media graph can connect to, with no encryption in transit.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphUnsecuredEndpoint"
+ },
+ "MediaGraphTlsEndpoint": {
+ "type": "object",
+ "properties": {
+ "trustedCertificates": {
+ "description": "Trusted certificates when authenticating a TLS connection. Null designates that Azure Media Service's source of trust should be used.",
+ "$ref": "#/definitions/MediaGraphCertificateSource"
+ },
+ "validationOptions": {
+ "description": "Validation options to use when authenticating a TLS connection. By default, strict validation is used.",
+ "$ref": "#/definitions/MediaGraphTlsValidationOptions"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphEndpoint"
+ }
+ ],
+ "description": "A TLS endpoint for media graph external connections.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphTlsEndpoint"
+ },
+ "MediaGraphCertificateSource": {
+ "type": "object",
+ "required": [
+ "@type"
+ ],
+ "discriminator": "@type",
+ "properties": {
+ "@type": {
+ "type": "string",
+ "description": "The discriminator for derived types."
+ }
+ },
+ "description": "Base class for certificate sources."
+ },
+ "MediaGraphTlsValidationOptions": {
+ "type": "object",
+ "properties": {
+ "ignoreHostname": {
+ "type": "string",
+ "description": "Boolean value ignoring the host name (common name) during validation."
+ },
+ "ignoreSignature": {
+ "type": "string",
+ "description": "Boolean value ignoring the integrity of the certificate chain at the current time."
+ }
+ },
+ "description": "Options for controlling the authentication of TLS endpoints."
+ },
+ "MediaGraphPemCertificateList": {
+ "type": "object",
+ "properties": {
+ "certificates": {
+ "type": "array",
+ "description": "PEM formatted public certificates one per entry.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "certificates"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphCertificateSource"
+ }
+ ],
+ "description": "A list of PEM formatted certificates.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphPemCertificateList"
+ },
+ "MediaGraphSink": {
+ "type": "object",
+ "required": [
+ "@type",
+ "inputs",
+ "name"
+ ],
+ "discriminator": "@type",
+ "properties": {
+ "@type": {
+ "type": "string",
+ "description": "The discriminator for derived types."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name to be used for the media graph sink."
+ },
+ "inputs": {
+ "type": "array",
+ "description": "An array of the names of the other nodes in the media graph, the outputs of which are used as input for this sink node.",
+ "items": {
+ "$ref": "#/definitions/MediaGraphNodeInput"
+ }
+ }
+ },
+ "description": "Enables a media graph to write media data to a destination outside of the Live Video Analytics IoT Edge module."
+ },
+ "MediaGraphNodeInput": {
+ "type": "object",
+ "properties": {
+ "nodeName": {
+ "type": "string",
+ "description": "The name of another node in the media graph, the output of which is used as input to this node."
+ },
+ "outputSelectors": {
+ "type": "array",
+ "description": "Allows for the selection of particular streams from another node.",
+ "items": {
+ "$ref": "#/definitions/MediaGraphOutputSelector"
+ }
+ }
+ },
+ "description": "Represents the input to any node in a media graph."
+ },
+ "MediaGraphOutputSelector": {
+ "type": "object",
+ "properties": {
+ "property": {
+ "type": "string",
+ "description": "The stream property to compare with.",
+ "enum": [
+ "mediaType"
+ ],
+ "x-ms-enum": {
+ "name": "MediaGraphOutputSelectorProperty",
+ "values": [
+ {
+ "value": "mediaType",
+ "description": "The stream's MIME type or subtype."
+ }
+ ],
+ "modelAsString": false
+ }
+ },
+ "operator": {
+ "type": "string",
+ "description": "The operator to compare streams by.",
+ "enum": [
+ "is",
+ "isNot"
+ ],
+ "x-ms-enum": {
+ "name": "MediaGraphOutputSelectorOperator",
+ "values": [
+ {
+ "value": "is",
+ "description": "A media type is the same type or a subtype."
+ },
+ {
+ "value": "isNot",
+ "description": "A media type is not the same type or a subtype."
+ }
+ ],
+ "modelAsString": false
+ }
+ },
+ "value": {
+ "type": "string",
+ "description": "Value to compare against."
+ }
+ },
+ "description": "Allows for the selection of particular streams from another node."
+ },
+ "MediaGraphFileSink": {
+ "type": "object",
+ "properties": {
+ "baseDirectoryPath": {
+ "type": "string",
+ "description": "Absolute directory for all outputs to the Edge device from this sink.",
+ "example": "/var/media/output/"
+ },
+ "fileNamePattern": {
+ "type": "string",
+ "description": "File name pattern for creating new files on the Edge device. The pattern must include at least one system variable. See the documentation for available variables and additional examples.",
+ "example": "mySampleFile-${System.GraphTopologyName}-${System.GraphInstanceName}-${System.DateTime}"
+ },
+ "maximumSizeMiB": {
+ "type": "string",
+ "description": "Maximum amount of disk space that can be used for storing files from this sink."
+ }
+ },
+ "required": [
+ "fileNamePattern",
+ "baseDirectoryPath",
+ "maximumSizeMiB"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphSink"
+ }
+ ],
+ "description": "Enables a media graph to write/store media (video and audio) to a file on the Edge device.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphFileSink"
+ },
+ "MediaGraphAssetSink": {
+ "type": "object",
+ "properties": {
+ "assetNamePattern": {
+ "type": "string",
+ "description": "A name pattern when creating new assets. The pattern must include at least one system variable. See the documentation for available variables and additional examples.",
+ "example": "MySampleAsset-${System.GraphTopologyName}-${System.GraphInstanceName}-${System.DateTime}"
+ },
+ "segmentLength": {
+ "type": "string",
+ "example": "PT30S",
+ "description": "When writing media to an asset, wait until at least this duration of media has been accumulated on the Edge. Expressed in increments of 30 seconds, with a minimum of 30 seconds and a recommended maximum of 5 minutes."
+ },
+ "localMediaCachePath": {
+ "type": "string",
+ "description": "Path to a local file system directory for temporary caching of media before writing to an Asset. Used when the Edge device is temporarily disconnected from Azure.",
+ "example": "/var/lib/lva/tmp/"
+ },
+ "localMediaCacheMaximumSizeMiB": {
+ "type": "string",
+ "description": "Maximum amount of disk space that can be used for temporary caching of media."
+ }
+ },
+ "required": [
+ "@type",
+ "assetNamePattern",
+ "localMediaCachePath",
+ "localMediaCacheMaximumSizeMiB"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphSink"
+ }
+ ],
+ "description": "Enables a media graph to record media to an Azure Media Services asset for subsequent playback.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphAssetSink"
+ },
+ "MediaGraphProcessor": {
+ "type": "object",
+ "required": [
+ "@type",
+ "inputs",
+ "name"
+ ],
+ "discriminator": "@type",
+ "properties": {
+ "@type": {
+ "type": "string",
+ "description": "The discriminator for derived types."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name for this processor node."
+ },
+ "inputs": {
+ "type": "array",
+ "description": "An array of the names of the other nodes in the media graph, the outputs of which are used as input for this processor node.",
+ "items": {
+ "$ref": "#/definitions/MediaGraphNodeInput"
+ }
+ }
+ },
+ "description": "A node that represents the desired processing of media in a graph. Takes media and/or events as inputs, and emits media and/or event as output."
+ },
+ "MediaGraphMotionDetectionProcessor": {
+ "type": "object",
+ "properties": {
+ "sensitivity": {
+ "type": "string",
+ "description": "Enumeration that specifies the sensitivity of the motion detection processor.",
+ "enum": [
+ "Low",
+ "Medium",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "MediaGraphMotionDetectionSensitivity",
+ "values": [
+ {
+ "value": "Low",
+ "description": "Low Sensitivity."
+ },
+ {
+ "value": "Medium",
+ "description": "Medium Sensitivity."
+ },
+ {
+ "value": "High",
+ "description": "High Sensitivity."
+ }
+ ],
+ "modelAsString": true
+ }
+ },
+ "outputMotionRegion": {
+ "type": "boolean",
+ "description": "Indicates whether the processor should detect and output the regions, within the video frame, where motion was detected. Default is true."
+ },
+ "eventAggregationWindow": {
+ "type": "string",
+ "description": "Event aggregation window duration, or 0 for no aggregation."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphProcessor"
+ }
+ ],
+ "description": "A node that accepts raw video as input, and detects if there are moving objects present. If so, then it emits an event, and allows frames where motion was detected to pass through. Other frames are blocked/dropped.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphMotionDetectionProcessor"
+ },
+ "MediaGraphExtensionProcessorBase": {
+ "type": "object",
+ "required": [
+ "endpoint",
+ "image"
+ ],
+ "properties": {
+ "endpoint": {
+ "description": "Endpoint to which this processor should connect.",
+ "$ref": "#/definitions/MediaGraphEndpoint"
+ },
+ "image": {
+ "description": "Describes the parameters of the image that is sent as input to the endpoint.",
+ "$ref": "#/definitions/MediaGraphImage"
+ },
+ "samplingOptions": {
+ "description": "Describes the sampling options to be applied when forwarding samples to the extension.",
+ "$ref": "#/definitions/MediaGraphSamplingOptions"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphProcessor"
+ }
+ ],
+ "description": "Processor that allows for extensions outside of the Live Video Analytics Edge module to be integrated into the graph. It is the base class for various different kinds of extension processor types.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphExtensionProcessorBase"
+ },
+ "MediaGraphCognitiveServicesVisionExtension": {
+ "type": "object",
+ "properties": {},
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphExtensionProcessorBase"
+ }
+ ],
+ "description": "A processor that allows the media graph to send video frames to a Cognitive Services Vision extension. Inference results are relayed to downstream nodes.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphCognitiveServicesVisionExtension"
+ },
+ "MediaGraphGrpcExtension": {
+ "type": "object",
+ "required": [
+ "dataTransfer"
+ ],
+ "properties": {
+ "dataTransfer": {
+ "description": "How media should be transferred to the inference engine.",
+ "$ref": "#/definitions/MediaGraphGrpcExtensionDataTransfer"
+ },
+ "extensionConfiguration": {
+ "type": "string",
+ "description": "Optional configuration to pass to the gRPC extension."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphExtensionProcessorBase"
+ }
+ ],
+ "description": "A processor that allows the media graph to send video frames to an external inference container over a gRPC connection. This can be done using shared memory (for high frame rates), or over the network. Inference results are relayed to downstream nodes.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphGrpcExtension"
+ },
+ "MediaGraphGrpcExtensionDataTransfer": {
+ "type": "object",
+ "required": [
+ "mode"
+ ],
+ "properties": {
+ "sharedMemorySizeMiB": {
+ "type": "string",
+ "description": "The size of the buffer for all in-flight frames in mebibytes if mode is SharedMemory. Should not be specified otherwise."
+ },
+ "mode": {
+ "type": "string",
+ "description": "How frame data should be transmitted to the inference engine.",
+ "enum": [
+ "Embedded",
+ "SharedMemory"
+ ],
+ "x-ms-enum": {
+ "name": "MediaGraphGrpcExtensionDataTransferMode",
+ "values": [
+ {
+ "value": "Embedded",
+ "description": "Frames are transferred embedded into the gRPC messages."
+ },
+ {
+ "value": "SharedMemory",
+ "description": "Frames are transferred through shared memory."
+ }
+ ],
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes how media should be transferred to the inference engine.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphGrpcExtensionDataTransfer"
+ },
+ "MediaGraphHttpExtension": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphExtensionProcessorBase"
+ }
+ ],
+ "description": "A processor that allows the media graph to send video frames (mostly at low frame rates e.g. <5 fps) to an external inference container over an HTTP-based RESTful API. Inference results are relayed to downstream nodes.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphHttpExtension"
+ },
+ "MediaGraphImage": {
+ "type": "object",
+ "properties": {
+ "scale": {
+ "$ref": "#/definitions/MediaGraphImageScale"
+ },
+ "format": {
+ "$ref": "#/definitions/MediaGraphImageFormat"
+ }
+ },
+ "description": "Describes the properties of an image frame."
+ },
+ "MediaGraphSamplingOptions": {
+ "type": "object",
+ "properties": {
+ "skipSamplesWithoutAnnotation": {
+ "type": "string",
+ "description": "If true, limits the samples submitted to the extension to only samples which have associated inference(s)"
+ },
+ "maximumSamplesPerSecond": {
+ "type": "string",
+ "description": "Maximum rate of samples submitted to the extension"
+ }
+ },
+ "description": "Describes the properties of a sample."
+ },
+ "MediaGraphImageScale": {
+ "type": "object",
+ "required": [
+ "mode"
+ ],
+ "properties": {
+ "mode": {
+ "type": "string",
+ "description": "Describes the modes for scaling an input video frame into an image, before it is sent to an inference engine.",
+ "enum": [
+ "PreserveAspectRatio",
+ "Pad",
+ "Stretch"
+ ],
+ "x-ms-enum": {
+ "name": "MediaGraphImageScaleMode",
+ "values": [
+ {
+ "value": "PreserveAspectRatio",
+ "description": "Use the same aspect ratio as the input frame."
+ },
+ {
+ "value": "Pad",
+ "description": "Center pad the input frame to match the given dimensions."
+ },
+ {
+ "value": "Stretch",
+ "description": "Stretch input frame to match given dimensions."
+ }
+ ],
+ "modelAsString": true
+ }
+ },
+ "width": {
+ "type": "string",
+ "description": "The desired output width of the image."
+ },
+ "height": {
+ "type": "string",
+ "description": "The desired output height of the image."
+ }
+ },
+ "description": "The scaling mode for the image."
+ },
+ "MediaGraphImageFormat": {
+ "type": "object",
+ "required": [
+ "@type"
+ ],
+ "discriminator": "@type",
+ "properties": {
+ "@type": {
+ "type": "string",
+ "description": "The discriminator for derived types."
+ }
+ },
+ "description": "Encoding settings for an image.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormat"
+ },
+ "MediaGraphImageFormatRaw": {
+ "type": "object",
+ "required": [
+ "pixelFormat"
+ ],
+ "properties": {
+ "pixelFormat": {
+ "type": "string",
+ "description": "The pixel format that will be used to encode images.",
+ "enum": [
+ "Yuv420p",
+ "Rgb565be",
+ "Rgb565le",
+ "Rgb555be",
+ "Rgb555le",
+ "Rgb24",
+ "Bgr24",
+ "Argb",
+ "Rgba",
+ "Abgr",
+ "Bgra"
+ ],
+ "x-ms-enum": {
+ "name": "MediaGraphImageFormatRawPixelFormat",
+ "values": [
+ {
+ "value": "Yuv420p",
+ "description": "Planar YUV 4:2:0, 12bpp, (1 Cr and Cb sample per 2x2 Y samples)."
+ },
+ {
+ "value": "Rgb565be",
+ "description": "Packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian."
+ },
+ {
+ "value": "Rgb565le",
+ "description": "Packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian."
+ },
+ {
+ "value": "Rgb555be",
+ "description": "Packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian , X=unused/undefined."
+ },
+ {
+ "value": "Rgb555le",
+ "description": "Packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), little-endian, X=unused/undefined."
+ },
+ {
+ "value": "Rgb24",
+ "description": "Packed RGB 8:8:8, 24bpp, RGBRGB."
+ },
+ {
+ "value": "Bgr24",
+ "description": "Packed RGB 8:8:8, 24bpp, BGRBGR."
+ },
+ {
+ "value": "Argb",
+ "description": "Packed ARGB 8:8:8:8, 32bpp, ARGBARGB."
+ },
+ {
+ "value": "Rgba",
+ "description": "Packed RGBA 8:8:8:8, 32bpp, RGBARGBA."
+ },
+ {
+ "value": "Abgr",
+ "description": "Packed ABGR 8:8:8:8, 32bpp, ABGRABGR."
+ },
+ {
+ "value": "Bgra",
+ "description": "Packed BGRA 8:8:8:8, 32bpp, BGRABGRA."
+ }
+ ],
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphImageFormat"
+ }
+ ],
+ "description": "Encoding settings for raw images.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormatRaw"
+ },
+ "MediaGraphImageFormatJpeg": {
+ "type": "object",
+ "properties": {
+ "quality": {
+ "type": "string",
+ "description": "The image quality. Value must be between 0 to 100 (best quality)."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphImageFormat"
+ }
+ ],
+ "description": "Encoding settings for Jpeg images.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormatJpeg"
+ },
+ "MediaGraphImageFormatBmp": {
+ "type": "object",
+ "properties": {},
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphImageFormat"
+ }
+ ],
+ "description": "Encoding settings for Bmp images.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormatBmp"
+ },
+ "MediaGraphImageFormatPng": {
+ "type": "object",
+ "properties": {},
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphImageFormat"
+ }
+ ],
+ "description": "Encoding settings for Png images.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormatPng"
+ },
+ "MediaGraphSignalGateProcessor": {
+ "type": "object",
+ "required": [
+ "activationSignalOffset",
+ "minimumActivationTime",
+ "maximumActivationTime"
+ ],
+ "properties": {
+ "activationEvaluationWindow": {
+ "type": "string",
+ "example": "PT1.0S",
+ "description": "The period of time over which the gate gathers input events before evaluating them."
+ },
+ "activationSignalOffset": {
+ "type": "string",
+ "example": "-PT1.0S",
+ "description": "Signal offset once the gate is activated (can be negative). It is an offset between the time the event is received, and the timestamp of the first media sample (eg. video frame) that is allowed through by the gate."
+ },
+ "minimumActivationTime": {
+ "type": "string",
+ "example": "PT1S",
+ "description": "The minimum period for which the gate remains open in the absence of subsequent triggers (events)."
+ },
+ "maximumActivationTime": {
+ "type": "string",
+ "example": "PT2S",
+ "description": "The maximum period for which the gate remains open in the presence of subsequent events."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphProcessor"
+ }
+ ],
+ "description": "A signal gate determines when to block (gate) incoming media, and when to allow it through. It gathers input events over the activationEvaluationWindow, and determines whether to open or close the gate.",
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphSignalGateProcessor"
+ }
+ }
+}
diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalyticsSdkDefinitions.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalyticsSdkDefinitions.json
new file mode 100644
index 000000000000..1c4e79356c1f
--- /dev/null
+++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalyticsSdkDefinitions.json
@@ -0,0 +1,196 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "description": "Direct Methods for Live Video Analytics on IoT Edge.",
+ "version": "2.0.0",
+ "title": "Direct Methods for Live Video Analytics on IoT Edge",
+ "contact": {
+ "email": "amshelp@microsoft.com"
+ }
+ },
+ "security": [
+ {
+ "sharedAccessSignature": []
+ }
+ ],
+ "paths": {},
+ "securityDefinitions": {
+ "sharedAccessSignature": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "definitions": {
+ "MethodRequest": {
+ "type": "object",
+ "required": [
+ "methodName"
+ ],
+ "properties": {
+ "methodName": {
+ "type": "string",
+ "description": "method name",
+ "readOnly": true
+ },
+ "@apiVersion": {
+ "type": "string",
+ "description": "api version",
+ "enum": [
+ "2.0"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersionEnum",
+ "modelAsString": false
+ }
+ }
+ },
+ "discriminator": "methodName"
+ },
+ "MediaGraphTopologySetRequest": {
+ "type": "object",
+ "x-ms-discriminator-value": "GraphTopologySet",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MethodRequest"
+ }
+ ],
+ "required": [
+ "graph"
+ ],
+ "properties": {
+ "graph": {
+ "$ref": "./LiveVideoAnalytics.json#/definitions/MediaGraphTopology"
+ }
+ }
+ },
+ "MediaGraphTopologySetRequestBody": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MethodRequest"
+ },
+ {
+ "$ref": "./LiveVideoAnalytics.json#/definitions/MediaGraphTopology"
+ }
+ ]
+ },
+ "MediaGraphInstanceSetRequest": {
+ "type": "object",
+ "x-ms-discriminator-value": "GraphInstanceSet",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MethodRequest"
+ }
+ ],
+ "required": [
+ "instance"
+ ],
+ "properties": {
+ "instance": {
+ "$ref": "./LiveVideoAnalytics.json#/definitions/MediaGraphInstance"
+ }
+ }
+ },
+ "MediaGraphInstanceSetRequestBody": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MethodRequest"
+ },
+ {
+ "$ref": "./LiveVideoAnalytics.json#/definitions/MediaGraphInstance"
+ }
+ ]
+ },
+ "ItemNonSetRequestBase": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MethodRequest"
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "method name"
+ }
+ }
+ },
+ "MediaGraphTopologyListRequest": {
+ "type": "object",
+ "x-ms-discriminator-value": "GraphTopologyList",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MethodRequest"
+ }
+ ]
+ },
+ "MediaGraphTopologyGetRequest": {
+ "type": "object",
+ "x-ms-discriminator-value": "GraphTopologyGet",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemNonSetRequestBase"
+ }
+ ]
+ },
+ "MediaGraphTopologyDeleteRequest": {
+ "type": "object",
+ "x-ms-discriminator-value": "GraphTopologyDelete",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemNonSetRequestBase"
+ }
+ ]
+ },
+ "MediaGraphInstanceListRequest": {
+ "type": "object",
+ "x-ms-discriminator-value": "GraphInstanceList",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MethodRequest"
+ }
+ ]
+ },
+ "MediaGraphInstanceGetRequest": {
+ "type": "object",
+ "x-ms-discriminator-value": "GraphInstanceGet",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemNonSetRequestBase"
+ }
+ ]
+ },
+ "MediaGraphInstanceActivateRequest": {
+ "type": "object",
+ "x-ms-discriminator-value": "GraphInstanceActivate",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemNonSetRequestBase"
+ }
+ ]
+ },
+ "MediaGraphInstanceDeActivateRequest": {
+ "type": "object",
+ "x-ms-discriminator-value": "GraphInstanceDeactivate",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemNonSetRequestBase"
+ }
+ ]
+ },
+ "MediaGraphInstanceDeleteRequest": {
+ "type": "object",
+ "x-ms-discriminator-value": "GraphInstanceDelete",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemNonSetRequestBase"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/mediaservices/data-plane/readme.md b/specification/mediaservices/data-plane/readme.md
new file mode 100644
index 000000000000..ad5b26baaa51
--- /dev/null
+++ b/specification/mediaservices/data-plane/readme.md
@@ -0,0 +1,105 @@
+# MediaServices - Live Video Analytics Edge
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Live video analytics edge.
+
+These swaggers are used to generate the SDKs for Live Video Analytics. These SDKs are models only (no client) and customer would need to use IoT SDK to send direct method calls to IoT hub. These SDKs are not ARM based and doesn't do any REST calls. all operations are sent as direct methods on IoT hub.
+
+---
+
+## Getting Started
+
+To build the SDK for Live video analytics edge, 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 Live video analytics API.
+
+``` yaml
+openapi-type: data-plane
+tag: package-lva-2-0-0-preview
+
+directive:
+ - where:
+ - $.definitions.MethodRequest.properties.methodName
+ suppress:
+ - RequiredReadOnlyProperties
+```
+
+### Tag: package-lva-1-0-4-preview
+
+These settings apply only when `--tag=package-lva-2-0-0-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-lva-2-0-0-preview'
+input-file:
+ - LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalytics.json
+ - LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalyticsSdkDefinitions.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-net
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_media_lva_edge']
+```
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: false
+ payload-flattening-threshold: 2
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Media.LiveVideoAnalytics.Edge
+ output-folder: $(csharp-sdks-folder)/mediaservices/Microsoft.Azure.Media.LiveVideoAnalytics.Edge/src/Generated
+ clear-output-folder: true
+ use-internal-constructors: true
+ override-client-name: LiveVideoAnalyticsEdgeClient
+ use-datetimeoffset: true
+```
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalytics.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/mediaservices/resource-manager/Microsoft.Media/preview/2019-05-01-preview/streamingservice.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-05-01-preview/streamingservice.json
index 26c4772ce123..43bdedf7a394 100644
--- a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-05-01-preview/streamingservice.json
+++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-05-01-preview/streamingservice.json
@@ -1377,7 +1377,7 @@
"properties": {
"language": {
"type": "string",
- "description": "Specifies the language (locale) used for speech-to-text transcription – it should match the spoken language in the audio track. The value should be in BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are 'en-US' and 'en-GB'."
+ "description": "Specifies the language (locale) used for speech-to-text transcription - it should match the spoken language in the audio track. The value should be in BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are 'en-US' and 'en-GB'."
},
"inputTrackSelection": {
"type": "array",
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/proxy/CheckNameAvailabilityForLocalUniqueness.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/proxy/CheckNameAvailabilityForLocalUniqueness.json
index 8e276cf1f807..0e20ae0f4cdb 100644
--- a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/proxy/CheckNameAvailabilityForLocalUniqueness.json
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/proxy/CheckNameAvailabilityForLocalUniqueness.json
@@ -11,7 +11,7 @@
"responses": {
"200": {
"body": {
- "nameAvailable": "false",
+ "nameAvailable": false,
"reason": "AlreadyExists",
"message": "..."
}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json
index d2c42198f72e..ef0911f35f9e 100644
--- a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json
@@ -144,7 +144,7 @@
"properties": {
"nameAvailable": {
"description": "if name Available",
- "$ref": "#/definitions/NameAvailability"
+ "type": "boolean"
},
"reason": {
"description": "Resource Name To Verify",
@@ -167,6 +167,10 @@
"display": {
"description": "The object that represents the operation.",
"$ref": "#/definitions/OperationDisplay"
+ },
+ "isDataAction": {
+ "description": "Whether or not this is a data plane operation",
+ "type": "boolean"
}
}
},
@@ -198,18 +202,6 @@
}
}
},
- "NameAvailability": {
- "description": "Whether or not the name is available.",
- "type": "string",
- "enum": [
- "true",
- "false"
- ],
- "x-ms-enum": {
- "name": "NameAvailability",
- "modelAsString": true
- }
- },
"NameUnavailableReason": {
"description": "reason of name unavailable.",
"type": "string",
diff --git a/specification/mixedreality/resource-manager/readme.md b/specification/mixedreality/resource-manager/readme.md
index eec4de896ddd..a3fa6a59e916 100644
--- a/specification/mixedreality/resource-manager/readme.md
+++ b/specification/mixedreality/resource-manager/readme.md
@@ -119,7 +119,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -130,16 +130,35 @@ python:
package-version: 0.0.1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(track2)
+python-mode: update
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.mixedreality
+package-name: azure-mgmt-mixedreality
+package-version: 0.0.1
+clear-output-folder: true
+modelerfour:
+ lenient-model-deduplication: true
+```
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/mixedreality/azure-mgmt-mixedreality/azure/mgmt/mixedreality
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/mixedreality/azure-mgmt-mixedreality
```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/mixedreality/azure-mgmt-mixedreality/azure/mgmt/mixedreality
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/mixedreality/azure-mgmt-mixedreality
+```
## Go
diff --git a/specification/monitor/resource-manager/readme.az.md b/specification/monitor/resource-manager/readme.az.md
new file mode 100644
index 000000000000..c7734d5fa721
--- /dev/null
+++ b/specification/monitor/resource-manager/readme.az.md
@@ -0,0 +1,92 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+``` yaml $(az)
+batch:
+ - AMCS: true
+```
+
+``` yaml $(az) && $(AMCS)
+az:
+ extensions: monitor-control-service
+ parent-extension: monitor
+ namespace: azure.mgmt.amcs
+ package-name: azure-mgmt-amcs
+az-output-folder: $(azure-cli-extension-folder)/src/monitor-control-service
+python-sdk-output-folder: "$(az-output-folder)/azext_amcs/vendored_sdks/amcs"
+# add additinal configuration here specific for Azure CLI
+# refer to the faq.md for more details
+```
+
+# Az.AMCS
+This directory contains the CLI common model for the Azure Monitor Control Service (AMCS).
+
+> Metadata
+``` yaml $(AMCS)
+
+extension-mode: preview
+
+directive:
+
+ - where:
+ group: monitor monitor-control-service data-collection-rule
+ set:
+ group: monitor data-collection-rule
+ - where:
+ group: monitor data-collection-rule
+ set:
+ group: monitor data-collection rule
+
+ - where:
+ group: monitor monitor-control-service data-collection-rule-association
+ set:
+ group: monitor data-collection-rule-association
+ - where:
+ group: monitor data-collection-rule-association
+ set:
+ group: monitor data-collection rule-association
+ - where:
+ group: monitor data-collection rule-association
+ set:
+ group: monitor data-collection rule association
+
+cli:
+ cli-directive:
+# -------- data-collection rule --------
+ - where:
+ group: DataCollectionRules
+ param: dataCollectionRuleName
+ alias:
+ - name
+ - n
+ - where:
+ group: DataCollectionRuleAssociations
+ op: Create
+ hidden: True
+ - where:
+ group: DataCollectionRules
+ op: Create
+ hidden: True
+ - where:
+ group: DataCollectionRules
+ op: Update
+ hidden: True
+
+# -------- data-collection rule association --------
+ - where:
+ group: DataCollectionRuleAssociations
+ param: resourceUri
+ alias:
+ - resource
+ - where:
+ group: DataCollectionRuleAssociations
+ param: dataCollectionRuleName
+ alias:
+ - rule_name
+ - where:
+ group: DataCollectionRuleAssociations
+ param: associationName
+ alias:
+ - name
+ - n
+```
diff --git a/specification/monitor/resource-manager/readme.md b/specification/monitor/resource-manager/readme.md
index 9db5e8348fbc..89ad698475e8 100644
--- a/specification/monitor/resource-manager/readme.md
+++ b/specification/monitor/resource-manager/readme.md
@@ -22,6 +22,11 @@ To see additional help and options, run:
### Basic Information
+There are the global settings for the Azure Monitor Control Service (AMCS) extension.
+``` yaml $(AMCS)
+tag: package-2019-11-01-preview-only
+```
+
These are the global settings for the MonitorClient API.
``` yaml
diff --git a/specification/monitor/resource-manager/readme.python.md b/specification/monitor/resource-manager/readme.python.md
index ff27201f25ab..dc4bb3a2d29d 100644
--- a/specification/monitor/resource-manager/readme.python.md
+++ b/specification/monitor/resource-manager/readme.python.md
@@ -26,6 +26,16 @@ modelerfour:
lenient-model-deduplication: true
```
+These settings apply when `--track2` and `--AMCS` is specified on the command line.
+
+``` yaml $(track2) && $(AMCS)
+package-version: 0.1.0
+namespace: azure.mgmt.amcs
+package-name: azure-mgmt-amcs
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/amcs/azure-mgmt-amcs
+```
+
### Python multi-api
Generate all API versions currently shipped for this package
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2018-06-01/QueryPerformanceInsights.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2018-06-01/QueryPerformanceInsights.json
index f8f5aa52d1bc..aa7c26857770 100644
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2018-06-01/QueryPerformanceInsights.json
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2018-06-01/QueryPerformanceInsights.json
@@ -69,6 +69,12 @@
"schema": {
"$ref": "#/definitions/QueryText"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -116,6 +122,12 @@
"schema": {
"$ref": "#/definitions/QueryTextsResultList"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
},
"x-ms-pageable": {
@@ -158,6 +170,12 @@
"schema": {
"$ref": "#/definitions/QueryStatistic"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -203,6 +221,12 @@
"schema": {
"$ref": "#/definitions/TopQueryStatisticsResultList"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
},
"x-ms-pageable": {
@@ -245,6 +269,12 @@
"schema": {
"$ref": "#/definitions/WaitStatistic"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -290,12 +320,60 @@
"schema": {
"$ref": "#/definitions/WaitStatisticsResultList"
}
+ },
+ "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/servers/{serverName}/resetQueryPerformanceInsightData": {
+ "post": {
+ "tags": [
+ "ResetQueryPerformanceInsightData"
+ ],
+ "operationId": "ResetQueryPerformanceInsightData",
+ "x-ms-examples": {
+ "QueryPerformanceInsightResetData": {
+ "$ref": "./examples/QueryPerformanceInsightResetData.json"
+ }
+ },
+ "description": "Reset data for Query Performance Insight.",
+ "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/QueryPerformanceInsightResetDataResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -602,6 +680,37 @@
"readOnly": true
}
}
+ },
+ "QueryPerformanceInsightResetDataResult": {
+ "description": "Result of Query Performance Insight data reset.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "QueryPerformanceInsightResetDataResultState",
+ "modelAsString": true
+ },
+ "description": "Indicates result of the operation."
+ },
+ "message": {
+ "type": "string",
+ "description": "operation message."
+ }
+ }
+ },
+ "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": {
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2018-06-01/examples/QueryPerformanceInsightResetData.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2018-06-01/examples/QueryPerformanceInsightResetData.json
new file mode 100644
index 000000000000..20ccc408ed12
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2018-06-01/examples/QueryPerformanceInsightResetData.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testResourceGroupName",
+ "serverName": "testServerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Succeeded",
+ "message": "QPI reset data successful"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json
index 57334c79c13a..12c10344523a 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json
@@ -978,7 +978,7 @@
"Volumes Replication"
],
"summary": "Resync volume replication",
- "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.",
+ "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from destination to source.",
"operationId": "Volumes_ResyncReplication",
"parameters": [
{
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json
index 5c54e45f30f8..897c8325ff4b 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json
@@ -1040,7 +1040,7 @@
"Volumes Replication"
],
"summary": "Resync volume replication",
- "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.",
+ "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from from destination to source.",
"operationId": "Volumes_ResyncReplication",
"parameters": [
{
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/netapp.json
index 91bd33676782..e9b4f84b55a6 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/netapp.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/netapp.json
@@ -1047,7 +1047,7 @@
"Volumes Replication"
],
"summary": "Resync volume replication",
- "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.",
+ "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from destination to source.",
"operationId": "Volumes_ResyncReplication",
"parameters": [
{
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/netapp.json
index 8836d436d991..d435df397e64 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/netapp.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/netapp.json
@@ -1047,7 +1047,7 @@
"Volumes Replication"
],
"summary": "Resync volume replication",
- "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.",
+ "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from destination to source.",
"operationId": "Volumes_ResyncReplication",
"parameters": [
{
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/netapp.json
index 85f72bb38178..ecc7c34d9311 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/netapp.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/netapp.json
@@ -1103,7 +1103,7 @@
"Volumes Replication"
],
"summary": "Resync volume replication",
- "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.",
+ "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from destination to source.",
"operationId": "Volumes_ResyncReplication",
"parameters": [
{
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/netapp.json
index ba1124809de5..fd4d60509f8c 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/netapp.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/netapp.json
@@ -1103,7 +1103,7 @@
"Volumes Replication"
],
"summary": "Resync volume replication",
- "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.",
+ "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from destination to source.",
"operationId": "Volumes_ResyncReplication",
"parameters": [
{
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/netapp.json
index 8db29d7474b3..9ce6d6c907a9 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/netapp.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/netapp.json
@@ -1103,7 +1103,7 @@
"Volumes Replication"
],
"summary": "Resync volume replication",
- "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.",
+ "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from destination to source.",
"operationId": "Volumes_ResyncReplication",
"parameters": [
{
@@ -3472,7 +3472,7 @@
"throughputMibps": {
"title": "Maximum throughput in Mibps that can be achieved by this volume",
"type": "number",
- "example": "128.22",
+ "example": 128.22,
"maximum": 4500,
"minimum": 1,
"multipleOf": 0.001
@@ -3774,7 +3774,7 @@
"throughputMibps": {
"title": "Maximum throughput in Mibps that can be achieved by this volume",
"type": "number",
- "example": "128.22",
+ "example": 128.22,
"maximum": 4500,
"minimum": 1,
"multipleOf": 0.001
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-08-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-08-01/netapp.json
index 6d4a148b9fe5..cfd9a99d83f4 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-08-01/netapp.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-08-01/netapp.json
@@ -1103,7 +1103,7 @@
"Volumes Replication"
],
"summary": "Resync volume replication",
- "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.",
+ "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from destination to source.",
"operationId": "Volumes_ResyncReplication",
"parameters": [
{
@@ -3472,7 +3472,7 @@
"throughputMibps": {
"title": "Maximum throughput in Mibps that can be achieved by this volume",
"type": "number",
- "example": "128.22",
+ "example": 128.22,
"maximum": 4500,
"minimum": 1,
"multipleOf": 0.001
@@ -3774,7 +3774,7 @@
"throughputMibps": {
"title": "Maximum throughput in Mibps that can be achieved by this volume",
"type": "number",
- "example": "128.22",
+ "example": 128.22,
"maximum": 4500,
"minimum": 1,
"multipleOf": 0.001
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_CreateOrUpdate.json
new file mode 100644
index 000000000000..de2a3460a68f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_CreateOrUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "activeDirectories": [
+ {
+ "site": "SiteName",
+ "username": "ad_user_name",
+ "password": "ad_password",
+ "domain": "10.10.10.3",
+ "dns": "10.10.10.3, 10.10.10.4",
+ "smbServerName": "SMBServer",
+ "organizationalUnit": "Engineering",
+ "aesEncryption": true,
+ "ldapSigning": false
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_Delete.json
new file mode 100644
index 000000000000..4cfc668419a5
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_Get.json
new file mode 100644
index 000000000000..d4ec80a16c99
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_Get.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "activeDirectories": [
+ {
+ "site": "SiteName",
+ "activeDirectoryId": "02da3711-6c58-2d64-098a-e3af7afaf936",
+ "username": "ad_user_name",
+ "password": "****************",
+ "domain": "10.10.10.3",
+ "dns": "10.10.10.3, 10.10.10.4",
+ "status": "InUse",
+ "smbServerName": "SMBServer",
+ "organizationalUnit": "Engineering",
+ "statusDetails": "Status Details",
+ "aesEncryption": true,
+ "ldapSigning": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_List.json
new file mode 100644
index 000000000000..ce1ccb0dd68d
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_Update.json
new file mode 100644
index 000000000000..381db3378bea
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Accounts_Update.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2020-09-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Create.json
new file mode 100644
index 000000000000..f56c5628dcef
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Create.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupPolicyName": "backupPolicyName",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "westus",
+ "properties": {
+ "dailyBackupsToKeep": 10,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName",
+ "name": "account1/backupPolicyName",
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies",
+ "location": "westus",
+ "properties": {
+ "dailyBackupsToKeep": 10,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "enabled": true,
+ "provisioningState": "creating"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName",
+ "name": "account1/backupPolicyName",
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies",
+ "location": "westus",
+ "properties": {
+ "dailyBackupsToKeep": 10,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "enabled": true,
+ "provisioningState": "creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Delete.json
new file mode 100644
index 000000000000..9049674203c1
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "backupPolicyName": "backupPolicyName",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Get.json
new file mode 100644
index 000000000000..2ba860a6715b
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Get.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupPolicyName": "backupPolicyName",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName",
+ "name": "account1/backupPolicyName",
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies",
+ "location": "eastus",
+ "properties": {
+ "name": "Policy 1",
+ "dailyBackupsToKeep": 10,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "yearlyBackupsToKeep": 10,
+ "volumesAssigned": 0,
+ "enabled": true,
+ "volumeBackups": [
+ {
+ "volumeName": "volume 1",
+ "backupsCount": 5,
+ "policyEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_List.json
new file mode 100644
index 000000000000..81e8e27ae2da
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicy1",
+ "name": "account1/backupPolicy1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies",
+ "location": "eastus",
+ "properties": {
+ "name": "Policy 1",
+ "dailyBackupsToKeep": 10,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "yearlyBackupsToKeep": 10,
+ "volumesAssigned": 0,
+ "enabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Update.json
new file mode 100644
index 000000000000..b0a8848535dd
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/BackupPolicies_Update.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupPolicyName": "backupPolicyName",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "westus",
+ "properties": {
+ "dailyBackupsToKeep": 5,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "enabled": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName",
+ "name": "account1/backupPolicyName",
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dailyBackupsToKeep": 5,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "yearlyBackupsToKeep": 0,
+ "volumesAssigned": 1,
+ "enabled": false,
+ "volumeBackups": [
+ {
+ "volumeName": "volume 1",
+ "backupsCount": 5,
+ "policyEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Account_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Account_Delete.json
new file mode 100644
index 000000000000..cc42729c1ca9
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Account_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "backupName": "backupName",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Account_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Account_Get.json
new file mode 100644
index 000000000000..306e08cc8678
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Account_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupName": "backup1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1",
+ "name": "account1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/accountBackups",
+ "location": "eastus",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "adhoc"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Account_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Account_List.json
new file mode 100644
index 000000000000..0757e81633ea
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Account_List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1",
+ "name": "account1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/accountBackups",
+ "location": "eastus",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "adhoc"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Create.json
new file mode 100644
index 000000000000..635aa100499a
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Create.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "backupName": "backup1",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "label": "myLabel"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1",
+ "name": "account1/pool1/volume1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups",
+ "location": "eastus",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "adhoc"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1",
+ "name": "account1/pool1/volume1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups",
+ "location": "eastus",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "adhoc"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Delete.json
new file mode 100644
index 000000000000..ab483eb37350
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "volumeName": "volumeName",
+ "backupName": "backupName",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Get.json
new file mode 100644
index 000000000000..305f58d58da1
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "backupName": "backup1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1",
+ "name": "account1/pool1/volume1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups",
+ "location": "eastus",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "adhoc"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_List.json
new file mode 100644
index 000000000000..dd53d7dd64b6
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1",
+ "name": "account1/pool1/volume1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups",
+ "location": "eastus",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "adhoc"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Update.json
new file mode 100644
index 000000000000..96421abfb407
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Backups_Update.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "backupName": "backup1",
+ "api-version": "2020-09-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1",
+ "name": "account1/pool1/volume1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups",
+ "location": "eastus",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "adhoc"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/CheckFilePathAvailability.json
new file mode 100644
index 000000000000..60ca5428e55c
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/CheckFilePathAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2020-09-01",
+ "body": {
+ "name": "my-exact-filepth",
+ "type": "netAppAccount/capacityPools/volume",
+ "resourceGroup": "myRG"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..e8c2554d71c1
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/CheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2020-09-01",
+ "body": {
+ "name": "accName",
+ "type": "netAppAccount",
+ "resourceGroup": "myRG"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/CheckQuotaAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/CheckQuotaAvailability.json
new file mode 100644
index 000000000000..47539a7cce83
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/CheckQuotaAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2020-09-01",
+ "body": {
+ "name": "resource1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "resourceGroup": "myRG"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_CreateOrUpdate.json
new file mode 100644
index 000000000000..933c9a867217
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_CreateOrUpdate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "size": 4398046511104,
+ "serviceLevel": "Premium",
+ "qosType": "Auto"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104,
+ "qosType": "Auto",
+ "totalThroughputMibps": 281.474
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104,
+ "qosType": "Auto",
+ "totalThroughputMibps": 281.474
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_Delete.json
new file mode 100644
index 000000000000..6359b503d5eb
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_Get.json
new file mode 100644
index 000000000000..82200db64b6e
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104,
+ "qosType": "Manual",
+ "totalThroughputMibps": 281.474,
+ "utilizedThroughputMibps": 100.47
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_List.json
new file mode 100644
index 000000000000..4209b6aced1e
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104,
+ "qosType": "Auto",
+ "totalThroughputMibps": 281.474
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_Update.json
new file mode 100644
index 000000000000..5e359021647c
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Pools_Update.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2020-09-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104,
+ "qosType": "Manual",
+ "totalThroughputMibps": 281.474,
+ "utilizedThroughputMibps": 100.47
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Create.json
new file mode 100644
index 000000000000..ee0e09b98385
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Create.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "snapshotPolicyName": "snapshotPolicyName",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1",
+ "name": "account1/snapshotPolicy1",
+ "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies",
+ "properties": {
+ "name": "sdk-net-tests-snapshotPolicy-1",
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "eastus",
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1",
+ "name": "account1/snapshotPolicy1",
+ "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies",
+ "properties": {
+ "name": "sdk-net-tests-snapshotPolicy-1",
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Delete.json
new file mode 100644
index 000000000000..a680c5588cbd
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "snapshotPolicyName": "snapshotPolicyName",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Get.json
new file mode 100644
index 000000000000..e5e8e005e314
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Get.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "snapshotPolicyName": "snapshotPolicyName",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1",
+ "name": "account1/snapshotPolicy1",
+ "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies",
+ "location": "eastus",
+ "properties": {
+ "name": "sdk-net-tests-snapshotPolicy-1",
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_List.json
new file mode 100644
index 000000000000..e42445096871
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_List.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1",
+ "name": "account1/snapshotPolicy1",
+ "location": "eastus",
+ "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies",
+ "properties": {
+ "name": "sdk-net-tests-snapshotPolicy-1",
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_ListVolumes.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_ListVolumes.json
new file mode 100644
index 000000000000..2d6b839a2380
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_ListVolumes.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "snapshotPolicyName": "snapshotPolicyName",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Update.json
new file mode 100644
index 000000000000..b96a093d5740
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/SnapshotPolicies_Update.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "snapshotPolicyName": "snapshotPolicyName",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1",
+ "name": "account1/snapshotPolicy1",
+ "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies",
+ "location": "eastus",
+ "properties": {
+ "name": "sdk-net-tests-snapshotPolicy-1",
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Create.json
new file mode 100644
index 000000000000..324d28989a43
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Create.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Delete.json
new file mode 100644
index 000000000000..f18fa447e5bd
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Get.json
new file mode 100644
index 000000000000..794cc1d361c4
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_List.json
new file mode 100644
index 000000000000..5ef7ee0cb7a5
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Update.json
new file mode 100644
index 000000000000..bd8baeb3d4eb
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Snapshots_Update.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2020-09-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Vaults_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Vaults_List.json
new file mode 100644
index 000000000000..520676fdd354
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Vaults_List.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/vaults/vault1",
+ "name": "account1/vault1",
+ "type": "Microsoft.NetApp/netAppAccounts/vaults",
+ "location": "eastus",
+ "properties": {
+ "vaultName": "east US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_AuthorizeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_AuthorizeReplication.json
new file mode 100644
index 000000000000..087ace21ef92
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_AuthorizeReplication.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01",
+ "body": {
+ "remoteVolumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRemoteRG/providers/Microsoft.NetApp/netAppAccounts/remoteAccount1/capacityPools/remotePool1/volumes/remoteVolume1"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_BreakReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_BreakReplication.json
new file mode 100644
index 000000000000..70cea7c4aec3
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_BreakReplication.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01",
+ "body": {
+ "forceBreakReplication": false
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_CreateOrUpdate.json
new file mode 100644
index 000000000000..388291300f86
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_CreateOrUpdate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "creationToken": "my-unique-file-path",
+ "serviceLevel": "Premium",
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "throughputMibps": 128.0
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "location": "eastus",
+ "name": "account1/pool1/volume1",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128.0,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3"
+ },
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "location": "eastus",
+ "name": "account1/pool1/volume1",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128.0,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3"
+ },
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Delete.json
new file mode 100644
index 000000000000..253596d8bafd
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_DeleteReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_DeleteReplication.json
new file mode 100644
index 000000000000..6bc43bc61965
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_DeleteReplication.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Get.json
new file mode 100644
index 000000000000..52322fa8274f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "name": "account1/pool1/volume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128.0,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_List.json
new file mode 100644
index 000000000000..94bd640c2298
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_List.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "name": "account1/pool1/volume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128.0,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_PoolChange.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_PoolChange.json
new file mode 100644
index 000000000000..0394ea2e2351
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_PoolChange.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01",
+ "body": {
+ "newPoolResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_ReInitializeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_ReInitializeReplication.json
new file mode 100644
index 000000000000..6bc43bc61965
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_ReInitializeReplication.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_ReplicationStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_ReplicationStatus.json
new file mode 100644
index 000000000000..b2e79e768296
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_ReplicationStatus.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "healthy": true,
+ "relationshipStatus": "Idle",
+ "mirrorState": "Mirrored",
+ "totalProgress": "1048576",
+ "errorMessage": ""
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_ResyncReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_ResyncReplication.json
new file mode 100644
index 000000000000..6bc43bc61965
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_ResyncReplication.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Revert.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Revert.json
new file mode 100644
index 000000000000..2ff5f02138f9
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Revert.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01",
+ "body": {
+ "snapshotId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Update.json
new file mode 100644
index 000000000000..9627785ebbb3
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/examples/Volumes_Update.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2020-09-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "name": "account1/pool1/volume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128.0,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/netapp.json
new file mode 100644
index 000000000000..2474ba5b7482
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-09-01/netapp.json
@@ -0,0 +1,4825 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft NetApp",
+ "description": "Microsoft NetApp Azure Resource Provider specification",
+ "version": "2020-09-01",
+ "x-ms-code-generation-settings": {
+ "name": "AzureNetAppFilesManagementClient"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "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.NetApp/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Describes the Resource Provider",
+ "description": "Lists all of the available Microsoft.NetApp Rest API operations",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Check resource name availability",
+ "description": "Check if a resource name is available.",
+ "operationId": "NetAppResource_CheckNameAvailability",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Name availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceNameAvailabilityRequest"
+ },
+ "x-ms-client-flatten": true
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/location"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "CheckNameAvailability": {
+ "$ref": "examples/CheckNameAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability": {
+ "post": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Check file path availability",
+ "description": "Check if a file path is available.",
+ "operationId": "NetAppResource_CheckFilePathAvailability",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "File path availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceNameAvailabilityRequest"
+ },
+ "x-ms-client-flatten": true
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/location"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "CheckFilePathAvailability": {
+ "$ref": "examples/CheckFilePathAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkQuotaAvailability": {
+ "post": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Check quota availability",
+ "description": "Check if a quota is available.",
+ "operationId": "NetAppResource_CheckQuotaAvailability",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Quota availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QuotaAvailabilityRequest"
+ },
+ "x-ms-client-flatten": true
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/location"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "CheckQuotaAvailability": {
+ "$ref": "examples/CheckQuotaAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts": {
+ "get": {
+ "summary": "Describe all NetApp Accounts in a resource group",
+ "description": "List and describe all NetApp accounts in the resource group.",
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/netAppAccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Accounts_List": {
+ "$ref": "examples/Accounts_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": {
+ "get": {
+ "summary": "Describe a NetApp Account",
+ "description": "Get the NetApp account",
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Accounts_Get": {
+ "$ref": "examples/Accounts_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_CreateOrUpdate",
+ "summary": "Create or update a NetApp account",
+ "description": "Create or update the specified NetApp account within the resource group",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "NetApp Account object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - account updated",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "201": {
+ "description": "Account created",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Accounts_CreateOrUpdate": {
+ "$ref": "examples/Accounts_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_Delete",
+ "summary": "Delete a NetApp account",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "description": "Delete the specified NetApp account",
+ "responses": {
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Accounts_Delete": {
+ "$ref": "examples/Accounts_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_Update",
+ "summary": "Update a NetApp account",
+ "description": "Patch the specified NetApp account",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "NetApp Account object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/netAppAccountPatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - account updated",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "201": {
+ "description": "OK - account created",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Accounts_Update": {
+ "$ref": "examples/Accounts_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": {
+ "get": {
+ "summary": "Describe all Capacity Pools",
+ "description": "List all capacity pools in the NetApp Account",
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/capacityPoolList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Pools_List": {
+ "$ref": "examples/Pools_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": {
+ "get": {
+ "summary": "Describe a Capacity Pool",
+ "description": "Get details of the specified capacity pool",
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Pools_Get": {
+ "$ref": "examples/Pools_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_CreateOrUpdate",
+ "summary": "Create or Update the specified capacity pool within the resource group",
+ "description": "Create or Update a capacity pool",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Capacity pool object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - pool updated",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "201": {
+ "description": "Pool created",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Pools_CreateOrUpdate": {
+ "$ref": "examples/Pools_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_Update",
+ "summary": "Update a capacity pool",
+ "description": "Patch the specified capacity pool",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Capacity pool object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/capacityPoolPatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Pools_Update": {
+ "$ref": "examples/Pools_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_Delete",
+ "summary": "Delete a capacity pool",
+ "description": "Delete the specified capacity pool",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Pools_Delete": {
+ "$ref": "examples/Pools_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": {
+ "get": {
+ "summary": "Describe all volumes",
+ "description": "List all volumes within the capacity pool",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_List",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volumeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_List": {
+ "$ref": "examples/Volumes_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": {
+ "get": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_Get",
+ "summary": "Describe a volume",
+ "description": "Get the details of the specified volume",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_Get": {
+ "$ref": "examples/Volumes_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_CreateOrUpdate",
+ "summary": "Create or Update a volume",
+ "description": "Create or update the specified volume within the capacity pool",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Volume object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok - volume updated",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "201": {
+ "description": "Volume created",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_CreateOrUpdate": {
+ "$ref": "examples/Volumes_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_Update",
+ "summary": "Update a volume",
+ "description": "Patch the specified volume",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Volume object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/volumePatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_Update": {
+ "$ref": "examples/Volumes_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_Delete",
+ "summary": "Delete a volume",
+ "description": "Delete the specified volume",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_Delete": {
+ "$ref": "examples/Volumes_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revert": {
+ "post": {
+ "tags": [
+ "Volumes Revert"
+ ],
+ "summary": "Revert a volume to one of its snapshots",
+ "description": "Revert a volume to the snapshot specified in the body",
+ "operationId": "Volumes_Revert",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Object for snapshot to revert supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/volumeRevert"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_Revert": {
+ "$ref": "examples/Volumes_Revert.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Break volume replication",
+ "description": "Break the replication connection on the destination volume",
+ "operationId": "Volumes_BreakReplication",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Optional body to force break the replication.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/breakReplicationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_BreakReplication": {
+ "$ref": "examples/Volumes_BreakReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/replicationStatus": {
+ "get": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Get volume replication status",
+ "description": "Get the status of the replication",
+ "operationId": "Volumes_ReplicationStatus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/replicationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_ReplicationStatus": {
+ "$ref": "examples/Volumes_ReplicationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resyncReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Resync volume replication",
+ "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from destination to source.",
+ "operationId": "Volumes_ResyncReplication",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_ResyncReplication": {
+ "$ref": "examples/Volumes_ResyncReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/deleteReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Delete volume replication",
+ "description": "Delete the replication connection on the destination volume, and send release to the source replication",
+ "operationId": "Volumes_DeleteReplication",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_DeleteReplication": {
+ "$ref": "examples/Volumes_DeleteReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/authorizeReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Authorize source volume replication",
+ "description": "Authorize the replication connection on the source volume",
+ "operationId": "Volumes_AuthorizeReplication",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Authorize request object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/authorizeRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_AuthorizeReplication": {
+ "$ref": "examples/Volumes_AuthorizeReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/reinitializeReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "ReInitialize volume replication",
+ "description": "Re-Initializes the replication connection on the destination volume",
+ "operationId": "Volumes_ReInitializeReplication",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_ReInitializeReplication": {
+ "$ref": "examples/Volumes_ReInitializeReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/poolChange": {
+ "post": {
+ "tags": [
+ "Pool Change"
+ ],
+ "summary": "Change pool for volume",
+ "description": "Moves volume to another pool",
+ "operationId": "Volumes_PoolChange",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Move volume to the pool supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/poolChangeRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_AuthorizeReplication": {
+ "$ref": "examples/Volumes_PoolChange.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_List",
+ "summary": "Describe all snapshots",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "description": "List all snapshots associated with the volume",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshotsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Snapshots_List": {
+ "$ref": "examples/Snapshots_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Get",
+ "summary": "Describe a snapshot",
+ "description": "Get details of the specified snapshot",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Snapshots_Get": {
+ "$ref": "examples/Snapshots_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Create",
+ "summary": "Create a snapshot",
+ "description": "Create the specified snapshot within the given volume",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Snapshot object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Snapshot created",
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Snapshots_Create": {
+ "$ref": "examples/Snapshots_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Update",
+ "summary": "Update a snapshot",
+ "description": "Patch a snapshot",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Snapshot object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/snapshotPatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Update request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Snapshots_Update": {
+ "$ref": "examples/Snapshots_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Delete",
+ "summary": "Delete a snapshot",
+ "description": "Delete snapshot",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Snapshots_Delete": {
+ "$ref": "examples/Snapshots_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Snapshot Policy"
+ ],
+ "operationId": "SnapshotPolicies_List",
+ "description": "List snapshot policy",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshotPoliciesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "SnapshotPolicies_List": {
+ "$ref": "examples/SnapshotPolicies_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotPolicyName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Snapshot Policy"
+ ],
+ "operationId": "SnapshotPolicies_Get",
+ "description": "Get a snapshot Policy",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "SnapshotPolicies_Get": {
+ "$ref": "examples/SnapshotPolicies_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Snapshot Policy"
+ ],
+ "operationId": "SnapshotPolicies_Create",
+ "description": "Create a snapshot policy",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Snapshot policy object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - snapshot Policy updated",
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ },
+ "201": {
+ "description": "Snapshot Policy created",
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "SnapshotPolicies_Create": {
+ "$ref": "examples/SnapshotPolicies_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Snapshot Policy"
+ ],
+ "operationId": "SnapshotPolicies_Update",
+ "description": "Patch a snapshot policy",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Snapshot policy object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicyPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "SnapshotPolicies_Update": {
+ "$ref": "examples/SnapshotPolicies_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshot Policy"
+ ],
+ "operationId": "SnapshotPolicies_Delete",
+ "description": "Delete snapshot policy",
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Create or update request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SnapshotPolicies_Delete": {
+ "$ref": "examples/SnapshotPolicies_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}/listVolumes": {
+ "get": {
+ "tags": [
+ "Snapshot Policy List Volumes"
+ ],
+ "summary": "Get volumes for snapshot policy",
+ "description": "Get volumes associated with snapshot policy",
+ "operationId": "SnapshotPolicies_ListVolumes",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotPolicyName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicyVolumeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "SnapshotPolicies_ListVolumes": {
+ "$ref": "examples/SnapshotPolicies_ListVolumes.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups": {
+ "get": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "List Backups for a Netapp Account",
+ "description": "List all Backups for a Netapp Account",
+ "operationId": "AccountBackups_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "AccountBackups_List": {
+ "$ref": "examples/Backups_Account_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups/{backupName}": {
+ "get": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "Get Backup for a Netapp Account",
+ "description": "Get Backup for a Netapp Account",
+ "operationId": "AccountBackups_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "AccountBackups_Get": {
+ "$ref": "examples/Backups_Account_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "Delete Backup for a Netapp Account",
+ "description": "Delete Backup for a Netapp Account",
+ "operationId": "AccountBackups_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Create or update request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "AccountBackups_Delete": {
+ "$ref": "examples/Backups_Account_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups": {
+ "get": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "List Backups",
+ "description": "List all backups for a volume",
+ "operationId": "Backups_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Backups_List": {
+ "$ref": "examples/Backups_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups/{backupName}": {
+ "get": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "Get a backup",
+ "description": "Get a particular backup of the volume",
+ "operationId": "Backups_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/BackupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Backups_Get": {
+ "$ref": "examples/Backups_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "Create a backup",
+ "description": "Create a backup for the volume",
+ "operationId": "Backups_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/BackupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Backup object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/backup"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK created",
+ "schema": {
+ "$ref": "#/definitions/backup"
+ }
+ },
+ "201": {
+ "description": "Backup created",
+ "schema": {
+ "$ref": "#/definitions/backup"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Backups_Create": {
+ "$ref": "examples/Backups_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "Patch a backup",
+ "description": "Patch a backup for the volume",
+ "operationId": "Backups_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/BackupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Backup object supplied in the body of the operation.",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/backupPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Backups_Update": {
+ "$ref": "examples/Backups_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "Delete backup",
+ "description": "Delete a backup of the volume",
+ "operationId": "Backups_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/BackupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Create or update request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Backups_Delete": {
+ "$ref": "examples/Backups_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies": {
+ "get": {
+ "tags": [
+ "Backup Policy"
+ ],
+ "summary": "List backup policies",
+ "description": "List backup policies for Netapp Account",
+ "operationId": "BackupPolicies_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupPoliciesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Backups_List": {
+ "$ref": "examples/BackupPolicies_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies/{backupPolicyName}": {
+ "get": {
+ "tags": [
+ "Backup Policy"
+ ],
+ "summary": "Get a backup Policy",
+ "description": "Get a particular backup Policy",
+ "operationId": "BackupPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupPolicyName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Backups_Get": {
+ "$ref": "examples/BackupPolicies_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Backup Policy"
+ ],
+ "summary": "Create a backup policy",
+ "description": "Create a backup policy for Netapp Account",
+ "operationId": "BackupPolicies_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupPolicyName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Backup policy object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Backup Policy created",
+ "schema": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ },
+ "201": {
+ "description": "Backup created",
+ "schema": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BackupPolicies_Create": {
+ "$ref": "examples/BackupPolicies_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Backup Policy"
+ ],
+ "summary": "Patch a backup policy",
+ "description": "Patch a backup policy for Netapp Account",
+ "operationId": "BackupPolicies_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupPolicyName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Backup policy object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/backupPolicyPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "BackupPolicies_Update": {
+ "$ref": "examples/BackupPolicies_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Backup Policy"
+ ],
+ "summary": "Delete a backup policy",
+ "description": "Delete backup policy",
+ "operationId": "BackupPolicies_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupPolicyName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Create or update request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Backups_Delete": {
+ "$ref": "examples/BackupPolicies_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/vaults": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "summary": "List vaults",
+ "description": "List vaults for a Netapp Account",
+ "operationId": "Vaults_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/vaultList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Vaults_List": {
+ "$ref": "examples/Vaults_List.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "description": "Result of the request to list Cloud Volume operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of Storage operations supported by the Storage resource provider."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Microsoft.NetApp REST API operation definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft NetApp.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed etc.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Operation description.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "type": "string",
+ "description": "The origin of operations."
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Properties of operation, include metric specifications.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Properties of operation, include metric specifications.",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "One property of operation, include metric specifications."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "One property of operation, include metric specifications.",
+ "properties": {
+ "metricSpecifications": {
+ "description": "Metric specifications of operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification"
+ }
+ }
+ }
+ },
+ "MetricSpecification": {
+ "description": "Metric specification of operation.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of metric specification."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of metric specification."
+ },
+ "displayDescription": {
+ "type": "string",
+ "description": "Display description of metric specification."
+ },
+ "unit": {
+ "type": "string",
+ "description": "Unit could be Bytes or Count."
+ },
+ "dimensions": {
+ "description": "Dimensions of blobs, including blob type and access tier.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ }
+ },
+ "aggregationType": {
+ "type": "string",
+ "description": "Aggregation type could be Average."
+ },
+ "fillGapWithZero": {
+ "type": "boolean",
+ "description": "The property to decide fill gap with zero or not."
+ },
+ "category": {
+ "type": "string",
+ "description": "The category this metric specification belong to, could be Capacity."
+ },
+ "resourceIdDimensionNameOverride": {
+ "type": "string",
+ "description": "Account Resource Id."
+ }
+ }
+ },
+ "Dimension": {
+ "description": "Dimension of blobs, possibly be blob type or access tier.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Display name of dimension."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of dimension."
+ }
+ }
+ },
+ "CheckAvailabilityResponse": {
+ "description": "Information regarding availability of a resource.",
+ "type": "object",
+ "properties": {
+ "isAvailable": {
+ "description": "true indicates name is valid and available. false indicates the name is invalid, unavailable, or both.",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InAvailabilityReasonType",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceNameAvailabilityRequest": {
+ "description": "Resource name availability request content.",
+ "required": [
+ "name",
+ "type",
+ "resourceGroup"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Resource name to verify.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type used for verification.",
+ "enum": [
+ "Microsoft.NetApp/netAppAccounts",
+ "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CheckNameResourceTypes",
+ "modelAsString": true
+ }
+ },
+ "resourceGroup": {
+ "description": "Resource group name.",
+ "type": "string"
+ }
+ }
+ },
+ "QuotaAvailabilityRequest": {
+ "description": "Quota availability request content.",
+ "required": [
+ "name",
+ "type",
+ "resourceGroup"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the resource to verify.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type used for verification.",
+ "enum": [
+ "Microsoft.NetApp/netAppAccounts",
+ "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CheckQuotaNameResourceTypes",
+ "modelAsString": true
+ }
+ },
+ "resourceGroup": {
+ "description": "Resource group name.",
+ "type": "string"
+ }
+ }
+ },
+ "netAppAccountList": {
+ "description": "List of NetApp account resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Multiple NetApp accounts",
+ "items": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ }
+ }
+ },
+ "netAppAccount": {
+ "description": "NetApp account resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "NetApp Account properties",
+ "$ref": "#/definitions/accountProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "netAppAccountPatch": {
+ "description": "NetApp account patch resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "NetApp Account properties",
+ "$ref": "#/definitions/accountProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "accountProperties": {
+ "description": "NetApp account properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "activeDirectories": {
+ "description": "Active Directories",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/activeDirectory"
+ }
+ }
+ }
+ },
+ "activeDirectory": {
+ "description": "Active Directory",
+ "type": "object",
+ "properties": {
+ "activeDirectoryId": {
+ "type": "string",
+ "description": "Id of the Active Directory"
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of Active Directory domain administrator"
+ },
+ "password": {
+ "type": "string",
+ "description": "Plain text password of Active Directory domain administrator, value is masked in the response"
+ },
+ "domain": {
+ "type": "string",
+ "description": "Name of the Active Directory domain"
+ },
+ "dns": {
+ "type": "string",
+ "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain",
+ "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$",
+ "example": "101.102.103.104,101.102.103.105"
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the Active Directory",
+ "readOnly": true,
+ "enum": [
+ "Created",
+ "Updating",
+ "InUse",
+ "Deleted",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "ActiveDirectoryStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Created",
+ "description": "Active Directory created but not in use"
+ },
+ {
+ "value": "InUse",
+ "description": "Active Directory in use by SMB Volume"
+ },
+ {
+ "value": "Deleted",
+ "description": "Active Directory Deleted"
+ },
+ {
+ "value": "Error",
+ "description": "Error with the Active Directory"
+ },
+ {
+ "value": "Updating",
+ "description": "Active Directory Updating"
+ }
+ ]
+ }
+ },
+ "statusDetails": {
+ "type": "string",
+ "description": "Any details in regards to the Status of the Active Directory",
+ "readOnly": true
+ },
+ "smbServerName": {
+ "type": "string",
+ "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes"
+ },
+ "organizationalUnit": {
+ "type": "string",
+ "description": "The Organizational Unit (OU) within the Windows Active Directory"
+ },
+ "site": {
+ "type": "string",
+ "description": "The Active Directory site the service will limit Domain Controller discovery to"
+ },
+ "backupOperators": {
+ "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255,
+ "minLength": 1,
+ "example": [
+ "user1",
+ "user2"
+ ]
+ }
+ },
+ "kdcIP": {
+ "type": "string",
+ "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$",
+ "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.",
+ "example": "101.102.103.104"
+ },
+ "adName": {
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 1,
+ "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume",
+ "example": "ADServerName"
+ },
+ "serverRootCACertificate": {
+ "type": "string",
+ "maxLength": 10240,
+ "minLength": 1,
+ "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes.",
+ "example": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURuVENDQW9XZ0F3SUJBZ0lRR3FXdnRxeHBvSTFJV3Z4VGdJbElWREFOQmdrcWhraUc5dzBCQVFzRkFEQlYKTVJNd0VRWUtDWkltaVpQeUxHUUJHUllEWTI5dE1SY3dGUVlLQ1pJbWlaUHlMR1FCR1JZSGFHRnlhV3R5WWpFbApNQ01HQTFVRUF4TWNhR0Z5YVd0eVlpMVhTVTR0TWtKUFZrRkZTMEkwTkVJdFEwRXRNakFlRncweU1EQTFNRFV3Ck56TTVORGxhRncweU1EQTFNRFl3TnpRNU5EaGFNRlV4RXpBUkJnb0praWFKay9Jc1pBRVpGZ05qYjIweEZ6QVYKQmdvSmtpYUprL0lzWkFFWkZnZG9ZWEpwYTNKaU1TVXdJd1lEVlFRREV4eG9ZWEpwYTNKaUxWZEpUaTB5UWs5VwpRVVZMUWpRMFFpMURRUzB5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFqMHByCnhaaXpNaDBqYnRwN1ZOc0JrRVJ2MVpZT0MzMEtqaGRWdEExRm1MeFM2cXlycmpMZUdXOXRSd2ZnUkR0eVBodTIKZVJTcVpTUjF6Z1hZR0s0Nys3Y3F0YnB2UElOektCb0dOWERIVTNxVWlleXJWSjFDVzRKNjJodUdrbUV1VVVkMApKMXBxNTVxbjk1SmRUbWh1dmZlTUxxeHB5c01nbGVnY281ZFhoN0hsQkhwaTNKMFN4ZnhVWmxKMVZiOFJZVEZhCkJiMGFlTVZaRzRKeVREaktiMlR1TmFXOG1aUE5vOFBMRDRocjdndFNZUEQvQ1dVVGV5QlpoZC9LTzNPczlWVEIKYmpLUGtWd0J2WEs2SlFMSGprNFBHS3VYZDhaWVFyajBtOWNIZDNmcWNYTXlQUnQ2TlJ4ak0yMTUxckFzSkVhNgpWZC9ta056akpXalBrT2VZUVFJREFRQUJvMmt3WnpBVEJna3JCZ0VFQVlJM0ZBSUVCaDRFQUVNQVFUQU9CZ05WCkhROEJBZjhFQkFNQ0FZWXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVDVEc2ODJSay9kMysKWGtHa0VMakRFMjI4ZjNnd0VBWUpLd1lCQkFHQ054VUJCQU1DQVFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBR1RjTTNnWExIU05wS014RHEvUFpZbWZCMmNlN3VhMmxxbXpzZSt4QmthSTE0WXdzZE5ZQjZBVTNFWDM3QWpZCjd3bm9xQzY1N0U2RVhTODVDckoyNXJNTHo4OEtONGI3cUg5RUowSS9XVHg5YTdUT0ZENENWQThuL0xwNGh1Ym4KNlBFalY5NFlZWXBXTG1hTkkvbGFReWsxSHVJbDFSTCttVDFnSWQ4ZWZXZ1UvNmlVVEw3eGMrdjkyNHBuTHhISwpOSnNTV3c0NFk5a0R5SU9KOXFjWUlBN1lhTkxPZTRjSysvQlRvdDh0dVVKT1hHLzdBRmtxR2EyQVA4MmFZOStKCnkwSmU2OG5nTHJ1dVU4VHpneVpqdkFHcTRrVEVOdWFoaFdHVC9KWkEzOXhSNUV4MmNMUUplcE5NdnlZbUZ3Z1UKME8zYlA0OWNBVFVCMXoyQ3Y5aTRQbVk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
+ },
+ "aesEncryption": {
+ "type": "boolean",
+ "description": "If enabled, AES encryption will be enabled for SMB communication."
+ },
+ "ldapSigning": {
+ "type": "boolean",
+ "description": "Specifies whether or not the LDAP traffic needs to be signed."
+ },
+ "securityOperators": {
+ "type": "array",
+ "description": "Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier",
+ "items": {
+ "type": "string",
+ "maxLength": 255,
+ "minLength": 1,
+ "example": [
+ "user1",
+ "user2"
+ ]
+ }
+ }
+ }
+ },
+ "capacityPoolList": {
+ "description": "List of capacity pool resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Capacity pools",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ }
+ }
+ },
+ "capacityPool": {
+ "description": "Capacity pool resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location",
+ "properties"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Capacity pool properties",
+ "$ref": "#/definitions/poolProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "poolProperties": {
+ "description": "Pool properties",
+ "type": "object",
+ "required": [
+ "size",
+ "serviceLevel"
+ ],
+ "properties": {
+ "poolId": {
+ "title": "poolId",
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the Pool",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca7778"
+ },
+ "size": {
+ "title": "size",
+ "type": "integer",
+ "format": "int64",
+ "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).",
+ "minimum": 4398046511104,
+ "maximum": 549755813888000
+ },
+ "serviceLevel": {
+ "title": "serviceLevel",
+ "type": "string",
+ "description": "The service level of the file system",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Ultra"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard",
+ "description": "Standard service level"
+ },
+ {
+ "value": "Premium",
+ "description": "Premium service level"
+ },
+ {
+ "value": "Ultra",
+ "description": "Ultra service level"
+ }
+ ]
+ },
+ "example": "Ultra",
+ "default": "Premium"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "totalThroughputMibps": {
+ "type": "number",
+ "description": "Total throughput of pool in Mibps",
+ "example": 164.221,
+ "readOnly": true
+ },
+ "utilizedThroughputMibps": {
+ "type": "number",
+ "description": "Utilized throughput of pool in Mibps",
+ "example": 164.221,
+ "readOnly": true
+ },
+ "qosType": {
+ "title": "qosType",
+ "type": "string",
+ "description": "The qos type of the pool",
+ "enum": [
+ "Auto",
+ "Manual"
+ ],
+ "x-ms-enum": {
+ "name": "qosType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Auto",
+ "description": "qos type Auto"
+ },
+ {
+ "value": "Manual",
+ "description": "qos type Manual"
+ }
+ ]
+ },
+ "example": "Manual",
+ "default": "Auto"
+ }
+ }
+ },
+ "capacityPoolPatch": {
+ "description": "Capacity pool patch resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Capacity pool properties",
+ "$ref": "#/definitions/poolPatchProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "poolPatchProperties": {
+ "description": "Patchable pool properties",
+ "type": "object",
+ "properties": {
+ "size": {
+ "title": "size",
+ "type": "integer",
+ "format": "int64",
+ "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).",
+ "minimum": 4398046511104,
+ "maximum": 549755813888000,
+ "default": 4398046511104
+ },
+ "qosType": {
+ "title": "qosType",
+ "type": "string",
+ "description": "The qos type of the pool",
+ "enum": [
+ "Auto",
+ "Manual"
+ ],
+ "x-ms-enum": {
+ "name": "qosType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Auto",
+ "description": "qos type Auto"
+ },
+ {
+ "value": "Manual",
+ "description": "qos type Manual"
+ }
+ ]
+ },
+ "example": "Manual",
+ "default": "Auto"
+ }
+ }
+ },
+ "volumeList": {
+ "description": "List of volume resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of volumes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ }
+ },
+ "volume": {
+ "description": "Volume resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location",
+ "properties"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Volume properties",
+ "$ref": "#/definitions/volumeProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "resourceTags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags are a list of key-value pairs that describe the resource"
+ },
+ "volumeProperties": {
+ "description": "Volume properties",
+ "type": "object",
+ "required": [
+ "creationToken",
+ "usageThreshold",
+ "subnetId"
+ ],
+ "properties": {
+ "fileSystemId": {
+ "title": "FileSystem ID",
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique FileSystem Identifier.",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca7778"
+ },
+ "creationToken": {
+ "title": "Creation Token or File Path",
+ "type": "string",
+ "description": "A unique file path for the volume. Used when creating mount targets",
+ "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$",
+ "minLength": 1,
+ "maxLength": 80,
+ "example": "some-amazing-filepath"
+ },
+ "serviceLevel": {
+ "title": "serviceLevel",
+ "type": "string",
+ "description": "The service level of the file system",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Ultra"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard",
+ "description": "Standard service level"
+ },
+ {
+ "value": "Premium",
+ "description": "Premium service level"
+ },
+ {
+ "value": "Ultra",
+ "description": "Ultra service level"
+ }
+ ]
+ },
+ "example": "Ultra",
+ "default": "Premium"
+ },
+ "usageThreshold": {
+ "title": "usageThreshold",
+ "type": "integer",
+ "format": "int64",
+ "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.",
+ "minimum": 107374182400,
+ "maximum": 109951162777600,
+ "default": 107374182400,
+ "example": 107374182400
+ },
+ "exportPolicy": {
+ "title": "exportPolicy",
+ "description": "Set of export policy rules",
+ "properties": {
+ "rules": {
+ "title": "Export policy rule",
+ "description": "Export policy rule",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/exportPolicyRule"
+ }
+ }
+ }
+ },
+ "protocolTypes": {
+ "title": "protocolTypes",
+ "description": "Set of protocol types",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "NFSv4.1"
+ ]
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "snapshotId": {
+ "title": "Snapshot ID",
+ "type": "string",
+ "description": "UUID v4 or resource identifier used to identify the Snapshot.",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "backupId": {
+ "title": "Backup ID",
+ "type": "string",
+ "description": "UUID v4 or resource identifier used to identify the Backup.",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "baremetalTenantId": {
+ "title": "Baremetal Tenant ID",
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique Baremetal Tenant Identifier.",
+ "example": "9560acf5-4e3a-12e7-9bdb-02007cca7779"
+ },
+ "subnetId": {
+ "type": "string",
+ "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes"
+ },
+ "mountTargets": {
+ "title": "mountTargets",
+ "type": "array",
+ "description": "List of mount targets",
+ "items": {
+ "$ref": "#/definitions/mountTargetProperties"
+ }
+ },
+ "volumeType": {
+ "type": "string",
+ "description": "What type of volume is this",
+ "example": "DataProtection"
+ },
+ "dataProtection": {
+ "title": "DataProtection",
+ "description": "DataProtection type volumes include an object containing details of the replication",
+ "properties": {
+ "backup": {
+ "title": "Backup",
+ "description": "Backup Properties",
+ "type": "object",
+ "$ref": "#/definitions/volumeBackupProperties"
+ },
+ "replication": {
+ "title": "Replication",
+ "description": "Replication properties",
+ "type": "object",
+ "$ref": "#/definitions/replicationObject"
+ },
+ "snapshot": {
+ "title": "Snapshot",
+ "description": "Snapshot properties.",
+ "$ref": "#/definitions/volumeSnapshotProperties"
+ }
+ }
+ },
+ "isRestoring": {
+ "type": "boolean",
+ "description": "Restoring"
+ },
+ "snapshotDirectoryVisible": {
+ "type": "boolean",
+ "description": "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)."
+ },
+ "kerberosEnabled": {
+ "type": "boolean",
+ "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later",
+ "example": false,
+ "default": false
+ },
+ "securityStyle": {
+ "type": "string",
+ "description": "The security style of volume",
+ "enum": [
+ "ntfs",
+ "unix"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityStyle",
+ "modelAsString": true
+ }
+ },
+ "smbEncryption": {
+ "type": "boolean",
+ "description": "Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later",
+ "example": false,
+ "default": false
+ },
+ "smbContinuouslyAvailable": {
+ "type": "boolean",
+ "description": "Enables continuously available share property for smb volume. Only applicable for SMB volume",
+ "example": false,
+ "default": false
+ },
+ "throughputMibps": {
+ "title": "Maximum throughput in Mibps that can be achieved by this volume",
+ "type": "number",
+ "example": 128.22,
+ "maximum": 4500,
+ "minimum": 1,
+ "multipleOf": 0.001
+ }
+ }
+ },
+ "exportPolicyRule": {
+ "description": "Volume Export Policy Rule",
+ "type": "object",
+ "properties": {
+ "ruleIndex": {
+ "type": "integer",
+ "description": "Order index",
+ "format": "int32"
+ },
+ "unixReadOnly": {
+ "type": "boolean",
+ "description": "Read only access"
+ },
+ "unixReadWrite": {
+ "type": "boolean",
+ "description": "Read and write access"
+ },
+ "kerberos5ReadOnly": {
+ "type": "boolean",
+ "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later",
+ "example": false,
+ "default": false
+ },
+ "kerberos5ReadWrite": {
+ "type": "boolean",
+ "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later",
+ "example": true,
+ "default": false
+ },
+ "kerberos5iReadOnly": {
+ "type": "boolean",
+ "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later",
+ "example": false,
+ "default": false
+ },
+ "kerberos5iReadWrite": {
+ "type": "boolean",
+ "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later",
+ "example": true,
+ "default": false
+ },
+ "kerberos5pReadOnly": {
+ "type": "boolean",
+ "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later",
+ "example": false,
+ "default": false
+ },
+ "kerberos5pReadWrite": {
+ "type": "boolean",
+ "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later",
+ "example": true,
+ "default": false
+ },
+ "cifs": {
+ "type": "boolean",
+ "description": "Allows CIFS protocol"
+ },
+ "nfsv3": {
+ "type": "boolean",
+ "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes"
+ },
+ "nfsv41": {
+ "type": "boolean",
+ "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes"
+ },
+ "allowedClients": {
+ "type": "string",
+ "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names"
+ },
+ "hasRootAccess": {
+ "type": "boolean",
+ "description": "Has root access to volume",
+ "example": true,
+ "default": true
+ }
+ }
+ },
+ "volumeBackupProperties": {
+ "description": "Volume Backup Properties",
+ "type": "object",
+ "properties": {
+ "backupPolicyId": {
+ "type": "string",
+ "description": "Backup Policy Resource ID"
+ },
+ "policyEnforced": {
+ "type": "boolean",
+ "description": "Policy Enforced"
+ },
+ "vaultId": {
+ "type": "string",
+ "description": "Vault Resource ID"
+ },
+ "backupEnabled": {
+ "type": "boolean",
+ "description": "Backup Enabled"
+ }
+ }
+ },
+ "replicationObject": {
+ "description": "Replication properties",
+ "type": "object",
+ "required": [
+ "replicationSchedule",
+ "remoteVolumeResourceId"
+ ],
+ "properties": {
+ "replicationId": {
+ "type": "string",
+ "description": "Id"
+ },
+ "endpointType": {
+ "type": "string",
+ "description": "Indicates whether the local volume is the source or destination for the Volume Replication",
+ "enum": [
+ "src",
+ "dst"
+ ],
+ "x-ms-enum": {
+ "name": "EndpointType",
+ "modelAsString": true
+ }
+ },
+ "replicationSchedule": {
+ "type": "string",
+ "description": "Schedule",
+ "enum": [
+ "_10minutely",
+ "hourly",
+ "daily"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationSchedule",
+ "modelAsString": true
+ }
+ },
+ "remoteVolumeResourceId": {
+ "type": "string",
+ "description": "The resource ID of the remote volume."
+ },
+ "remoteVolumeRegion": {
+ "type": "string",
+ "description": "The remote region for the other end of the Volume Replication."
+ }
+ }
+ },
+ "volumeSnapshotProperties": {
+ "description": "Volume Snapshot Properties",
+ "type": "object",
+ "properties": {
+ "snapshotPolicyId": {
+ "type": "string",
+ "description": "Snapshot Policy ResourceId"
+ }
+ }
+ },
+ "replicationStatus": {
+ "description": "Replication status",
+ "type": "object",
+ "properties": {
+ "healthy": {
+ "type": "boolean",
+ "description": "Replication health check"
+ },
+ "relationshipStatus": {
+ "type": "string",
+ "description": "Status of the mirror relationship",
+ "enum": [
+ "Idle",
+ "Transferring"
+ ],
+ "x-ms-enum": {
+ "name": "RelationshipStatus",
+ "modelAsString": true
+ }
+ },
+ "mirrorState": {
+ "type": "string",
+ "description": "The status of the replication",
+ "enum": [
+ "Uninitialized",
+ "Mirrored",
+ "Broken"
+ ],
+ "x-ms-enum": {
+ "name": "MirrorState",
+ "modelAsString": true
+ }
+ },
+ "totalProgress": {
+ "type": "string",
+ "description": "The progress of the replication"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Displays error message if the replication is in an error state"
+ }
+ }
+ },
+ "volumePatch": {
+ "description": "Volume patch resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Patchable volume properties",
+ "$ref": "#/definitions/volumePatchProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "volumePatchProperties": {
+ "description": "Patchable volume properties",
+ "type": "object",
+ "properties": {
+ "serviceLevel": {
+ "title": "serviceLevel",
+ "type": "string",
+ "description": "The service level of the file system",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Ultra"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard",
+ "description": "Standard service level"
+ },
+ {
+ "value": "Premium",
+ "description": "Premium service level"
+ },
+ {
+ "value": "Ultra",
+ "description": "Ultra service level"
+ }
+ ]
+ },
+ "example": "Ultra",
+ "default": "Premium"
+ },
+ "usageThreshold": {
+ "title": "usageThreshold",
+ "type": "integer",
+ "format": "int64",
+ "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.",
+ "minimum": 107374182400,
+ "maximum": 109951162777600,
+ "default": 107374182400,
+ "example": 107374182400
+ },
+ "exportPolicy": {
+ "title": "exportPolicy",
+ "description": "Set of export policy rules",
+ "properties": {
+ "rules": {
+ "title": "Export policy rule",
+ "description": "Export policy rule",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/exportPolicyRule"
+ }
+ }
+ }
+ },
+ "throughputMibps": {
+ "title": "Maximum throughput in Mibps that can be achieved by this volume",
+ "type": "number",
+ "example": "128.22",
+ "maximum": 4500,
+ "minimum": 1,
+ "multipleOf": 0.001
+ },
+ "dataProtection": {
+ "title": "DataProtection",
+ "description": "DataProtection type volumes include an object containing details of the replication",
+ "properties": {
+ "backup": {
+ "title": "Backup",
+ "description": "Backup Properties",
+ "type": "object",
+ "$ref": "#/definitions/volumeBackupProperties"
+ }
+ }
+ }
+ }
+ },
+ "mountTarget": {
+ "description": "Mount Target",
+ "type": "object",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags",
+ "x-ms-client-flatten": true
+ },
+ "properties": {
+ "description": "Mount Target Properties",
+ "$ref": "#/definitions/mountTargetProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "mountTargetProperties": {
+ "description": "Mount target properties",
+ "type": "object",
+ "required": [
+ "fileSystemId"
+ ],
+ "properties": {
+ "mountTargetId": {
+ "title": "mountTargetId",
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the MountTarget",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "fileSystemId": {
+ "title": "fileSystemId",
+ "type": "string",
+ "description": "UUID v4 used to identify the MountTarget",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "ipAddress": {
+ "title": "ipAddress",
+ "description": "The mount target's IPv4 address",
+ "type": "string",
+ "readOnly": true,
+ "example": "1.2.3.4"
+ },
+ "smbServerFqdn": {
+ "title": "smbServerFQDN",
+ "description": "The SMB server's Fully Qualified Domain Name, FQDN",
+ "type": "string",
+ "example": "fullyqualified.domainname.com"
+ }
+ }
+ },
+ "snapshotsList": {
+ "description": "List of Snapshots",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of Snapshots",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/snapshot"
+ }
+ }
+ }
+ },
+ "snapshot": {
+ "description": "Snapshot of a Volume",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "properties": {
+ "description": "Snapshot Properties",
+ "$ref": "#/definitions/snapshotProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "snapshotPatch": {
+ "description": "Snapshot patch",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {}
+ },
+ "snapshotProperties": {
+ "description": "Snapshot properties",
+ "type": "object",
+ "properties": {
+ "snapshotId": {
+ "title": "snapshotId",
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the Snapshot",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "created": {
+ "title": "name",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The creation date of the snapshot",
+ "example": "2017-08-15 13:23:33"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ }
+ }
+ },
+ "snapshotPolicyProperties": {
+ "description": "Snapshot policy properties",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Snapshot policy name"
+ },
+ "hourlySchedule": {
+ "title": "hourlySchedule",
+ "description": "Schedule for hourly snapshots",
+ "type": "object",
+ "$ref": "#/definitions/hourlySchedule"
+ },
+ "dailySchedule": {
+ "title": "dailySchedule",
+ "description": "Schedule for daily snapshots",
+ "type": "object",
+ "$ref": "#/definitions/dailySchedule"
+ },
+ "weeklySchedule": {
+ "title": "weeklySchedule",
+ "description": "Schedule for weekly snapshots",
+ "type": "object",
+ "$ref": "#/definitions/weeklySchedule"
+ },
+ "monthlySchedule": {
+ "title": "monthlySchedule",
+ "description": "Schedule for monthly snapshots",
+ "type": "object",
+ "$ref": "#/definitions/monthlySchedule"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "The property to decide policy is enabled or not"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ }
+ }
+ },
+ "snapshotPolicy": {
+ "description": "Snapshot policy information",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location",
+ "properties"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Snapshot policy Properties",
+ "$ref": "#/definitions/snapshotPolicyProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "snapshotPoliciesList": {
+ "description": "List of Snapshot Policies",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of snapshot policies",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ }
+ }
+ },
+ "snapshotPolicyDetails": {
+ "description": "Snapshot policy properties",
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Snapshot policy Properties",
+ "$ref": "#/definitions/snapshotPolicyProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "snapshotPolicyPatch": {
+ "description": "Snapshot policy Details for create and update",
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Snapshot Policy properties",
+ "$ref": "#/definitions/snapshotPolicyProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "snapshotPolicyVolumeList": {
+ "description": "Volumes associated with snapshot policy",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of volumes",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "readOnly": true,
+ "description": "Associated volume resource Id"
+ }
+ }
+ }
+ },
+ "hourlySchedule": {
+ "description": "Hourly Schedule properties",
+ "type": "object",
+ "properties": {
+ "snapshotsToKeep": {
+ "type": "integer",
+ "description": "Hourly snapshot count to keep",
+ "format": "int32"
+ },
+ "minute": {
+ "type": "integer",
+ "description": "Indicates which minute snapshot should be taken",
+ "example": "30",
+ "format": "int32"
+ },
+ "usedBytes": {
+ "type": "integer",
+ "description": "Resource size in bytes, current storage usage for the volume in bytes",
+ "format": "int64"
+ }
+ }
+ },
+ "dailySchedule": {
+ "description": "Daily Schedule properties",
+ "type": "object",
+ "properties": {
+ "snapshotsToKeep": {
+ "type": "integer",
+ "description": "Daily snapshot count to keep",
+ "format": "int32"
+ },
+ "hour": {
+ "type": "integer",
+ "description": "Indicates which hour in UTC timezone a snapshot should be taken",
+ "example": "11",
+ "format": "int32"
+ },
+ "minute": {
+ "type": "integer",
+ "description": "Indicates which minute snapshot should be taken",
+ "example": "30",
+ "format": "int32"
+ },
+ "usedBytes": {
+ "type": "integer",
+ "description": "Resource size in bytes, current storage usage for the volume in bytes",
+ "format": "int64"
+ }
+ }
+ },
+ "weeklySchedule": {
+ "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days",
+ "type": "object",
+ "properties": {
+ "snapshotsToKeep": {
+ "type": "integer",
+ "description": "Weekly snapshot count to keep",
+ "format": "int32"
+ },
+ "day": {
+ "type": "string",
+ "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english",
+ "example": "Sunday,Monday"
+ },
+ "hour": {
+ "type": "integer",
+ "description": "Indicates which hour in UTC timezone a snapshot should be taken",
+ "example": "11",
+ "format": "int32"
+ },
+ "minute": {
+ "type": "integer",
+ "description": "Indicates which minute snapshot should be taken",
+ "example": "30",
+ "format": "int32"
+ },
+ "usedBytes": {
+ "type": "integer",
+ "description": "Resource size in bytes, current storage usage for the volume in bytes",
+ "format": "int64"
+ }
+ }
+ },
+ "monthlySchedule": {
+ "description": "Monthly Schedule properties",
+ "type": "object",
+ "properties": {
+ "snapshotsToKeep": {
+ "type": "integer",
+ "description": "Monthly snapshot count to keep",
+ "format": "int32"
+ },
+ "daysOfMonth": {
+ "type": "string",
+ "description": "Indicates which days of the month snapshot should be taken. A comma delimited string.",
+ "example": "1,11,21"
+ },
+ "hour": {
+ "type": "integer",
+ "description": "Indicates which hour in UTC timezone a snapshot should be taken",
+ "example": "11",
+ "format": "int32"
+ },
+ "minute": {
+ "type": "integer",
+ "description": "Indicates which minute snapshot should be taken",
+ "example": "30",
+ "format": "int32"
+ },
+ "usedBytes": {
+ "type": "integer",
+ "description": "Resource size in bytes, current storage usage for the volume in bytes",
+ "format": "int64"
+ }
+ }
+ },
+ "volumeRevert": {
+ "description": "revert a volume to the snapshot",
+ "type": "object",
+ "properties": {
+ "snapshotId": {
+ "type": "string",
+ "description": "Resource id of the snapshot"
+ }
+ }
+ },
+ "authorizeRequest": {
+ "description": "Authorize request",
+ "type": "object",
+ "properties": {
+ "remoteVolumeResourceId": {
+ "type": "string",
+ "description": "Resource id of the remote volume"
+ }
+ }
+ },
+ "breakReplicationRequest": {
+ "description": "Break replication request",
+ "type": "object",
+ "properties": {
+ "forceBreakReplication": {
+ "type": "boolean",
+ "description": "If replication is in status transferring and you want to force break the replication, set to true"
+ }
+ }
+ },
+ "poolChangeRequest": {
+ "description": "Pool change request",
+ "type": "object",
+ "required": [
+ "newPoolResourceId"
+ ],
+ "properties": {
+ "newPoolResourceId": {
+ "type": "string",
+ "description": "Resource id of the pool to move volume to"
+ }
+ }
+ },
+ "backupsList": {
+ "description": "List of Backups",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of Backups",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/backup"
+ }
+ }
+ }
+ },
+ "backup": {
+ "description": "Backup of a Volume",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location",
+ "properties"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "properties": {
+ "description": "Backup Properties",
+ "$ref": "#/definitions/backupProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "backupPatch": {
+ "description": "Backup patch",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Backup Properties",
+ "$ref": "#/definitions/backupProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "backupProperties": {
+ "description": "Backup properties",
+ "type": "object",
+ "properties": {
+ "backupId": {
+ "title": "backupId",
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the Backup",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "creationDate": {
+ "title": "name",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The creation date of the backup",
+ "example": "2017-08-15 13:23:33"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "size": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Size of backup",
+ "format": "int64"
+ },
+ "label": {
+ "type": "string",
+ "description": "Label for backup"
+ },
+ "backupType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of backup adhoc or scheduled"
+ }
+ }
+ },
+ "backupPolicyProperties": {
+ "description": "Backup policy properties",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of backup policy"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "dailyBackupsToKeep": {
+ "type": "integer",
+ "description": "Daily backups count to keep",
+ "format": "int32"
+ },
+ "weeklyBackupsToKeep": {
+ "type": "integer",
+ "description": "Weekly backups count to keep",
+ "format": "int32"
+ },
+ "monthlyBackupsToKeep": {
+ "type": "integer",
+ "description": "Monthly backups count to keep",
+ "format": "int32"
+ },
+ "yearlyBackupsToKeep": {
+ "type": "integer",
+ "description": "Yearly backups count to keep",
+ "format": "int32"
+ },
+ "volumesAssigned": {
+ "type": "integer",
+ "description": "Volumes using current backup policy",
+ "format": "int32"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "The property to decide policy is enabled or not"
+ },
+ "volumeBackups": {
+ "description": "A list of volumes assigned to this policy",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/volumeBackups"
+ }
+ }
+ }
+ },
+ "backupPolicy": {
+ "description": "Backup policy information",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location",
+ "properties"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Backup policy Properties",
+ "$ref": "#/definitions/backupPolicyProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "backupPoliciesList": {
+ "description": "List of Backup Policies",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of backup policies",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ }
+ }
+ },
+ "backupPolicyDetails": {
+ "description": "Backup policy properties",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Backup policy Properties",
+ "$ref": "#/definitions/backupPolicyProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "backupPolicyPatch": {
+ "description": "Backup policy Details for create and update",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Backup policy Properties",
+ "$ref": "#/definitions/backupPolicyProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "volumeBackups": {
+ "description": "Volume details using the backup policy",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "volumeName": {
+ "type": "string",
+ "description": "Volume name"
+ },
+ "backupsCount": {
+ "type": "integer",
+ "description": "Total count of backups for volume",
+ "format": "int32"
+ },
+ "policyEnabled": {
+ "type": "boolean",
+ "description": "Policy enabled"
+ }
+ }
+ },
+ "vaultList": {
+ "description": "List of Vaults",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of vaults",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/vault"
+ }
+ }
+ }
+ },
+ "vault": {
+ "description": "Vault information",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location",
+ "properties"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "properties": {
+ "description": "Vault Properties",
+ "$ref": "#/definitions/vaultProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "vaultProperties": {
+ "description": "Vault properties",
+ "type": "object",
+ "properties": {
+ "vaultName": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Vault Name"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "location": {
+ "name": "location",
+ "description": "The location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroup": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ },
+ "AccountName": {
+ "name": "accountName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the NetApp account",
+ "x-ms-parameter-location": "method"
+ },
+ "PoolName": {
+ "name": "poolName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The name of the capacity pool",
+ "x-ms-parameter-location": "method"
+ },
+ "VolumeName": {
+ "name": "volumeName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The name of the volume",
+ "x-ms-parameter-location": "method"
+ },
+ "MountTargetName": {
+ "name": "mountTargetName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the mount target",
+ "x-ms-parameter-location": "method"
+ },
+ "SnapshotName": {
+ "name": "snapshotName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the mount target",
+ "x-ms-parameter-location": "method"
+ },
+ "SnapshotPolicyName": {
+ "name": "snapshotPolicyName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the snapshot policy target",
+ "x-ms-parameter-location": "method"
+ },
+ "BackupName": {
+ "name": "backupName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the backup",
+ "x-ms-parameter-location": "method"
+ },
+ "BackupPolicyName": {
+ "name": "backupPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Backup policy Name which uniquely identify backup policy.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "description": "Version of the API to be used with the client request.",
+ "in": "query",
+ "type": "string",
+ "required": true,
+ "default": "2020-09-01"
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/readme.azureresourceschema.md b/specification/netapp/resource-manager/readme.azureresourceschema.md
index 0637bb1bc4a5..ffd7b58e2af3 100644
--- a/specification/netapp/resource-manager/readme.azureresourceschema.md
+++ b/specification/netapp/resource-manager/readme.azureresourceschema.md
@@ -6,7 +6,8 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
- - tag: schema-netapp-2020-08-01
+ - tag: schema-netapp-2020-09-01
+ - tag: schema-netapp-2020-08-01
- tag: schema-netapp-2020-07-01
- tag: schema-netapp-2020-06-01
- tag: schema-netapp-2020-02-01
@@ -22,6 +23,17 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-netapp-2020-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-netapp-2020-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.NetApp/stable/2020-09-01/netapp.json
+
+```
+
### Tag: schema-netapp-2020-08-01 and azureresourceschema
``` yaml $(tag) == 'schema-netapp-2020-08-01' && $(azureresourceschema)
diff --git a/specification/netapp/resource-manager/readme.go.md b/specification/netapp/resource-manager/readme.go.md
index af900ed302fa..2b54462a3fe8 100644
--- a/specification/netapp/resource-manager/readme.go.md
+++ b/specification/netapp/resource-manager/readme.go.md
@@ -13,7 +13,8 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- - tag: package-netapp-2020-08-01
+ - tag: package-netapp-2020-09-01
+ - tag: package-netapp-2020-08-01
- tag: package-netapp-2020-07-01
- tag: package-netapp-2020-06-01
- tag: package-netapp-2020-05-01
@@ -27,6 +28,14 @@ batch:
- tag: package-netapp-2019-05-01
- tag: package-2017-08-15
```
+### Tag: package-netapp-2020-09-01 and go
+
+These settings apply only when `--tag=package-netapp-2020-09-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-netapp-2020-09-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-09-01/$(namespace)
+```
### Tag: package-netapp-2020-08-01 and go
diff --git a/specification/netapp/resource-manager/readme.java.md b/specification/netapp/resource-manager/readme.java.md
index b2986c450d5b..7d8a0adbc57b 100644
--- a/specification/netapp/resource-manager/readme.java.md
+++ b/specification/netapp/resource-manager/readme.java.md
@@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-netapp
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-netapp-2020-09-01
- tag: package-netapp-2020-08-01
- tag: package-netapp-2020-07-01
- tag: package-netapp-2020-06-01
@@ -30,6 +31,20 @@ batch:
- tag: package-netapp-2019-05-01
- tag: package-2017-08-15
```
+
+### Tag: package-netapp-2020-09-01 and java
+
+These settings apply only when `--tag=package-netapp-2020-09-01 --java` is specified on the command line.
+Please also specify the `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-netapp-2020-09-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.netapp.v2020_09_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2020_09_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-netapp-2020-08-01 and java
These settings apply only when `--tag=package-netapp-2020-08-01 --java` is specified on the command line.
diff --git a/specification/netapp/resource-manager/readme.md b/specification/netapp/resource-manager/readme.md
index ef7f2ca45cb9..cb8250cb59f6 100644
--- a/specification/netapp/resource-manager/readme.md
+++ b/specification/netapp/resource-manager/readme.md
@@ -28,7 +28,16 @@ These are the global settings for the Azure NetApp Files API.
title: NetAppManagementClient
description: Microsoft NetApp Azure Resource Provider specification
openapi-type: arm
-tag: package-netapp-2020-08-01
+tag: package-netapp-2020-09-01
+```
+
+### Tag: package-netapp-2020-09-01
+
+These settings apply only when `--tag=package-netapp-2020-09-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-netapp-2020-09-01'
+input-file:
+- Microsoft.NetApp/stable/2020-09-01/netapp.json
```
### Tag: package-netapp-2020-08-01
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/QueryPackQueries_API.json
similarity index 98%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/QueryPackQueries_API.json
index 6c1383c0621b..56a3408ca6cc 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/QueryPackQueries_API.json
@@ -34,7 +34,7 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/queryPacks/{queryPackName}/queries": {
"get": {
"description": "Gets a list of Queries defined within a Log Analytics QueryPack.",
"operationId": "Queries_List",
@@ -85,7 +85,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries/search": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/queryPacks/{queryPackName}/queries/search": {
"post": {
"description": "Search a list of Queries defined within a Log Analytics QueryPack according to given search properties.",
"operationId": "Queries_Search",
@@ -145,7 +145,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries/{id}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/queryPacks/{queryPackName}/queries/{id}": {
"get": {
"description": "Gets a specific Log Analytics Query defined within a Log Analytics QueryPack.",
"operationId": "Queries_Get",
@@ -445,10 +445,12 @@
"$ref": "#/definitions/AzureResourceProperties"
}
],
- "description": "A Log Analytics QueryPack-Query definition."
+ "description": "A Log Analytics QueryPack-Query definition.",
+ "x-ms-azure-resource": true
},
"LogAnalyticsQueryPackQueryProperties": {
"description": "Properties that define an Log Analytics QueryPack-Query resource.",
+ "x-ms-azure-resource": true,
"properties": {
"id": {
"type": "string",
@@ -672,6 +674,7 @@
"in": "query",
"required": false,
"type": "integer",
+ "format": "int64",
"description": "Maximum items returned in page.",
"x-ms-parameter-location": "method"
},
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/QueryPacks_API.json
similarity index 98%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/QueryPacks_API.json
index 58d3e127d4db..b801dbeafb58 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/QueryPacks_API.json
@@ -34,7 +34,7 @@
}
},
"paths": {
- "/providers/Microsoft.Insights/operations": {
+ "/providers/Microsoft.OperationalInsights/operations": {
"get": {
"tags": [
"Operations"
@@ -71,7 +71,7 @@
]
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/queryPacks": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/queryPacks": {
"get": {
"description": "Gets a list of all Log Analytics QueryPacks within a subscription.",
"operationId": "QueryPacks_List",
@@ -107,7 +107,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/queryPacks": {
"get": {
"description": "Gets a list of Log Analytics QueryPacks within a resource group.",
"operationId": "QueryPacks_ListByResourceGroup",
@@ -146,7 +146,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/queryPacks/{queryPackName}": {
"delete": {
"description": "Deletes a Log Analytics QueryPack.",
"operationId": "QueryPacks_Delete",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
similarity index 88%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
index c2666213a43f..abee6d675884 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
@@ -9,9 +9,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
- "type": "microsoft.insights/queryPacks/queries",
+ "type": "microsoft.operationalinsights/queryPacks/queries",
"systemData": {
"createdBy": "string",
"createdByType": "application",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
similarity index 82%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
index 657b2d706e0f..1e52e1f83c82 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
@@ -11,9 +11,9 @@
"body": {
"value": [
{
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476",
"name": "4337bb16-d6fe-4ff7-97cf-59df25941476",
- "type": "microsoft.insights/queryPacks/queries",
+ "type": "microsoft.operationalinsights/queryPacks/queries",
"systemData": {
"createdBy": "string",
"createdByType": "application",
@@ -33,9 +33,9 @@
}
},
{
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
- "type": "microsoft.insights/queryPacks/queries",
+ "type": "microsoft.operationalinsights/queryPacks/queries",
"systemData": {
"createdBy": "string",
"createdByType": "application",
@@ -55,9 +55,9 @@
}
},
{
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
- "type": "microsoft.insights/queryPacks/queries",
+ "type": "microsoft.operationalinsights/queryPacks/queries",
"systemData": {
"createdBy": "string",
"createdByType": "application",
@@ -77,9 +77,9 @@
}
},
{
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a5a9010e-e4b7-45ad-8b14-09d7e6082819",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/a5a9010e-e4b7-45ad-8b14-09d7e6082819",
"name": "a5a9010e-e4b7-45ad-8b14-09d7e6082819",
- "type": "microsoft.insights/queryPacks/queries",
+ "type": "microsoft.operationalinsights/queryPacks/queries",
"systemData": {
"createdBy": "string",
"createdByType": "application",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
similarity index 92%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
index 7146d0101472..d9917e6603df 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
@@ -29,9 +29,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
- "type": "microsoft.insights/queryPacks/queries",
+ "type": "microsoft.operationalinsights/queryPacks/queries",
"systemData": {
"createdBy": "string",
"createdByType": "application",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
similarity index 86%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
index 7a5d2118c10d..1a41feb44028 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
@@ -25,9 +25,9 @@
"body": {
"value": [
{
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476",
"name": "4337bb16-d6fe-4ff7-97cf-59df25941476",
- "type": "microsoft.insights/queryPacks/queries",
+ "type": "microsoft.operationalinsights/queryPacks/queries",
"systemData": {
"createdBy": "string",
"createdByType": "application",
@@ -60,9 +60,9 @@
}
},
{
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
- "type": "microsoft.insights/queryPacks/queries",
+ "type": "microsoft.operationalinsights/queryPacks/queries",
"systemData": {
"createdBy": "string",
"createdByType": "application",
@@ -95,9 +95,9 @@
}
},
{
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
- "type": "microsoft.insights/queryPacks/queries",
+ "type": "microsoft.operationalinsights/queryPacks/queries",
"systemData": {
"createdBy": "string",
"createdByType": "application",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json
similarity index 92%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json
index 7146d0101472..d9917e6603df 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json
@@ -29,9 +29,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
- "type": "microsoft.insights/queryPacks/queries",
+ "type": "microsoft.operationalinsights/queryPacks/queries",
"systemData": {
"createdBy": "string",
"createdByType": "application",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksCreate.json
similarity index 83%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksCreate.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksCreate.json
index d8054fd78907..8ebfb1c4570f 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksCreate.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksCreate.json
@@ -12,9 +12,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack",
"name": "my-querypack",
- "type": "microsoft.insights/querypacks",
+ "type": "microsoft.operationalinsights/querypacks",
"location": "South Central US",
"tags": {},
"properties": {
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksDelete.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksDelete.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksDelete.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksGet.json
similarity index 80%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksGet.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksGet.json
index 47c957673279..8241e5bb36cf 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksGet.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksGet.json
@@ -8,9 +8,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack",
"name": "my-querypack",
- "type": "microsoft.insights/querypacks",
+ "type": "microsoft.operationalinsights/querypacks",
"location": "southcentralus",
"tags": {},
"properties": {
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksList.json
similarity index 81%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksList.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksList.json
index 5e49a3fcf051..837f7419654b 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksList.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksList.json
@@ -8,9 +8,9 @@
"body": {
"value": [
{
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack",
"name": "my-querypack",
- "type": "microsoft.insights/querypacks",
+ "type": "microsoft.operationalinsights/querypacks",
"location": "South Central US",
"tags": {},
"properties": {
@@ -21,9 +21,9 @@
}
},
{
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-other-resource-group/providers/microsoft.insights/queryPacks/my-other-querypack",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-other-resource-group/providers/microsoft.operationalinsights/queryPacks/my-other-querypack",
"name": "my-other-querypack",
- "type": "microsoft.insights/querypacks",
+ "type": "microsoft.operationalinsights/querypacks",
"location": "South Central US",
"tags": {},
"properties": {
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksListByResourceGroup.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksListByResourceGroup.json
similarity index 78%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksListByResourceGroup.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksListByResourceGroup.json
index 62c49b8fc66c..5c5ef2bc3212 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksListByResourceGroup.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksListByResourceGroup.json
@@ -9,9 +9,9 @@
"body": {
"value": [
{
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack",
"name": "my-querypack",
- "type": "microsoft.insights/querypacks",
+ "type": "microsoft.operationalinsights/querypacks",
"location": "South Central US",
"tags": {},
"properties": {
@@ -22,9 +22,9 @@
}
},
{
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-other-querypack",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-other-querypack",
"name": "my-other-querypack",
- "type": "microsoft.insights/querypacks",
+ "type": "microsoft.operationalinsights/querypacks",
"location": "South Central US",
"tags": {},
"properties": {
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksUpdate.json
similarity index 84%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdate.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksUpdate.json
index 8dbdca0b6b48..370aea09af1e 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdate.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksUpdate.json
@@ -15,9 +15,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack",
"name": "my-querypack",
- "type": "microsoft.insights/querypacks",
+ "type": "microsoft.operationalinsights/querypacks",
"location": "South Central US",
"tags": {
"Tag1": "Value1"
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdateTagsOnly.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksUpdateTagsOnly.json
similarity index 86%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdateTagsOnly.json
rename to specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksUpdateTagsOnly.json
index 5ad012214e92..59a4d34d52d5 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdateTagsOnly.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-09-01-preview/examples/QueryPacksUpdateTagsOnly.json
@@ -14,9 +14,9 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack",
"name": "my-querypack",
- "type": "microsoft.insights/querypacks",
+ "type": "microsoft.operationalinsights/querypacks",
"location": "South Central US",
"tags": {
"Tag1": "Value1",
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/Tables.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/Tables.json
new file mode 100644
index 000000000000..75938dc1c7e8
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/Tables.json
@@ -0,0 +1,245 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Log Analytics",
+ "description": "Azure Log Analytics API reference",
+ "version": "2020-10-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables": {
+ "get": {
+ "tags": [
+ "Tables"
+ ],
+ "x-ms-examples": {
+ "TablesListByWorkspace": {
+ "$ref": "./examples/TablesList.json"
+ }
+ },
+ "operationId": "Tables_ListByWorkspace",
+ "description": "Gets all the tables for the specified Log Analytics workspace.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "#/definitions/TablesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/{tableName}": {
+ "patch": {
+ "tags": [
+ "Tables"
+ ],
+ "x-ms-examples": {
+ "TablesSet": {
+ "$ref": "./examples/TablesUpdate.json"
+ }
+ },
+ "operationId": "Tables_Update",
+ "description": "Updates a Log Analytics workspace table properties.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TableNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Table"
+ },
+ "description": "The parameters required to update table properties."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "#/definitions/Table"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Tables"
+ ],
+ "x-ms-examples": {
+ "TablesGet": {
+ "$ref": "./examples/TablesGet.json"
+ }
+ },
+ "operationId": "Tables_Get",
+ "description": "Gets a Log Analytics workspace table.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TableNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "#/definitions/Table"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "TableProperties": {
+ "properties": {
+ "retentionInDays": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 7,
+ "maximum": 730,
+ "description": "The data table data retention in days, between 7 and 730. Setting this property to null will default to the workspace retention."
+ },
+ "isTroubleshootingAllowed": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Specifies if IsTroubleshootingEnabled property can be set for this table."
+ },
+ "isTroubleshootEnabled": {
+ "type": "boolean",
+ "description": "Enable or disable troubleshoot for this table."
+ },
+ "lastTroubleshootDate": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Last time when troubleshooting was set for this table."
+ }
+ },
+ "description": "Table properties."
+ },
+ "Table": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TableProperties",
+ "description": "Table properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Workspace data table definition."
+ },
+ "TablesListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Table"
+ },
+ "description": "A list of data tables."
+ }
+ },
+ "description": "The list tables operation response."
+ }
+ },
+ "parameters": {
+ "TableNameParameter": {
+ "name": "tableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the table.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/TablesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/TablesGet.json
new file mode 100644
index 000000000000..c05d332a9e08
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/TablesGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceGroupName": "oiautorest6685",
+ "workspaceName": "oiautorest6685",
+ "api-version": "2020-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000",
+ "tableName": "table1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "retentionInDays": 30,
+ "isTroubleshootingAllowed": true,
+ "isTroubleshootEnabled": true,
+ "lastTroubleshootDate": "Thu, 19 Nov 2020 07:40:51 GMT"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table1",
+ "name": "table1"
+ }
+ }
+ }
+}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/TablesList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/TablesList.json
new file mode 100644
index 000000000000..ef14768a5cdd
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/TablesList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "resourceGroupName": "oiautorest6685",
+ "workspaceName": "oiautorest6685",
+ "api-version": "2020-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "properties": {
+ "retentionInDays": 30,
+ "isTroubleshootingAllowed": true,
+ "isTroubleshootEnabled": true,
+ "lastTroubleshootDate": "Thu, 19 Nov 2020 07:40:51 GMT"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table1",
+ "name": "table1"
+ },
+ {
+ "properties": {
+ "retentionInDays": 7,
+ "isTroubleshootingAllowed": true
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table2",
+ "name": "table2"
+ },
+ {
+ "properties": {
+ "retentionInDays": 7,
+ "isTroubleshootingAllowed": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table3",
+ "name": "table3"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/TablesUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/TablesUpdate.json
new file mode 100644
index 000000000000..a58178289759
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/TablesUpdate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "oiautorest6685",
+ "workspaceName": "oiautorest6685",
+ "api-version": "2020-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000",
+ "tableName": "table1",
+ "parameters": {
+ "properties": {
+ "retentionInDays": 40,
+ "isTroubleshootEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "retentionInDays": 40,
+ "isTroubleshootingAllowed": true,
+ "isTroubleshootEnabled": true
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/Microsoft.OperationalInsights/workspaces/oiautorest6685/tables/table1",
+ "name": "table1"
+ }
+ }
+ }
+}
diff --git a/specification/operationalinsights/resource-manager/readme.azureresourceschema.md b/specification/operationalinsights/resource-manager/readme.azureresourceschema.md
index bccbbe033234..d10682ba189e 100644
--- a/specification/operationalinsights/resource-manager/readme.azureresourceschema.md
+++ b/specification/operationalinsights/resource-manager/readme.azureresourceschema.md
@@ -10,6 +10,7 @@ batch:
- tag: schema-operationalinsights-2020-10-01
- tag: schema-operationalinsights-2020-03-01-preview
- tag: schema-operationalinsights-2019-08-01-preview
+ - tag: schema-operationalinsights-2019-09-01-preview
- tag: schema-operationalinsights-2015-11-01-preview
- tag: schema-operationalinsights-2015-03-20
@@ -102,6 +103,18 @@ input-file:
```
+### Tag: schema-operationalinsights-2019-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-operationalinsights-2019-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.OperationalInsights/preview/2019-09-01-preview/QueryPacks_API.json
+ - Microsoft.OperationalInsights/preview/2019-09-01-preview/QueryPackQueries_API.json
+
+```
+
### Tag: schema-operationalinsights-2015-11-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-operationalinsights-2015-11-01-preview' && $(azureresourceschema)
diff --git a/specification/operationalinsights/resource-manager/readme.go.md b/specification/operationalinsights/resource-manager/readme.go.md
index 3d36aacd8cee..1406d6f8c58c 100644
--- a/specification/operationalinsights/resource-manager/readme.go.md
+++ b/specification/operationalinsights/resource-manager/readme.go.md
@@ -29,6 +29,15 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-09-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-09-01-preview/$(namespace)
+```
+
### Tag: package-2015-11-preview and go
These settings apply only when `--tag=package-2015-11-preview --go` is specified on the command line.
diff --git a/specification/operationalinsights/resource-manager/readme.md b/specification/operationalinsights/resource-manager/readme.md
index bfb16710d35e..7cc7c3463157 100644
--- a/specification/operationalinsights/resource-manager/readme.md
+++ b/specification/operationalinsights/resource-manager/readme.md
@@ -62,6 +62,16 @@ input-file:
- Microsoft.OperationalInsights/preview/2019-08-01-preview/OperationalInsights.json
```
+### Tag: package-2019-09-preview
+
+These settings apply only when `--tag=package-2019-09-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-09-preview'
+input-file:
+- Microsoft.OperationalInsights/preview/2019-09-01-preview/QueryPacks_API.json
+- Microsoft.OperationalInsights/preview/2019-09-01-preview/QueryPackQueries_API.json
+```
+
### Tag: package-2020-03-preview
These settings apply only when `--tag=package-2020-03-preview` is specified on the command line.
@@ -99,6 +109,7 @@ These settings apply only when `--tag=package-2020-10` is specified on the comma
input-file:
- Microsoft.OperationalInsights/stable/2020-10-01/Clusters.json
- Microsoft.OperationalInsights/stable/2020-10-01/Operations.json
+- Microsoft.OperationalInsights/stable/2020-10-01/Tables.json
- Microsoft.OperationalInsights/stable/2020-10-01/Workspaces.json
```
diff --git a/specification/operationsmanagement/resource-manager/readme.python.md b/specification/operationsmanagement/resource-manager/readme.python.md
index e476395419dc..9eb64a8b4bd4 100644
--- a/specification/operationsmanagement/resource-manager/readme.python.md
+++ b/specification/operationsmanagement/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -15,13 +15,30 @@ python:
package-version: 0.1.0
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.operationsmanagement
+package-name: azure-mgmt-operationsmanagement
+package-version: 0.1.0
+clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/operationsmanagement/azure-mgmt-operationsmanagement/azure/mgmt/operationsmanagement
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/operationsmanagement/azure-mgmt-operationsmanagement
```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/operationsmanagement/azure-mgmt-operationsmanagement/azure/mgmt/operationsmanagement
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/operationsmanagement/azure-mgmt-operationsmanagement
+```
diff --git a/specification/portal/resource-manager/readme.python.md b/specification/portal/resource-manager/readme.python.md
index 6bdb50e8d3ea..5a4ec60d1da8 100644
--- a/specification/portal/resource-manager/readme.python.md
+++ b/specification/portal/resource-manager/readme.python.md
@@ -3,7 +3,7 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-```yaml $(python)
+```yaml $(python) && !$(track2)
python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
@@ -13,9 +13,30 @@ python:
package-version: 0.1.0
clear-output-folder: true
```
+```yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.portal
+package-name: azure-mgmt-portal
+package-version: 0.1.0
+clear-output-folder: true
+```
-```yaml $(python)
+```yaml $(python) && $(python-mode) == 'create' && !$(track2)
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/portal/azure-mgmt-portal
+```
+```yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/portal/azure-mgmt-portal/azure/mgmt/portal
```
+```yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/portal/azure-mgmt-portal
+```
+```yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/portal/azure-mgmt-portal/azure/mgmt/portal
+```
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2018-06-01/QueryPerformanceInsights.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2018-06-01/QueryPerformanceInsights.json
new file mode 100644
index 000000000000..740993cf3fa7
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2018-06-01/QueryPerformanceInsights.json
@@ -0,0 +1,123 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-06-01",
+ "title": "PostgreSQLManagementClient",
+ "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."
+ },
+ "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/servers/{serverName}/resetQueryPerformanceInsightData": {
+ "post": {
+ "tags": [
+ "ResetQueryPerformanceInsightData"
+ ],
+ "operationId": "ResetQueryPerformanceInsightData",
+ "x-ms-examples": {
+ "QueryPerformanceInsightResetData": {
+ "$ref": "./examples/QueryPerformanceInsightResetData.json"
+ }
+ },
+ "description": "Reset data for Query Performance Insight.",
+ "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/QueryPerformanceInsightResetDataResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "QueryPerformanceInsightResetDataResult": {
+ "description": "Result of Query Performance Insight data reset.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "QueryPerformanceInsightResetDataResultState",
+ "modelAsString": true
+ },
+ "description": "Indicates result of the operation."
+ },
+ "message": {
+ "type": "string",
+ "description": "result operation message."
+ }
+ }
+ },
+ "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",
+ "description": "The name of the server.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2018-06-01/examples/QueryPerformanceInsightResetData.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2018-06-01/examples/QueryPerformanceInsightResetData.json
new file mode 100644
index 000000000000..20ccc408ed12
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2018-06-01/examples/QueryPerformanceInsightResetData.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testResourceGroupName",
+ "serverName": "testServerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Succeeded",
+ "message": "QPI reset data successful"
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/readme.md b/specification/postgresql/resource-manager/readme.md
index 59c38896da02..91b29e7740fa 100644
--- a/specification/postgresql/resource-manager/readme.md
+++ b/specification/postgresql/resource-manager/readme.md
@@ -111,6 +111,7 @@ input-file:
- Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json
- Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateEndpointConnections.json
- Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateLinkResources.json
+- Microsoft.DBforPostgreSQL/stable/2018-06-01/QueryPerformanceInsights.json
```
@@ -215,6 +216,7 @@ input-file:
- $(this-folder)/Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json
- $(this-folder)/Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateEndpointConnections.json
- $(this-folder)/Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateLinkResources.json
+ - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2018-06-01/QueryPerformanceInsights.json
- $(this-folder)/Microsoft.DBforPostgreSQL/stable/2020-01-01/DataEncryptionKeys.json
- $(this-folder)/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json
- $(this-folder)/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/CheckNameAvailability.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..4fe17d1c1617
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/CheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "api-version": "2020-10-05-privatepreview",
+ "nameAvailabilityRequest": {
+ "name": "name1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "message": "",
+ "name": "name1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2"
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationGet.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationGet.json
new file mode 100644
index 000000000000..c0abc3e3fedd
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestResourceGroup",
+ "serverGroupName": "hsctestsg",
+ "configurationName": "array_nulls",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg/configurations/array_nulls",
+ "name": "array_nulls",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/configurations",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "description": "Enable input of NULL elements in arrays.",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "serverRoleGroupConfigurations": [
+ {
+ "role": "Coordinator",
+ "value": "on",
+ "defaultValue": "on",
+ "source": "system-default"
+ },
+ {
+ "role": "Worker",
+ "value": "off",
+ "defaultValue": "on",
+ "source": "user-override"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationListByServer.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationListByServer.json
new file mode 100644
index 000000000000..c05f4bc2c80a
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationListByServer.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestResourceGroup",
+ "serverGroupName": "hsctestsg",
+ "serverName": "testserver",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg/servers/testserver/configurations/application_name",
+ "name": "application_name",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/servers/configurations",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "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/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg/servers/testserver/configurations/array_nulls",
+ "name": "array_nulls",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/servers/configurations",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "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/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg/servers/testserver/configurations/autovacuum",
+ "name": "autovacuum",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/servers/configurations",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "value": "on",
+ "description": "Starts the autovacuum subprocess.",
+ "defaultValue": "on",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "source": "system-default"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationListByServerGroup.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationListByServerGroup.json
new file mode 100644
index 000000000000..598f41849cf8
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationListByServerGroup.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestResourceGroup",
+ "serverGroupName": "hsctestsg",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg/configurations/array_nulls",
+ "name": "array_nulls",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/configurations",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "description": "Enable input of NULL elements in arrays.",
+ "dataType": "Boolean",
+ "allowedValues": "on,off",
+ "serverRoleGroupConfigurations": [
+ {
+ "role": "Coordinator",
+ "value": "on",
+ "defaultValue": "on",
+ "source": "system-default"
+ },
+ {
+ "role": "Worker",
+ "value": "off",
+ "defaultValue": "on",
+ "source": "user-override"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg/configurations/backslash_quote",
+ "name": "backslash_quote",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/configurations",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "description": "Sets whether \"\\'\" is allowed in string literals.",
+ "dataType": "Enumeration",
+ "allowedValues": "safe_encoding,on,off",
+ "serverRoleGroupConfigurations": [
+ {
+ "role": "Coordinator",
+ "value": "off",
+ "defaultValue": "safe_encoding",
+ "source": "user-override"
+ },
+ {
+ "role": "Worker",
+ "value": "safe_encoding",
+ "defaultValue": "safe_encoding",
+ "source": "system-default"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg/configurations/work_mem",
+ "name": "work_mem",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/configurations",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "description": "Sets the amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files.",
+ "dataType": "Integer",
+ "allowedValues": "4096-2097151",
+ "serverRoleGroupConfigurations": [
+ {
+ "role": "Coordinator",
+ "value": "158720",
+ "defaultValue": "158720",
+ "source": "system-default"
+ },
+ {
+ "role": "Worker",
+ "value": "115712",
+ "defaultValue": "115712",
+ "source": "system-default"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg/configurations/client_encoding",
+ "name": "client_encoding",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/configurations",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "description": "Sets the client's character set encoding.",
+ "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",
+ "serverRoleGroupConfigurations": [
+ {
+ "role": "Coordinator",
+ "value": "ISO_8859_7",
+ "defaultValue": "sql_ascii",
+ "source": "user-override"
+ },
+ {
+ "role": "Worker",
+ "value": "ISO_8859_7",
+ "defaultValue": "sql_ascii",
+ "source": "user-override"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationUpdate.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationUpdate.json
new file mode 100644
index 000000000000..f206a02d5d9c
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ConfigurationUpdate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestResourceGroup",
+ "serverGroupName": "hsctestsg",
+ "configurationName": "array_nulls",
+ "api-version": "2020-10-05-privatepreview",
+ "parameters": {
+ "properties": {
+ "serverRoleGroupConfigurations": [
+ {
+ "role": "Coordinator",
+ "value": "on"
+ },
+ {
+ "role": "Worker",
+ "value": "off"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg/configurations/array_nulls",
+ "name": "array_nulls",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/configurations",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "serverRoleGroupConfigurations": [
+ {
+ "role": "Coordinator",
+ "value": "on"
+ },
+ {
+ "role": "Worker",
+ "value": "off"
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleCreate.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleCreate.json
new file mode 100644
index 000000000000..e7e6f44dc26a
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "pgtestsvc4",
+ "firewallRuleName": "rule1",
+ "api-version": "2020-10-05-privatepreview",
+ "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/serverGroupsv2/pgtestsvc4/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/firewallRules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "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/serverGroupsv2/pgtestsvc4/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/firewallRules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleDelete.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleDelete.json
new file mode 100644
index 000000000000..e0a6a1ea64cb
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "pgtestsvc4",
+ "firewallRuleName": "rule1",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleGet.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleGet.json
new file mode 100644
index 000000000000..03d9d1ea6db3
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "pgtestsvc4",
+ "firewallRuleName": "rule1",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/pgtestsvc4/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/firewallRules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleListByServerGroup.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleListByServerGroup.json
new file mode 100644
index 000000000000..25d59179ee70
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/FirewallRuleListByServerGroup.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "pgtestsvc4",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/pgtestsvc4/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/firewallRules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/pgtestsvc4/firewallRules/rule2",
+ "name": "rule2",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/firewallRules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "startIpAddress": "1.0.0.0",
+ "endIpAddress": "255.0.0.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/OperationList.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/OperationList.json
new file mode 100644
index 000000000000..be0464cc5513
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/OperationList.json
@@ -0,0 +1,197 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DBforPostgreSQL/serverGroupsv2/read",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "PostgreSQL Server Group",
+ "operation": "List/Get PostgreSQL Server Groups",
+ "description": "Return the list of server groups or gets the properties for the specified server group."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/serverGroupsv2/write",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "PostgreSQL Server Group",
+ "operation": "Create/Update PostgreSQL Server Group",
+ "description": "Creates a server group with the specified parameters or update the properties or tags for the specified server group."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/serverGroupsv2/delete",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "PostgreSQL Server Grouo",
+ "operation": "Delete PostgreSQL Server Group",
+ "description": "Deletes an existing server group."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/serverGroupsv2/servers/read",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "PostgreSQL Server",
+ "operation": "List/Get PostgreSQL Servers of Server Group",
+ "description": "Return the list of servers of server group or gets the properties for the specified server from server group."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/serverGroupsv2/servers/configurations/read",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "Configurations",
+ "operation": "List/Get Configurations of Server",
+ "description": "Return the list of configurations for a server or gets the value for the specified configuration."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/serverGroupsv2/configurations/read",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "Configurations",
+ "operation": "List/Get Configurations of Server Group",
+ "description": "Return the list of configurations for a server group or gets the value for the specified configuration."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/serverGroupsv2/configurations/write",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "Configurations",
+ "operation": "Update Configurations of Server Group",
+ "description": "Update an value of configurations."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/serverGroupsv2/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 group or gets the properties for the specified firewall rule."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/serverGroupsv2/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/serverGroupsv2/firewallRules/delete",
+ "display": {
+ "provider": "Microsoft DB for PostgreSQL",
+ "resource": "Firewall Rules",
+ "operation": "Delete Firewall Rule",
+ "description": "Deletes an existing firewall rule."
+ }
+ },
+ {
+ "name": "Microsoft.DBforPostgreSQL/serverGroupsv2/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": "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/serverGroupsv2/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/serverGroupsv2/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/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/RoleCreate.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/RoleCreate.json
new file mode 100644
index 000000000000..4eeb3d7b8af1
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/RoleCreate.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "pgtestsvc4",
+ "roleName": "role1",
+ "api-version": "2020-10-05-privatepreview",
+ "parameters": {
+ "properties": {
+ "password": "secret"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/pgtestsvc4/roles/role1",
+ "name": "role1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/roles",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {}
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/pgtestsvc4/roles/role1",
+ "name": "role1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/roles",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {}
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/RoleDelete.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/RoleDelete.json
new file mode 100644
index 000000000000..00c8976be9b6
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/RoleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "pgtestsvc4",
+ "roleName": "role1",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/RoleListByServerGroup.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/RoleListByServerGroup.json
new file mode 100644
index 000000000000..3f1dab1c35f9
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/RoleListByServerGroup.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "pgtestsvc4",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/pgtestsvc4/roles/role1",
+ "name": "role1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/roles",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {}
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/pgtestsvc4/roles/role2",
+ "name": "role2",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/roles",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGet.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGet.json
new file mode 100644
index 000000000000..2ef5eea9c482
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg1",
+ "serverName": "hsctestsg1-c",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg1/servers/hsctestsg1-c",
+ "name": "hsctestsg1-c",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/servers",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "hsctestsg1-c.postgres.database.azure.com",
+ "administratorLogin": "citus",
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "2",
+ "role": "Coordinator",
+ "serverEdition": "MemoryOptimized",
+ "storageQuotaInMb": 10000,
+ "vCores": 4,
+ "enableHa": true,
+ "enablePublicIp": true,
+ "state": "Ready",
+ "haState": "Healthy"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupAddNode.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupAddNode.json
new file mode 100644
index 000000000000..4a44d0a9dff3
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupAddNode.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg",
+ "api-version": "2020-10-05-privatepreview",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Worker",
+ "serverCount": 10
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg",
+ "name": "hsctestsg",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {},
+ "location": "westus2"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupCreate.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupCreate.json
new file mode 100644
index 000000000000..4f6861b94d77
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupCreate.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg",
+ "api-version": "2020-10-05-privatepreview",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "administratorLogin": "citus",
+ "administratorLoginPassword": "password",
+ "backupRetentionDays": 35,
+ "delegatedSubnetArguments": {
+ "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet"
+ },
+ "enableMx": true,
+ "enableZfs": false,
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "2",
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Coordinator",
+ "serverCount": 1,
+ "serverEdition": "GeneralPurpose",
+ "vCores": 4,
+ "storageQuotaInMb": 524288,
+ "enableHa": true
+ },
+ {
+ "name": "",
+ "role": "Worker",
+ "serverCount": 3,
+ "serverEdition": "MemoryOptimized",
+ "vCores": 4,
+ "storageQuotaInMb": 524288,
+ "enableHa": false
+ }
+ ]
+ },
+ "tags": {
+ "ElasticServer": "1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg",
+ "name": "hsctestsg",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {},
+ "location": "westus2"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg",
+ "name": "hsctestsg",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {},
+ "location": "westus2"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupCreatePITR.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupCreatePITR.json
new file mode 100644
index 000000000000..4c5f783b395a
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupCreatePITR.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg",
+ "api-version": "2020-10-05-privatepreview",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "createMode": "PointInTimeRestore",
+ "pointInTimeUTC": "2017-12-14T00:00:37.467Z",
+ "sourceLocation": "eastus",
+ "sourceSubscriptionId": "dddddddd-dddd-dddd-dddd-dddddddddddd",
+ "sourceResourceGroupName": "SourceGroup",
+ "sourceServerGroupName": "pgtests-source-server-group",
+ "enableMx": true,
+ "enableZfs": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg",
+ "name": "hsctestsg",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {},
+ "location": "westus2"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg",
+ "name": "hsctestsg",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {},
+ "location": "westus2"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupDelete.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupDelete.json
new file mode 100644
index 000000000000..6f3ac1d856d9
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "testservergroup",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupGet.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupGet.json
new file mode 100644
index 000000000000..6610abb0f22f
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupGet.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg1",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg1",
+ "name": "hsctestsg1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "tags": {
+ "additionalProp1": "string",
+ "additionalProp2": "string",
+ "additionalProp3": "string"
+ },
+ "location": "eastus",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "administratorLogin": "citus",
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "enableMx": true,
+ "enableZfs": false,
+ "state": "Ready",
+ "earliestRestoreTime": "2020-09-14T00:00:37.467Z",
+ "resourceProviderType": "Meru",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "2",
+ "delegatedSubnetArguments": {
+ "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet"
+ },
+ "maintenanceWindow": {
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0,
+ "customWindow": "Disabled"
+ },
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Coordinator",
+ "serverCount": 1,
+ "serverEdition": "MemoryOptimized",
+ "storageQuotaInMb": 10000,
+ "vCores": 4,
+ "enableHa": true,
+ "enablePublicIp": true,
+ "serverNames": [
+ {
+ "name": "hsctestsg1-c",
+ "fullyQualifiedDomainName": "hsctestsg1-c.postgres.database.azure.com"
+ }
+ ]
+ },
+ {
+ "name": "",
+ "role": "Worker",
+ "serverCount": 3,
+ "serverEdition": "GeneralPurpose",
+ "storageQuotaInMb": 10000,
+ "vCores": 8,
+ "enableHa": false,
+ "enablePublicIp": false,
+ "serverNames": [
+ {
+ "name": "hsctestsg1-w0",
+ "fullyQualifiedDomainName": "hsctestsg1-w0.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg1-w1",
+ "fullyQualifiedDomainName": "hsctestsg1-w1.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg1-w2",
+ "fullyQualifiedDomainName": "hsctestsg1-w2.postgres.database.azure.com"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupList.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupList.json
new file mode 100644
index 000000000000..10a9e65f6d9d
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupList.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//providers/Microsoft.DBforPostgreSQL/serverGroupsv2?api-version=2020-10-05-privatepreview&$top=3&$skiptoken=skiptoken",
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg1",
+ "name": "hsctestsg1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "tags": {
+ "additionalProp1": "string"
+ },
+ "location": "eastus",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "administratorLogin": "citus",
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "enableMx": true,
+ "enableZfs": false,
+ "state": "Ready",
+ "earliestRestoreTime": "2020-09-14T00:00:37.467Z",
+ "resourceProviderType": "Meru",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "2",
+ "delegatedSubnetArguments": {
+ "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet"
+ },
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Coordinator",
+ "serverCount": 1,
+ "serverEdition": "MemoryOptimized",
+ "storageQuotaInMb": 10000,
+ "vCores": 4,
+ "enableHa": true,
+ "enablePublicIp": true,
+ "serverNames": [
+ {
+ "name": "hsctestsg1-c",
+ "fullyQualifiedDomainName": "hsctestsg1-c.postgres.database.azure.com"
+ }
+ ]
+ },
+ {
+ "name": "",
+ "role": "Worker",
+ "serverCount": 3,
+ "serverEdition": "GeneralPurpose",
+ "storageQuotaInMb": 10000,
+ "vCores": 8,
+ "enableHa": false,
+ "enablePublicIp": false,
+ "serverNames": [
+ {
+ "name": "hsctestsg1-w0",
+ "fullyQualifiedDomainName": "hsctestsg1-w0.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg1-w1",
+ "fullyQualifiedDomainName": "hsctestsg1-w1.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg1-w2",
+ "fullyQualifiedDomainName": "hsctestsg1-w2.postgres.database.azure.com"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg2",
+ "name": "hsctestsg2",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "tags": {
+ "additionalProp2": "string"
+ },
+ "location": "eastus",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "administratorLogin": "citus",
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "enableMx": true,
+ "enableZfs": false,
+ "state": "Ready",
+ "earliestRestoreTime": "2020-09-14T00:00:37.467Z",
+ "resourceProviderType": "Meru",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "2",
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Coordinator",
+ "serverCount": 1,
+ "serverEdition": "MemoryOptimized",
+ "storageQuotaInMb": 10000,
+ "vCores": 8,
+ "enableHa": true,
+ "enablePublicIp": true,
+ "serverNames": [
+ {
+ "name": "hsctestsg2-c",
+ "fullyQualifiedDomainName": "hsctestsg2-c.postgres.database.azure.com"
+ }
+ ]
+ },
+ {
+ "name": "",
+ "role": "Worker",
+ "serverCount": 2,
+ "serverEdition": "GeneralPurpose",
+ "storageQuotaInMb": 10000,
+ "vCores": 4,
+ "enableHa": false,
+ "enablePublicIp": false,
+ "serverNames": [
+ {
+ "name": "hsctestsg2-w0",
+ "fullyQualifiedDomainName": "hsctestsg2-w0.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg2-w1",
+ "fullyQualifiedDomainName": "hsctestsg2-w1.postgres.database.azure.com"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg3",
+ "name": "hsctestsg3",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "tags": {
+ "additionalProp3": "string"
+ },
+ "location": "eastus",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "administratorLogin": "citus",
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "enableMx": true,
+ "enableZfs": false,
+ "state": "Ready",
+ "earliestRestoreTime": "2020-09-14T00:00:37.467Z",
+ "resourceProviderType": "Meru",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "2",
+ "delegatedSubnetArguments": {
+ "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet"
+ },
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Coordinator",
+ "serverCount": 1,
+ "serverEdition": "MemoryOptimized",
+ "storageQuotaInMb": 10000,
+ "vCores": 4,
+ "enableHa": true,
+ "enablePublicIp": true,
+ "serverNames": [
+ {
+ "name": "hsctestsg3-c",
+ "fullyQualifiedDomainName": "hsctestsg3-c.postgres.database.azure.com"
+ }
+ ]
+ },
+ {
+ "name": "",
+ "role": "Worker",
+ "serverCount": 3,
+ "serverEdition": "GeneralPurpose",
+ "storageQuotaInMb": 10000,
+ "vCores": 8,
+ "enableHa": false,
+ "enablePublicIp": false,
+ "serverNames": [
+ {
+ "name": "hsctestsg3-w0",
+ "fullyQualifiedDomainName": "hsctestsg3-w0.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg3-w1",
+ "fullyQualifiedDomainName": "hsctestsg3-w1.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg3-w2",
+ "fullyQualifiedDomainName": "hsctestsg3-w2.postgres.database.azure.com"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupListByResourceGroup.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupListByResourceGroup.json
new file mode 100644
index 000000000000..52b61ab7b156
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupListByResourceGroup.json
@@ -0,0 +1,231 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2?api-version=2020-10-05-privatepreview&$top=3&$skiptoken=skiptoken",
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg1",
+ "name": "hsctestsg1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "tags": {
+ "additionalProp1": "string"
+ },
+ "location": "eastus",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "administratorLogin": "citus",
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "enableMx": true,
+ "enableZfs": false,
+ "state": "Ready",
+ "earliestRestoreTime": "2020-09-14T00:00:37.467Z",
+ "resourceProviderType": "Meru",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "2",
+ "delegatedSubnetArguments": {
+ "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet"
+ },
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Coordinator",
+ "serverCount": 1,
+ "serverEdition": "MemoryOptimized",
+ "storageQuotaInMb": 10000,
+ "vCores": 4,
+ "enableHa": true,
+ "enablePublicIp": true,
+ "serverNames": [
+ {
+ "name": "hsctestsg1-c",
+ "fullyQualifiedDomainName": "hsctestsg1-c.postgres.database.azure.com"
+ }
+ ]
+ },
+ {
+ "name": "",
+ "role": "Worker",
+ "serverCount": 3,
+ "serverEdition": "GeneralPurpose",
+ "storageQuotaInMb": 10000,
+ "vCores": 8,
+ "enableHa": false,
+ "enablePublicIp": false,
+ "serverNames": [
+ {
+ "name": "hsctestsg1-w0",
+ "fullyQualifiedDomainName": "hsctestsg1-w0.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg1-w1",
+ "fullyQualifiedDomainName": "hsctestsg1-w1.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg1-w2",
+ "fullyQualifiedDomainName": "hsctestsg1-w2.postgres.database.azure.com"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg2",
+ "name": "hsctestsg2",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "tags": {
+ "additionalProp2": "string"
+ },
+ "location": "eastus",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "administratorLogin": "citus",
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "enableMx": true,
+ "enableZfs": false,
+ "state": "Ready",
+ "earliestRestoreTime": "2020-09-14T00:00:37.467Z",
+ "resourceProviderType": "Meru",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "2",
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Coordinator",
+ "serverCount": 1,
+ "serverEdition": "MemoryOptimized",
+ "storageQuotaInMb": 10000,
+ "vCores": 8,
+ "enableHa": true,
+ "enablePublicIp": true,
+ "serverNames": [
+ {
+ "name": "hsctestsg2-c",
+ "fullyQualifiedDomainName": "hsctestsg2-c.postgres.database.azure.com"
+ }
+ ]
+ },
+ {
+ "name": "",
+ "role": "Worker",
+ "serverCount": 2,
+ "serverEdition": "GeneralPurpose",
+ "storageQuotaInMb": 10000,
+ "vCores": 4,
+ "enableHa": false,
+ "enablePublicIp": false,
+ "serverNames": [
+ {
+ "name": "hsctestsg2-w0",
+ "fullyQualifiedDomainName": "hsctestsg2-w0.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg2-w1",
+ "fullyQualifiedDomainName": "hsctestsg2-w1.postgres.database.azure.com"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg3",
+ "name": "hsctestsg3",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "tags": {
+ "additionalProp3": "string"
+ },
+ "location": "eastus",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "administratorLogin": "citus",
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "enableMx": true,
+ "enableZfs": false,
+ "state": "Ready",
+ "earliestRestoreTime": "2020-09-14T00:00:37.467Z",
+ "resourceProviderType": "Meru",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "2",
+ "delegatedSubnetArguments": {
+ "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet"
+ },
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Coordinator",
+ "serverCount": 1,
+ "serverEdition": "MemoryOptimized",
+ "storageQuotaInMb": 10000,
+ "vCores": 4,
+ "enableHa": true,
+ "enablePublicIp": true,
+ "serverNames": [
+ {
+ "name": "hsctestsg3-c",
+ "fullyQualifiedDomainName": "hsctestsg3-c.postgres.database.azure.com"
+ }
+ ]
+ },
+ {
+ "name": "",
+ "role": "Worker",
+ "serverCount": 3,
+ "serverEdition": "GeneralPurpose",
+ "storageQuotaInMb": 10000,
+ "vCores": 8,
+ "enableHa": false,
+ "enablePublicIp": false,
+ "serverNames": [
+ {
+ "name": "hsctestsg3-w0",
+ "fullyQualifiedDomainName": "hsctestsg3-w0.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg3-w1",
+ "fullyQualifiedDomainName": "hsctestsg3-w1.postgres.database.azure.com"
+ },
+ {
+ "name": "hsctestsg3-w2",
+ "fullyQualifiedDomainName": "hsctestsg3-w2.postgres.database.azure.com"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupRestart.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupRestart.json
new file mode 100644
index 000000000000..bc35e1d9ec94
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupRestart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg1",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupScaleCompute.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupScaleCompute.json
new file mode 100644
index 000000000000..1b6308aeae07
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupScaleCompute.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg",
+ "api-version": "2020-10-05-privatepreview",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Coordinator",
+ "vCores": 16
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg",
+ "name": "hsctestsg",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {},
+ "location": "westus2"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupScaleStorage.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupScaleStorage.json
new file mode 100644
index 000000000000..d57f10c2e040
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupScaleStorage.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg",
+ "api-version": "2020-10-05-privatepreview",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Worker",
+ "storageQuotaInMb": 8388608
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg",
+ "name": "hsctestsg",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {},
+ "location": "westus2"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupStart.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupStart.json
new file mode 100644
index 000000000000..bc35e1d9ec94
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg1",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupStop.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupStop.json
new file mode 100644
index 000000000000..bc35e1d9ec94
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg1",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupUpdate.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupUpdate.json
new file mode 100644
index 000000000000..691b78bec5d9
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupUpdate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg",
+ "api-version": "2020-10-05-privatepreview",
+ "parameters": {
+ "properties": {
+ "postgresqlVersion": "12",
+ "administratorLoginPassword": "secret",
+ "backupRetentionDays": 30,
+ "serverRoleGroups": [
+ {
+ "name": "",
+ "role": "Coordinator",
+ "serverCount": 1,
+ "serverEdition": "GeneralPurpose",
+ "vCores": 8,
+ "storageQuotaInMb": 1048576,
+ "enableHa": false
+ },
+ {
+ "name": "",
+ "role": "Worker",
+ "serverCount": 4,
+ "serverEdition": "MemoryOptimized",
+ "vCores": 4,
+ "storageQuotaInMb": 524288,
+ "enableHa": true
+ }
+ ]
+ },
+ "tags": {
+ "ElasticServer": "2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg",
+ "name": "hsctestsg",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {},
+ "location": "westus2"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupUpdateMaintenanceWindow.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupUpdateMaintenanceWindow.json
new file mode 100644
index 000000000000..b576fe4b4bd3
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupUpdateMaintenanceWindow.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg",
+ "api-version": "2020-10-05-privatepreview",
+ "parameters": {
+ "properties": {
+ "maintenanceWindow": {
+ "dayOfWeek": 0,
+ "startHour": 8,
+ "startMinute": 0,
+ "customWindow": "Enabled"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg",
+ "name": "hsctestsg",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {},
+ "location": "westus2"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerListByServerGroup.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerListByServerGroup.json
new file mode 100644
index 000000000000..1ec9d60845ac
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerListByServerGroup.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverGroupName": "hsctestsg1",
+ "api-version": "2020-10-05-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg1/servers/hsctestsg1-c",
+ "name": "hsctestsg1-c",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/servers",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "hsctestsg1-c.postgres.database.azure.com",
+ "administratorLogin": "citus",
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "2",
+ "role": "Coordinator",
+ "serverEdition": "MemoryOptimized",
+ "storageQuotaInMb": 10000,
+ "vCores": 4,
+ "enableHa": true,
+ "enablePublicIp": true,
+ "state": "Ready",
+ "haState": "Healthy"
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg1/servers/hsctestsg1-w0",
+ "name": "hsctestsg1-w0",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/servers",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "hsctestsg1-w0.postgres.database.azure.com",
+ "administratorLogin": "citus",
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "",
+ "role": "Worker",
+ "serverEdition": "MemoryOptimized",
+ "storageQuotaInMb": 10000,
+ "vCores": 4,
+ "enableHa": false,
+ "enablePublicIp": false,
+ "state": "Ready",
+ "haState": "NotEnabled"
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg1/servers/hsctestsg1-w1",
+ "name": "hsctestsg1-w1",
+ "type": "Microsoft.DBforPostgreSQL/serverGroupsv2/servers",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "fullyQualifiedDomainName": "hsctestsg1-w1.postgres.database.azure.com",
+ "administratorLogin": "citus",
+ "postgresqlVersion": "12",
+ "citusVersion": "9.5",
+ "availabilityZone": "1",
+ "standbyAvailabilityZone": "",
+ "role": "Worker",
+ "serverEdition": "MemoryOptimized",
+ "storageQuotaInMb": 10000,
+ "vCores": 4,
+ "enableHa": false,
+ "enablePublicIp": false,
+ "state": "Ready",
+ "haState": "NotEnabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json
new file mode 100644
index 000000000000..41aeaeeafc66
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json
@@ -0,0 +1,2223 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "HyperscaleCitusManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL Hyperscale (Citus) resources including server groups, servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations.",
+ "version": "2020-10-05-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}/providers/Microsoft.DBForPostgreSql/serverGroupsv2": {
+ "get": {
+ "tags": [
+ "ServerGroups"
+ ],
+ "operationId": "ServerGroups_List",
+ "x-ms-examples": {
+ "List all the server groups": {
+ "$ref": "./examples/ServerGroupList.json"
+ }
+ },
+ "description": "List all the server groups 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/ServerGroupListResult"
+ }
+ },
+ "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/serverGroupsv2": {
+ "get": {
+ "tags": [
+ "ServerGroups"
+ ],
+ "operationId": "ServerGroups_ListByResourceGroup",
+ "x-ms-examples": {
+ "List the server groups by resource group": {
+ "$ref": "./examples/ServerGroupListByResourceGroup.json"
+ }
+ },
+ "description": "List all the server groups 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/ServerGroupListResult"
+ }
+ },
+ "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/serverGroupsv2/{serverGroupName}": {
+ "put": {
+ "description": "Creates a new server group with servers.",
+ "tags": [
+ "ServerGroups"
+ ],
+ "operationId": "ServerGroups_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create a new server group": {
+ "$ref": "./examples/ServerGroupCreate.json"
+ },
+ "Create a new server group as a point in time restore": {
+ "$ref": "./examples/ServerGroupCreatePITR.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerGroup"
+ },
+ "description": "The required parameters for creating or updating a server group."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerGroup"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ServerGroup"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "description": "Gets information about a server group.",
+ "tags": [
+ "ServerGroups"
+ ],
+ "operationId": "ServerGroups_Get",
+ "x-ms-examples": {
+ "Get the server group": {
+ "$ref": "./examples/ServerGroupGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a server group together with servers in it.",
+ "tags": [
+ "ServerGroups"
+ ],
+ "operationId": "ServerGroups_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete the server group": {
+ "$ref": "./examples/ServerGroupDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates an existing server group. The request body can contain one to many of the properties present in the normal server group definition.",
+ "tags": [
+ "ServerGroups"
+ ],
+ "operationId": "ServerGroups_Update",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update the server group": {
+ "$ref": "./examples/ServerGroupUpdate.json"
+ },
+ "Scale compute": {
+ "$ref": "./examples/ServerGroupScaleCompute.json"
+ },
+ "Scale storage": {
+ "$ref": "./examples/ServerGroupScaleStorage.json"
+ },
+ "Add new worker nodes": {
+ "$ref": "./examples/ServerGroupAddNode.json"
+ },
+ "Update customer maintenance window": {
+ "$ref": "./examples/ServerGroupUpdateMaintenanceWindow.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerGroupForUpdate"
+ },
+ "description": "The parameters for updating a server group."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerGroup"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/serverGroupsv2/{serverGroupName}/servers": {
+ "get": {
+ "description": "Lists servers of a server group.",
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_ListByServerGroup",
+ "x-ms-examples": {
+ "List servers of the server group": {
+ "$ref": "./examples/ServerListByServerGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerGroupServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/serverGroupsv2/{serverGroupName}/servers/{serverName}": {
+ "get": {
+ "description": "Gets information about a server in server group.",
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Get",
+ "x-ms-examples": {
+ "Get the server of server group": {
+ "$ref": "./examples/ServerGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerGroupServer"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/serverGroupsv2/{serverGroupName}/servers/{serverName}/configurations": {
+ "get": {
+ "description": "List all the configurations of a server in server group.",
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_ListByServer",
+ "x-ms-examples": {
+ "List configurations of the server that in the server group": {
+ "$ref": "./examples/ConfigurationListByServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerConfigurationListResult"
+ }
+ },
+ "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/serverGroupsv2/{serverGroupName}/configurations": {
+ "get": {
+ "description": "List all the configurations of a server group.",
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_ListByServerGroup",
+ "x-ms-examples": {
+ "List configurations of the server group": {
+ "$ref": "./examples/ConfigurationListByServerGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerGroupConfigurationListResult"
+ }
+ },
+ "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/serverGroupsv2/{serverGroupName}/configurations/{configurationName}": {
+ "patch": {
+ "description": "Updates configuration of server role groups in a server group",
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_Update",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update single configuration of the server group": {
+ "$ref": "./examples/ConfigurationUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerGroupConfiguration"
+ },
+ "description": "The required parameters for updating a server group configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerGroupConfiguration"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "description": "Gets information about single server group configuration.",
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_Get",
+ "x-ms-examples": {
+ "Get single configuration of the server group": {
+ "$ref": "./examples/ConfigurationGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerGroupConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/serverGroupsv2/{serverGroupName}/firewallRules/{firewallRuleName}": {
+ "put": {
+ "description": "Creates a new firewall rule or updates an existing firewall rule.",
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create a firewall rule of the server group": {
+ "$ref": "./examples/FirewallRuleCreate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ },
+ {
+ "$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"
+ }
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a server group firewall rule.",
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete the firewall rule of the server group": {
+ "$ref": "./examples/FirewallRuleDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ },
+ {
+ "$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"
+ }
+ }
+ }
+ },
+ "get": {
+ "description": "Gets information about a server group firewall rule.",
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_Get",
+ "x-ms-examples": {
+ "Get the firewall rule of the server group": {
+ "$ref": "./examples/FirewallRuleGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ },
+ {
+ "$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/serverGroupsv2/{serverGroupName}/firewallRules": {
+ "get": {
+ "description": "List all the firewall rules in a given server group.",
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_ListByServerGroup",
+ "x-ms-examples": {
+ "List firewall rules of the server group": {
+ "$ref": "./examples/FirewallRuleListByServerGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ }
+ ],
+ "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": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/serverGroupsv2/{serverGroupName}/roles/{roleName}": {
+ "put": {
+ "tags": [
+ "Roles"
+ ],
+ "operationId": "Roles_Create",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RoleCreate": {
+ "$ref": "./examples/RoleCreate.json"
+ }
+ },
+ "description": "Creates a new role or updates an existing role.",
+ "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/ServerGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Role"
+ },
+ "description": "The required parameters for creating or updating a role."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Roles"
+ ],
+ "operationId": "Roles_Delete",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RoleDelete": {
+ "$ref": "./examples/RoleDelete.json"
+ }
+ },
+ "description": "Deletes a server group role.",
+ "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/ServerGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/serverGroupsv2/{serverGroupName}/roles": {
+ "get": {
+ "tags": [
+ "Roles"
+ ],
+ "operationId": "Roles_ListByServerGroup",
+ "x-ms-examples": {
+ "RoleList": {
+ "$ref": "./examples/RoleListByServerGroup.json"
+ }
+ },
+ "description": "List all the roles in a given server 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"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RoleListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/serverGroupsv2/{serverGroupName}/restart": {
+ "post": {
+ "description": "Restarts the server group.",
+ "tags": [
+ "ServerGroupOperations"
+ ],
+ "operationId": "ServerGroups_Restart",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Restart all servers in the server group": {
+ "$ref": "./examples/ServerGroupRestart.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/serverGroupsv2/{serverGroupName}/start": {
+ "post": {
+ "description": "Starts the server group.",
+ "tags": [
+ "ServerGroupOperations"
+ ],
+ "operationId": "ServerGroups_Start",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Start all servers in the server group": {
+ "$ref": "./examples/ServerGroupStart.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/serverGroupsv2/{serverGroupName}/stop": {
+ "post": {
+ "description": "Stops the server group.",
+ "tags": [
+ "ServerGroupOperations"
+ ],
+ "operationId": "ServerGroups_Stop",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Stop all servers in the server group": {
+ "$ref": "./examples/ServerGroupStop.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/checkNameAvailability": {
+ "post": {
+ "description": "Check the availability of name for resource",
+ "tags": [
+ "ServerGroups"
+ ],
+ "operationId": "ServerGroups_CheckNameAvailability",
+ "x-ms-examples": {
+ "Check name availability": {
+ "$ref": "./examples/CheckNameAvailability.json"
+ }
+ },
+ "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": {
+ "description": "Lists all of the available REST API operations.",
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "List all available operations": {
+ "$ref": "./examples/OperationList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PostgreSQLVersion": {
+ "type": "string",
+ "description": "The PostgreSQL version.",
+ "enum": [
+ "11",
+ "12"
+ ],
+ "x-ms-enum": {
+ "name": "PostgreSQLVersion",
+ "modelAsString": true
+ }
+ },
+ "CitusVersion": {
+ "type": "string",
+ "description": "The Citus version.",
+ "enum": [
+ "8.3",
+ "9.0",
+ "9.1",
+ "9.2",
+ "9.3",
+ "9.4",
+ "9.5"
+ ],
+ "x-ms-enum": {
+ "name": "CitusVersion",
+ "modelAsString": true
+ }
+ },
+ "ServerState": {
+ "type": "string",
+ "description": "A state of a server group/server that is visible to user.",
+ "enum": [
+ "Ready",
+ "Dropping",
+ "Disabled",
+ "Starting",
+ "Stopping",
+ "Stopped",
+ "Updating",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ServerState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "ServerHaState": {
+ "type": "string",
+ "description": "A state of a server role group/server that is visible to user for HA feature.",
+ "enum": [
+ "NotEnabled",
+ "CreatingStandby",
+ "ReplicatingData",
+ "FailingOver",
+ "Healthy",
+ "RemovingStandby",
+ "NotSync"
+ ],
+ "x-ms-enum": {
+ "name": "ServerHaState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "ServerRole": {
+ "type": "string",
+ "description": "The role of a server.",
+ "enum": [
+ "Coordinator",
+ "Worker"
+ ],
+ "x-ms-enum": {
+ "name": "ServerRole",
+ "modelAsString": true
+ }
+ },
+ "FullyQualifiedDomainName": {
+ "type": "string",
+ "description": "The fully qualified domain name of a server.",
+ "readOnly": true
+ },
+ "ServerProperties": {
+ "description": "The properties of a server.",
+ "properties": {
+ "serverEdition": {
+ "type": "string",
+ "description": "The edition of a server (default: GeneralPurpose).",
+ "enum": [
+ "GeneralPurpose",
+ "MemoryOptimized"
+ ],
+ "x-ms-enum": {
+ "name": "ServerEdition",
+ "modelAsString": true
+ }
+ },
+ "storageQuotaInMb": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The storage of a server in MB (max: 2097152 = 2TiB)."
+ },
+ "vCores": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The vCores count of a server (max: 64)."
+ },
+ "enableHa": {
+ "type": "boolean",
+ "description": "If high availability is enabled or not for the server."
+ },
+ "enablePublicIp": {
+ "type": "boolean",
+ "description": "If public IP is requested or not for a server.",
+ "readOnly": true
+ }
+ }
+ },
+ "ServerRoleGroupList": {
+ "type": "array",
+ "description": "The list of server role groups.",
+ "items": {
+ "$ref": "#/definitions/ServerRoleGroup"
+ },
+ "minItems": 1,
+ "maxItems": 2,
+ "uniqueItems": true
+ },
+ "ServerRoleGroup": {
+ "description": "Represents a server role group.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServerProperties"
+ }
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the server role group."
+ },
+ "role": {
+ "$ref": "#/definitions/ServerRole",
+ "description": "The role of servers in the server role group."
+ },
+ "serverCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of servers in the server role group."
+ },
+ "serverNames": {
+ "type": "array",
+ "description": "The list of server names in the server role group.",
+ "items": {
+ "$ref": "#/definitions/ServerNameItem"
+ },
+ "readOnly": true,
+ "uniqueItems": true
+ }
+ }
+ },
+ "ServerNameItem": {
+ "description": "The name object for a server.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of a server."
+ },
+ "fullyQualifiedDomainName": {
+ "$ref": "#/definitions/FullyQualifiedDomainName",
+ "description": "The fully qualified domain name of a server."
+ }
+ }
+ },
+ "ServerGroupServerProperties": {
+ "description": "The properties of a server in server group.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServerProperties"
+ }
+ ],
+ "properties": {
+ "fullyQualifiedDomainName": {
+ "$ref": "#/definitions/FullyQualifiedDomainName",
+ "description": "The fully qualified domain name of a server."
+ },
+ "role": {
+ "$ref": "#/definitions/ServerRole",
+ "description": "The role of server in the server group."
+ },
+ "state": {
+ "$ref": "#/definitions/ServerState",
+ "description": "A state of a server that is visible to user."
+ },
+ "haState": {
+ "$ref": "#/definitions/ServerHaState",
+ "description": "A state of a server group that is visible to user for HA feature."
+ },
+ "administratorLogin": {
+ "type": "string",
+ "description": "The administrator's login name of a servers in server group."
+ },
+ "postgresqlVersion": {
+ "$ref": "#/definitions/PostgreSQLVersion",
+ "description": "The PostgreSQL version of server."
+ },
+ "citusVersion": {
+ "$ref": "#/definitions/CitusVersion",
+ "description": "The Citus version of server."
+ },
+ "availabilityZone": {
+ "type": "string",
+ "description": "Availability Zone information of the server group."
+ },
+ "standbyAvailabilityZone": {
+ "type": "string",
+ "description": "Standby Availability Zone information of the server group."
+ }
+ }
+ },
+ "ServerGroupServer": {
+ "description": "Represents a server in a server group.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerGroupServerProperties",
+ "description": "The properties of a server in a server group.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ServerGroupServerListResult": {
+ "description": "A list of servers in a server group.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The list of servers in a server group.",
+ "items": {
+ "$ref": "#/definitions/ServerGroupServer"
+ }
+ }
+ }
+ },
+ "ServerGroupForUpdate": {
+ "description": "Represents a server group for update.",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location the resource resides in."
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerGroupPropertiesForUpdate",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the server group."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ }
+ },
+ "ServerGroupPropertiesForUpdate": {
+ "description": "The properties used to update a server group.",
+ "properties": {
+ "administratorLoginPassword": {
+ "type": "string",
+ "x-ms-secret": true,
+ "format": "password",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "description": "The password of the administrator login."
+ },
+ "backupRetentionDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The backup retention days for server group."
+ },
+ "postgresqlVersion": {
+ "$ref": "#/definitions/PostgreSQLVersion",
+ "description": "The PostgreSQL version of server group."
+ },
+ "citusVersion": {
+ "$ref": "#/definitions/CitusVersion",
+ "description": "The Citus version of server group."
+ },
+ "enableShardsOnCoordinator": {
+ "type": "boolean",
+ "description": "If shards on coordinator is enabled or not for the server group."
+ },
+ "serverRoleGroups": {
+ "$ref": "#/definitions/ServerRoleGroupList",
+ "description": "The list of server role groups."
+ },
+ "maintenanceWindow": {
+ "$ref": "#/definitions/MaintenanceWindow",
+ "description": "Maintenance window of a server group."
+ },
+ "availabilityZone": {
+ "type": "string",
+ "description": "Availability Zone information of the server group."
+ },
+ "standbyAvailabilityZone": {
+ "type": "string",
+ "description": "Standby Availability Zone information of the server group."
+ }
+ }
+ },
+ "ServerGroupListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServerGroup"
+ },
+ "description": "The list of server groups"
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "A list of server groups."
+ },
+ "ServerGroup": {
+ "description": "Represents a server group for create.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerGroupProperties",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the server group create."
+ }
+ }
+ },
+ "ServerGroupProperties": {
+ "description": "The properties used to create a new server group.",
+ "properties": {
+ "createMode": {
+ "type": "string",
+ "description": "The mode to create a new server group.",
+ "enum": [
+ "Default",
+ "PointInTimeRestore"
+ ],
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "administratorLogin": {
+ "type": "string",
+ "description": "The administrator's login name of servers in server group. 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",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "description": "The password of the administrator login."
+ },
+ "backupRetentionDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The backup retention days for server group."
+ },
+ "postgresqlVersion": {
+ "$ref": "#/definitions/PostgreSQLVersion",
+ "description": "The PostgreSQL version of server group."
+ },
+ "citusVersion": {
+ "$ref": "#/definitions/CitusVersion",
+ "description": "The Citus version of server group."
+ },
+ "enableMx": {
+ "type": "boolean",
+ "description": "If Citus MX is enabled or not for the server group.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "enableZfs": {
+ "type": "boolean",
+ "description": "If ZFS compression is enabled or not for the server group.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "enableShardsOnCoordinator": {
+ "type": "boolean",
+ "description": "If shards on coordinator is enabled or not for the server group."
+ },
+ "state": {
+ "$ref": "#/definitions/ServerState",
+ "description": "A state of a server group that is visible to user."
+ },
+ "earliestRestoreTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The earliest restore point time (ISO8601 format) for server group.",
+ "readOnly": true
+ },
+ "resourceProviderType": {
+ "type": "string",
+ "description": "The resource provider type of server group.",
+ "enum": [
+ "Meru",
+ "Marlin"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceProviderType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "serverRoleGroups": {
+ "$ref": "#/definitions/ServerRoleGroupList",
+ "description": "The list of server role groups."
+ },
+ "maintenanceWindow": {
+ "$ref": "#/definitions/MaintenanceWindow",
+ "description": "Maintenance window of a server group."
+ },
+ "availabilityZone": {
+ "type": "string",
+ "description": "Availability Zone information of the server group."
+ },
+ "standbyAvailabilityZone": {
+ "type": "string",
+ "description": "Standby Availability Zone information of the server group."
+ },
+ "delegatedSubnetArguments": {
+ "description": "The delegated subnet arguments for a server group.",
+ "properties": {
+ "subnetArmResourceId": {
+ "type": "string",
+ "description": "delegated subnet arm resource id."
+ }
+ }
+ },
+ "sourceSubscriptionId": {
+ "type": "string",
+ "description": "The source subscription id to restore from. It's required when 'createMode' is 'PointInTimeRestore'",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "sourceResourceGroupName": {
+ "type": "string",
+ "description": "The source resource group name to restore from. It's required when 'createMode' is 'PointInTimeRestore'",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "sourceServerGroupName": {
+ "type": "string",
+ "description": "The source server group name to restore from. It's required when 'createMode' is 'PointInTimeRestore'",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "sourceLocation": {
+ "type": "string",
+ "description": "The source server group location to restore from. It's required when 'createMode' is 'PointInTimeRestore'",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "pointInTimeUTC": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when 'createMode' is 'PointInTimeRestore'",
+ "x-ms-mutability": [
+ "create"
+ ]
+ }
+ }
+ },
+ "MaintenanceWindow": {
+ "type": "object",
+ "description": "Maintenance window of a server group.",
+ "properties": {
+ "customWindow": {
+ "type": "string",
+ "description": "indicates whether custom window is enabled or disabled"
+ },
+ "startHour": {
+ "type": "integer",
+ "format": "int32",
+ "description": "start hour for maintenance window"
+ },
+ "startMinute": {
+ "type": "integer",
+ "format": "int32",
+ "description": "start minute for maintenance window"
+ },
+ "dayOfWeek": {
+ "type": "integer",
+ "format": "int32",
+ "description": "day of week for maintenance window"
+ }
+ }
+ },
+ "ServerGroupConfiguration": {
+ "description": "Represents the configuration list of server role groups in a server group.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerGroupConfigurationProperties",
+ "description": "The properties of server group configuration.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ServerGroupConfigurationProperties": {
+ "description": "The properties of server group configuration.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the configuration.",
+ "readOnly": true
+ },
+ "dataType": {
+ "type": "string",
+ "description": "Data type of the configuration.",
+ "enum": [
+ "Boolean",
+ "Numeric",
+ "Integer",
+ "Enumeration"
+ ],
+ "x-ms-enum": {
+ "name": "ConfigurationDataType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "allowedValues": {
+ "type": "string",
+ "description": "Allowed values of the configuration.",
+ "readOnly": true
+ },
+ "serverRoleGroupConfigurations": {
+ "type": "array",
+ "description": "The list of server role group configuration values.",
+ "items": {
+ "$ref": "#/definitions/ServerRoleGroupConfiguration"
+ },
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "serverRoleGroupConfigurations"
+ ]
+ },
+ "ServerRoleGroupConfiguration": {
+ "description": "Represents server role group configuration value.",
+ "properties": {
+ "role": {
+ "$ref": "#/definitions/ServerRole",
+ "description": "The role of servers in the server role group."
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of the configuration."
+ },
+ "defaultValue": {
+ "type": "string",
+ "description": "Default value of the configuration.",
+ "readOnly": true
+ },
+ "source": {
+ "type": "string",
+ "description": "Source of the configuration.",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "role",
+ "value"
+ ]
+ },
+ "ServerGroupConfigurationListResult": {
+ "description": "A list of server group configurations.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The list of server group configurations.",
+ "items": {
+ "$ref": "#/definitions/ServerGroupConfiguration"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to retrieve next page of results.",
+ "readOnly": true
+ }
+ }
+ },
+ "ServerConfigurationProperties": {
+ "description": "The properties of a configuration.",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Value of the configuration."
+ },
+ "source": {
+ "type": "string",
+ "description": "Source of the configuration.",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the configuration.",
+ "readOnly": true
+ },
+ "defaultValue": {
+ "type": "string",
+ "description": "Default value of the configuration.",
+ "readOnly": true
+ },
+ "dataType": {
+ "type": "string",
+ "description": "Data type of the configuration.",
+ "enum": [
+ "Boolean",
+ "Numeric",
+ "Integer",
+ "Enumeration"
+ ],
+ "x-ms-enum": {
+ "name": "ConfigurationDataType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "allowedValues": {
+ "type": "string",
+ "description": "Allowed values of the configuration.",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "ServerConfiguration": {
+ "description": "Represents a configuration.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerConfigurationProperties",
+ "description": "The properties of a configuration.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ServerConfigurationListResult": {
+ "description": "A list of server configurations.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The list of server configurations.",
+ "items": {
+ "$ref": "#/definitions/ServerConfiguration"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to retrieve next page of results.",
+ "readOnly": true
+ }
+ }
+ },
+ "FirewallRuleProperties": {
+ "description": "The properties of a server group firewall rule.",
+ "properties": {
+ "startIpAddress": {
+ "type": "string",
+ "description": "The start IP address of the server group firewall rule. Must be IPv4 format.",
+ "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])$"
+ },
+ "endIpAddress": {
+ "type": "string",
+ "description": "The end IP address of the server group firewall rule. Must be IPv4 format.",
+ "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])$"
+ }
+ },
+ "required": [
+ "startIpAddress",
+ "endIpAddress"
+ ]
+ },
+ "FirewallRule": {
+ "description": "Represents a server group firewall rule.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/FirewallRuleProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a firewall rule."
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "FirewallRuleListResult": {
+ "description": "A list of firewall rules.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The list of firewall rules in a server group.",
+ "items": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ }
+ }
+ },
+ "RoleProperties": {
+ "properties": {
+ "password": {
+ "type": "string",
+ "x-ms-secret": true,
+ "format": "password",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "description": "The password of the server group role."
+ }
+ },
+ "required": [
+ "password"
+ ],
+ "description": "The properties of a server group role."
+ },
+ "Role": {
+ "properties": {
+ "systemData": {
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/RoleProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a role."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Represents a server group role."
+ },
+ "RoleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ },
+ "description": "The list of roles in a server group."
+ }
+ },
+ "description": "A list of roles."
+ },
+ "OperationDisplay": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Operation resource provider name.",
+ "readOnly": true
+ },
+ "resource": {
+ "type": "string",
+ "description": "Resource on which the operation is performed.",
+ "readOnly": true
+ },
+ "operation": {
+ "type": "string",
+ "description": "Localized friendly name for the operation.",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Operation description.",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "REST API operation definition.",
+ "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."
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "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."
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "A list of resource provider operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of available operation details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "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",
+ "readOnly": true
+ }
+ }
+ },
+ "NameAvailabilityRequest": {
+ "description": "Request from client to check resource name availability.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Resource name to verify."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DBforPostgreSQL/serverGroupsv2"
+ ],
+ "description": "Resource type used for verification.",
+ "x-ms-enum": {
+ "name": "CheckNameAvailabilityResourceType",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ]
+ },
+ "NameAvailability": {
+ "description": "Represents a resource name availability.",
+ "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"
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "description": "An error response from the Batch service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "The error."
+ }
+ }
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "description": "An error response from the Batch service.",
+ "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",
+ "description": "A list of additional details about the error.",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ServerGroupNameParameter": {
+ "name": "serverGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server group.",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ },
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server.",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigurationNameParameter": {
+ "name": "configurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server group configuration.",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ },
+ "FirewallRuleNameParameter": {
+ "name": "firewallRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server group firewall rule.",
+ "x-ms-parameter-location": "method"
+ },
+ "RoleNameParameter": {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server group role name.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/postgresqlhsc/resource-manager/readme.az.md b/specification/postgresqlhsc/resource-manager/readme.az.md
new file mode 100644
index 000000000000..3f2a25ab92e2
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/readme.az.md
@@ -0,0 +1,12 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az)
+az:
+ extensions: postgresqlhsc
+ namespace: azure.mgmt.postgresqlhsc
+ package-name: azure-mgmt-postgresqlhsc
+az-output-folder: $(azure-cli-extension-folder)/src/postgresqlhsc
+python-sdk-output-folder: "$(az-output-folder)/azext_postgresqlhsc/vendored_sdks/postgresqlhsc"
+```
\ No newline at end of file
diff --git a/specification/postgresqlhsc/resource-manager/readme.azureresourceschema.md b/specification/postgresqlhsc/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..6458135cdb53
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,22 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-dbforpostgresqlhsc-2020-10-05-privatepreview
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-dbforpostgresqlhsc2020-10-05-privatepreview and azureresourceschema
+
+``` yaml $(tag) == 'schema-dbforpostgresqlhsc-2020-10-05-privatepreview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json
+```
diff --git a/specification/postgresqlhsc/resource-manager/readme.cli.md b/specification/postgresqlhsc/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..cbcc3187142b
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/readme.cli.md
@@ -0,0 +1,39 @@
+## CLI
+
+These settings don't need to apply `--cli` on the command line.
+
+``` yaml
+cli:
+ cli-name: postgresqlhsc
+ package-name: azure-mgmt-rdbms-postgresqlhsc
+ namespace: azure.mgmt.rdbms.postgresqlhsc
+ test-scenario:
+ - name: Create a new server group
+ - name: Create a new server group as a point in time restore
+ - name: Update the server group
+ - name: Get the server group
+ - name: Delete the server group
+ - name: Scale compute
+ - name: Scale storage
+ - name: Add new worker nodes
+ - name: Update customer maintenance window
+ - name: List servers of the server group
+ - name: Get the server of server group
+ - name: List configurations of the server that in the server group
+ - name: Update configurations of the server group
+ - name: List configurations of the server group
+ - name: Update single configuration of the server group
+ - name: Get single configuration of the server group
+ - name: Create a firewall rule of the server group
+ - name: Delete the firewall rule of the server group
+ - name: Get the firewall rule of the server group
+ - name: List firewall rules of the server group
+ - name: RoleCreate
+ - name: RoleDelete
+ - name: RoleList
+ - name: Restart all servers in the server group
+ - name: Start all servers in the server group
+ - name: Stop all servers in the server group
+ - name: Check name availability
+ - name: List all available operations
+```
\ No newline at end of file
diff --git a/specification/postgresqlhsc/resource-manager/readme.csharp.md b/specification/postgresqlhsc/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..c5e4b8d1948b
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/readme.csharp.md
@@ -0,0 +1,14 @@
+## C
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+```yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ namespace: Microsoft.DBforPostgreSQLHSC
+ output-folder: $(csharp-sdks-folder)/postgresqlhsc/management/Microsoft.DBforPostgreSQLHSC/GeneratedProtocol
+```
diff --git a/specification/postgresqlhsc/resource-manager/readme.go.md b/specification/postgresqlhsc/resource-manager/readme.go.md
new file mode 100644
index 000000000000..9fc6abf4a296
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: postgresqlhsc
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-10-05-privatepreview
+```
+
+### Tag: package-2020-10-05-privatepreview and go
+
+These settings apply only when `--tag=package-2020-10-05-privatepreview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-10-05-privatepreview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-10-05-privatepreview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/postgresqlhsc/resource-manager/readme.java.md b/specification/postgresqlhsc/resource-manager/readme.java.md
new file mode 100644
index 000000000000..385f5789d20d
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/readme.java.md
@@ -0,0 +1,33 @@
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.postgresqlhsc
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-postgresqlhsc
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-10-05-privatepreview
+```
+
+### Tag: package-2020-10-05-privatepreview and java
+
+These settings apply only when `--tag=package-2020-10-05-privatepreview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-10-05-privatepreview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.postgresqlhsc.v2020_10_05_privatepreview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/postgresqlhsc/mgmt-v2020_10_05_privatepreview
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/postgresqlhsc/resource-manager/readme.md b/specification/postgresqlhsc/resource-manager/readme.md
new file mode 100644
index 000000000000..5a126e457c19
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/readme.md
@@ -0,0 +1,99 @@
+# postgresqlhsc
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for PostgreSQL Hyperscale.
+
+## 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 PostgreSQL Hyperscale API.
+
+```yaml
+title: Microsoft PostgreSQL Hyperscale
+openapi-type: arm
+tag: package-2020-10-05-privatepreview
+```
+
+### Tag: package-2020-10-05-privatepreview
+
+These settings apply only when `--tag=package-2020-10-05-privatepreview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-10-05-privatepreview'
+input-file:
+ - Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+```yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-net
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_postgresqlhsc']
+ - repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js postgresqlhsc/resource-manager
+```
+
+## C#
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Java
+
+See configuration in [readme.java.md](./readme.java.md)
+
+## 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)
+
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/postgresqlhsc/resource-manager/readme.nodejs.md b/specification/postgresqlhsc/resource-manager/readme.nodejs.md
new file mode 100644
index 000000000000..ecc10b28a8b9
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/readme.nodejs.md
@@ -0,0 +1,14 @@
+## Node.js
+
+These settings apply only when `--nodejs` is specified on the command line.
+Please also specify `--node-sdks-folder=`.
+
+``` yaml $(nodejs)
+nodejs:
+ azure-arm: true
+ package-name: azure-arm-postgresqlhsc
+ output-folder: $(node-sdks-folder)/lib/services/postgresqlhscManagement
+ generate-license-txt: true
+ generate-package-json: true
+ generate-readme-md: false
+```
diff --git a/specification/postgresqlhsc/resource-manager/readme.python.md b/specification/postgresqlhsc/resource-manager/readme.python.md
new file mode 100644
index 000000000000..17fb9703ec17
--- /dev/null
+++ b/specification/postgresqlhsc/resource-manager/readme.python.md
@@ -0,0 +1,52 @@
+## 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 !$(track2)
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ package-name: azure-mgmt-rdbms
+ clear-output-folder: true
+ no-namespace-folders: true
+```
+
+These settings apply only when `--track2` is specified on the command line.
+
+``` yaml $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-rdbms
+no-namespace-folders: true
+```
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml !$(track2)
+batch:
+ - tag: package-2020-10-05-privatepreview
+```
+
+```yaml $(track2)
+clear-output-folder: true
+batch:
+ - tag: package-2020-10-05-privatepreview
+```
+
+### Tag: package-2020-10-05-privatepreview and python
+
+These settings apply only when `--tag=package-2020-10-05-privatepreview --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-10-05-privatepreview' && $(python)
+namespace: azure.mgmt.rdbms.postgresqlhsc
+output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/postgresqlhsc
+python:
+ namespace: azure.mgmt.rdbms.postgresqlhsc
+ output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/postgresqlhsc
+```
\ No newline at end of file
diff --git a/specification/postgresqlhsc/resource-manager/readme.ruby.md b/specification/postgresqlhsc/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..e2b0df6e4488
--- /dev/null
+++ b/specification/postgresqlhsc/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_postgresqlhsc
+package-version: 2020-10-05-privatepreview
+azure-arm: true
+```
+
+### Tag: package-2020-10-05-privatepreview and ruby
+
+These settings apply only when `--tag=package-2020-10-05-privatepreview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-10-05-privatepreview' && $(ruby)
+namespace: "Azure::PostgreSQLHSC::Mgmt::V2020_10_05_privatepreview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_postgresqlhsc/lib
+```
\ No newline at end of file
diff --git a/specification/cpim/resource-manager/readme.typescript.md b/specification/postgresqlhsc/resource-manager/readme.typescript.md
similarity index 75%
rename from specification/cpim/resource-manager/readme.typescript.md
rename to specification/postgresqlhsc/resource-manager/readme.typescript.md
index ccbd03da212a..36ea02fa1207 100644
--- a/specification/cpim/resource-manager/readme.typescript.md
+++ b/specification/postgresqlhsc/resource-manager/readme.typescript.md
@@ -6,8 +6,8 @@ Please also specify `--typescript-sdks-folder= see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Purview.
+
+
+
+---
+## Getting Started
+To build the SDK for Purview, 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 Purview API.
+
+``` yaml
+openapi-type: arm
+tag: package-2020-12-01-preview
+```
+
+
+### Tag: package-2020-12-01-preview
+
+These settings apply only when `--tag=package-2020-12-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-12-01-preview'
+input-file:
+- Microsoft.Purview/preview/2020-12-01-preview/purview.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-go
+```
+
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Management.Purview
+ output-folder: $(csharp-sdks-folder)/Purview/Management.Purview/Generated
+ clear-output-folder: true
+```
+
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.purview
+ package-name: azure-mgmt-purview
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/purview/azure-mgmt-purview/azure/mgmt/purview
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/purview/azure-mgmt-purview
+```
+
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: purview
+ clear-output-folder: true
+```
+## Suppression
+
+``` yaml
+directive:
+ - suppress: R3018 # EnumInsteadOfBoolean
+ where:
+ - $.definitions.CheckNameAvailabilityResult.properties.nameAvailable
+ - $.definitions.DimensionProperties.properties.toBeExportedForCustomer
+ reason:
+ - Check name model is set by ARM team https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/proxy-api-reference.md#check-name-availability-requests
+ - suppress: R4009 # RequiredSystemDataInNewApiVersions
+ reason:
+ - We do not yet support systemdata
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-12-01-preview
+```
+
+### Tag: package-2020-12-01-preview and go
+
+These settings apply only when `--tag=package-2020-12-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-12-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/purview/mgmt/2020-12-01-preview/$(namespace)
+```
diff --git a/specification/recoveryservices/resource-manager/readme.python.md b/specification/recoveryservices/resource-manager/readme.python.md
index 8969b2f61a6a..777ef088bf30 100644
--- a/specification/recoveryservices/resource-manager/readme.python.md
+++ b/specification/recoveryservices/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -14,13 +14,35 @@ python:
package-name: azure-mgmt-recoveryservices
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.recoveryservices
+package-name: azure-mgmt-recoveryservices
+package-version: 1.0.0b1
+clear-output-folder: false
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/recoveryservices/azure-mgmt-recoveryservices/azure/mgmt/recoveryservices
```
-``` yaml $(python) && $(python-mode) == 'create'
+
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/recoveryservices/azure-mgmt-recoveryservices/azure/mgmt/recoveryservices
+```
+
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/recoveryservices/azure-mgmt-recoveryservices
```
+
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/recoveryservices/azure-mgmt-recoveryservices
+```
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json
index 66fcf1cd106a..c5dd578ae810 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json
@@ -2858,6 +2858,13 @@
"recoveryPointDiskConfiguration": {
"$ref": "#/definitions/RecoveryPointDiskConfiguration",
"description": "Disk configuration"
+ },
+ "zones": {
+ "description": "Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"x-ms-discriminator-value": "IaasVMRecoveryPoint"
@@ -2953,6 +2960,13 @@
"diskEncryptionSetId": {
"description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.",
"type": "string"
+ },
+ "zones": {
+ "description": "Target zone where the VM and its disks should be restored.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"x-ms-discriminator-value": "IaasVMRestoreRequest"
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/RecoveryPoints_List.json
index 6504b3546ee9..207d7279b695 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/RecoveryPoints_List.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/RecoveryPoints_List.json
@@ -63,7 +63,10 @@
],
"isManagedVirtualMachine": true,
"virtualMachineSize": "Standard_D1",
- "originalStorageAccountOption": false
+ "originalStorageAccountOption": false,
+ "zones": [
+ "1"
+ ]
}
}
],
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json
index ea31f675cf4d..4b56c8015e36 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json
@@ -41,7 +41,10 @@
"targetDomainNameId": null,
"targetResourceGroupId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl",
"targetVirtualMachineId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl/providers/Microsoft.Compute/virtualMachines/gaallaVM",
- "virtualNetworkId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet"
+ "virtualNetworkId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet",
+ "zones": [
+ "2"
+ ]
}
}
},
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json
index 6b1cf26f5dc2..450d22c6c39a 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json
@@ -15724,6 +15724,26 @@
},
"x-ms-discriminator-value": "New"
},
+ "NewRecoveryVirtualNetwork": {
+ "description": "Recovery virtual network input to create new virtual network from given source network.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails"
+ }
+ ],
+ "properties": {
+ "recoveryVirtualNetworkResourceGroupName": {
+ "description": "The name of the resource group to be used to create the recovery virtual network. If absent, target network would be created in the same resource group as target VM.",
+ "type": "string"
+ },
+ "recoveryVirtualNetworkName": {
+ "description": "The recovery virtual network name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "New"
+ },
"Object": {
"description": "Base of all objects.",
"type": "object",
diff --git a/specification/redis/resource-manager/readme.go.md b/specification/redis/resource-manager/readme.go.md
index 77b05defb096..2a653ec62a7f 100644
--- a/specification/redis/resource-manager/readme.go.md
+++ b/specification/redis/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-06
- tag: package-2019-07-preview
- tag: package-2018-03
- tag: package-2017-10
@@ -21,6 +22,15 @@ batch:
- tag: package-2015-08
```
+### 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-07-preview and go
These settings apply only when `--tag=package-2019-07-preview --go` is specified on the command line.
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/CalculateExchange.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/CalculateExchange.json
index b6c1098be7d3..29a74da34b6f 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/CalculateExchange.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/CalculateExchange.json
@@ -43,22 +43,45 @@
"properties": {
"sessionId": "66e2ac8f-439e-4345-8235-6fef07608081",
"netPayable": {
- "currencyCode": "EUR",
- "amount": -688.11
+ "currencyCode": "USD",
+ "amount": 15840.0
},
"refundsTotal": {
- "currencyCode": "EUR",
- "amount": 2938.11
+ "currencyCode": "USD",
+ "amount": 3960.0
},
"purchasesTotal": {
- "currencyCode": "EUR",
- "amount": 2250.0
+ "currencyCode": "USD",
+ "amount": 19800.0
+ },
+ "policyResult": {
+ "policyErrors": null
},
"reservationsToPurchase": [
{
+ "properties": {
+ "sku": {
+ "name": "Standard_B1ls"
+ },
+ "location": "westus",
+ "properties": {
+ "reservedResourceType": "VirtualMachines",
+ "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83",
+ "term": "P1Y",
+ "billingPlan": "Upfront",
+ "quantity": 1,
+ "displayName": "testDisplayName",
+ "appliedScopeType": "Shared",
+ "appliedScopes": null,
+ "renew": false,
+ "reservedResourceProperties": {
+ "instanceFlexibility": "On"
+ }
+ }
+ },
"billingCurrencyTotal": {
- "currencyCode": "EUR",
- "amount": 2250.0
+ "currencyCode": "USD",
+ "amount": 19800.0
}
}
],
@@ -67,40 +90,32 @@
"reservationId": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6",
"quantity": 1,
"billingRefundAmount": {
- "currencyCode": "EUR",
- "amount": 34.17
+ "currencyCode": "USD",
+ "amount": 3960.0
},
"billingInformation": {
"billingCurrencyTotalPaidAmount": {
- "currencyCode": "EUR",
- "amount": 170.82
+ "currencyCode": "USD",
+ "amount": 19800.0
},
"billingCurrencyProratedAmount": {
- "currencyCode": "EUR",
- "amount": 136.65
+ "currencyCode": "USD",
+ "amount": 15840.0
},
"billingCurrencyRemainingCommitmentAmount": {
- "currencyCode": "EUR",
- "amount": 2903.94
+ "currencyCode": "USD",
+ "amount": 0.0
}
}
}
- ],
- "policyResult": {
- "policyErrors": [
- {
- "code": "RefundsLessThanPurchase",
- "message": "New purchase amount should be greater than the total refunds."
- }
- ]
- }
- },
- "error": null
+ ]
+ }
}
},
"202": {
"headers": {
- "Location": "https://management.azure.com/Microsoft.Capacity/operationResults/8d542218-8bfe-4fd2-b909-0656c610281c?api-version=2019-04-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Microsoft.Capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188?api-version=2020-10-01-preview",
+ "Location": "https://management.azure.com/Microsoft.Capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188?api-version=2020-10-01-preview",
"Retry-After": 5
}
}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/Exchange.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/Exchange.json
index 830af9a60569..c68b267ab568 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/Exchange.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/Exchange.json
@@ -16,23 +16,47 @@
"properties": {
"sessionId": "66e2ac8f-439e-4345-8235-6fef07608081",
"netPayable": {
- "currencyCode": "EUR",
- "amount": -688.11
+ "currencyCode": "USD",
+ "amount": 15840.0
},
"refundsTotal": {
- "currencyCode": "EUR",
- "amount": 2938.11
+ "currencyCode": "USD",
+ "amount": 3960.0
},
"purchasesTotal": {
- "currencyCode": "EUR",
- "amount": 2250.0
+ "currencyCode": "USD",
+ "amount": 19800.0
+ },
+ "policyResult": {
+ "policyErrors": null
},
"reservationsToPurchase": [
{
"reservationOrderId": "/providers/microsoft.capacity/reservationOrders/1e85c519-b815-4169-8d79-62fc460c608f",
+ "reservationId": "/providers/microsoft.capacity/reservationOrders/1e85c519-b815-4169-8d79-62fc460c608f/reservations/0c80fceb-305c-40a8-b5a6-11445807bbb3",
+ "properties": {
+ "sku": {
+ "name": "Standard_B1ls"
+ },
+ "location": "westus",
+ "properties": {
+ "reservedResourceType": "VirtualMachines",
+ "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83",
+ "term": "P1Y",
+ "billingPlan": "Upfront",
+ "quantity": 1,
+ "displayName": "testDisplayName",
+ "appliedScopeType": "Shared",
+ "appliedScopes": null,
+ "renew": false,
+ "reservedResourceProperties": {
+ "instanceFlexibility": "On"
+ }
+ }
+ },
"billingCurrencyTotal": {
- "currencyCode": "EUR",
- "amount": 2250.0
+ "currencyCode": "USD",
+ "amount": 19800.0
},
"status": "Succeeded"
}
@@ -42,41 +66,33 @@
"reservationId": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6",
"quantity": 1,
"billingRefundAmount": {
- "currencyCode": "EUR",
- "amount": 34.17
+ "currencyCode": "USD",
+ "amount": 3960.0
},
"billingInformation": {
"billingCurrencyTotalPaidAmount": {
- "currencyCode": "EUR",
- "amount": 170.82
+ "currencyCode": "USD",
+ "amount": 19800.0
},
"billingCurrencyProratedAmount": {
- "currencyCode": "EUR",
- "amount": 136.65
+ "currencyCode": "USD",
+ "amount": 15840.0
},
"billingCurrencyRemainingCommitmentAmount": {
- "currencyCode": "EUR",
- "amount": 2903.94
+ "currencyCode": "USD",
+ "amount": 0.0
}
},
"status": "Succeeded"
}
- ],
- "policyResult": {
- "policyErrors": [
- {
- "code": "RefundsLessThanPurchase",
- "message": "New purchase amount should be greater than the total refunds."
- }
- ]
- }
- },
- "error": null
+ ]
+ }
}
},
"202": {
"headers": {
- "Location": "https://management.azure.com/Microsoft.Capacity/operationResults/8d542218-8bfe-4fd2-b909-0656c610281c?api-version=2019-04-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Microsoft.Capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188?api-version=2020-10-01-preview",
+ "Location": "https://management.azure.com/Microsoft.Capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188?api-version=2020-10-01-preview",
"Retry-After": 5
}
}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/reservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/reservations.json
index dfba93a15ca3..cecc2d27d1cd 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/reservations.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/reservations.json
@@ -643,7 +643,7 @@
},
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
- "final-state-via": "location"
+ "final-state-via": "azure-async-operation"
},
"parameters": [
{
@@ -666,9 +666,13 @@
"202": {
"description": "The request is accepted and is being processed.",
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "URL for checking the ongoing status of the operation."
+ },
"Location": {
"type": "string",
- "description": "URL to query for the status of the operation."
+ "description": "URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned."
},
"Retry-After": {
"type": "integer",
@@ -698,7 +702,7 @@
},
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
- "final-state-via": "location"
+ "final-state-via": "azure-async-operation"
},
"parameters": [
{
@@ -721,9 +725,13 @@
"202": {
"description": "The request is accepted and is being processed.",
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "URL for checking the ongoing status of the operation."
+ },
"Location": {
"type": "string",
- "description": "URL to query for the status of the operation."
+ "description": "URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned."
},
"Retry-After": {
"type": "integer",
@@ -1161,6 +1169,9 @@
"type": "object",
"description": "Reservation purchase details",
"properties": {
+ "properties": {
+ "$ref": "#/definitions/PurchaseRequest"
+ },
"billingCurrencyTotal": {
"$ref": "#/definitions/Price"
}
@@ -1174,6 +1185,13 @@
"type": "string",
"description": "Fully qualified id of the ReservationOrder being purchased"
},
+ "reservationId": {
+ "type": "string",
+ "description": "Fully qualified id of the Reservation being purchased. This value is only guaranteed to be non-null if the purchase is successful."
+ },
+ "properties": {
+ "$ref": "#/definitions/PurchaseRequest"
+ },
"billingCurrencyTotal": {
"$ref": "#/definitions/Price"
},
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeOneSkuUsages.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeOneSkuUsages.json
new file mode 100644
index 000000000000..ebff7547f730
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeOneSkuUsages.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "providerId": "Microsoft.Compute",
+ "location": "eastus",
+ "resourceName": "standardNDSFamily",
+ "api-version": "2020-10-25"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "limit": 10,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardNDSFamily",
+ "localizedValue": "Standard NDS Family vCPUs"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeUsages.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeUsages.json
new file mode 100644
index 000000000000..390a8831fafb
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeUsages.json
@@ -0,0 +1,138 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "providerId": "Microsoft.Compute",
+ "location": "eastus",
+ "api-version": "2020-10-25"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "limit": 100,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardFSv2Family",
+ "localizedValue": "Standard FSv2 Family vCPUs"
+ }
+ }
+ },
+ {
+ "properties": {
+ "limit": 0,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardNDSFamily",
+ "localizedValue": "Standard NDS Family vCPUs"
+ }
+ }
+ },
+ {
+ "properties": {
+ "limit": 0,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardNCSv2Family",
+ "localizedValue": "Standard NCSv2 Family vCPUs"
+ }
+ }
+ },
+ {
+ "properties": {
+ "limit": 0,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardNCSv3Family",
+ "localizedValue": "Standard NCSv3 Family vCPUs"
+ }
+ }
+ },
+ {
+ "properties": {
+ "limit": 100,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardLSv2Family",
+ "localizedValue": "Standard LSv2 Family vCPUs"
+ }
+ }
+ },
+ {
+ "properties": {
+ "limit": 6,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardPBSFamily",
+ "localizedValue": "Standard PBS Family vCPUs"
+ }
+ }
+ },
+ {
+ "properties": {
+ "limit": 100,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardEIv3Family",
+ "localizedValue": "Standard EIv3 Family vCPUs"
+ }
+ }
+ },
+ {
+ "properties": {
+ "limit": 100,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardEISv3Family",
+ "localizedValue": "Standard EISv3 Family vCPUs"
+ }
+ }
+ },
+ {
+ "properties": {
+ "limit": 8,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardDCSFamily",
+ "localizedValue": "Standard DCS Family vCPUs"
+ }
+ }
+ },
+ {
+ "properties": {
+ "limit": 0,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardNVSv2Family",
+ "localizedValue": "Standard NVSv2 Family vCPUs"
+ }
+ }
+ },
+ {
+ "properties": {
+ "limit": 0,
+ "unit": "Count",
+ "currentValue": 0,
+ "name": {
+ "value": "standardMSv2Family",
+ "localizedValue": "Standard MSv2 Family vCPUs"
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getMachineLearningServicesUsages.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getMachineLearningServicesUsages.json
new file mode 100644
index 000000000000..690c516420bc
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getMachineLearningServicesUsages.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "providerId": "Microsoft.MachineLearningServices",
+ "location": "eastus",
+ "api-version": "2020-10-25"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "currentValue": 15,
+ "limit": 20,
+ "name": {
+ "value": "standardDv2Family",
+ "localizedValue": "Standard Dv2 Family vCPUs"
+ },
+ "resourceType": "dedicated"
+ }
+ },
+ {
+ "properties": {
+ "currentValue": 49,
+ "limit": 600,
+ "name": {
+ "value": "totalLowPriorityCores",
+ "localizedValue": "Total Regional Low-priority vCPUs"
+ },
+ "resourceType": "lowPriority"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusById.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusById.json
new file mode 100644
index 000000000000..fec8c9c63482
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusById.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "providerId": "Microsoft.Compute",
+ "location": "eastus",
+ "id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "api-version": "2020-10-25"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/serviceLimitsRequests",
+ "name": "00000000-0000-0000-0000-000000000000/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "properties": {
+ "requestSubmitTime": "2019-08-19T19:23:17.904Z",
+ "message": "Request completed",
+ "provisioningState": "Succeeded",
+ "value": [
+ {
+ "limit": 200,
+ "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
+ "name": {
+ "value": "standardHCSFamily",
+ "localizedValue": "Standard HCS Family vCPUs"
+ },
+ "message": "Request completed",
+ "provisioningState": "Succeeded"
+ },
+ {
+ "limit": 50,
+ "name": {
+ "value": "standardNCPromoFamily",
+ "localizedValue": "Standard NC Promo Family vCPUs"
+ },
+ "message": "Request completed",
+ "provisioningState": "Succeeded"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusFailed.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusFailed.json
new file mode 100644
index 000000000000..8708ad729fc8
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusFailed.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "providerId": "Microsoft.Compute",
+ "location": "eastus",
+ "id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "api-version": "2020-10-25"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/serviceLimitsRequests",
+ "name": "00000000-0000-0000-0000-000000000000/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "properties": {
+ "requestSubmitTime": "2019-08-19T19:23:17.904Z",
+ "message": "Request failed, please contatct support.",
+ "provisioningState": "Failed",
+ "value": [
+ {
+ "limit": 200,
+ "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
+ "name": {
+ "value": "standardHCSFamily",
+ "localizedValue": "Standard HCS Family vCPUs"
+ },
+ "message": "Request completed",
+ "provisioningState": "Succeeded"
+ },
+ {
+ "limit": 50,
+ "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
+ "name": {
+ "value": "standardNCPromoFamily",
+ "localizedValue": "Standard NC Promo Family vCPUs"
+ },
+ "message": "RRequest failed, please contatct support.",
+ "provisioningState": "Failed"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusInProgress.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusInProgress.json
new file mode 100644
index 000000000000..f9775dc4da8c
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusInProgress.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "providerId": "Microsoft.Compute",
+ "location": "eastus",
+ "id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "api-version": "2019-07-19-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/serviceLimitsRequests",
+ "name": "00000000-0000-0000-0000-000000000000/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "properties": {
+ "requestSubmitTime": "2019-08-19T19:23:17.904Z",
+ "message": "Request processing",
+ "provisioningState": "InProgress",
+ "value": [
+ {
+ "limit": 50,
+ "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
+ "name": {
+ "value": "standardNCPromoFamily",
+ "localizedValue": "Standard NC Promo Family vCPUs"
+ },
+ "message": "Request processing",
+ "provisioningState": "InProgress"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestsHistory.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestsHistory.json
new file mode 100644
index 000000000000..6453be3eb4d4
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestsHistory.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "subscriptionId": "3f75fdf7-977e-44ad-990d-99f14f0f299f",
+ "providerId": "Microsoft.Compute",
+ "location": "eastus",
+ "api-version": "2020-10-25"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/3f75fdf7-977e-44ad-990d-99f14f0f299f/providers/microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimitsRequests?api-version=2020-10-25&$top=3",
+ "value": [
+ {
+ "id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/serviceLimitsRequests",
+ "name": "00000000-0000-0000-0000-000000000000/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "properties": {
+ "requestSubmitTime": "2019-08-19T19:23:17.904Z",
+ "message": "Request completed",
+ "provisioningState": "Success",
+ "value": [
+ {
+ "limit": 200,
+ "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
+ "name": {
+ "value": "standardHCSFamily",
+ "localizedValue": "Standard HCS Family vCPUs"
+ },
+ "message": "Request completed",
+ "provisioningState": "Success"
+ },
+ {
+ "limit": 50,
+ "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
+ "name": {
+ "value": "standardNCPromoFamily",
+ "localizedValue": "Standard NC Promo Family vCPUs"
+ },
+ "message": "Request completed",
+ "provisioningState": "Success"
+ }
+ ]
+ }
+ },
+ {
+ "id": "7E73A85C-83BB-4DE4-903F-076F1A2B91D6",
+ "type": "Microsoft.Capacity/serviceLimitsRequests",
+ "name": "00000000-0000-0000-0000-000000000000/7E73A85C-83BB-4DE4-903F-076F1A2B91D6",
+ "properties": {
+ "requestSubmitTime": "2019-08-18T19:23:17.904Z",
+ "message": "Request completed",
+ "provisioningState": "Succeeded",
+ "value": [
+ {
+ "limit": 100,
+ "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
+ "name": {
+ "value": "standardNVSv3Family",
+ "localizedValue": "Standard NVSv3 Family vCPUs"
+ },
+ "message": "Request completed",
+ "provisioningState": "Success"
+ },
+ {
+ "limit": 150,
+ "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
+ "name": {
+ "value": "standardNVPromoFamily",
+ "localizedValue": "Standard NV Promo Family vCPUs"
+ },
+ "message": "Request completed",
+ "provisioningState": "Succeeded"
+ }
+ ]
+ }
+ },
+ {
+ "id": "5E460077-AB53-4802-8997-A6940E0B7649",
+ "type": "Microsoft.Capacity/serviceLimitsRequests",
+ "name": "00000000-0000-0000-0000-000000000000/5E460077-AB53-4802-8997-A6940E0B7649",
+ "properties": {
+ "requestSubmitTime": "2019-08-17T19:23:17.904Z",
+ "message": "Request completed",
+ "provisioningState": "Succeeded",
+ "value": [
+ {
+ "limit": 70,
+ "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
+ "name": {
+ "value": "standardNCPromoFamily",
+ "localizedValue": "Standard NC Promo Family vCPUs"
+ },
+ "message": "Request completed",
+ "provisioningState": "Succeeded"
+ },
+ {
+ "limit": 52,
+ "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
+ "name": {
+ "value": "standardHBSFamily",
+ "localizedValue": "Standard HBS Family vCPUs"
+ },
+ "message": "Request completed",
+ "provisioningState": "Succeeded"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/patchComputeQuotaRequest.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/patchComputeQuotaRequest.json
new file mode 100644
index 000000000000..b884e097975a
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/patchComputeQuotaRequest.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "D7EC67B3-7657-4966-BFFC-41EFD36BAAB3",
+ "providerId": "Microsoft.Compute",
+ "location": "eastus",
+ "resourceName": "standardFSv2Family",
+ "api-version": "2020-10-25",
+ "createQuotaRequest": {
+ "properties": {
+ "limit": 200,
+ "unit": "Count",
+ "name": {
+ "value": "standardFSv2Family"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/ServiceLimits",
+ "properties": {
+ "provisioningState": "InProgress",
+ "message": ""
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/serviceLimits",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "message": "",
+ "properties": {
+ "properties": {
+ "limit": 200,
+ "unit": "Count",
+ "currentValue": 160,
+ "name": {
+ "value": "standardFSv2Family",
+ "localizedValue": "Standard FSv2 Family vCPUs"
+ },
+ "quotaPeriod": "",
+ "properties": {}
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putComputeOneSkuQuotaRequest.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putComputeOneSkuQuotaRequest.json
new file mode 100644
index 000000000000..7184e2231b8a
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putComputeOneSkuQuotaRequest.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "D7EC67B3-7657-4966-BFFC-41EFD36BAAB3",
+ "providerId": "Microsoft.Compute",
+ "location": "eastus",
+ "resourceName": "standardFSv2Family",
+ "api-version": "2020-10-25",
+ "createQuotaRequest": {
+ "properties": {
+ "limit": 200,
+ "unit": "Count",
+ "name": {
+ "value": "standardFSv2Family"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/ServiceLimits",
+ "properties": {
+ "provisioningState": "InProgress",
+ "message": ""
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/serviceLimits",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "message": "Request succeeded",
+ "properties": {
+ "properties": {
+ "limit": 200,
+ "unit": "Count",
+ "currentValue": 160,
+ "name": {
+ "value": "standardFSv2Family",
+ "localizedValue": "Standard FSv2 Family vCPUs"
+ },
+ "quotaPeriod": "",
+ "properties": {}
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestDedicated.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestDedicated.json
new file mode 100644
index 000000000000..280a446a7360
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestDedicated.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "D7EC67B3-7657-4966-BFFC-41EFD36BAAB3",
+ "providerId": "Microsoft.MachineLearningServices",
+ "location": "eastus",
+ "resourceName": "StandardDv2Family",
+ "api-version": "2020-10-25",
+ "createQuotaRequest": {
+ "properties": {
+ "limit": 200,
+ "unit": "Count",
+ "name": {
+ "value": "StandardDv2Family"
+ },
+ "resourceType": "dedicated"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.MachineLearningServices/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/ServiceLimits",
+ "properties": {
+ "provisioningState": "InProgress",
+ "message": ""
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.MachineLearningServices/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/serviceLimits",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "message": "Request succeeded",
+ "properties": {
+ "properties": {
+ "limit": 200,
+ "unit": "Count",
+ "currentValue": 160,
+ "name": {
+ "value": "StandardDv2Family",
+ "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs"
+ },
+ "resourceType": "dedicated",
+ "quotaPeriod": "",
+ "properties": {}
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestLowPriority.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestLowPriority.json
new file mode 100644
index 000000000000..d4f7b2bee919
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestLowPriority.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "D7EC67B3-7657-4966-BFFC-41EFD36BAAB3",
+ "providerId": "Microsoft.MachineLearningServices",
+ "location": "eastus",
+ "resourceName": "TotalLowPriorityCores",
+ "api-version": "2020-10-25",
+ "createQuotaRequest": {
+ "properties": {
+ "limit": 200,
+ "unit": "Count",
+ "name": {
+ "value": "TotalLowPriorityCores"
+ },
+ "resourceType": "lowPriority"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.MachineLearningServices/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/ServiceLimits",
+ "properties": {
+ "provisioningState": "InProgress",
+ "message": ""
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.MachineLearningServices/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Capacity/serviceLimits",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "message": "Request succeeded",
+ "properties": {
+ "properties": {
+ "limit": 200,
+ "unit": "Count",
+ "currentValue": 160,
+ "name": {
+ "value": "TotalLowPriorityCores",
+ "localizedValue": "Total Cluster Low Priority Regional vCPUs"
+ },
+ "resourceType": "lowPriority",
+ "quotaPeriod": "",
+ "properties": {}
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/quota.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/quota.json
new file mode 100644
index 000000000000..52f8ba2754fe
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/quota.json
@@ -0,0 +1,886 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-10-25",
+ "title": "Azure Reservation API",
+ "description": "Microsoft Azure Quota Resource Provider"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/resourceProviders/{providerId}/locations/{location}/serviceLimits/{resourceName}": {
+ "get": {
+ "tags": [
+ "QuotaInformation"
+ ],
+ "description": "Get the current quotas (service limits) and usage of a resource. You can use the response from the GET operation to submit quota update requests.",
+ "operationId": "Quota_Get",
+ "x-ms-examples": {
+ "Quotas_Request_ForCompute": {
+ "$ref": "./examples/getComputeOneSkuUsages.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/ProviderIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/LocationIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameInParameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the paginated quota information.",
+ "schema": {
+ "$ref": "#/definitions/CurrentQuotaLimitBase"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. It should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error description in the response.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "QuotaInformation"
+ ],
+ "description": "Create or update the quotas (service limits) of a resource to the requested value.\n Steps:\n\r 1. Make the Get request to get the quota information for specific resource.\n\r 2. To increase the quota, update the limit field in the response from Get request to new value.\n\r 3. Submit the JSON to the quota request API to update the quota.\r\n The Create quota request may be constructed as follows. The PUT operation can be used to update the quota.",
+ "operationId": "Quota_CreateOrUpdate",
+ "x-ms-examples": {
+ "Quotas_Request_ForCompute": {
+ "$ref": "./examples/putComputeOneSkuQuotaRequest.json"
+ },
+ "Quotas_Request_ForMachineLearningServices_DedicatedResource": {
+ "$ref": "./examples/putMachineLearningServicesQuotaRequestDedicated.json"
+ },
+ "Quotas_Request_ForMachineLearningServices_LowPriorityResource": {
+ "$ref": "./examples/putMachineLearningServicesQuotaRequestLowPriority.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/ProviderIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/LocationIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameInParameters"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createQuotaRequest",
+ "in": "body",
+ "description": "Quota requests payload.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CurrentQuotaLimitBase"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns details of the quota request.",
+ "schema": {
+ "$ref": "#/definitions/QuotaRequestOneResourceSubmitResponse"
+ }
+ },
+ "201": {
+ "description": "The request is accepted and being processed. Use the requestId parameter to check the status of the request.",
+ "schema": {
+ "$ref": "#/definitions/QuotaRequestSubmitResponse201"
+ }
+ },
+ "default": {
+ "description": "Error description in the response.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "QuotaInformation"
+ ],
+ "description": "Update the quota (service limits) of this resource to the requested value.\n\r • To get the quota information for specific resource, send a GET request.\n\r • To increase the quota, update the limit field from the GET response to a new value.\n\r • To update the quota value, submit the JSON response to the quota request API to update the quota.\r\n • To update the quota. use the PATCH operation.",
+ "operationId": "Quota_Update",
+ "x-ms-examples": {
+ "Quotas_Request_PatchForCompute": {
+ "$ref": "./examples/patchComputeQuotaRequest.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/ProviderIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/LocationIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameInParameters"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createQuotaRequest",
+ "in": "body",
+ "description": "Payload for the quota request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CurrentQuotaLimitBase"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns details of the quota request.",
+ "schema": {
+ "$ref": "#/definitions/QuotaRequestOneResourceSubmitResponse"
+ }
+ },
+ "201": {
+ "description": "The request is accepted and is being processed. Use the requestId parameter to check the status.",
+ "schema": {
+ "$ref": "#/definitions/QuotaRequestSubmitResponse201"
+ }
+ },
+ "default": {
+ "description": "Error description in the response.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/resourceProviders/{providerId}/locations/{location}/serviceLimits": {
+ "get": {
+ "tags": [
+ "QuotaInformation"
+ ],
+ "description": "Gets a list of current quotas (service limits) and usage for all resources. The response from the list quota operation can be leveraged to request quota updates.",
+ "operationId": "Quota_List",
+ "x-ms-examples": {
+ "Quotas_listUsagesForCompute": {
+ "$ref": "./examples/getComputeUsages.json"
+ },
+ "Quotas_listUsagesMachineLearningServices": {
+ "$ref": "./examples/getMachineLearningServicesUsages.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/ProviderIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/LocationIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the paginated quota information.",
+ "schema": {
+ "$ref": "#/definitions/QuotaLimits"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error description in the response.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/resourceProviders/{providerId}/locations/{location}/serviceLimitsRequests/{id}": {
+ "get": {
+ "tags": [
+ "QuotaRequests"
+ ],
+ "x-ms-examples": {
+ "QuotaRequestStatus": {
+ "$ref": "./examples/getQuotaRequestStatusById.json"
+ },
+ "QuotaRequestInProgress": {
+ "$ref": "./examples/getQuotaRequestStatusInProgress.json"
+ },
+ "QuotaRequestFailed": {
+ "$ref": "./examples/getQuotaRequestStatusFailed.json"
+ }
+ },
+ "description": "For the specified Azure region (location), get the details and status of the quota request by the quota request ID for the resources of the resource provider. The PUT request for service limits returns a response with the requestId parameter.",
+ "operationId": "QuotaRequestStatus_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ProviderIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/LocationIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/RequestIdInParameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok. Returns the status of the quota request.",
+ "schema": {
+ "$ref": "#/definitions/QuotaRequestDetails"
+ }
+ },
+ "default": {
+ "description": "Error description in the response.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/resourceProviders/{providerId}/locations/{location}/serviceLimitsRequests": {
+ "get": {
+ "tags": [
+ "QuotaRequests"
+ ],
+ "x-ms-examples": {
+ "QuotaRequestHistory": {
+ "$ref": "./examples/getQuotaRequestsHistory.json"
+ }
+ },
+ "description": "For the specified Azure region (location), subscription, and resource provider, get the history of the quota requests for the past year. To select specific quota requests, use the oData filter.",
+ "operationId": "QuotaRequestStatus_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ProviderIdInParameters"
+ },
+ {
+ "$ref": "#/parameters/LocationIdInParameters"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators \n|---------------------|------------------------\n\r\n|requestSubmitTime | ge, le, eq, gt, lt\n"
+ },
+ {
+ "$ref": "#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/SkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok. Returns details and status of the quota request.",
+ "schema": {
+ "$ref": "#/definitions/QuotaRequestDetailsList"
+ }
+ },
+ "default": {
+ "description": "Error description in the response.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CurrentQuotaLimit": {
+ "type": "object",
+ "description": "Current quota limits.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "quotaInformation": {
+ "description": "Quota details.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CurrentQuotaLimitBase"
+ },
+ "properties": {
+ "description": "Additional properties for the quota status for the resource.",
+ "$ref": "#/definitions/QuotaRequestStatusDetails",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "CurrentQuotaLimitBase": {
+ "type": "object",
+ "description": "Quota properties.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "description": "Quota properties for the resource.",
+ "$ref": "#/definitions/QuotaProperties"
+ }
+ }
+ },
+ "QuotaProperties": {
+ "description": "Quota properties for the resource.",
+ "type": "object",
+ "properties": {
+ "limit": {
+ "description": "Quota properties.",
+ "type": "integer"
+ },
+ "currentValue": {
+ "description": "Current usage value for the resource.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "unit": {
+ "description": " The limit units, such as **count** and **bytes**. Use the unit field provided in the response of the GET quota operation.",
+ "type": "string",
+ "readOnly": false
+ },
+ "name": {
+ "description": "Name of the resource provide by the resource provider. Use this property for quotaRequests resource operations.",
+ "$ref": "#/definitions/ResourceName"
+ },
+ "resourceType": {
+ "description": "The name of the resource type.",
+ "$ref": "#/definitions/ResourceTypesName",
+ "readOnly": false
+ },
+ "quotaPeriod": {
+ "description": "The time period over which the quota usage values are summarized. For example, P1D (per one day), PT1M (per one minute), and PT1S (per one second). This parameter is optional because, for some resources such as compute, the time period is irrelevant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Additional properties for the specified resource provider.",
+ "type": "object"
+ }
+ }
+ },
+ "ResourceName": {
+ "description": "Resource name provided by the resource provider. Use this property for quotaRequest parameter.",
+ "properties": {
+ "value": {
+ "description": "Resource name.",
+ "type": "string",
+ "readOnly": false
+ },
+ "localizedValue": {
+ "description": "Resource display localized name.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "QuotaLimits": {
+ "description": "Quota limits.",
+ "properties": {
+ "value": {
+ "description": "List of quotas (service limits).",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CurrentQuotaLimitBase"
+ }
+ },
+ "nextLink": {
+ "description": "The URI for fetching the next page of quotas (service limits). When no more pages exist, the value is null.",
+ "type": "string"
+ }
+ }
+ },
+ "QuotaLimitsResponse": {
+ "description": "Quotas (service limits) in the request response.",
+ "properties": {
+ "value": {
+ "description": "List of quotas with the quota request status.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CurrentQuotaLimit"
+ }
+ },
+ "nextLink": {
+ "description": "The URI for fetching the next page of quota limits. When no more pages exist, the value is null.",
+ "type": "string"
+ }
+ }
+ },
+ "CreateGenericQuotaRequestParameters": {
+ "type": "object",
+ "description": "Quota change requests information.",
+ "properties": {
+ "value": {
+ "description": "Quota change requests.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CurrentQuotaLimitBase"
+ }
+ }
+ }
+ },
+ "SubRequest": {
+ "type": "object",
+ "description": "The sub-request submitted with the quota request.",
+ "properties": {
+ "limit": {
+ "description": "Quota (resource limit).",
+ "type": "integer",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The resource name.",
+ "$ref": "#/definitions/ResourceName"
+ },
+ "resourceType": {
+ "description": "Resource type for which the quota check was made.",
+ "type": "string",
+ "readOnly": true
+ },
+ "unit": {
+ "description": " The limit units, such as **count** and **bytes**. Use the unit field provided in the response of the GET quota operation.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "The quota request status.",
+ "$ref": "#/definitions/QuotaRequestState"
+ },
+ "message": {
+ "description": "User-friendly status message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subRequestId": {
+ "description": "Sub request ID for individual request.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "QuotaRequestOneResourceSubmitResponse": {
+ "description": "Response for the quota submission request.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "The quota request ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the quota request.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of resource. \"Microsoft.Capacity/ServiceLimits\""
+ },
+ "properties": {
+ "description": "The details for quota request.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/quotaRequestOneResourceProperties"
+ }
+ }
+ },
+ "QuotaRequestSubmitResponse": {
+ "description": "Response for the quota submission request.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "The quota request ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the quota request.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "The quota request details.",
+ "type": "object",
+ "$ref": "#/definitions/QuotaRequestProperties"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of resource. \"Microsoft.Capacity/serviceLimits\""
+ }
+ }
+ },
+ "QuotaRequestSubmitResponse201": {
+ "description": "Response with request ID that the quota request was accepted.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The quota request ID. Use the requestId parameter to check the request status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Operation ID",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Quota request status.",
+ "$ref": "#/definitions/QuotaRequestStatusDetails",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "QuotaRequestStatusDetails": {
+ "description": "Quota request status details.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The details of the quota request status.",
+ "$ref": "#/definitions/QuotaRequestState",
+ "readOnly": true
+ },
+ "message": {
+ "description": "A user friendly message.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "QuotaRequestDetails": {
+ "type": "object",
+ "description": "Quota request details.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "Quota request ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Quota request name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Quota request details.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QuotaRequestProperties"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ }
+ }
+ },
+ "QuotaRequestDetailsList": {
+ "description": "Quota request details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The quota requests.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QuotaRequestDetails"
+ }
+ },
+ "nextLink": {
+ "description": "The URI to fetch the next page of quota limits. When there are no more pages, this is null.",
+ "type": "string"
+ }
+ }
+ },
+ "QuotaRequestProperties": {
+ "type": "object",
+ "description": "The details of quota request.",
+ "properties": {
+ "provisioningState": {
+ "description": "The quota request status.",
+ "$ref": "#/definitions/QuotaRequestState"
+ },
+ "message": {
+ "description": "User friendly status message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requestSubmitTime": {
+ "description": "The time when the quota request was submitted using format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.",
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time"
+ },
+ "value": {
+ "description": "The quotaRequests.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubRequest"
+ }
+ }
+ }
+ },
+ "quotaRequestOneResourceProperties": {
+ "type": "object",
+ "description": "The details of quota request.",
+ "properties": {
+ "provisioningState": {
+ "description": "The quota request status.",
+ "readOnly": true,
+ "$ref": "#/definitions/QuotaRequestState"
+ },
+ "message": {
+ "description": "User friendly status message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requestSubmitTime": {
+ "description": "The time when the quota request was submitted using format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.",
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time"
+ },
+ "properties": {
+ "description": "The quota request addition properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CurrentQuotaLimitBase"
+ }
+ }
+ },
+ "QuotaRequestState": {
+ "description": "The quota request status.",
+ "enum": [
+ "Accepted",
+ "Invalid",
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "QuotaRequestState",
+ "modelAsString": true
+ }
+ },
+ "ResourceTypesName": {
+ "description": "The resource types.",
+ "enum": [
+ "standard",
+ "dedicated",
+ "lowPriority",
+ "shared",
+ "serviceSpecific"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceType",
+ "modelAsString": true
+ }
+ },
+ "ExceptionResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ServiceError",
+ "description": "The API error details."
+ }
+ },
+ "description": "The API error."
+ },
+ "ServiceError": {
+ "description": "The API error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message text."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceErrorDetail"
+ },
+ "description": "The list of error details.",
+ "readOnly": true
+ }
+ }
+ },
+ "ServiceErrorDetail": {
+ "description": "The error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The error code."
+ },
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The error message."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdInParameters": {
+ "name": "subscriptionId",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Azure subscription ID."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "API version."
+ },
+ "LocationIdInParameters": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Azure region.",
+ "x-ms-parameter-location": "method"
+ },
+ "ProviderIdInParameters": {
+ "name": "providerId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Azure resource provider ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameInParameters": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource name for a resource provider, such as SKU name for Microsoft.Compute, Sku or TotalLowPriorityCores for Microsoft.MachineLearningServices",
+ "x-ms-parameter-location": "method"
+ },
+ "RequestIdInParameters": {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Quota Request ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "TopQueryParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of records to return.",
+ "minimum": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "SkipTokenParameter": {
+ "name": "$skiptoken",
+ "in": "query",
+ "type": "string",
+ "required": false,
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element includes a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/readme.azureresourceschema.md b/specification/reservations/resource-manager/readme.azureresourceschema.md
index 8bdee0743c2a..de32653a4299 100644
--- a/specification/reservations/resource-manager/readme.azureresourceschema.md
+++ b/specification/reservations/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-capacity-2020-10-25
- tag: schema-capacity-2019-07-19
- tag: schema-capacity-2019-04-01
- tag: schema-capacity-2018-06-01
@@ -15,6 +16,17 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-capacity-2020-10-25 and azureresourceschema
+
+``` yaml $(tag) == 'schema-capacity-2020-10-25' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Capacity/stable/2020-10-25/quota.json
+
+```
+
### Tag: schema-capacity-2019-07-19 and azureresourceschema
``` yaml $(tag) == 'schema-capacity-2019-07-19' && $(azureresourceschema)
diff --git a/specification/reservations/resource-manager/readme.go.md b/specification/reservations/resource-manager/readme.go.md
index 57640bc8c536..1c311700f507 100644
--- a/specification/reservations/resource-manager/readme.go.md
+++ b/specification/reservations/resource-manager/readme.go.md
@@ -13,12 +13,22 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-10-25
- tag: package-preview-2019-07-19
- tag: package-preview-2019-04
- tag: package-2018-06
- tag: package-2017-11
```
+### Tag: package-2020-10-25 and go
+
+These settings apply only when `--tag=package-2020-10-25 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-10-25' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-10-25/$(namespace)
+```
+
### Tag: package-preview-2019-07-19 and go
These settings apply only when `--tag=package-preview-2019-07-19 --go` is specified on the command line.
diff --git a/specification/reservations/resource-manager/readme.md b/specification/reservations/resource-manager/readme.md
index cbbdc7ea762c..68a384aa9861 100644
--- a/specification/reservations/resource-manager/readme.md
+++ b/specification/reservations/resource-manager/readme.md
@@ -26,7 +26,17 @@ These are the global settings for the Reservations API.
``` yaml
openapi-type: arm
-tag: package-2020-11-preview
+tag: package-2020-10-25
+```
+
+### Tag: package-2020-10-25
+
+These settings apply only when `--tag=package-2020-10-25` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-10-25'
+input-file:
+ - Microsoft.Capacity/stable/2017-11-01/reservations.json
+ - Microsoft.Capacity/stable/2020-10-25/quota.json
```
### Tag: package-2020-11-preview
diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json
index 5353e011b425..a79ba6732f7c 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json
@@ -606,7 +606,8 @@
"timeout": {
"type": "string",
"format": "duration",
- "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H"
+ "default": "P1D",
+ "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is P1D"
}
}
},
@@ -633,6 +634,7 @@
"OnSuccess",
"OnExpiration"
],
+ "default": "Always",
"x-ms-enum": {
"name": "cleanupOptions",
"modelAsString": true
@@ -771,10 +773,12 @@
"description": "User-assigned managed identity.",
"properties": {
"principalId": {
+ "readOnly": true,
"type": "string",
"description": "Azure Active Directory principal ID associated with this identity."
},
"clientId": {
+ "readOnly": true,
"type": "string",
"description": "Client App Id associated with this identity."
}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json
index 93a79b905a36..cbcf124ce9c5 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json
@@ -608,7 +608,8 @@
"timeout": {
"type": "string",
"format": "duration",
- "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H"
+ "default": "P1D",
+ "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is P1D"
}
}
},
@@ -635,6 +636,7 @@
"OnSuccess",
"OnExpiration"
],
+ "default": "Always",
"x-ms-enum": {
"name": "cleanupOptions",
"modelAsString": true
@@ -769,10 +771,12 @@
"description": "User-assigned managed identity.",
"properties": {
"principalId": {
+ "readOnly": true,
"type": "string",
"description": "Azure Active Directory principal ID associated with this identity."
},
"clientId": {
+ "readOnly": true,
"type": "string",
"description": "Client App Id associated with this identity."
}
diff --git a/specification/resources/resource-manager/readme.go.md b/specification/resources/resource-manager/readme.go.md
index 5517024233da..233aee938ec2 100644
--- a/specification/resources/resource-manager/readme.go.md
+++ b/specification/resources/resource-manager/readme.go.md
@@ -22,6 +22,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-templatespecs-2019-06-preview
- tag: package-features-2015-12
- tag: package-locks-2016-09
- tag: package-locks-2015-01
@@ -61,6 +62,16 @@ batch:
- tag: package-resources-2019-07
```
+### Tag: package-templatespecs-2019-06-preview and go
+
+These settings apply only when `--tag=package-templatespecs-2019-06-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-templatespecs-2019-06-preview' && $(go)
+namespace: templatespecs
+output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2019-06-01-preview/$(namespace)
+```
+
### Tag: package-resources-2019-07 and go
These settings apply only when `--tag=package-resources-2019-07 --go` is specified on the command line.
diff --git a/specification/scheduler/resource-manager/readme.md b/specification/scheduler/resource-manager/readme.md
index dd10e44abeea..cd522a6ae448 100644
--- a/specification/scheduler/resource-manager/readme.md
+++ b/specification/scheduler/resource-manager/readme.md
@@ -102,7 +102,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -112,12 +112,27 @@ python:
package-name: azure-mgmt-scheduler
clear-output-folder: true
```
+
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.scheduler
+package-name: azure-mgmt-scheduler
+package-version: 7.0.0b1
+clear-output-folder: true
+```
+
``` yaml $(python) && $(python-mode) == 'update'
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/scheduler/azure-mgmt-scheduler/azure/mgmt/scheduler
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/scheduler/azure-mgmt-scheduler/azure/mgmt/scheduler
```
``` yaml $(python) && $(python-mode) == 'create'
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/scheduler/azure-mgmt-scheduler
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/scheduler/azure-mgmt-scheduler
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json
index af9b13b601ea..37edd5ed07f1 100644
--- a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json
@@ -379,7 +379,8 @@
"SubAssessments",
"Alerts",
"SecureScores",
- "SecureScoreControls"
+ "SecureScoreControls",
+ "RegulatoryComplianceAssessment"
],
"x-ms-enum": {
"name": "EventSource",
@@ -399,6 +400,9 @@
},
{
"value": "SecureScoreControls"
+ },
+ {
+ "value": "RegulatoryComplianceAssessment"
}
]
}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/TriggerTiPackageUpdate.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/TriggerTiPackageUpdate.json
new file mode 100644
index 000000000000..2aebd9e8ac3b
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/TriggerTiPackageUpdate.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub",
+ "iotSensorName": "mySensor"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json
index c129ae9a8e67..979c9da0f32a 100644
--- a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json
@@ -287,6 +287,42 @@
}
}
}
+ },
+ "/{scope}/providers/Microsoft.Security/iotSensors/{iotSensorName}/triggerTiPackageUpdate": {
+ "post": {
+ "x-ms-examples": {
+ "Trigger threat intelligence package update": {
+ "$ref": "./examples/IotSensors/TriggerTiPackageUpdate.json"
+ }
+ },
+ "tags": [
+ "IoT Sensors"
+ ],
+ "operationId": "IotSensors_TriggerTiPackageUpdate",
+ "description": "Trigger threat intelligence package update",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/IotSensorScope"
+ },
+ {
+ "$ref": "#/parameters/IotSensorName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Triggered threat intelligence package update"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
}
},
"definitions": {
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 cdd9e3d27db7..dbd3198621ef 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
@@ -1732,6 +1732,9 @@
},
"Get a Office ATP data connector": {
"$ref": "./examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json"
+ },
+ "Get a Dynamics365 data connector": {
+ "$ref": "./examples/dataConnectors/GetDynamics365DataConnectorById.json"
}
},
"tags": [
@@ -1778,6 +1781,9 @@
"x-ms-examples": {
"Creates or updates an Office365 data connector.": {
"$ref": "./examples/dataConnectors/CreateOfficeDataConnetor.json"
+ },
+ "Creates or updates a Dynamics365 data connector.": {
+ "$ref": "./examples/dataConnectors/CreateDynamics365DataConnetor.json"
}
},
"tags": [
@@ -1905,6 +1911,9 @@
},
"Check requirements for OfficeATP.": {
"$ref": "./examples/dataConnectors/CheckRequirementsOfficeATP.json"
+ },
+ "Check requirements for Dynamics365.": {
+ "$ref": "./examples/dataConnectors/CheckRequirementsDynamics365.json"
}
},
"tags": [
@@ -2191,6 +2200,108 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/queries": {
+ "get": {
+ "x-ms-examples": {
+ "Get Entity Query": {
+ "$ref": "./examples/entities/GetQueries.json"
+ }
+ },
+ "tags": [
+ "Entities"
+ ],
+ "description": "Get Insights and Activities for an entity.",
+ "operationId": "Entities_Queries",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/EntityId"
+ },
+ {
+ "$ref": "#/parameters/EntityQueryKindParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GetQueriesResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getInsights": {
+ "post": {
+ "x-ms-examples": {
+ "Entity Insight": {
+ "$ref": "./examples/entities/insights/PostGetInsights.json"
+ }
+ },
+ "tags": [
+ "Entities"
+ ],
+ "description": "Execute Insights for an entity.",
+ "operationId": "Entities_GetInsights",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/EntityId"
+ },
+ {
+ "$ref": "#/parameters/GetInsightsEntityQueriesRequestBody"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EntityGetInsightsResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations": {
"get": {
"x-ms-examples": {
@@ -4713,6 +4824,12 @@
"description": "the number of alert rules that were created by this template",
"type": "integer"
},
+ "lastUpdatedDateUTC": {
+ "description": "The last time that this alert rule template has been updated.",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
"createdDateUTC": {
"description": "The time that this alert rule template has been added.",
"format": "date-time",
@@ -5880,7 +5997,8 @@
"OfficeATP",
"AmazonWebServicesCloudTrail",
"AzureAdvancedThreatProtection",
- "MicrosoftDefenderAdvancedThreatProtection"
+ "MicrosoftDefenderAdvancedThreatProtection",
+ "Dynamics365"
],
"type": "string",
"x-ms-enum": {
@@ -5916,6 +6034,9 @@
},
{
"value": "MicrosoftDefenderAdvancedThreatProtection"
+ },
+ {
+ "value": "Dynamics365"
}
]
}
@@ -6032,6 +6153,79 @@
},
"type": "object"
},
+ "Dynamics365DataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents Dynamics365 data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/Dynamics365DataConnectorProperties",
+ "description": "Dynamics365 data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "Dynamics365"
+ },
+ "Dynamics365DataConnectorDataTypes": {
+ "description": "The available data types for Dynamics365 data connector.",
+ "properties": {
+ "dynamics365CdsActivities": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorDataTypeCommon"
+ }
+ ],
+ "description": "Common Data Service data type connection.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "Dynamics365DataConnectorProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "Dynamics365 data connector properties.",
+ "properties": {
+ "dataTypes": {
+ "$ref": "#/definitions/Dynamics365DataConnectorDataTypes",
+ "description": "The available data types for the connector."
+ }
+ },
+ "type": "object"
+ },
+ "Dynamics365CheckRequirements": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorsCheckRequirements"
+ }
+ ],
+ "description": "Represents Dynamics365 requirements check request.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/Dynamics365CheckRequirementsProperties",
+ "description": "Dynamics365 requirements check properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "Dynamics365"
+ },
+ "Dynamics365CheckRequirementsProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "Dynamics365 requirements check properties.",
+ "type": "object"
+ },
"Entity": {
"allOf": [
{
@@ -6156,6 +6350,18 @@
}
}
},
+ "GetQueriesResponse": {
+ "description": "Retrieve queries for entity result operation response.",
+ "properties": {
+ "value": {
+ "description": "The query result values.",
+ "items": {
+ "$ref": "#/definitions/EntityQueryItem"
+ },
+ "type": "array"
+ }
+ }
+ },
"EntityInnerKind": {
"description": "The kind of the entity",
"enum": [
@@ -6389,7 +6595,8 @@
"kind": {
"description": "The kind of the entity query",
"enum": [
- "Expansion"
+ "Expansion",
+ "Insight"
],
"type": "string",
"x-ms-enum": {
@@ -6398,6 +6605,9 @@
"values": [
{
"value": "Expansion"
+ },
+ {
+ "value": "Insight"
}
]
}
@@ -6776,6 +6986,156 @@
},
"type": "object"
},
+ "InsightQueryItem": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityQueryItem"
+ }
+ ],
+ "description": "Represents Insight Query.",
+ "properties": {
+ "properties": {
+ "description": "Properties bag for InsightQueryItem",
+ "$ref": "#/definitions/InsightQueryItemProperties"
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "Insight"
+ },
+ "InsightQueryItemProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityQueryItemProperties"
+ }
+ ],
+ "description": "Represents Insight Query.",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The insight display name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The insight description."
+ },
+ "baseQuery": {
+ "type": "string",
+ "description": "The base query of the insight."
+ },
+ "tableQuery": {
+ "type": "object",
+ "description": "The insight table query.",
+ "properties": {
+ "columnsDefinitions": {
+ "type": "array",
+ "description": "List of insight column definitions.",
+ "items": {
+ "properties": {
+ "header": {
+ "type": "string",
+ "description": "Insight column header."
+ },
+ "outputType": {
+ "type": "string",
+ "description": "Insights Column type.",
+ "enum": [
+ "Number",
+ "String",
+ "Date",
+ "Entity"
+ ]
+ },
+ "supportDeepLink": {
+ "type": "boolean",
+ "description": "Is query supports deep-link."
+ }
+ }
+ }
+ },
+ "queriesDefinitions": {
+ "type": "array",
+ "description": "List of insight queries definitions.",
+ "items": {
+ "properties": {
+ "filter": {
+ "type": "string",
+ "description": "Insight column header."
+ },
+ "summarize": {
+ "type": "string",
+ "description": "Insight column header."
+ },
+ "project": {
+ "type": "string",
+ "description": "Insight column header."
+ },
+ "linkColumnsDefinitions": {
+ "type": "array",
+ "description": "Insight column header.",
+ "items": {
+ "properties": {
+ "projectedName": {
+ "type": "string",
+ "description": "Insight Link Definition Projected Name."
+ },
+ "Query": {
+ "type": "string",
+ "description": "Insight Link Definition Query."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "chartQuery": {
+ "type": "object",
+ "description": "The insight chart query."
+ },
+ "additionalQuery": {
+ "type": "object",
+ "description": "The activity query definitions.",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "The insight query."
+ },
+ "text": {
+ "type": "string",
+ "description": "The insight text."
+ }
+ }
+ },
+ "defaultTimeRange": {
+ "type": "object",
+ "description": "The insight chart query.",
+ "properties": {
+ "beforeRange": {
+ "type": "string",
+ "description": "The padding for the start time of the query."
+ },
+ "afterRange": {
+ "type": "string",
+ "description": "The padding for the end time of the query."
+ }
+ }
+ },
+ "referenceTimeRange": {
+ "type": "object",
+ "description": "The insight chart query.",
+ "properties": {
+ "beforeRange": {
+ "type": "string",
+ "description": "Additional query time for looking back."
+ }
+ }
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "Insight"
+ },
"ActivityTimelineItem": {
"allOf": [
{
@@ -8996,7 +9356,8 @@
"Account",
"Host",
"Ip",
- "Url"
+ "Url",
+ "FileHash"
],
"type": "string",
"x-ms-enum": {
@@ -9018,6 +9379,10 @@
{
"description": "Url entity",
"value": "Url"
+ },
+ {
+ "description": "FileHash entity",
+ "value": "FileHash"
}
]
}
@@ -10578,6 +10943,237 @@
}
},
"type": "object"
+ },
+ "EntityGetInsightsParameters": {
+ "description": "The parameters required to execute insights operation on the given entity.",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "description": "The start timeline date, so the results returned are after this date.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "The end timeline date, so the results returned are before this date.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "addDefaultExtendedTimeRange": {
+ "description": "Indicates if query time range should be extended with default time range of the query. Default value is false",
+ "type": "boolean"
+ },
+ "insightQueryIds": {
+ "description": "List of Insights Query Id. If empty, default value is all insights of this entity",
+ "type": "array",
+ "items": {
+ "description": "Insight Query Id (GUID)",
+ "format": "uuid",
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "startTime",
+ "endTime"
+ ]
+ },
+ "EntityGetInsightsResponse": {
+ "description": "The Get Insights result operation response.",
+ "properties": {
+ "metaData": {
+ "$ref": "#/definitions/GetInsightsResultsMetadata",
+ "description": "The metadata from the get insights operation results."
+ },
+ "value": {
+ "description": "The insights result values.",
+ "items": {
+ "$ref": "#/definitions/EntityInsightItem"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "GetInsightsResultsMetadata": {
+ "description": "Get Insights result metadata.",
+ "properties": {
+ "totalCount": {
+ "description": "the total items found for the insights request",
+ "type": "integer",
+ "format": "int32"
+ },
+ "errors": {
+ "description": "information about the failed queries",
+ "items": {
+ "$ref": "#/definitions/GetInsightsError"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "totalCount"
+ ],
+ "type": "object"
+ },
+ "GetInsightsError": {
+ "description": "GetInsights Query Errors.",
+ "properties": {
+ "kind": {
+ "description": "the query kind",
+ "type": "string",
+ "enum": [
+ "Insight"
+ ]
+ },
+ "queryId": {
+ "description": "the query id",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "the error message",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "errorMessage"
+ ],
+ "type": "object"
+ },
+ "EntityQueryItem": {
+ "description": "An abstract Query item for entity",
+ "type": "object",
+ "discriminator": "kind",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/EntityQueryKind",
+ "description": "The entity query kind type."
+ },
+ "id": {
+ "description": "Query Template ARM ID",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Query Template ARM Name",
+ "type": "string"
+ },
+ "type": {
+ "description": "ARM Type",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "EntityQueryItemProperties": {
+ "description": "An properties abstract Query item for entity",
+ "type": "object",
+ "properties": {
+ "dataTypes": {
+ "description": "Data types for template",
+ "type": "array",
+ "items": {
+ "properties": {
+ "dataType": {
+ "description": "Data type name",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "inputEntityType": {
+ "description": "The type of the entity",
+ "$ref": "#/definitions/EntityInnerType"
+ },
+ "requiredInputFieldsSets": {
+ "description": "Data types for template",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "entitiesFilter": {
+ "description": "The query applied only to entities matching to all filters",
+ "type": "object"
+ }
+ }
+ },
+ "EntityInsightItem": {
+ "description": "Entity insight Item.",
+ "type": "object",
+ "properties": {
+ "queryId": {
+ "type": "string",
+ "description": "The query id of the insight"
+ },
+ "queryTimeInterval": {
+ "type": "object",
+ "description": "The Time interval that the query actually executed on.",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Insight query start time"
+ },
+ "endTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Insight query end time"
+ }
+ }
+ },
+ "tableQueryResults": {
+ "$ref": "#/definitions/InsightsTableResult",
+ "description": "Query results for table insights query."
+ },
+ "chartQueryResults": {
+ "type": "array",
+ "description": "Query results for table insights query.",
+ "items": {
+ "$ref": "#/definitions/InsightsTableResult",
+ "description": "Query results for table insights query."
+ }
+ }
+ }
+ },
+ "InsightsTableResult": {
+ "type": "object",
+ "description": "Query results for table insights query.",
+ "properties": {
+ "columns": {
+ "type": "array",
+ "description": "Columns Metadata of the table",
+ "items": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "the type of the colum"
+ },
+ "name": {
+ "type": "string",
+ "description": "the name of the colum"
+ }
+ }
+ }
+ },
+ "rows": {
+ "type": "array",
+ "description": "Rows data of the table",
+ "items": {
+ "type": "array",
+ "description": "Single row of data",
+ "items": {
+ "type": "string",
+ "description": "Cell in the table"
+ }
+ }
+ }
+ }
}
},
"parameters": {
@@ -10773,6 +11369,16 @@
},
"x-ms-parameter-location": "method"
},
+ "GetInsightsEntityQueriesRequestBody": {
+ "description": "The parameters required to execute insights on the given entity.",
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityGetInsightsParameters"
+ },
+ "x-ms-parameter-location": "method"
+ },
"EntityId": {
"description": "entity ID",
"in": "path",
@@ -10825,6 +11431,27 @@
"type": "string",
"x-ms-parameter-location": "method"
},
+ "EntityQueryKindParam": {
+ "description": "The Kind parameter for queries",
+ "in": "query",
+ "name": "kind",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Insight"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "EntityItemQueryKind",
+ "values": [
+ {
+ "description": "insight",
+ "value": "Insight"
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ },
"ODataFilter": {
"description": "Filters the results, based on a Boolean condition. Optional.",
"in": "query",
@@ -10987,6 +11614,14 @@
},
"x-ms-parameter-location": "method"
},
+ "ThreatIntelligenceIndicatorEntityKind": {
+ "description": "The threat intelligence entity kind",
+ "in": "query",
+ "name": "ctiEntityKind",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
"ThreatIntelligenceAppendTags": {
"description": "The threat intelligence append tags request body",
"in": "body",
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json
index 71168e4b9897..c8bf2e708639 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json
@@ -30,6 +30,7 @@
"PrivilegeEscalation",
"LateralMovement"
],
+ "lastUpdatedDateUTC": "2020-02-27T00:00:00Z",
"createdDateUTC": "2019-02-27T00:00:00Z",
"status": "Available",
"requiredDataConnectors": [
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json
index fe89ccfea2d4..d7465f160737 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json
@@ -28,6 +28,7 @@
"PrivilegeEscalation",
"LateralMovement"
],
+ "lastUpdatedDateUTC": "2020-02-27T00:00:00Z",
"createdDateUTC": "2019-02-27T00:00:00Z",
"status": "Available",
"requiredDataConnectors": [
@@ -55,6 +56,7 @@
"Exfiltration",
"CommandAndControl"
],
+ "lastUpdatedDateUTC": "2020-02-27T00:00:00Z",
"createdDateUTC": "2019-07-25T00:00:00Z",
"status": "Available",
"severity": "High",
@@ -70,6 +72,7 @@
"productFilter": "Microsoft Cloud App Security",
"displayName": "Create incidents based on Microsoft Cloud App Security alerts",
"description": "Create incidents based on all alerts generated in Microsoft Cloud App Security",
+ "lastUpdatedDateUTC": "2020-02-27T00:00:00Z",
"createdDateUTC": "2019-07-16T00:00:00Z",
"status": "Available",
"alertRulesCreatedByTemplateCount": 0
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json
new file mode 100644
index 000000000000..fbbe72c64327
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "DataConnectorsCheckRequirements": {
+ "kind": "Dynamics365",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authorizationState": "Valid",
+ "licenseState": "Valid"
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json
new file mode 100644
index 000000000000..0e6c38114ae9
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "dataConnectorId": "c2541efb-c9a6-47fe-9501-87d1017d1512",
+ "dataConnector": {
+ "kind": "Dynamics365",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "dynamics365CdsActivities": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "c2541efb-c9a6-47fe-9501-87d1017d1512",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "Dynamics365",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "dynamics365CdsActivities": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "c2541efb-c9a6-47fe-9501-87d1017d1512",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "Dynamics365",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "dynamics365CdsActivities": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json
index d5cc1b3077fc..6ac1af725510 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json
@@ -171,6 +171,21 @@
}
}
}
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660",
+ "name": "c2541efb-c9a6-47fe-9501-87d1017d1512",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "Dynamics365",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "dynamics365CdsActivities": {
+ "state": "Enabled"
+ }
+ }
+ }
}
]
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json
new file mode 100644
index 000000000000..e715758c3dc9
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "dataConnectorId": "c2541efb-c9a6-47fe-9501-87d1017d1512"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660",
+ "name": "c2541efb-c9a6-47fe-9501-87d1017d1512",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "Dynamics365",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "dynamics365CdsActivities": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetQueries.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetQueries.json
new file mode 100644
index 000000000000..e0f5831092bf
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetQueries.json
@@ -0,0 +1,457 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1",
+ "kind": "Insight"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/6db7f5d1-f41e-46c2-b935-230b36a569e6",
+ "name": "6db7f5d1-f41e-46c2-b935-230b36a569e6",
+ "type": "Microsoft.SecurityInsights/entities/queries",
+ "kind": "Insight",
+ "properties": {
+ "displayName": "Actions on account",
+ "description": "Summary of actions taken on the specified account, grouped by action: password resets and changes, account lockouts (policy or admin), account creation and deletion, account enabled and disabled\n",
+ "baseQuery": "let GetAccountActions = (v_Account_Name:string, v_Account_NTDomain:string, v_Account_UPNSuffix:string, v_Account_AADUserId:string, v_Account_SID:string){\nAuditLogs\n| where OperationName in~ ('Delete user', 'Change user password', 'Reset user password', 'Change password (self-service)', 'Reset password (by admin)', 'Reset password (self-service)', 'Update user')\n| extend UserPrincipalName = tostring(TargetResources[0].userPrincipalName)\n| extend Account_Name = tostring(split(UserPrincipalName, '@')[0])\n| extend Account_UPNSuffix = tostring(split(UserPrincipalName, '@')[1])\n| extend Action = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[0])))\n| extend ModifiedProperty = parse_json(Action).displayName\n| extend ModifiedValue = parse_json(Action).newValue\n| extend Account_AADUserId = tostring(TargetResources[0].id)\n| extend DisableUser = iif(ModifiedProperty =~ 'AccountEnabled' and ModifiedValue =~ '[false]', 'True', 'False')\n| union isfuzzy=true (\nSecurityEvent\n| where EventID in (4720, 4722, 4723, 4724, 4725, 4726, 4740)\n| extend OperationName = tostring(EventID)\n| where AccountType =~ \"user\" or isempty(AccountType)\n| extend Account_Name = TargetUserName, Account_NTDomain = TargetDomainName, Account_SID = TargetSid\n)\n| where (Account_Name =~ v_Account_Name and (Account_UPNSuffix =~ v_Account_UPNSuffix or Account_NTDomain =~ v_Account_NTDomain)) or Account_AADUserId =~ v_Account_AADUserId or Account_SID =~ v_Account_SID\n};\nGetAccountActions('CTFFUser4', '', 'seccxp.ninja', '', '')\n",
+ "tableQuery": {
+ "columnsDefinitions": [
+ {
+ "header": "Action",
+ "outputType": "String",
+ "supportDeepLink": false
+ },
+ {
+ "header": "Most Recent",
+ "outputType": "Date",
+ "supportDeepLink": false
+ },
+ {
+ "header": "Count",
+ "outputType": "Number",
+ "supportDeepLink": true
+ }
+ ],
+ "queriesDefinitions": [
+ {
+ "filter": "where OperationName in~ ('Change user password', 'Reset user password', 'Change password (self-service)', 'Reset password (by admin)', 'Reset password (self-service)', '4724', '4723')",
+ "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName",
+ "project": "project Title = OperationName, MostRecent, Count",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "Count",
+ "Query": "{{BaseQuery}} | "
+ }
+ ]
+ },
+ {
+ "filter": "where OperationName in~ ('Blocked from self-service password reset', '4740')",
+ "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName",
+ "project": "project Title = OperationName, MostRecent, Count",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "Count",
+ "Query": "{{BaseQuery}} | "
+ }
+ ]
+ },
+ {
+ "filter": "where OperationName == '4725' or (OperationName =~ 'Update user' and DisableUser =~ 'True')",
+ "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName",
+ "project": "project Title = OperationName, MostRecent, Count",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "Count",
+ "Query": "{{BaseQuery}} | "
+ }
+ ]
+ },
+ {
+ "filter": "where OperationName in~ ('Add user', '4720')",
+ "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName",
+ "project": "project Title = OperationName, MostRecent, Count",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "Count",
+ "Query": "{{BaseQuery}} | "
+ }
+ ]
+ },
+ {
+ "filter": "where OperationName in~ ('Delete user', '4726')",
+ "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName",
+ "project": "project Title = OperationName, MostRecent, Count",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "Count",
+ "Query": "{{BaseQuery}} | "
+ }
+ ]
+ },
+ {
+ "filter": "where OperationName in~ ('4725', 'Blocked from self-service password reset', '4740') or (OperationName =~ 'Update user' and DisableUser =~ 'True')",
+ "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName",
+ "project": "project Title = OperationName, MostRecent, Count",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "Count",
+ "Query": "{{BaseQuery}} | "
+ }
+ ]
+ },
+ {
+ "filter": "where OperationName in~ ('4722', '4767') or (OperationName =~ 'Update user' and DisableUser =~ 'False')",
+ "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName",
+ "project": "project Title = OperationName, MostRecent, Count",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "Count",
+ "Query": "{{BaseQuery}} | "
+ }
+ ]
+ },
+ {
+ "filter": "where OperationName in~ ('Update user','4738')",
+ "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName",
+ "project": "project Title = OperationName, MostRecent, Count",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "Count",
+ "Query": "{{BaseQuery}} | "
+ }
+ ]
+ }
+ ]
+ },
+ "chartQuery": {
+ "title": "Actions by type",
+ "dataSets": [
+ {
+ "query": "summarize Count = count() by bin(TimeGenerated, 1h), OperationName",
+ "xColumnName": "TimeGenerated",
+ "yColumnName": "Count",
+ "legendColumnName": "OperationName"
+ }
+ ],
+ "type": "BarChart"
+ },
+ "additionalQuery": {
+ "text": "See all account activity",
+ "query": "project TimeGenerated, UserPrincipalName, Account_Name, OperationName, Activity, DisableUser, TargetSid, AADUserId, InitiatedBy, AADTenantId, AccountType, Computer, SubjectAccount, SubjectUserSid, EventData"
+ },
+ "defaultTimeRange": {
+ "beforeRange": "12h",
+ "afterRange": "12h"
+ },
+ "referenceTimeRange": null,
+ "dataTypes": [
+ {
+ "dataType": "AuditLogs"
+ },
+ {
+ "dataType": "SecurityEvent"
+ }
+ ],
+ "inputEntityType": "Account",
+ "requiredInputFieldsSets": [
+ [
+ "Account_Name",
+ "Account_NTDomain"
+ ],
+ [
+ "Account_Name",
+ "Account_UPNSuffix"
+ ],
+ [
+ "Account_AADUserId"
+ ],
+ [
+ "Account_SID"
+ ]
+ ],
+ "entitiesFilter": {}
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/0a5d7b14-b485-450a-a0ac-4100c860ac32",
+ "name": "0a5d7b14-b485-450a-a0ac-4100c860ac32",
+ "type": "Microsoft.SecurityInsights/entities/queries",
+ "kind": "Insight",
+ "properties": {
+ "displayName": "Anomalously high office operation count",
+ "description": "Highlight office operations of the user with anomalously high count compared to those observed in the preceding 14 days.",
+ "baseQuery": "let AScoreThresh = 3; \nlet maxAnomalies = 3;\nlet BeforeRange = 12d; \nlet EndTime = todatetime('{{EndTimeUTC}}'); \nlet StartTime = todatetime('{{StartTimeUTC}}');\nlet numDays = tolong((EndTime-StartTime)/1d); \nlet userData = (v_Account_Name:string, v_Account_UPNSuffix:string) { \n OfficeActivity \n | extend splitUserId=split(UserId, '@')\n | extend Account_Name = tostring(splitUserId[0]), Account_UPNSuffix = tostring(splitUserId[1])\n | where Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix }; \nuserData('CTFFUser4', 'seccxp.ninja')\n",
+ "tableQuery": {
+ "columnsDefinitions": [
+ {
+ "header": "Operation",
+ "outputType": "String",
+ "supportDeepLink": true
+ },
+ {
+ "header": "Expected Count",
+ "outputType": "Number",
+ "supportDeepLink": false
+ },
+ {
+ "header": "Actual Count",
+ "outputType": "Number",
+ "supportDeepLink": false
+ }
+ ],
+ "queriesDefinitions": [
+ {
+ "filter": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost=maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore-maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc\n",
+ "summarize": "take 1",
+ "project": "project Operation, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "Operation",
+ "Query": "{{BaseQuery}} \n| where TimeGenerated between (StartTime .. EndTime) \n| where Operation == ''\n"
+ }
+ ]
+ }
+ ]
+ },
+ "chartQuery": {
+ "title": "Anomalous operation timeline",
+ "dataSets": [
+ {
+ "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost=maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore-maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,round(postExpectedCount,2)) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| take 1 \n| project Operation, TimeGenerated, count_\n| mvexpand TimeGenerated, count_ | project todatetime(TimeGenerated), toint(count_), Operation\n",
+ "xColumnName": "TimeGenerated",
+ "yColumnName": "count_",
+ "legendColumnName": "Operation"
+ }
+ ],
+ "type": "LineChart"
+ },
+ "additionalQuery": {
+ "text": "Query all anomalous operations",
+ "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_\n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies\n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh | order by maxAnomalyScorePost desc \n| project Operation, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)\n"
+ },
+ "defaultTimeRange": {
+ "beforeRange": "1d",
+ "afterRange": "0d"
+ },
+ "referenceTimeRange": {
+ "beforeRange": "12d"
+ },
+ "dataTypes": [
+ {
+ "dataType": "OfficeActivity"
+ }
+ ],
+ "inputEntityType": "Account",
+ "requiredInputFieldsSets": [
+ [
+ "Account_Name",
+ "Account_UPNSuffix"
+ ]
+ ],
+ "entitiesFilter": {}
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/e6cf68e6-1eca-4fbb-9fad-6280f2a9476e",
+ "name": "e6cf68e6-1eca-4fbb-9fad-6280f2a9476e",
+ "type": "Microsoft.SecurityInsights/entities/queries",
+ "kind": "Insight",
+ "properties": {
+ "displayName": "Resource access",
+ "description": "Provides the count and distinct resource accesses by a given user account\n",
+ "baseQuery": "let Operations = dynamic([\"FileDownloaded\", \"FileUploaded\"]);\nlet UserOperationToSharePoint = (v_Account_Name:string, v_Account_UPNSuffix:string) {\nOfficeActivity\n// Select sharepoint activity that is relevant\n| where RecordType in~ ('SharePointFileOperation')\n| where Operation in~ (Operations)\n| extend Account_Name = tostring(split(UserId, '@')[0])\n| extend Account_UPNSuffix = tostring(split(UserId, '@')[1])\n| where Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix\n| project TimeGenerated, Account_Name, Account_UPNSuffix, UserId, OfficeId, RecordType, Operation, OrganizationId, UserType, UserKey, OfficeWorkload, OfficeObjectId, ClientIP, ItemType, UserAgent, Site_Url, SourceRelativeUrl, SourceFileName, SourceFileExtension , Start_Time , ElevationTime , TenantId, SourceSystem , Type\n};\nUserOperationToSharePoint ('CTFFUser4','seccxp.ninja')\n",
+ "tableQuery": {
+ "columnsDefinitions": [
+ {
+ "header": "Resource Type",
+ "outputType": "String",
+ "supportDeepLink": false
+ },
+ {
+ "header": "Distinct Resources",
+ "outputType": "Number",
+ "supportDeepLink": true
+ },
+ {
+ "header": "Total Resources",
+ "outputType": "Number",
+ "supportDeepLink": true
+ },
+ {
+ "header": "IPAddress(es)",
+ "outputType": "String",
+ "supportDeepLink": false
+ }
+ ],
+ "queriesDefinitions": [
+ {
+ "filter": "where Operation =~ 'FileUploaded'",
+ "summarize": "summarize DistinctResources = dcount(SourceFileName), TotalResources = count(SourceFileName), IPAddresses = make_set(ClientIP) by Operation",
+ "project": "project Title = Operation, DistinctResources, TotalResources, IPAddresses = case(array_length(IPAddresses) == 1, tostring(IPAddresses[0]), array_length(IPAddresses) > 1, 'Many', 'None')",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "DistinctResources",
+ "Query": "{{BaseQuery}} | "
+ },
+ {
+ "projectedName": "TotalResources",
+ "Query": "{{BaseQuery}} | "
+ }
+ ]
+ },
+ {
+ "filter": "where Operation =~ 'FileDownloaded'",
+ "summarize": "summarize DistinctResources = dcount(SourceFileName), TotalResources = count(SourceFileName), IPAddresses = make_set(ClientIP) by Operation",
+ "project": "project Title = Operation, DistinctResources, TotalResources, IPAddresses = case(array_length(IPAddresses) == 1, tostring(IPAddresses[0]), array_length(IPAddresses) > 1, 'Many', 'None')",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "DistinctResources",
+ "Query": "{{BaseQuery}} | "
+ },
+ {
+ "projectedName": "TotalResources",
+ "Query": "{{BaseQuery}} | "
+ }
+ ]
+ }
+ ]
+ },
+ "chartQuery": {
+ "title": "Resource access over time",
+ "dataSets": [
+ {
+ "query": "summarize DistinctResources = dcountif(Operation, Operation =~ 'FileUploaded'), TotalResources = countif(Operation =~ 'FileUploaded') by bin(TimeGenerated, 1h) | extend Legend = 'File Uploads'",
+ "xColumnName": "TimeGenerated",
+ "yColumnName": "TotalResources",
+ "legendColumnName": "Legend"
+ },
+ {
+ "query": "summarize DistinctResources = dcountif(Operation, Operation =~ 'FileDownloaded'), TotalResources = countif(Operation =~ 'FileDownloaded') by bin(TimeGenerated, 1h) | extend Legend = 'File Downloads'",
+ "xColumnName": "TimeGenerated",
+ "yColumnName": "TotalResources",
+ "legendColumnName": "Legend"
+ }
+ ],
+ "type": "LineChart"
+ },
+ "additionalQuery": {
+ "text": "See all resource activity",
+ "query": "where Operation in~ (Operations)"
+ },
+ "defaultTimeRange": {
+ "beforeRange": "12h",
+ "afterRange": "12h"
+ },
+ "referenceTimeRange": null,
+ "dataTypes": [
+ {
+ "dataType": "OfficeActivity"
+ }
+ ],
+ "inputEntityType": "Account",
+ "requiredInputFieldsSets": [
+ [
+ "Account_Name",
+ "Account_UPNSuffix"
+ ],
+ [
+ "Account_AADUserId"
+ ]
+ ],
+ "entitiesFilter": {}
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4",
+ "name": "cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4",
+ "type": "Microsoft.SecurityInsights/entities/queries",
+ "kind": "Insight",
+ "properties": {
+ "displayName": "Anomalously high Azure sign-in result count",
+ "description": "Highlight Azure sign-in results by the user principal with anomalously high count compared to those observed in the preceding 14 days.",
+ "baseQuery": "let AScoreThresh=3; \nlet maxAnomalies=3; \nlet BeforeRange = 12d; \nlet EndTime=todatetime('{{EndTimeUTC}}');\nlet StartTime = todatetime('{{StartTimeUTC}}'); \nlet numDays = tolong((EndTime-StartTime)/1d); \nlet userData = (v_Account_Name:string, v_Account_UPNSuffix:string, v_Account_AADUserId:string) { \n SigninLogs \n | where TimeGenerated between ((StartTime-BeforeRange) .. EndTime)\n | extend splitUserId=split(UserPrincipalName, '@')\n | extend Account_Name = tostring(splitUserId[0]), Account_UPNSuffix = tostring(splitUserId[1])\n | where (Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix) or UserId =~ v_Account_AADUserId };\nuserData('CTFFUser4', 'seccxp.ninja', '')\n",
+ "tableQuery": {
+ "columnsDefinitions": [
+ {
+ "header": "Result Description",
+ "outputType": "String",
+ "supportDeepLink": true
+ },
+ {
+ "header": "Expected Count",
+ "outputType": "Number",
+ "supportDeepLink": false
+ },
+ {
+ "header": "Actual Count",
+ "outputType": "Number",
+ "supportDeepLink": false
+ }
+ ],
+ "queriesDefinitions": [
+ {
+ "filter": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc\n",
+ "summarize": "take 1",
+ "project": "project ResultDescription, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)",
+ "linkColumnsDefinitions": [
+ {
+ "projectedName": "ResultDescription",
+ "Query": "{{BaseQuery}} \n| where TimeGenerated between (StartTime .. EndTime) \n| where ResultDescription == ''\n"
+ }
+ ]
+ }
+ ]
+ },
+ "chartQuery": {
+ "title": "Anomalous sign-in result timeline",
+ "dataSets": [
+ {
+ "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,round(postExpectedCount,2)) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| take 1 \n| project ResultDescription, TimeGenerated, count_ \n| mvexpand TimeGenerated, count_ \n| project todatetime(TimeGenerated), toint(count_), ResultDescription \n",
+ "xColumnName": "TimeGenerated",
+ "yColumnName": "count_",
+ "legendColumnName": "ResultDescription"
+ }
+ ],
+ "type": "LineChart"
+ },
+ "additionalQuery": {
+ "text": "Query all anomalous sign-in results",
+ "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_\n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies\n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| project ResultDescription, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)\n"
+ },
+ "defaultTimeRange": {
+ "beforeRange": "1d",
+ "afterRange": "0d"
+ },
+ "referenceTimeRange": {
+ "beforeRange": "12d"
+ },
+ "dataTypes": [
+ {
+ "dataType": "SigninLogs"
+ }
+ ],
+ "inputEntityType": "Account",
+ "requiredInputFieldsSets": [
+ [
+ "Account_Name",
+ "Account_UPNSuffix"
+ ],
+ [
+ "Account_AADUserId"
+ ]
+ ],
+ "entitiesFilter": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/insights/PostGetInsights.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/insights/PostGetInsights.json
new file mode 100644
index 000000000000..74aed1a38eb8
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/insights/PostGetInsights.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1",
+ "parameters": {
+ "addDefaultExtendedTimeRange": false,
+ "startTime": "2019-04-25T00:00:00.000Z",
+ "endTime": "2019-05-26T00:00:00.000Z",
+ "insightQueryIds": [
+ "cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tableQueryResults": {
+ "columns": [
+ {
+ "name": "Title",
+ "type": "string"
+ },
+ {
+ "name": "NameCount",
+ "type": "long"
+ },
+ {
+ "name": "SIDCount",
+ "type": "long"
+ },
+ {
+ "name": "InternalOrder",
+ "type": "long"
+ },
+ {
+ "name": "Index",
+ "type": "long"
+ }
+ ],
+ "rows": [
+ [
+ "MyTitle",
+ "15",
+ "SID",
+ "1",
+ "1"
+ ]
+ ]
+ },
+ "chartQueryResults": [
+ {
+ "columns": [
+ {
+ "name": "TimeGenerated",
+ "type": "datetime"
+ },
+ {
+ "name": "Count",
+ "type": "long"
+ },
+ {
+ "name": "Legend",
+ "type": "string"
+ }
+ ],
+ "rows": [
+ [
+ "2019-04-25T00:00:00.000Z",
+ "55",
+ "SomeLegend"
+ ]
+ ]
+ }
+ ],
+ "queryTimeInterval": {
+ "startTime": "2020-07-07T23:35:20Z",
+ "endTime": "2020-11-11T23:35:20Z"
+ },
+ "queryId": "e29ee1ef-7445-455e-85f1-269f2d536d61"
+ }
+ ],
+ "metaData": {
+ "totalCount": 7,
+ "errors": [
+ {
+ "kind": "Insight",
+ "queryId": "4a70a63d-25c4-6312-b73e-4f302a90c06a",
+ "errorMessage": "Internal server error"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/serialconsole/resource-manager/readme.python.md b/specification/serialconsole/resource-manager/readme.python.md
index b6c565063eef..0cf297047236 100644
--- a/specification/serialconsole/resource-manager/readme.python.md
+++ b/specification/serialconsole/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -15,13 +15,32 @@ python:
package-version: 0.1.0
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.serialconsole
+package-name: azure-mgmt-serialconsole
+package-version: 0.1.0
+clear-output-folder: true
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/serialconsole/azure-mgmt-serialconsole/azure/mgmt/serialconsole
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/serialconsole/azure-mgmt-serialconsole
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/serialconsole/azure-mgmt-serialconsole/azure/mgmt/serialconsole
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/serialconsole/azure-mgmt-serialconsole
```
\ No newline at end of file
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/AuthorizationRules.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/AuthorizationRules.json
new file mode 100644
index 000000000000..4383078a10a7
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/AuthorizationRules.json
@@ -0,0 +1,1095 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ServiceBusManagementClient",
+ "description": "Azure Service Bus client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules": {
+ "get": {
+ "tags": [
+ "Namespaces AuthorizationRule"
+ ],
+ "operationId": "Namespaces_ListAuthorizationRules",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleListAll": {
+ "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets the authorization rules for a namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639376.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace authorization rules returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}": {
+ "put": {
+ "tags": [
+ "Namespaces AuthorizationRule"
+ ],
+ "operationId": "Namespaces_CreateOrUpdateAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleCreate": {
+ "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleCreate.json"
+ }
+ },
+ "description": "Creates or updates an authorization rule for a namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639410.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRule"
+ },
+ "description": "The shared access authorization rule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace authorization rule created.",
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Namespaces AuthorizationRule"
+ ],
+ "operationId": "Namespaces_DeleteAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleDelete": {
+ "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleDelete.json"
+ }
+ },
+ "description": "Deletes a namespace authorization rule.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639417.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace authorization rule successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Namespaces AuthorizationRule"
+ ],
+ "operationId": "Namespaces_GetAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleGet": {
+ "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleGet.json"
+ }
+ },
+ "description": "Gets an authorization rule for a namespace by rule name.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639392.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace authorization rule returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys": {
+ "post": {
+ "tags": [
+ "Namespaces AuthorizationRule"
+ ],
+ "operationId": "Namespaces_ListKeys",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleListKey": {
+ "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleListKey.json"
+ }
+ },
+ "description": "Gets the primary and secondary connection strings for the namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639398.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "Namespaces AuthorizationRule"
+ ],
+ "operationId": "Namespaces_RegenerateKeys",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleRegenerateKey": {
+ "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleRegenerateKey.json"
+ }
+ },
+ "description": "Regenerates the primary or secondary connection strings for the namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt718977.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateAccessKeyParameters"
+ },
+ "description": "Parameters supplied to regenerate the authorization rule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Authorization rule successfully regenerated.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules": {
+ "get": {
+ "tags": [
+ "Queues AuthorizationRule"
+ ],
+ "operationId": "Queues_ListAuthorizationRules",
+ "x-ms-examples": {
+ "QueueAuthorizationRuleListAll": {
+ "$ref": "./examples/Queues/SBQueueAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets all authorization rules for a queue.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt705607.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Authorization rules successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}": {
+ "put": {
+ "tags": [
+ "Queues AuthorizationRule"
+ ],
+ "operationId": "Queues_CreateOrUpdateAuthorizationRule",
+ "x-ms-examples": {
+ "QueueAuthorizationRuleCreate": {
+ "$ref": "./examples/Queues/SBQueueAuthorizationRuleCreate.json"
+ }
+ },
+ "description": "Creates an authorization rule for a queue.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRule"
+ },
+ "description": "The shared access authorization rule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Authorization rule successfully created.",
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Queues AuthorizationRule"
+ ],
+ "operationId": "Queues_DeleteAuthorizationRule",
+ "x-ms-examples": {
+ "QueueAuthorizationRuleDelete": {
+ "$ref": "./examples/Queues/SBQueueAuthorizationRuleDelete.json"
+ }
+ },
+ "description": "Deletes a queue authorization rule.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt705609.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Authorization rule successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Queues AuthorizationRule"
+ ],
+ "operationId": "Queues_GetAuthorizationRule",
+ "x-ms-examples": {
+ "QueueAuthorizationRuleGet": {
+ "$ref": "./examples/Queues/SBQueueAuthorizationRuleGet.json"
+ }
+ },
+ "description": "Gets an authorization rule for a queue by rule name.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt705611.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Authorization rule successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys": {
+ "post": {
+ "tags": [
+ "Queues AuthorizationRule"
+ ],
+ "operationId": "Queues_ListKeys",
+ "x-ms-examples": {
+ "QueueAuthorizationRuleListKey": {
+ "$ref": "./examples/Queues/SBQueueAuthorizationRuleListKey.json"
+ }
+ },
+ "description": "Primary and secondary connection strings to the queue.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt705608.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "Queues AuthorizationRule"
+ ],
+ "operationId": "Queues_RegenerateKeys",
+ "x-ms-examples": {
+ "QueueAuthorizationRuleRegenerateKey": {
+ "$ref": "./examples/Queues/SBQueueAuthorizationRuleRegenerateKey.json"
+ }
+ },
+ "description": "Regenerates the primary or secondary connection strings to the queue.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt705606.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateAccessKeyParameters"
+ },
+ "description": "Parameters supplied to regenerate the authorization rule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings successfully regenerated.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules": {
+ "get": {
+ "tags": [
+ "Topics AuthorizationRule"
+ ],
+ "operationId": "Topics_ListAuthorizationRules",
+ "x-ms-examples": {
+ "TopicAuthorizationRuleListAll": {
+ "$ref": "./examples/Topics/SBTopicAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets authorization rules for a topic.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt720681.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Authorization rules successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}": {
+ "put": {
+ "tags": [
+ "Topics AuthorizationRule"
+ ],
+ "operationId": "Topics_CreateOrUpdateAuthorizationRule",
+ "x-ms-examples": {
+ "TopicAuthorizationRuleCreate": {
+ "$ref": "./examples/Topics/SBTopicAuthorizationRuleCreate.json"
+ }
+ },
+ "description": "Creates an authorization rule for the specified topic.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt720678.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRule"
+ },
+ "description": "The shared access authorization rule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Topic authorization rule successfully created.",
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Topics AuthorizationRule"
+ ],
+ "operationId": "Topics_GetAuthorizationRule",
+ "x-ms-examples": {
+ "TopicAuthorizationRuleGet": {
+ "$ref": "./examples/Topics/SBTopicAuthorizationRuleGet.json"
+ }
+ },
+ "description": "Returns the specified authorization rule.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt720676.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Topic authorization rule returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/SBAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Topics AuthorizationRule"
+ ],
+ "operationId": "Topics_DeleteAuthorizationRule",
+ "x-ms-examples": {
+ "TopicAuthorizationRuleDelete": {
+ "$ref": "./examples/Topics/SBTopicAuthorizationRuleDelete.json"
+ }
+ },
+ "description": "Deletes a topic authorization rule.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt720681.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Topic authorization rule successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys": {
+ "post": {
+ "tags": [
+ "Topics AuthorizationRule"
+ ],
+ "operationId": "Topics_ListKeys",
+ "x-ms-examples": {
+ "TopicAuthorizationRuleListKey": {
+ "$ref": "./examples/Topics/SBTopicAuthorizationRuleListKey.json"
+ }
+ },
+ "description": "Gets the primary and secondary connection strings for the topic.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt720677.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "Topics AuthorizationRule"
+ ],
+ "operationId": "Topics_RegenerateKeys",
+ "x-ms-examples": {
+ "TopicAuthorizationRuleRegenerateKey": {
+ "$ref": "./examples/Topics/SBTopicAuthorizationRuleRegenerateKey.json"
+ }
+ },
+ "description": "Regenerates primary or secondary connection strings for the topic.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt720679.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateAccessKeyParameters"
+ },
+ "description": "Parameters supplied to regenerate the authorization rule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings successfully regenerated.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SBAuthorizationRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SBAuthorizationRule"
+ },
+ "description": "Result of the List Authorization Rules operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of Authorization Rules."
+ }
+ },
+ "description": "The response to the List Namespace operation."
+ },
+ "SBAuthorizationRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "rights": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Manage",
+ "Send",
+ "Listen"
+ ],
+ "x-ms-enum": {
+ "name": "AccessRights",
+ "modelAsString": false
+ }
+ },
+ "description": "The rights associated with the rule."
+ }
+ },
+ "required": [
+ "rights"
+ ],
+ "description": "AuthorizationRule properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Description of a namespace authorization rule."
+ },
+ "AccessKeys": {
+ "properties": {
+ "primaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Primary connection string of the created namespace authorization rule."
+ },
+ "secondaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Secondary connection string of the created namespace authorization rule."
+ },
+ "aliasPrimaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Primary connection string of the alias if GEO DR is enabled"
+ },
+ "aliasSecondaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Secondary connection string of the alias if GEO DR is enabled"
+ },
+ "primaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token."
+ },
+ "secondaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token."
+ },
+ "keyName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A string that describes the authorization rule."
+ }
+ },
+ "description": "Namespace/ServiceBus Connection String"
+ },
+ "RegenerateAccessKeyParameters": {
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "description": "The access key to regenerate.",
+ "enum": [
+ "PrimaryKey",
+ "SecondaryKey"
+ ],
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ },
+ "key": {
+ "type": "string",
+ "description": "Optional, if the key value provided, is reset for KeyType value or autogenerate Key value set for keyType"
+ }
+ },
+ "required": [
+ "keyType"
+ ],
+ "description": "Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to be reset."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/CheckNameAvailability.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/CheckNameAvailability.json
new file mode 100644
index 000000000000..1af2f6401bd2
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/CheckNameAvailability.json
@@ -0,0 +1,132 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ServiceBusManagementClient",
+ "description": "Azure Service Bus client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability": {
+ "post": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_CheckNameAvailability",
+ "x-ms-examples": {
+ "NameSpaceCheckNameAvailability": {
+ "$ref": "./examples/NameSpaces/SBNameSpaceCheckNameAvailability.json"
+ }
+ },
+ "description": "Check the give namespace name availability.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailability"
+ },
+ "description": "Parameters to check availability of the given namespace name"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "check availability returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CheckNameAvailability": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The Name to check the namespace name availability and The namespace name can contain only letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a letter or number."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Description of a Check Name availability request properties."
+ },
+ "CheckNameAvailabilityResult": {
+ "properties": {
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The detailed info regarding the reason associated with the namespace."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Value indicating namespace is availability, true if the namespace is available; otherwise, false."
+ },
+ "reason": {
+ "$ref": "#/definitions/UnavailableReason",
+ "description": "The reason for unavailability of a namespace."
+ }
+ },
+ "description": "Description of a Check Name availability request properties."
+ },
+ "UnavailableReason": {
+ "type": "string",
+ "enum": [
+ "None",
+ "InvalidName",
+ "SubscriptionIsDisabled",
+ "NameInUse",
+ "NameInLockdown",
+ "TooManyNamespaceInCurrentSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "UnavailableReason",
+ "modelAsString": false
+ },
+ "description": "Specifies the reason for the unavailability of the service."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/PremiumMessagingRegions.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/PremiumMessagingRegions.json
new file mode 100644
index 000000000000..46f5af4d803d
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/PremiumMessagingRegions.json
@@ -0,0 +1,280 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ServiceBusManagementClient",
+ "description": "Azure Service Bus client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions": {
+ "get": {
+ "tags": [
+ "PremiumMessagingRegions"
+ ],
+ "operationId": "PremiumMessagingRegions_List",
+ "x-ms-examples": {
+ "PremiumMessagingRegionsList": {
+ "$ref": "./examples/SkuRegions/PremiumMessagingRegions.json"
+ }
+ },
+ "description": "Gets the available premium messaging regions for servicebus ",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Premium messaging regions successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/PremiumMessagingRegionsListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ResourceNamespacePatch": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "The Resource definition."
+ },
+ "PremiumMessagingRegions": {
+ "properties": {
+ "properties": {
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Region code"
+ },
+ "fullName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Full name of the region"
+ }
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceNamespacePatch"
+ }
+ ],
+ "description": "Premium Messaging Region"
+ },
+ "PremiumMessagingRegionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PremiumMessagingRegions"
+ },
+ "description": "Result of the List PremiumMessagingRegions type."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of PremiumMessagingRegions."
+ }
+ },
+ "description": "The response of the List PremiumMessagingRegions operation."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "Name of the Resource group within the Azure subscription."
+ },
+ "NamespaceNameParameter": {
+ "name": "namespaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 6,
+ "maxLength": 50,
+ "x-ms-parameter-location": "method",
+ "description": "The namespace name"
+ },
+ "AuthorizationRuleNameParameter": {
+ "name": "authorizationRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "x-ms-parameter-location": "method",
+ "description": "The authorization rule name."
+ },
+ "QueueNameParameter": {
+ "name": "queueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "x-ms-parameter-location": "method",
+ "description": "The queue name."
+ },
+ "TopicNameParameter": {
+ "name": "topicName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "x-ms-parameter-location": "method",
+ "description": "The topic name."
+ },
+ "SubscriptionNameParameter": {
+ "name": "subscriptionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "x-ms-parameter-location": "method",
+ "description": "The subscription name."
+ },
+ "RuleNameParameter": {
+ "name": "ruleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "x-ms-parameter-location": "method",
+ "description": "The rule name."
+ },
+ "SkuNameParameter": {
+ "name": "sku",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "x-ms-parameter-location": "method",
+ "description": "The sku type."
+ },
+ "AliasNameParameter": {
+ "name": "alias",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "x-ms-parameter-location": "method",
+ "description": "The Disaster Recovery configuration name"
+ },
+ "ConfigNameParameter": {
+ "name": "configName",
+ "in": "path",
+ "description": "The configuration name. Should always be \"$default\".",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "$default"
+ ],
+ "x-ms-enum": {
+ "name": "MigrationConfigurationName",
+ "modelAsString": true
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "SkipParameter": {
+ "name": "$skip",
+ "description": "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 1000,
+ "x-ms-parameter-location": "method"
+ },
+ "TopParameter": {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N usageDetails.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/Queue.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/Queue.json
new file mode 100644
index 000000000000..d3c66ad865d7
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/Queue.json
@@ -0,0 +1,381 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ServiceBusManagementClient",
+ "description": "Azure Service Bus client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues": {
+ "get": {
+ "tags": [
+ "Queues"
+ ],
+ "operationId": "Queues_ListByNamespace",
+ "x-ms-examples": {
+ "QueueListByNameSpace": {
+ "$ref": "./examples/Queues/SBQueueListByNameSpace.json"
+ }
+ },
+ "description": "Gets the queues within a namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639415.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Queues successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/SBQueueListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}": {
+ "put": {
+ "tags": [
+ "Queues"
+ ],
+ "operationId": "Queues_CreateOrUpdate",
+ "x-ms-examples": {
+ "QueueCreate": {
+ "$ref": "./examples/Queues/SBQueueCreate.json"
+ }
+ },
+ "description": "Creates or updates a Service Bus queue. This operation is idempotent.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639395.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SBQueue"
+ },
+ "description": "Parameters supplied to create or update a queue resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Queue successfully created.",
+ "schema": {
+ "$ref": "#/definitions/SBQueue"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Queues"
+ ],
+ "operationId": "Queues_Delete",
+ "x-ms-examples": {
+ "QueueDelete": {
+ "$ref": "./examples/Queues/SBQueueDelete.json"
+ }
+ },
+ "description": "Deletes a queue from the specified namespace in a resource group.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639411.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Queue successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Queues"
+ ],
+ "operationId": "Queues_Get",
+ "x-ms-examples": {
+ "QueueGet": {
+ "$ref": "./examples/Queues/SBQueueGet.json"
+ }
+ },
+ "description": "Returns a description for the specified queue.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639380.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Queue description successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/SBQueue"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SBQueueListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SBQueue"
+ },
+ "description": "Result of the List Queues operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of queues."
+ }
+ },
+ "description": "The response to the List Queues operation."
+ },
+ "SBQueue": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SBQueueProperties",
+ "description": "Queue Properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Description of queue Resource."
+ },
+ "SBQueueProperties": {
+ "properties": {
+ "countDetails": {
+ "readOnly": true,
+ "$ref": "../../../common/v1/definitions.json#/definitions/MessageCountDetails",
+ "description": "Message Count Details."
+ },
+ "createdAt": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The exact time the message was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The exact time the message was updated."
+ },
+ "accessedAt": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Last time a message was sent, or the last time there was a receive request to this queue."
+ },
+ "sizeInBytes": {
+ "readOnly": true,
+ "format": "int64",
+ "type": "integer",
+ "description": "The size of the queue, in bytes."
+ },
+ "messageCount": {
+ "readOnly": true,
+ "format": "int64",
+ "type": "integer",
+ "description": "The number of messages in the queue."
+ },
+ "lockDuration": {
+ "format": "duration",
+ "type": "string",
+ "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute."
+ },
+ "maxSizeInMegabytes": {
+ "format": "int32",
+ "type": "integer",
+ "description": "The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. Default is 1024."
+ },
+ "requiresDuplicateDetection": {
+ "type": "boolean",
+ "description": "A value indicating if this queue requires duplicate detection."
+ },
+ "requiresSession": {
+ "type": "boolean",
+ "description": "A value that indicates whether the queue supports the concept of sessions."
+ },
+ "defaultMessageTimeToLive": {
+ "format": "duration",
+ "type": "string",
+ "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself."
+ },
+ "deadLetteringOnMessageExpiration": {
+ "type": "boolean",
+ "description": "A value that indicates whether this queue has dead letter support when a message expires."
+ },
+ "duplicateDetectionHistoryTimeWindow": {
+ "format": "duration",
+ "type": "string",
+ "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes."
+ },
+ "maxDeliveryCount": {
+ "format": "int32",
+ "type": "integer",
+ "description": "The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10."
+ },
+ "status": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus",
+ "description": "Enumerates the possible values for the status of a messaging entity."
+ },
+ "enableBatchedOperations": {
+ "type": "boolean",
+ "description": "Value that indicates whether server-side batched operations are enabled."
+ },
+ "autoDeleteOnIdle": {
+ "format": "duration",
+ "type": "string",
+ "description": "ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes."
+ },
+ "enablePartitioning": {
+ "type": "boolean",
+ "description": "A value that indicates whether the queue is to be partitioned across multiple message brokers."
+ },
+ "enableExpress": {
+ "type": "boolean",
+ "description": "A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage."
+ },
+ "forwardTo": {
+ "type": "string",
+ "description": "Queue/Topic name to forward the messages"
+ },
+ "forwardDeadLetteredMessagesTo": {
+ "type": "string",
+ "description": "Queue/Topic name to forward the Dead Letter message"
+ }
+ },
+ "description": "The Queue Properties definition."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/Rules.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/Rules.json
new file mode 100644
index 000000000000..05bd373f7f2a
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/Rules.json
@@ -0,0 +1,447 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ServiceBusManagementClient",
+ "description": "Azure Service Bus client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules": {
+ "get": {
+ "tags": [
+ "Rules"
+ ],
+ "operationId": "Rules_ListBySubscriptions",
+ "x-ms-examples": {
+ "RulesListBySubscriptions": {
+ "$ref": "./examples/Rules/RuleListBySubscription.json"
+ }
+ },
+ "description": "List all the rules within given topic-subscription",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved list of Rules.",
+ "schema": {
+ "$ref": "#/definitions/RuleListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}": {
+ "put": {
+ "tags": [
+ "Rules"
+ ],
+ "operationId": "Rules_CreateOrUpdate",
+ "x-ms-examples": {
+ "RulesCreateOrUpdate": {
+ "$ref": "./examples/Rules/RuleCreate.json"
+ },
+ "RulesCreateSqlFilter": {
+ "$ref": "./examples/Rules/RuleCreate_SqlFilter.json"
+ },
+ "RulesCreateCorrelationFilter": {
+ "$ref": "./examples/Rules/RuleCreate_CorrelationFilter.json"
+ }
+ },
+ "description": "Creates a new rule and updates an existing rule",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/RuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Rule"
+ },
+ "description": "Parameters supplied to create a rule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rule created.",
+ "schema": {
+ "$ref": "#/definitions/Rule"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Rules"
+ ],
+ "operationId": "Rules_Delete",
+ "x-ms-examples": {
+ "RulesDelete": {
+ "$ref": "./examples/Rules/RuleDelete.json"
+ }
+ },
+ "description": "Deletes an existing rule.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/RuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rule deleted."
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Rules_Get",
+ "x-ms-examples": {
+ "RulesGet": {
+ "$ref": "./examples/Rules/RuleGet.json"
+ }
+ },
+ "description": "Retrieves the description for the specified rule.",
+ "externalDocs": {
+ "url": ""
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/RuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved rule description.",
+ "schema": {
+ "$ref": "#/definitions/Rule"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Rule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/Ruleproperties",
+ "description": "Properties of Rule resource"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Description of Rule Resource."
+ },
+ "Ruleproperties": {
+ "properties": {
+ "action": {
+ "$ref": "#/definitions/Action",
+ "description": "Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter expression."
+ },
+ "filterType": {
+ "$ref": "#/definitions/FilterType",
+ "description": "Filter type that is evaluated against a BrokeredMessage."
+ },
+ "sqlFilter": {
+ "$ref": "#/definitions/SqlFilter",
+ "description": "Properties of sqlFilter"
+ },
+ "correlationFilter": {
+ "$ref": "#/definitions/CorrelationFilter",
+ "description": "Properties of correlationFilter"
+ }
+ },
+ "description": "Description of Rule Resource."
+ },
+ "RuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Rule"
+ },
+ "description": "Result of the List Rules operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of rules"
+ }
+ },
+ "description": "The response of the List rule operation."
+ },
+ "FilterType": {
+ "type": "string",
+ "enum": [
+ "SqlFilter",
+ "CorrelationFilter"
+ ],
+ "x-ms-enum": {
+ "name": "FilterType",
+ "modelAsString": false
+ },
+ "description": "Rule filter types"
+ },
+ "SqlFilter": {
+ "type": "object",
+ "properties": {
+ "sqlExpression": {
+ "type": "string",
+ "description": "The SQL expression. e.g. MyProperty='ABC'"
+ },
+ "compatibilityLevel": {
+ "format": "int32",
+ "type": "integer",
+ "default": 20,
+ "minimum": 20,
+ "maximum": 20,
+ "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20."
+ },
+ "requiresPreprocessing": {
+ "type": "boolean",
+ "default": true,
+ "description": "Value that indicates whether the rule action requires preprocessing."
+ }
+ },
+ "description": "Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline."
+ },
+ "CorrelationFilter": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "dictionary object for custom filters"
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "Identifier of the correlation."
+ },
+ "messageId": {
+ "type": "string",
+ "description": "Identifier of the message."
+ },
+ "to": {
+ "type": "string",
+ "description": "Address to send to."
+ },
+ "replyTo": {
+ "type": "string",
+ "description": "Address of the queue to reply to."
+ },
+ "label": {
+ "type": "string",
+ "description": "Application specific label."
+ },
+ "sessionId": {
+ "type": "string",
+ "description": "Session identifier."
+ },
+ "replyToSessionId": {
+ "type": "string",
+ "description": "Session identifier to reply to."
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Content type of the message."
+ },
+ "requiresPreprocessing": {
+ "type": "boolean",
+ "default": true,
+ "description": "Value that indicates whether the rule action requires preprocessing."
+ }
+ },
+ "description": "Represents the correlation filter expression."
+ },
+ "Action": {
+ "type": "object",
+ "properties": {
+ "sqlExpression": {
+ "type": "string",
+ "description": "SQL expression. e.g. MyProperty='ABC'"
+ },
+ "compatibilityLevel": {
+ "format": "int32",
+ "type": "integer",
+ "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20."
+ },
+ "requiresPreprocessing": {
+ "type": "boolean",
+ "default": true,
+ "description": "Value that indicates whether the rule action requires preprocessing."
+ }
+ },
+ "description": "Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter expression."
+ },
+ "SqlRuleAction": {
+ "type": "object",
+ "properties": {
+ "sqlExpression": {
+ "type": "string",
+ "description": "SQL expression. e.g. MyProperty='ABC'"
+ },
+ "compatibilityLevel": {
+ "format": "int32",
+ "type": "integer",
+ "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20."
+ },
+ "requiresPreprocessing": {
+ "type": "boolean",
+ "default": true,
+ "description": "Value that indicates whether the rule action requires preprocessing."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Action"
+ }
+ ],
+ "description": "Represents set of actions written in SQL language-based syntax that is performed against a ServiceBus.Messaging.BrokeredMessage "
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/eventhubs.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/eventhubs.json
new file mode 100644
index 000000000000..4bf043ebc334
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/eventhubs.json
@@ -0,0 +1,227 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ServiceBusManagementClient",
+ "description": "Azure Service Bus client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs": {
+ "get": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_ListByNamespace",
+ "x-ms-examples": {
+ "RulesCreateOrUpdate": {
+ "$ref": "./examples/SkuRegions/EventHubs.json"
+ }
+ },
+ "description": "Gets all the Event Hubs in a service bus Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of Event Hubs.",
+ "schema": {
+ "$ref": "#/definitions/EventHubListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Eventhub": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "partitionIds": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Current number of shards on the Event Hub."
+ },
+ "createdAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Exact time the Event Hub was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The exact time the message was updated."
+ },
+ "messageRetentionInDays": {
+ "format": "int64",
+ "type": "integer",
+ "maximum": 7,
+ "minimum": 1,
+ "description": "Number of days to retain the events for this Event Hub, value should be 1 to 7 days"
+ },
+ "partitionCount": {
+ "format": "int64",
+ "type": "integer",
+ "maximum": 32,
+ "minimum": 1,
+ "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions."
+ },
+ "status": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus",
+ "description": "Enumerates the possible values for the status of a Event Hub."
+ },
+ "captureDescription": {
+ "$ref": "#/definitions/CaptureDescription",
+ "description": "Properties of capture description"
+ }
+ },
+ "description": "Properties supplied to the Create Or Update Event Hub operation."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Single item in List or Get Event Hub operation"
+ },
+ "EventHubListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Eventhub"
+ },
+ "description": "Result of the List EventHubs operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of EventHubs."
+ }
+ },
+ "description": "The result of the List EventHubs operation."
+ },
+ "CaptureDescription": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "A value that indicates whether capture description is enabled. "
+ },
+ "encoding": {
+ "type": "string",
+ "description": "Enumerates the possible values for the encoding format of capture description.",
+ "enum": [
+ "Avro",
+ "AvroDeflate"
+ ],
+ "x-ms-enum": {
+ "name": "EncodingCaptureDescription",
+ "modelAsString": false
+ }
+ },
+ "intervalInSeconds": {
+ "format": "int32",
+ "type": "integer",
+ "maximum": 900,
+ "minimum": 60,
+ "description": "The time window allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds"
+ },
+ "sizeLimitInBytes": {
+ "format": "int32",
+ "type": "integer",
+ "maximum": 524288000,
+ "minimum": 10485760,
+ "description": "The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 and 524288000 bytes"
+ },
+ "destination": {
+ "$ref": "#/definitions/Destination",
+ "description": "Properties of Destination where capture will be stored. (Storage Account, Blob Names)"
+ }
+ },
+ "description": "Properties to configure capture description for eventhub"
+ },
+ "Destination": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name for capture destination"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "storageAccountResourceId": {
+ "type": "string",
+ "description": "Resource id of the storage account to be used to create the blobs"
+ },
+ "blobContainer": {
+ "type": "string",
+ "description": "Blob container Name"
+ },
+ "archiveNameFormat": {
+ "type": "string",
+ "description": "Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order"
+ }
+ },
+ "description": "Properties describing the storage account, blob container and archive name format for capture destination"
+ }
+ },
+ "description": "Capture storage details for capture description"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationCompleteMigration.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationCompleteMigration.json
new file mode 100644
index 000000000000..b18e3674a001
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationCompleteMigration.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-41",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2018-01-01-preview",
+ "configName": "$default",
+ "subscriptionId": "SubscriptionId"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationCreateAndStartMigration.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationCreateAndStartMigration.json
new file mode 100644
index 000000000000..0f3eccde9fc0
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationCreateAndStartMigration.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-41",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "SubscriptionId",
+ "configName": "$default",
+ "parameters": {
+ "properties": {
+ "targetNamespace": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-4028",
+ "postMigrationName": "sdk-PostMigration-5919"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-41/migrationConfigs/$default",
+ "name": "sdk-Namespace-41",
+ "type": "Microsoft.ServiceBus/Namespaces/disasterrecoveryconfigs",
+ "properties": {
+ "provisioningState": "Accepted",
+ "targetNamespace": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-4028",
+ "postMigrationName": "sdk-PostMigration-5919",
+ "migrationState": "Initiating"
+ }
+ }
+ },
+ "201": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationDelete.json
new file mode 100644
index 000000000000..0478f0bb4302
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-41",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2018-01-01-preview",
+ "configName": "$default",
+ "subscriptionId": "SubscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationGet.json
new file mode 100644
index 000000000000..d90c0ab26723
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-41",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2018-01-01-preview",
+ "configName": "$default",
+ "subscriptionId": "SubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-41/migrationConfigs/$default",
+ "name": "sdk-Namespace-41",
+ "type": "Microsoft.ServiceBus/Namespaces/disasterrecoveryconfigs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "targetNamespace": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-4028",
+ "postMigrationName": "sdk-PostMigration-5919",
+ "pendingReplicationOperationsCount": 0,
+ "migrationState": "Active"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationList.json
new file mode 100644
index 000000000000..f49e06216edc
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-9259",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2018-01-01-preview",
+ "configName": "$default",
+ "subscriptionId": "SubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9259/migrationConfigs/sdk-Namespace-9259",
+ "name": "sdk-Namespace-9259",
+ "type": "Microsoft.ServiceBus/Namespaces/migrationconfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "targetNamespace": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-7454",
+ "postMigrationName": "sdk-PostMigration-9423",
+ "migrationState": "Active"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationRevert.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationRevert.json
new file mode 100644
index 000000000000..b18e3674a001
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Migrationconfigurations/SBMigrationconfigurationRevert.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-41",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2018-01-01-preview",
+ "configName": "$default",
+ "subscriptionId": "SubscriptionId"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleCreate.json
new file mode 100644
index 000000000000..bf7119fdc9d8
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleCreate.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-6914",
+ "authorizationRuleName": "sdk-AuthRules-1788",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6914/AuthorizationRules/sdk-AuthRules-1788",
+ "name": "sdk-AuthRules-1788",
+ "type": "Microsoft.ServiceBus/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleDelete.json
new file mode 100644
index 000000000000..cc65e9816ad8
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-namespace-6914",
+ "authorizationRuleName": "sdk-AuthRules-1788",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleGet.json
new file mode 100644
index 000000000000..4cf5528273a2
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-6914",
+ "authorizationRuleName": "sdk-AuthRules-1788",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6914/AuthorizationRules/sdk-AuthRules-1788/",
+ "name": "sdk-AuthRules-1788",
+ "type": "Microsoft.ServiceBus/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleListAll.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..0c7f5f16bfe5
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleListAll.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-6914",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "https://sbgm.windows-int.net/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6914/AuthorizationRules?api-version=2017-04-01/RootManageSharedAccessKey",
+ "name": "RootManageSharedAccessKey",
+ "type": "Microsoft.ServiceBus/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Manage",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "https://sbgm.windows-int.net/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6914/AuthorizationRules?api-version=2017-04-01/sdk-AuthRules-1788",
+ "name": "sdk-AuthRules-1788",
+ "type": "Microsoft.ServiceBus/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleListKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..9592065c7803
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleListKey.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-namespace-6914",
+ "authorizationRuleName": "sdk-AuthRules-1788",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-6914.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-1788;SharedAccessKey=############################################",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-6914.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-1788;SharedAccessKey=############################################",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-AuthRules-1788"
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleRegenerateKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleRegenerateKey.json
new file mode 100644
index 000000000000..3e2c43e15a88
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceAuthorizationRuleRegenerateKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-namespace-6914",
+ "authorizationRuleName": "sdk-AuthRules-1788",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "keyType": "PrimaryKey"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-6914.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-1788;SharedAccessKey=#############################################",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-6914.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-1788;SharedAccessKey=#############################################",
+ "primaryKey": "#############################################",
+ "secondaryKey": "#############################################",
+ "keyName": "sdk-AuthRules-1788"
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceCheckNameAvailability.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceCheckNameAvailability.json
new file mode 100644
index 000000000000..365df36cc68b
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceCheckNameAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "name": "sdk-Namespace-2924"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "None",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNamespaceMigrate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNamespaceMigrate.json
new file mode 100644
index 000000000000..dad620d9a592
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNamespaceMigrate.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-41",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "SubscriptionId",
+ "parameters": {
+ "targetNamespaceType": "EventHub"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetList.json
new file mode 100644
index 000000000000..94aa6330beca
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetList.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-6019",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "Subscription"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionid/resourceGroups/resourcegroupid/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9659/networkrulesets/default",
+ "name": "default",
+ "type": "Microsoft.ServiceBus/Namespaces/NetworkRuleSet",
+ "properties": {
+ "defaultAction": "Deny",
+ "virtualNetworkRules": [
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2"
+ },
+ "ignoreMissingVnetServiceEndpoint": true
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ }
+ ],
+ "ipRules": [
+ {
+ "ipMask": "1.1.1.1",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.2",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.3",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.4",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.5",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleCreate.json
new file mode 100644
index 000000000000..7938bba92b59
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleCreate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-7982",
+ "queueName": "sdk-Queues-2317",
+ "authorizationRuleName": "sdk-AuthRules-5800",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-7982/queues/sdk-Queues-2317/authorizationRules/sdk-AuthRules-5800",
+ "name": "sdk-AuthRules-5800",
+ "type": "Microsoft.ServiceBus/Namespaces/Queues/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleDelete.json
new file mode 100644
index 000000000000..2253817df1b6
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-namespace-7982",
+ "queueName": "sdk-Queues-2317",
+ "authorizationRuleName": "sdk-AuthRules-5800",
+ "api-version": "2015-08-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleGet.json
new file mode 100644
index 000000000000..7d1616239e9e
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-7982",
+ "queueName": "sdk-Queues-2317",
+ "authorizationRuleName": "sdk-AuthRules-5800",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-7982/queues/sdk-Queues-2317/authorizationRules/sdk-AuthRules-5800",
+ "name": "sdk-AuthRules-5800",
+ "type": "Microsoft.ServiceBus/Namespaces/Queues/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleListAll.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..8bedccbf9d3f
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleListAll.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-7982",
+ "queueName": "sdk-Queues-2317",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-7982/queues/sdk-Queues-2317/authorizationRules/sdk-AuthRules-5800",
+ "name": "sdk-AuthRules-5800",
+ "type": "Microsoft.ServiceBus/Namespaces/Queues/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleListKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..50e15edca30c
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleListKey.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-namespace-7982",
+ "queueName": "sdk-Queues-2317",
+ "authorizationRuleName": "sdk-AuthRules-5800",
+ "api-version": "2015-08-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-7982.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-5800;SharedAccessKey=############################################;EntityPath=sdk-Queues-2317",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-7982.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-5800;SharedAccessKey=############################################;EntityPath=sdk-Queues-2317",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-AuthRules-5800"
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleRegenerateKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleRegenerateKey.json
new file mode 100644
index 000000000000..03d3f4f0bb9d
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueAuthorizationRuleRegenerateKey.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-namespace-7982",
+ "queueName": "sdk-Queues-2317",
+ "authorizationRuleName": "sdk-AuthRules-5800",
+ "api-version": "2015-08-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "keyType": "PrimaryKey"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-7982.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-5800;SharedAccessKey=############################################;EntityPath=sdk-Queues-2317",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-7982.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-5800;SharedAccessKey=############################################;EntityPath=sdk-Queues-2317",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-AuthRules-5800"
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueCreate.json
new file mode 100644
index 000000000000..046d26c85f32
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueCreate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-3174",
+ "resourceGroupName": "ArunMonocle",
+ "queueName": "sdk-Queues-5647",
+ "api-version": "2015-08-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "enablePartitioning": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-3174/queues/sdk-Queues-5647",
+ "name": "sdk-Queues-5647",
+ "type": "Microsoft.ServiceBus/Namespaces/Queues",
+ "properties": {
+ "lockDuration": "PT1M",
+ "maxSizeInMegabytes": 163840,
+ "requiresDuplicateDetection": false,
+ "requiresSession": false,
+ "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
+ "duplicateDetectionHistoryTimeWindow": "PT10M",
+ "maxDeliveryCount": 10,
+ "sizeInBytes": 0,
+ "messageCount": 0,
+ "status": "Active",
+ "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
+ "enablePartitioning": true,
+ "enableExpress": false,
+ "createdAt": "2017-05-26T18:07:33.68Z",
+ "updatedAt": "2017-05-26T18:07:34.227Z",
+ "accessedAt": "2017-05-26T18:07:34.227Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueDelete.json
new file mode 100644
index 000000000000..de89dfa7008f
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-183",
+ "resourceGroupName": "ArunMonocle",
+ "queueName": "sdk-Queues-8708",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueGet.json
new file mode 100644
index 000000000000..fcfe53b04a99
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-3174",
+ "resourceGroupName": "ArunMonocle",
+ "queueName": "sdk-Queues-5647",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-3174/queues/sdk-Queues-5647",
+ "name": "sdk-Queues-5647",
+ "type": "Microsoft.ServiceBus/Namespaces/Queues",
+ "properties": {
+ "lockDuration": "PT1M",
+ "maxSizeInMegabytes": 163840,
+ "requiresDuplicateDetection": false,
+ "requiresSession": false,
+ "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
+ "duplicateDetectionHistoryTimeWindow": "PT10M",
+ "maxDeliveryCount": 10,
+ "sizeInBytes": 0,
+ "messageCount": 0,
+ "status": "Active",
+ "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
+ "enablePartitioning": true,
+ "enableExpress": false,
+ "createdAt": "2017-05-26T18:07:32.4592931Z",
+ "updatedAt": "2017-05-26T18:07:34.6243761Z",
+ "accessedAt": "0001-01-01T00:00:00Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueListByNameSpace.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueListByNameSpace.json
new file mode 100644
index 000000000000..c3c70e2724dc
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Queues/SBQueueListByNameSpace.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-3174",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-3174/queues/sdk-queues-5647",
+ "name": "sdk-queues-5647",
+ "type": "Microsoft.ServiceBus/Namespaces/Queues",
+ "properties": {
+ "lockDuration": "PT1M",
+ "maxSizeInMegabytes": 163840,
+ "requiresDuplicateDetection": false,
+ "requiresSession": false,
+ "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
+ "duplicateDetectionHistoryTimeWindow": "PT10M",
+ "maxDeliveryCount": 10,
+ "sizeInBytes": 0,
+ "messageCount": 0,
+ "status": "Active",
+ "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
+ "enablePartitioning": true,
+ "enableExpress": false,
+ "createdAt": "2017-05-26T18:07:32.4592931Z",
+ "updatedAt": "2017-05-26T18:07:34.6243761Z",
+ "accessedAt": "0001-01-01T00:00:00Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleCreate.json
new file mode 100644
index 000000000000..aa0c8bd5fdaf
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleCreate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1319",
+ "resourceGroupName": "resourceGroupName",
+ "topicName": "sdk-Topics-2081",
+ "subscriptionName": "sdk-Subscriptions-8691",
+ "ruleName": "sdk-Rules-6571",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "subscriptionId",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1319/topics/sdk-Topics-2081/subscriptions/sdk-Subscriptions-8691/rules/sdk-Rules-6571",
+ "name": "sdk-Rules-6571",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions/Rules",
+ "properties": {
+ "action": {},
+ "filterType": "SqlFilter",
+ "sqlFilter": {
+ "sqlExpression": "1=1",
+ "compatibilityLevel": 20
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleCreate_CorrelationFilter.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleCreate_CorrelationFilter.json
new file mode 100644
index 000000000000..c2d33feec3db
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleCreate_CorrelationFilter.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1319",
+ "resourceGroupName": "resourceGroupName",
+ "topicName": "sdk-Topics-2081",
+ "subscriptionName": "sdk-Subscriptions-8691",
+ "ruleName": "sdk-Rules-6571",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "filterType": "CorrelationFilter",
+ "correlationFilter": {
+ "properties": {
+ "topicHint": "Crop"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1319/topics/sdk-Topics-2081/subscriptions/sdk-Subscriptions-8691/rules/sdk-Rules-6571",
+ "name": "sdk-Rules-6571",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions/Rules",
+ "properties": {
+ "action": {},
+ "filterType": "CorrelationFilter",
+ "correlationFilter": {
+ "properties": {
+ "queueHint": "Crop"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleCreate_SqlFilter.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleCreate_SqlFilter.json
new file mode 100644
index 000000000000..ed961457a821
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleCreate_SqlFilter.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1319",
+ "resourceGroupName": "resourceGroupName",
+ "topicName": "sdk-Topics-2081",
+ "subscriptionName": "sdk-Subscriptions-8691",
+ "ruleName": "sdk-Rules-6571",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "filterType": "SqlFilter",
+ "sqlFilter": {
+ "sqlExpression": "myproperty=test"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1319/topics/sdk-Topics-2081/subscriptions/sdk-Subscriptions-8691/rules/sdk-Rules-6571",
+ "name": "sdk-Rules-6571",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions/Rules",
+ "properties": {
+ "action": {},
+ "filterType": "SqlFilter",
+ "sqlFilter": {
+ "sqlExpression": "myproperty=test",
+ "compatibilityLevel": 20
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleDelete.json
new file mode 100644
index 000000000000..8f544804c5bb
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1319",
+ "resourceGroupName": "ArunMonocle",
+ "topicName": "sdk-Topics-2081",
+ "subscriptionName": "sdk-Subscriptions-8691",
+ "ruleName": "sdk-Rules-6571",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleGet.json
new file mode 100644
index 000000000000..97f5219ada44
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1319",
+ "resourceGroupName": "ArunMonocle",
+ "topicName": "sdk-Topics-2081",
+ "subscriptionName": "sdk-Subscriptions-8691",
+ "ruleName": "sdk-Rules-6571",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1319/topics/sdk-Topics-2081/subscriptions/sdk-Subscriptions-8691/rules/sdk-Rules-6571",
+ "name": "sdk-Rules-6571",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions/Rules",
+ "properties": {
+ "action": {},
+ "filterType": "SqlFilter",
+ "sqlFilter": {
+ "sqlExpression": "1=1",
+ "compatibilityLevel": 20
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleListBySubscription.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleListBySubscription.json
new file mode 100644
index 000000000000..cd3f98118183
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Rules/RuleListBySubscription.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1319",
+ "resourceGroupName": "ArunMonocle",
+ "topicName": "sdk-Topics-2081",
+ "subscriptionName": "sdk-Subscriptions-8691",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1319/topics/sdk-Topics-2081/subscriptions/sdk-Subscriptions-8691/rules/sdk-Rules-6571",
+ "name": "sdk-Rules-6571",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions/Rules",
+ "properties": {
+ "action": {},
+ "filterType": "SqlFilter",
+ "sqlFilter": {
+ "sqlExpression": "1=1",
+ "compatibilityLevel": 20
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/SkuRegions/EventHubs.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/SkuRegions/EventHubs.json
new file mode 100644
index 000000000000..6f026799cb7c
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/SkuRegions/EventHubs.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-3174",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-716/eventhubs/sdk-eventhub-10",
+ "name": "sdk-eventhub-10",
+ "type": "Microsoft.ServiceBus/Namespaces/EventHubs",
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "createdAt": "2017-06-28T02:45:55.877Z",
+ "updatedAt": "2017-06-28T02:46:05.877Z",
+ "partitionIds": [
+ "0",
+ "1",
+ "2",
+ "3"
+ ],
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ },
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/SkuRegions/PremiumMessagingRegions.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/SkuRegions/PremiumMessagingRegions.json
new file mode 100644
index 000000000000..a574c32e66e6
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/SkuRegions/PremiumMessagingRegions.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/East US",
+ "name": "East US",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "East US",
+ "fullName": "East US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/East US 2",
+ "name": "East US 2",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "East US 2",
+ "fullName": "East US 2"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/West India",
+ "name": "West India",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "West India",
+ "fullName": "West India"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/West US",
+ "name": "West US",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "West US",
+ "fullName": "West US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/North Central US",
+ "name": "North Central US",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "North Central US",
+ "fullName": "North Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/UK West",
+ "name": "UK West",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "UK West",
+ "fullName": "UK West"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/West Central US",
+ "name": "West Central US",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "West Central US",
+ "fullName": "West Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/Brazil South",
+ "name": "Brazil South",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "Brazil South",
+ "fullName": "Brazil South"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/Central US",
+ "name": "Central US",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "Central US",
+ "fullName": "Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/South Central US",
+ "name": "South Central US",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "South Central US",
+ "fullName": "South Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/West Europe",
+ "name": "West Europe",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "West Europe",
+ "fullName": "West Europe"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/North Europe",
+ "name": "North Europe",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "North Europe",
+ "fullName": "North Europe"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/East Asia",
+ "name": "East Asia",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "East Asia",
+ "fullName": "East Asia"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/South India",
+ "name": "South India",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "South India",
+ "fullName": "South India"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/UK North",
+ "name": "UK North",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "UK North",
+ "fullName": "UK North"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/Australia Southeast",
+ "name": "Australia Southeast",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "Australia Southeast",
+ "fullName": "Australia Southeast"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/Southeast Asia",
+ "name": "Southeast Asia",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "Southeast Asia",
+ "fullName": "Southeast Asia"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/Japan West",
+ "name": "Japan West",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "Japan West",
+ "fullName": "Japan West"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/Japan East",
+ "name": "Japan East",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "Japan East",
+ "fullName": "Japan East"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/UK South",
+ "name": "UK South",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "UK South",
+ "fullName": "UK South"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/UK South 2",
+ "name": "UK South 2",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "UK South 2",
+ "fullName": "UK South 2"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/Central India",
+ "name": "Central India",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "Central India",
+ "fullName": "Central India"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/Canada East",
+ "name": "Canada East",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "Canada East",
+ "fullName": "Canada East"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/Canada Central",
+ "name": "Canada Central",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "Canada Central",
+ "fullName": "Canada Central"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/premiumMessagingRegions/Australia East",
+ "name": "Australia East",
+ "type": "Microsoft.ServiceBus/PremiumMessagingRegions",
+ "properties": {
+ "code": "Australia East",
+ "fullName": "Australia East"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/SkuRegions/SkuRegions.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/SkuRegions/SkuRegions.json
new file mode 100644
index 000000000000..121e140eda78
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/SkuRegions/SkuRegions.json
@@ -0,0 +1,285 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "sku": "Basic"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/CentralUS",
+ "name": "Central US",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Central US",
+ "fullName": "Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/EastUS",
+ "name": "East US",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "East US",
+ "fullName": "East US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/EastUS2",
+ "name": "East US 2",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "East US 2",
+ "fullName": "East US 2"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/NorthCentralUS",
+ "name": "North Central US",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "North Central US",
+ "fullName": "North Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/SouthCentralUS",
+ "name": "South Central US",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "South Central US",
+ "fullName": "South Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/WestUS",
+ "name": "West US",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "West US",
+ "fullName": "West US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/WestUS2",
+ "name": "West US 2",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "West US 2",
+ "fullName": "West US 2"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/WestCentralUS",
+ "name": "West Central US",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "West Central US",
+ "fullName": "West Central US"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/NorthEurope",
+ "name": "North Europe",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "North Europe",
+ "fullName": "North Europe"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/WestEurope",
+ "name": "West Europe",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "West Europe",
+ "fullName": "West Europe"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/EastAsia",
+ "name": "East Asia",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "East Asia",
+ "fullName": "East Asia"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/SoutheastAsia",
+ "name": "Southeast Asia",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Southeast Asia",
+ "fullName": "Southeast Asia"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/BrazilSouth",
+ "name": "Brazil South",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Brazil South",
+ "fullName": "Brazil South"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/JapanEast",
+ "name": "Japan East",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Japan East",
+ "fullName": "Japan East"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/JapanWest",
+ "name": "Japan West",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Japan West",
+ "fullName": "Japan West"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/CentralIndia",
+ "name": "Central India",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Central India",
+ "fullName": "Central India"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/SouthIndia",
+ "name": "South India",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "South India",
+ "fullName": "South India"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/WestIndia",
+ "name": "West India",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "West India",
+ "fullName": "West India"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/UKSouth2",
+ "name": "UK South 2",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "UK South 2",
+ "fullName": "UK South 2"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/UKNorth",
+ "name": "UK North",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "UK North",
+ "fullName": "UK North"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/CanadaCentral",
+ "name": "Canada Central",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Canada Central",
+ "fullName": "Canada Central"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/CanadaEast",
+ "name": "Canada East",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Canada East",
+ "fullName": "Canada East"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/AustraliaEast",
+ "name": "Australia East",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Australia East",
+ "fullName": "Australia East"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/AustraliaSoutheast",
+ "name": "Australia Southeast",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Australia Southeast",
+ "fullName": "Australia Southeast"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/UKSouth",
+ "name": "UK South",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "UK South",
+ "fullName": "UK South"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/UKWest",
+ "name": "UK West",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "UK West",
+ "fullName": "UK West"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/EASTUS2EUAP",
+ "name": "EAST US 2 EUAP",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "EAST US 2 EUAP",
+ "fullName": "EAST US 2 EUAP"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/CentralUSEUAP",
+ "name": "Central US EUAP",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Central US EUAP",
+ "fullName": "Central US EUAP"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/KoreaCentral",
+ "name": "Korea Central",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Korea Central",
+ "fullName": "Korea Central"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/providers/Microsoft.ServiceBus/sku/Basic/regions/KoreaSouth",
+ "name": "Korea South",
+ "type": "Microsoft.ServiceBus/Sku/Regions",
+ "properties": {
+ "code": "Korea South",
+ "fullName": "Korea South"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionCreate.json
new file mode 100644
index 000000000000..c349db0fedce
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionCreate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1349",
+ "resourceGroupName": "ResourceGroup",
+ "topicName": "sdk-Topics-8740",
+ "subscriptionName": "sdk-Subscriptions-2178",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "Subscriptionid",
+ "parameters": {
+ "properties": {
+ "enableBatchedOperations": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/Subscriptionid/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1349/topics/sdk-Topics-8740/subscriptions/sdk-Subscriptions-2178",
+ "name": "sdk-Subscriptions-2178",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions",
+ "properties": {
+ "lockDuration": "PT1M",
+ "requiresSession": false,
+ "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
+ "deadLetteringOnMessageExpiration": true,
+ "deadLetteringOnFilterEvaluationExceptions": true,
+ "messageCount": 0,
+ "maxDeliveryCount": 10,
+ "status": "Active",
+ "enableBatchedOperations": true,
+ "createdAt": "2018-01-04T18:02:20.5992764Z",
+ "updatedAt": "2018-01-04T18:02:20.5992764Z",
+ "accessedAt": "2018-01-04T18:02:20.5992764Z",
+ "countDetails": {
+ "activeMessageCount": 0,
+ "deadLetterMessageCount": 0,
+ "scheduledMessageCount": 0,
+ "transferMessageCount": 0,
+ "transferDeadLetterMessageCount": 0
+ },
+ "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
+ "forwardTo": "sdk-Topics-3065",
+ "forwardDeadLetteredMessagesTo": "sdk-Topics-3065"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionDelete.json
new file mode 100644
index 000000000000..c05a2beb372f
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5882",
+ "resourceGroupName": "ResourceGroup",
+ "topicName": "sdk-Topics-1804",
+ "subscriptionName": "sdk-Subscriptions-3670",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionGet.json
new file mode 100644
index 000000000000..2c845a02bde0
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionGet.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1349",
+ "resourceGroupName": "ResourceGroup",
+ "topicName": "sdk-Topics-8740",
+ "subscriptionName": "sdk-Subscriptions-2178",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "Subscriptionid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/Subscriptionid/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1349/topics/sdk-Topics-8740/subscriptions/sdk-Subscriptions-2178",
+ "name": "sdk-Subscriptions-2178",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions",
+ "properties": {
+ "lockDuration": "PT1M",
+ "requiresSession": false,
+ "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
+ "deadLetteringOnMessageExpiration": true,
+ "deadLetteringOnFilterEvaluationExceptions": true,
+ "messageCount": 0,
+ "maxDeliveryCount": 10,
+ "status": "Active",
+ "enableBatchedOperations": true,
+ "createdAt": "2018-01-04T18:02:20.5992764Z",
+ "updatedAt": "2018-01-04T18:02:20.5992764Z",
+ "accessedAt": "2018-01-04T18:02:20.5992764Z",
+ "countDetails": {
+ "activeMessageCount": 0,
+ "deadLetterMessageCount": 0,
+ "scheduledMessageCount": 0,
+ "transferMessageCount": 0,
+ "transferDeadLetterMessageCount": 0
+ },
+ "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
+ "forwardTo": "sdk-Topics-3065",
+ "forwardDeadLetteredMessagesTo": "sdk-Topics-3065"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionListByTopic.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionListByTopic.json
new file mode 100644
index 000000000000..f030d9f5b3fa
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Subscriptions/SBSubscriptionListByTopic.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1349",
+ "resourceGroupName": "ResourceGroup",
+ "topicName": "sdk-Topics-8740",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5{Subscriptionid}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/Subscriptionid/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1349/topics/sdk-Topics-8740/subscriptions/sdk-Subscriptions-2178",
+ "name": "sdk-Subscriptions-2178",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions",
+ "properties": {
+ "lockDuration": "PT1M",
+ "requiresSession": false,
+ "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
+ "deadLetteringOnMessageExpiration": true,
+ "deadLetteringOnFilterEvaluationExceptions": true,
+ "messageCount": 0,
+ "maxDeliveryCount": 10,
+ "status": "Active",
+ "enableBatchedOperations": true,
+ "createdAt": "2018-01-04T18:02:20.5992764Z",
+ "updatedAt": "2018-01-04T18:02:20.5992764Z",
+ "accessedAt": "2018-01-04T18:02:20.5992764Z",
+ "countDetails": {
+ "activeMessageCount": 0,
+ "deadLetterMessageCount": 0,
+ "scheduledMessageCount": 0,
+ "transferMessageCount": 0,
+ "transferDeadLetterMessageCount": 0
+ },
+ "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
+ "forwardTo": "sdk-Topics-3065",
+ "forwardDeadLetteredMessagesTo": "sdk-Topics-3065"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleCreate.json
new file mode 100644
index 000000000000..df2acf401cab
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleCreate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-6261",
+ "topicName": "sdk-Topics-1984",
+ "authorizationRuleName": "sdk-AuthRules-4310",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6261/topics/sdk-Topics-1984/authorizationRules/sdk-AuthRules-4310",
+ "name": "sdk-AuthRules-4310",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleDelete.json
new file mode 100644
index 000000000000..90021cdb413b
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-6261",
+ "topicName": "sdk-Topics-1984",
+ "authorizationRuleName": "sdk-AuthRules-4310",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleGet.json
new file mode 100644
index 000000000000..6d7a046b920f
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-6261",
+ "topicName": "sdk-Topics-1984",
+ "authorizationRuleName": "sdk-AuthRules-4310",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6261/topics/sdk-Topics-1984/authorizationRules/sdk-AuthRules-4310",
+ "name": "sdk-AuthRules-4310",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleListAll.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..decfb7e6f4e8
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleListAll.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-6261",
+ "topicName": "sdk-Topics-1984",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6261/topics/sdk-Topics-1984/authorizationRules/sdk-AuthRules-4310",
+ "name": "sdk-AuthRules-4310",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleListKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..18e85573ce4a
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleListKey.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "resourceGroupName": "Default-ServiceBus-WestUS",
+ "namespaceName": "sdk-Namespace8408",
+ "topicName": "sdk-Topics2075",
+ "authorizationRuleName": "sdk-Authrules5067",
+ "api-version": "2015-08-01",
+ "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-6261.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-4310;SharedAccessKey=#############################################;EntityPath=sdk-Topics-1984",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-6261.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-4310;SharedAccessKey=#############################################;EntityPath=sdk-Topics-1984",
+ "primaryKey": "#############################################",
+ "secondaryKey": "#############################################",
+ "keyName": "sdk-AuthRules-4310"
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleRegenerateKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleRegenerateKey.json
new file mode 100644
index 000000000000..3ec75c010815
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicAuthorizationRuleRegenerateKey.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "resourceGroupName": "Default-ServiceBus-WestUS",
+ "namespaceName": "sdk-Namespace8408",
+ "topicName": "sdk-Topics2075",
+ "authorizationRuleName": "sdk-Authrules5067",
+ "api-version": "2015-08-01",
+ "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093",
+ "parameters": {
+ "keyType": "PrimaryKey"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-6261.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-4310;SharedAccessKey=#############################################;EntityPath=sdk-Topics-1984",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-6261.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-4310;SharedAccessKey=#############################################;EntityPath=sdk-Topics-1984",
+ "primaryKey": "#############################################",
+ "secondaryKey": "#############################################",
+ "keyName": "sdk-AuthRules-4310"
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicCreate.json
new file mode 100644
index 000000000000..465131cbc0e6
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1617",
+ "resourceGroupName": "ArunMonocle",
+ "topicName": "sdk-Topics-5488",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "enableExpress": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1617/topics/sdk-Topics-5488",
+ "name": "sdk-Topics-5488",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics",
+ "properties": {
+ "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
+ "maxSizeInMegabytes": 10240,
+ "requiresDuplicateDetection": false,
+ "duplicateDetectionHistoryTimeWindow": "PT10M",
+ "enableBatchedOperations": true,
+ "sizeInBytes": 0,
+ "status": "Active",
+ "supportOrdering": true,
+ "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
+ "enablePartitioning": false,
+ "enableExpress": true,
+ "createdAt": "2017-05-26T20:50:34.1Z",
+ "updatedAt": "2017-05-26T20:50:34.32Z",
+ "accessedAt": "2017-05-26T20:50:34.32Z",
+ "subscriptionCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicDelete.json
new file mode 100644
index 000000000000..2ec0bdb7b6c5
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1617",
+ "resourceGroupName": "ArunMonocle",
+ "topicName": "sdk-Topics-5488",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicGet.json
new file mode 100644
index 000000000000..1435e4c1f3fd
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1617",
+ "resourceGroupName": "ArunMonocle",
+ "topicName": "sdk-Topics-5488",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1617/topics/sdk-Topics-5488",
+ "name": "sdk-Topics-5488",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics",
+ "properties": {
+ "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
+ "maxSizeInMegabytes": 10240,
+ "requiresDuplicateDetection": false,
+ "duplicateDetectionHistoryTimeWindow": "PT10M",
+ "enableBatchedOperations": true,
+ "sizeInBytes": 0,
+ "status": "Active",
+ "supportOrdering": true,
+ "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
+ "enablePartitioning": false,
+ "enableExpress": true,
+ "createdAt": "2017-05-26T20:50:31.4442694Z",
+ "updatedAt": "2017-05-26T20:52:32.2092264Z",
+ "accessedAt": "0001-01-01T00:00:00Z",
+ "subscriptionCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicListByNameSpace.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicListByNameSpace.json
new file mode 100644
index 000000000000..7eae565a017a
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/Topics/SBTopicListByNameSpace.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-1617",
+ "resourceGroupName": "Default-ServiceBus-WestUS",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1617/topics/sdk-topics-5488",
+ "name": "sdk-topics-5488",
+ "type": "Microsoft.ServiceBus/Namespaces/Topics",
+ "properties": {
+ "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
+ "maxSizeInMegabytes": 10240,
+ "requiresDuplicateDetection": false,
+ "duplicateDetectionHistoryTimeWindow": "PT10M",
+ "enableBatchedOperations": true,
+ "sizeInBytes": 0,
+ "status": "Active",
+ "supportOrdering": true,
+ "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
+ "enablePartitioning": false,
+ "enableExpress": true,
+ "createdAt": "2017-05-26T20:50:31.4442694Z",
+ "updatedAt": "2017-05-26T20:52:32.2092264Z",
+ "accessedAt": "0001-01-01T00:00:00Z",
+ "subscriptionCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/migrate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/migrate.json
new file mode 100644
index 000000000000..b5a0a1feeef0
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/migrate.json
@@ -0,0 +1,113 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ServiceBusManagementClient",
+ "description": "Azure Service Bus client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrate": {
+ "post": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_Migrate",
+ "x-ms-examples": {
+ "NameSpaceUpdate": {
+ "$ref": "./examples/NameSpaces/SBNamespaceMigrate.json"
+ }
+ },
+ "description": "This operation Migrate the given namespace to provided name type",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SBNamespaceMigrate"
+ },
+ "description": "Parameters supplied to migrate namespace type."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Migrate Namespace type is successful."
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SBNamespaceMigrate": {
+ "type": "object",
+ "properties": {
+ "targetNamespaceType": {
+ "type": "string",
+ "description": "Type of namespaces",
+ "enum": [
+ "Messaging",
+ "NotificationHub",
+ "Mixed",
+ "EventHub",
+ "Relay"
+ ],
+ "x-ms-enum": {
+ "name": "NameSpaceType",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "targetNamespaceType"
+ ],
+ "description": "Namespace Migrate Object"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/migrationconfigs.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/migrationconfigs.json
new file mode 100644
index 000000000000..2b1d2863ce8d
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/migrationconfigs.json
@@ -0,0 +1,375 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ServiceBusManagementClient",
+ "description": "Azure Service Bus client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations": {
+ "get": {
+ "tags": [
+ "MigrationConfigs"
+ ],
+ "operationId": "MigrationConfigs_List",
+ "x-ms-examples": {
+ "MigrationConfigurationsList": {
+ "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationList.json"
+ }
+ },
+ "description": "Gets all migrationConfigurations",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of migrationConfigurations for servicebus namespace",
+ "schema": {
+ "$ref": "#/definitions/MigrationConfigListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}": {
+ "put": {
+ "tags": [
+ "MigrationConfigs"
+ ],
+ "operationId": "MigrationConfigs_CreateAndStartMigration",
+ "x-ms-examples": {
+ "MigrationConfigurationsStartMigration": {
+ "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationCreateAndStartMigration.json"
+ }
+ },
+ "description": "Creates Migration configuration and starts migration of entities from Standard to Premium namespace",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MigrationConfigProperties"
+ },
+ "description": "Parameters required to create Migration Configuration"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Migration Config successfully created",
+ "schema": {
+ "$ref": "#/definitions/MigrationConfigProperties"
+ }
+ },
+ "201": {
+ "description": "Migration Config creation request received"
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "MigrationConfigs"
+ ],
+ "operationId": "MigrationConfigs_Delete",
+ "x-ms-examples": {
+ "MigrationConfigurationsDelete": {
+ "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationDelete.json"
+ }
+ },
+ "description": "Deletes a MigrationConfiguration",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete Migration Config request accepted"
+ },
+ "204": {
+ "description": "Not Found"
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "MigrationConfigs"
+ ],
+ "operationId": "MigrationConfigs_Get",
+ "x-ms-examples": {
+ "MigrationConfigurationsGet": {
+ "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationGet.json"
+ }
+ },
+ "description": "Retrieves Migration Config",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved Migration Config)",
+ "schema": {
+ "$ref": "#/definitions/MigrationConfigProperties"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade": {
+ "post": {
+ "tags": [
+ "MigrationConfigs"
+ ],
+ "operationId": "MigrationConfigs_CompleteMigration",
+ "x-ms-examples": {
+ "MigrationConfigurationsCompleteMigration": {
+ "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationCompleteMigration.json"
+ }
+ },
+ "description": "This operation Completes Migration of entities by pointing the connection strings to Premium namespace and any entities created after the operation will be under Premium Namespace. CompleteMigration operation will fail when entity migration is in-progress.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "upgrade operation of Migration Config is successful."
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert": {
+ "post": {
+ "tags": [
+ "MigrationConfigs"
+ ],
+ "operationId": "MigrationConfigs_Revert",
+ "x-ms-examples": {
+ "MigrationConfigurationsRevert": {
+ "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationRevert.json"
+ }
+ },
+ "description": "This operation reverts Migration",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "MigrationConfig Revert operation is successful."
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MigrationConfigProperties": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of Migration Configuration "
+ },
+ "pendingReplicationOperationsCount": {
+ "readOnly": true,
+ "format": "int64",
+ "type": "integer",
+ "description": "Number of entities pending to be replicated."
+ },
+ "targetNamespace": {
+ "type": "string",
+ "description": "Existing premium Namespace ARM Id name which has no entities, will be used for migration"
+ },
+ "postMigrationName": {
+ "type": "string",
+ "description": "Name to access Standard Namespace after migration"
+ },
+ "migrationState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "State in which Standard to Premium Migration is, possible values : Unknown, Reverting, Completing, Initiating, Syncing, Active"
+ }
+ },
+ "required": [
+ "targetNamespace",
+ "postMigrationName"
+ ],
+ "description": "Properties required to the Create Migration Configuration"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Single item in List or Get Migration Config operation"
+ },
+ "MigrationConfigListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrationConfigProperties"
+ },
+ "description": "List of Migration Configs"
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of migrationConfigurations"
+ }
+ },
+ "description": "The result of the List migrationConfigurations operation."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/networksets.json
similarity index 68%
rename from specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json
rename to specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/networksets.json
index adaa6ddb1ec1..9485a2438ac9 100644
--- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/networksets.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "ServiceBusManagementClient",
- "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant",
+ "description": "Azure Service Bus client",
"version": "2018-01-01-preview"
},
"host": "management.azure.com",
@@ -34,18 +34,18 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkrulesets/default": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets/default": {
"put": {
"tags": [
"Namespaces"
],
"x-ms-examples": {
- "NameSpaceVirtualNetworkRuleSetCreate": {
+ "NameSpaceNetworkRuleSetCreate": {
"$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json"
}
},
"operationId": "Namespaces_CreateOrUpdateNetworkRuleSet",
- "description": "Gets NetworkRuleSet for a Namespace.",
+ "description": "Create or update NetworkRuleSet for a Namespace.",
"parameters": [
{
"$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
@@ -66,7 +66,7 @@
"schema": {
"$ref": "#/definitions/NetworkRuleSet"
},
- "description": "The Namespace NetworkRuleSet."
+ "description": "The Namespace IpFilterRule."
}
],
"responses": {
@@ -89,7 +89,7 @@
"Namespaces"
],
"x-ms-examples": {
- "NameSpaceVirtualNetworkRuleSetget": {
+ "NameSpaceNetworkRuleSetGet": {
"$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json"
}
},
@@ -124,18 +124,54 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets": {
+ "get": {
+ "tags": [
+ "Namespaces"
+ ],
+ "x-ms-examples": {
+ "NameSpaceNetworkRuleSetList": {
+ "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetList.json"
+ }
+ },
+ "operationId": "Namespaces_ListNetworkRuleSets",
+ "description": "Gets list of NetworkRuleSet for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of NetworkRuleSets for Namespace successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/NetworkRuleSetListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
}
},
"definitions": {
- "Subnet": {
- "properties": {
- "id": {
- "type": "string",
- "description": "Resource ID of Virtual Network Subnet"
- }
- },
- "description": "Properties supplied for Subnet"
- },
"NWRuleSetIpRules": {
"x-ms-client-flatten": true,
"properties": {
@@ -152,10 +188,23 @@
"x-ms-enum": {
"name": "NetworkRuleIPAction",
"modelAsString": true
- }
+ },
+ "default": "Allow"
+ }
+ },
+ "description": "Description of NetWorkRuleSet - IpRules resource."
+ },
+ "Subnet": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID of Virtual Network Subnet"
}
},
- "description": "The response from the List namespace operation."
+ "required": [
+ "id"
+ ],
+ "description": "Properties supplied for Subnet"
},
"NWRuleSetVirtualNetworkRules": {
"x-ms-client-flatten": true,
@@ -166,10 +215,10 @@
},
"ignoreMissingVnetServiceEndpoint": {
"type": "boolean",
- "description": "Value that indicates whether to ignore missing Vnet Service Endpoint"
+ "description": "Value that indicates whether to ignore missing VNet Service Endpoint"
}
},
- "description": "The response from the List namespace operation."
+ "description": "Description of VirtualNetworkRules - NetworkRules resource."
},
"NetworkRuleSet": {
"properties": {
@@ -211,7 +260,23 @@
"$ref": "../../../common/v1/definitions.json#/definitions/Resource"
}
],
- "description": "Description of topic resource."
+ "description": "Description of NetworkRuleSet resource."
+ },
+ "NetworkRuleSetListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkRuleSet"
+ },
+ "description": "Result of the List NetworkRuleSet operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of NetworkRuleSet."
+ }
+ },
+ "description": "The response of the List NetworkRuleSet operation."
}
},
"parameters": {}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operations.json
similarity index 96%
rename from specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json
rename to specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operations.json
index e5342767dd0b..6477145e97bb 100644
--- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operations.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "ServiceBusManagementClient",
- "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant",
+ "description": "Azure Service Bus client",
"version": "2018-01-01-preview"
},
"host": "management.azure.com",
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/sku.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/sku.json
new file mode 100644
index 000000000000..7bd084eb771a
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/sku.json
@@ -0,0 +1,145 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ServiceBusManagementClient",
+ "description": "Azure Service Bus client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions": {
+ "get": {
+ "tags": [
+ "Regions"
+ ],
+ "operationId": "Regions_ListBySku",
+ "x-ms-examples": {
+ "RegionsListBySku": {
+ "$ref": "./examples/SkuRegions/SkuRegions.json"
+ }
+ },
+ "description": "Gets the available Regions for a given sku",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkuNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Regions successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/PremiumMessagingRegionsListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ResourceNamespacePatch": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "The Resource definition."
+ },
+ "PremiumMessagingRegions": {
+ "properties": {
+ "properties": {
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Region code"
+ },
+ "fullName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Full name of the region"
+ }
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceNamespacePatch"
+ }
+ ],
+ "description": "Premium Messaging Region"
+ },
+ "PremiumMessagingRegionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PremiumMessagingRegions"
+ },
+ "description": "Result of the List PremiumMessagingRegions type."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of PremiumMessagingRegions."
+ }
+ },
+ "description": "The response of the List PremiumMessagingRegions operation."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/subscriptions.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/subscriptions.json
new file mode 100644
index 000000000000..82c7dafbcb6b
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/subscriptions.json
@@ -0,0 +1,374 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ServiceBusManagementClient",
+ "description": "Azure Service Bus client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions": {
+ "get": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscriptions_ListByTopic",
+ "x-ms-examples": {
+ "SubscriptionListByTopic": {
+ "$ref": "./examples/Subscriptions/SBSubscriptionListByTopic.json"
+ }
+ },
+ "description": "List all the subscriptions under a specified topic.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639400.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved list of subscriptions.",
+ "schema": {
+ "$ref": "#/definitions/SBSubscriptionListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}": {
+ "put": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscriptions_CreateOrUpdate",
+ "x-ms-examples": {
+ "SubscriptionCreate": {
+ "$ref": "./examples/Subscriptions/SBSubscriptionCreate.json"
+ }
+ },
+ "description": "Creates a topic subscription.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639385.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SBSubscription"
+ },
+ "description": "Parameters supplied to create a subscription resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Subscription create request accepted.",
+ "schema": {
+ "$ref": "#/definitions/SBSubscription"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscriptions_Delete",
+ "x-ms-examples": {
+ "SubscriptionDelete": {
+ "$ref": "./examples/Subscriptions/SBSubscriptionDelete.json"
+ }
+ },
+ "description": "Deletes a subscription from the specified topic.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639381.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Subscription successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscriptions_Get",
+ "x-ms-examples": {
+ "SubscriptionGet": {
+ "$ref": "./examples/Subscriptions/SBSubscriptionGet.json"
+ }
+ },
+ "description": "Returns a subscription description for the specified topic.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639402.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved subscription description.",
+ "schema": {
+ "$ref": "#/definitions/SBSubscription"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SBSubscriptionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SBSubscription"
+ },
+ "description": "Result of the List Subscriptions operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of subscriptions."
+ }
+ },
+ "description": "The response to the List Subscriptions operation."
+ },
+ "SBSubscription": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SBSubscriptionProperties",
+ "description": "Properties of subscriptions resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Description of subscription resource."
+ },
+ "SBSubscriptionProperties": {
+ "properties": {
+ "messageCount": {
+ "readOnly": true,
+ "format": "int64",
+ "type": "integer",
+ "description": "Number of messages."
+ },
+ "createdAt": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Exact time the message was created."
+ },
+ "accessedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Last time there was a receive request to this subscription."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The exact time the message was updated."
+ },
+ "countDetails": {
+ "readOnly": true,
+ "$ref": "../../../common/v1/definitions.json#/definitions/MessageCountDetails",
+ "description": "Message count details"
+ },
+ "lockDuration": {
+ "format": "duration",
+ "type": "string",
+ "description": "ISO 8061 lock duration timespan for the subscription. The default value is 1 minute."
+ },
+ "requiresSession": {
+ "type": "boolean",
+ "description": "Value indicating if a subscription supports the concept of sessions."
+ },
+ "defaultMessageTimeToLive": {
+ "format": "duration",
+ "type": "string",
+ "description": "ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself."
+ },
+ "deadLetteringOnFilterEvaluationExceptions": {
+ "type": "boolean",
+ "description": "Value that indicates whether a subscription has dead letter support on filter evaluation exceptions."
+ },
+ "deadLetteringOnMessageExpiration": {
+ "type": "boolean",
+ "description": "Value that indicates whether a subscription has dead letter support when a message expires."
+ },
+ "duplicateDetectionHistoryTimeWindow": {
+ "format": "duration",
+ "type": "string",
+ "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes."
+ },
+ "maxDeliveryCount": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Number of maximum deliveries."
+ },
+ "status": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus",
+ "description": "Enumerates the possible values for the status of a messaging entity."
+ },
+ "enableBatchedOperations": {
+ "type": "boolean",
+ "description": "Value that indicates whether server-side batched operations are enabled."
+ },
+ "autoDeleteOnIdle": {
+ "format": "duration",
+ "type": "string",
+ "description": "ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes."
+ },
+ "forwardTo": {
+ "type": "string",
+ "description": "Queue/Topic name to forward the messages"
+ },
+ "forwardDeadLetteredMessagesTo": {
+ "type": "string",
+ "description": "Queue/Topic name to forward the Dead Letter message"
+ }
+ },
+ "description": "Description of Subscription Resource."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/topics.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/topics.json
new file mode 100644
index 000000000000..ee7bbb894544
--- /dev/null
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/topics.json
@@ -0,0 +1,359 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ServiceBusManagementClient",
+ "description": "Azure Service Bus client",
+ "version": "2018-01-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "operationId": "Topics_ListByNamespace",
+ "x-ms-examples": {
+ "TopicGet": {
+ "$ref": "./examples/Topics/SBTopicListByNameSpace.json"
+ }
+ },
+ "description": "Gets all the topics in a namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639388.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved list of topics.",
+ "schema": {
+ "$ref": "#/definitions/SBTopicListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}": {
+ "put": {
+ "tags": [
+ "Topics"
+ ],
+ "operationId": "Topics_CreateOrUpdate",
+ "x-ms-examples": {
+ "TopicCreate": {
+ "$ref": "./examples/Topics/SBTopicCreate.json"
+ }
+ },
+ "description": "Creates a topic in the specified namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639409.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SBTopic"
+ },
+ "description": "Parameters supplied to create a topic resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Topic successfully created.",
+ "schema": {
+ "$ref": "#/definitions/SBTopic"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Topics"
+ ],
+ "operationId": "Topics_Delete",
+ "x-ms-examples": {
+ "TopicDelete": {
+ "$ref": "./examples/Topics/SBTopicDelete.json"
+ }
+ },
+ "description": "Deletes a topic from the specified namespace and resource group.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639404.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Topic successfully deleted."
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "operationId": "Topics_Get",
+ "x-ms-examples": {
+ "TopicGet": {
+ "$ref": "./examples/Topics/SBTopicGet.json"
+ }
+ },
+ "description": "Returns a description for the specified topic.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639399.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Topic description successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/SBTopic"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SBTopicListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SBTopic"
+ },
+ "description": "Result of the List Topics operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of topics."
+ }
+ },
+ "description": "The response to the List Topics operation."
+ },
+ "SBTopic": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SBTopicProperties",
+ "description": "Properties of topic resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Description of topic resource."
+ },
+ "SBTopicProperties": {
+ "properties": {
+ "sizeInBytes": {
+ "readOnly": true,
+ "format": "int64",
+ "type": "integer",
+ "description": "Size of the topic, in bytes."
+ },
+ "createdAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Exact time the message was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The exact time the message was updated."
+ },
+ "accessedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Last time the message was sent, or a request was received, for this topic."
+ },
+ "subscriptionCount": {
+ "readOnly": true,
+ "format": "int32",
+ "type": "integer",
+ "description": "Number of subscriptions."
+ },
+ "countDetails": {
+ "readOnly": true,
+ "$ref": "../../../common/v1/definitions.json#/definitions/MessageCountDetails",
+ "description": "Message count details"
+ },
+ "defaultMessageTimeToLive": {
+ "format": "duration",
+ "type": "string",
+ "description": "ISO 8601 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself."
+ },
+ "maxSizeInMegabytes": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. Default is 1024."
+ },
+ "requiresDuplicateDetection": {
+ "type": "boolean",
+ "description": "Value indicating if this topic requires duplicate detection."
+ },
+ "duplicateDetectionHistoryTimeWindow": {
+ "format": "duration",
+ "type": "string",
+ "description": "ISO8601 timespan structure that defines the duration of the duplicate detection history. The default value is 10 minutes."
+ },
+ "enableBatchedOperations": {
+ "type": "boolean",
+ "description": "Value that indicates whether server-side batched operations are enabled."
+ },
+ "status": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus",
+ "description": "Enumerates the possible values for the status of a messaging entity."
+ },
+ "supportOrdering": {
+ "type": "boolean",
+ "description": "Value that indicates whether the topic supports ordering."
+ },
+ "autoDeleteOnIdle": {
+ "format": "duration",
+ "type": "string",
+ "description": "ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes."
+ },
+ "enablePartitioning": {
+ "type": "boolean",
+ "description": "Value that indicates whether the topic to be partitioned across multiple message brokers is enabled."
+ },
+ "enableExpress": {
+ "type": "boolean",
+ "description": "Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage."
+ }
+ },
+ "description": "The Topic Properties definition."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/servicebus/resource-manager/readme.azureresourceschema.md b/specification/servicebus/resource-manager/readme.azureresourceschema.md
index 232b913f8313..a2eda7ddca03 100644
--- a/specification/servicebus/resource-manager/readme.azureresourceschema.md
+++ b/specification/servicebus/resource-manager/readme.azureresourceschema.md
@@ -21,11 +21,23 @@ output-folder: $(azureresourceschema-folder)/schemas
# all the input files in this apiVersion
input-file:
- - Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json
- - Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json
- - Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json
- - Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json
- - Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/DisasterRecoveryConfig.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/AuthorizationRules.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/CheckNameAvailability.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/eventhubs.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/networksets.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/migrate.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/migrationconfigs.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/PremiumMessagingRegions.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/Queue.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/sku.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/subscriptions.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/topics.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/Rules.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/operations.json
```
diff --git a/specification/servicebus/resource-manager/readme.md b/specification/servicebus/resource-manager/readme.md
index f8c2c8c3a1f0..f6900431a2f8 100644
--- a/specification/servicebus/resource-manager/readme.md
+++ b/specification/servicebus/resource-manager/readme.md
@@ -14,7 +14,7 @@ To build the SDK for ServiceBus, simply [Install AutoRest](https://aka.ms/autore
To see additional help and options, run:
-> `autorest --help`
+> `autorest --help`
---
## Configuration
@@ -37,21 +37,21 @@ These settings apply only when `--tag=package-2018-01-preview` is specified on t
input-file:
- Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json
- Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json
-- Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json
- Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json
-- Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json
- Microsoft.ServiceBus/preview/2018-01-01-preview/DisasterRecoveryConfig.json
-- Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json
-- Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json
-- Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json
-- Microsoft.ServiceBus/stable/2017-04-01/migrate.json
-- Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json
-- Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json
-- Microsoft.ServiceBus/stable/2017-04-01/Queue.json
-- Microsoft.ServiceBus/stable/2017-04-01/sku.json
-- Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json
-- Microsoft.ServiceBus/stable/2017-04-01/topics.json
-- Microsoft.ServiceBus/stable/2017-04-01/Rules.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/AuthorizationRules.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/CheckNameAvailability.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/eventhubs.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/networksets.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/migrate.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/migrationconfigs.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/PremiumMessagingRegions.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/Queue.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/sku.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/subscriptions.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/topics.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/Rules.json
+- Microsoft.ServiceBus/preview/2018-01-01-preview/operations.json
```
### Tag: package-2017-04
diff --git a/specification/signalr/resource-manager/readme.python.md b/specification/signalr/resource-manager/readme.python.md
index 39a2df33a438..710f800cb849 100644
--- a/specification/signalr/resource-manager/readme.python.md
+++ b/specification/signalr/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -15,13 +15,32 @@ python:
package-version: 0.2.0
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.signalr
+package-name: azure-mgmt-signalr
+package-version: 0.2.0
+clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/signalr/azure-mgmt-signalr/azure/mgmt/signalr
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/signalr/azure-mgmt-signalr
```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/signalr/azure-mgmt-signalr/azure/mgmt/signalr
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/signalr/azure-mgmt-signalr
+```
+
+
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/servers.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/servers.json
index 1eda90f1b705..c33659e07f19 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/servers.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/servers.json
@@ -346,35 +346,6 @@
}
}
},
- "ResourceIdentity": {
- "description": "Azure Active Directory identity configuration for a resource.",
- "type": "object",
- "properties": {
- "principalId": {
- "format": "uuid",
- "description": "The Azure Active Directory principal id.",
- "type": "string",
- "readOnly": true
- },
- "type": {
- "description": "The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource.",
- "enum": [
- "SystemAssigned"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "IdentityType",
- "modelAsString": true
- }
- },
- "tenantId": {
- "format": "uuid",
- "description": "The Azure Active Directory tenant id.",
- "type": "string",
- "readOnly": true
- }
- }
- },
"ServerProperties": {
"description": "The properties of a server.",
"type": "object",
@@ -594,7 +565,7 @@
],
"properties": {
"identity": {
- "$ref": "#/definitions/ResourceIdentity",
+ "$ref": "../../../common/v1/types.json#/definitions/ResourceIdentity",
"description": "The Azure Active Directory identity of the server.",
"x-ms-mutability": [
"read",
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/BackupShortTermRetentionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/BackupShortTermRetentionPolicies.json
new file mode 100644
index 000000000000..6f2e8e062b3a
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/BackupShortTermRetentionPolicies.json
@@ -0,0 +1,332 @@
+{
+ "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": "../../../common/v1/types.json#/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": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/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": "../../../common/v1/types.json#/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": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/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 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": "../../../common/v1/types.json#/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": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/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 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": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/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"
+ }
+ }
+ },
+ "BackupShortTermRetentionPolicy": {
+ "description": "A short term retention policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/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": {
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "description": "The name of the server.",
+ "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"
+ }
+ },
+ "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/BlobAuditing.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/BlobAuditing.json
new file mode 100644
index 000000000000..fcf15be009c8
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/BlobAuditing.json
@@ -0,0 +1,1063 @@
+{
+ "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}/extendedAuditingSettings/{blobAuditingPolicyName}": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Gets an extended database's blob auditing policy.",
+ "operationId": "ExtendedDatabaseBlobAuditingPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the extended database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ }
+ },
+ "x-ms-examples": {
+ "Get an extended database's blob auditing policy": {
+ "$ref": "./examples/ExtendedDatabaseBlobAuditingGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Creates or updates an extended database's blob auditing policy.",
+ "operationId": "ExtendedDatabaseBlobAuditingPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The extended database blob auditing policy.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy"
+ }
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully set the extended database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 400 BlobAuditingPredicateExpressionSyntaxError - Invalid value of parameter 'predicateExpression'.\n\n * 400 InvalidDatabaseBlobAuditingPolicyCreateRequest - The create database blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 BlobAuditingPredicateExpressionEmpty - Invalid parameter 'predicateExpression', value can not be empty.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 BlobAuditingInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 BlobAuditingStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 400 BlobAuditingNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidBlobAuditActionsAndGroupsForDW - Unsupported audit actions or action groups for DW.\n\n * 400 BlobAuditingAdalTokenError - The operation could not get access token for the storage account because an Azure Active Directory error was encountered.\n\n * 400 BlobAuditingInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 BlobAuditingIsNotSupportedOnGeoDr - Blob auditing can be configured on primary databases only.\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ },
+ "201": {
+ "description": "Successfully created the extended database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update an extended database's blob auditing policy with minimal parameters": {
+ "$ref": "./examples/ExtendedDatabaseBlobAuditingCreateMin.json"
+ },
+ "Create or update an extended database's blob auditing policy with all parameters": {
+ "$ref": "./examples/ExtendedDatabaseBlobAuditingCreateMax.json"
+ },
+ "Create or update an extended database's azure monitor auditing policy with minimal parameters": {
+ "$ref": "./examples/ExtendedDatabaseAzureMonitorAuditingCreateMin.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Lists extended auditing settings of a database.",
+ "operationId": "ExtendedDatabaseBlobAuditingPolicies_ListByDatabase",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the database extended auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List extended auditing settings of a database": {
+ "$ref": "./examples/DatabaseExtendedAuditingSettingsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings/{blobAuditingPolicyName}": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Gets an extended server's blob auditing policy.",
+ "operationId": "ExtendedServerBlobAuditingPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the extended server blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedServerBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription."
+ }
+ },
+ "x-ms-examples": {
+ "Get a server's blob extended auditing policy": {
+ "$ref": "./examples/ExtendedServerBlobAuditingGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Creates or updates an extended server's blob auditing policy.",
+ "operationId": "ExtendedServerBlobAuditingPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Properties of extended blob auditing policy",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExtendedServerBlobAuditingPolicy"
+ }
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the extended auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedServerBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidServerBlobAuditingPolicyCreateRequest - The create server blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 BlobAuditingPredicateExpressionEmpty - Invalid parameter 'predicateExpression', value can not be empty.\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\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 * 409 ServerBlobAuditingPolicyInProgress - Set server blob auditing is already in progress."
+ },
+ "202": {
+ "description": "Updating the extended auditing settings is in progress."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a server's extended blob auditing policy with minimal parameters": {
+ "$ref": "./examples/ExtendedServerBlobAuditingCreateMin.json"
+ },
+ "Update a server's extended blob auditing policy with all parameters": {
+ "$ref": "./examples/ExtendedServerBlobAuditingCreateMax.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Lists extended auditing settings of a server.",
+ "operationId": "ExtendedServerBlobAuditingPolicies_ListByServer",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved extended server auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedServerBlobAuditingPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List extended auditing settings of a server": {
+ "$ref": "./examples/ServerExtendedAuditingSettingsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/{blobAuditingPolicyName}": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Gets a server's blob auditing policy.",
+ "operationId": "ServerBlobAuditingPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the server blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/ServerBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription."
+ }
+ },
+ "x-ms-examples": {
+ "Get a server's blob auditing policy": {
+ "$ref": "./examples/ServerBlobAuditingGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Creates or updates a server's blob auditing policy.",
+ "operationId": "ServerBlobAuditingPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Properties of blob auditing policy",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerBlobAuditingPolicy"
+ }
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/ServerBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidServerBlobAuditingPolicyCreateRequest - The create server blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\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 * 409 ServerBlobAuditingPolicyInProgress - Set server blob auditing is already in progress."
+ },
+ "202": {
+ "description": "Updating the auditing settings is in progress."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a server's blob auditing policy with minimal parameters": {
+ "$ref": "./examples/ServerBlobAuditingCreateMin.json"
+ },
+ "Update a server's blob auditing policy with all parameters": {
+ "$ref": "./examples/ServerBlobAuditingCreateMax.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Lists auditing settings of a server.",
+ "operationId": "ServerBlobAuditingPolicies_ListByServer",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved server auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/ServerBlobAuditingPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List auditing settings of a server": {
+ "$ref": "./examples/ServerAuditingSettingsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Gets a database's blob auditing policy.",
+ "operationId": "DatabaseBlobAuditingPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ }
+ },
+ "x-ms-examples": {
+ "Get a database's blob auditing policy": {
+ "$ref": "./examples/DatabaseBlobAuditingGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Creates or updates a database's blob auditing policy.",
+ "operationId": "DatabaseBlobAuditingPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The database blob auditing policy.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicy"
+ }
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully set the database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 400 InvalidDatabaseBlobAuditingPolicyCreateRequest - The create database blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 BlobAuditingInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 BlobAuditingStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 400 BlobAuditingNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidBlobAuditActionsAndGroupsForDW - Unsupported audit actions or action groups for DW.\n\n * 400 BlobAuditingAdalTokenError - The operation could not get access token for the storage account because an Azure Active Directory error was encountered.\n\n * 400 BlobAuditingInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 BlobAuditingIsNotSupportedOnGeoDr - Blob auditing can be configured on primary databases only.\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ },
+ "201": {
+ "description": "Successfully created the database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a database's blob auditing policy with minimal parameters": {
+ "$ref": "./examples/DatabaseBlobAuditingCreateMin.json"
+ },
+ "Create or update a database's blob auditing policy with all parameters": {
+ "$ref": "./examples/DatabaseBlobAuditingCreateMax.json"
+ },
+ "Create or update a database's azure monitor auditing policy with minimal parameters": {
+ "$ref": "./examples/DatabaseAzureMonitorAuditingCreateMin.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Lists auditing settings of a database.",
+ "operationId": "DatabaseBlobAuditingPolicies_ListByDatabase",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved database auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List audit settings of a database": {
+ "$ref": "./examples/DatabaseAuditingSettingsList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ExtendedDatabaseBlobAuditingPolicyProperties": {
+ "description": "Properties of an extended database blob auditing policy.",
+ "required": [
+ "state"
+ ],
+ "type": "object",
+ "properties": {
+ "predicateExpression": {
+ "description": "Specifies condition of where clause when creating an audit.",
+ "type": "string"
+ },
+ "retentionDays": {
+ "format": "int32",
+ "description": "Specifies the number of days to keep in the audit logs in the storage account.",
+ "type": "integer"
+ },
+ "auditActionsAndGroups": {
+ "description": "Specifies the Actions-Groups and Actions to audit.\r\n\r\nThe recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\r\n\r\nBATCH_COMPLETED_GROUP,\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\r\nFAILED_DATABASE_AUTHENTICATION_GROUP.\r\n\r\nThis above combination is also the set that is configured by default when enabling auditing from the Azure portal.\r\n\r\nThe supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\r\n\r\nAPPLICATION_ROLE_CHANGE_PASSWORD_GROUP\r\nBACKUP_RESTORE_GROUP\r\nDATABASE_LOGOUT_GROUP\r\nDATABASE_OBJECT_CHANGE_GROUP\r\nDATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_OBJECT_PERMISSION_CHANGE_GROUP\r\nDATABASE_OPERATION_GROUP\r\nDATABASE_PERMISSION_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_IMPERSONATION_GROUP\r\nDATABASE_ROLE_MEMBER_CHANGE_GROUP\r\nFAILED_DATABASE_AUTHENTICATION_GROUP\r\nSCHEMA_OBJECT_ACCESS_GROUP\r\nSCHEMA_OBJECT_CHANGE_GROUP\r\nSCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nSCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\r\nUSER_CHANGE_PASSWORD_GROUP\r\nBATCH_STARTED_GROUP\r\nBATCH_COMPLETED_GROUP\r\n\r\nThese are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\r\n\r\nFor more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\r\n\r\nFor Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\r\nSELECT\r\nUPDATE\r\nINSERT\r\nDELETE\r\nEXECUTE\r\nRECEIVE\r\nREFERENCES\r\n\r\nThe general form for defining an action to be audited is:\r\n{action} ON {object} BY {principal}\r\n\r\nNote that