{

"CloudSimple.PrivateCloudIaaS/virtualMachines": {
  "api_version": "2017-07-01-preview",
  "full_properties": {
    "additionalCapabilities": {
      "description": "Specifies additional capabilities enabled or disabled on the virtual machine.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "amountOfRam": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "availabilitySet": {
      "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). <br><br> For more information on Azure planned maintainance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) <br><br> Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diagnosticsProfile": {
      "description": "Specifies the boot diagnostic settings state. <br><br>Minimum api-version: 2015-06-15.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "disks": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "exposeToGuestVM": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "guestOS": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "guestOSType": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hardwareProfile": {
      "description": "Specifies the hardware settings for the virtual machine.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "licenseType": {
      "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system. <br><br> Possible values are: <br><br> Windows_Client <br><br> Windows_Server <br><br> If this element is included in a request for an update, the value must match the initial value. This value cannot be updated. <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) <br><br> Minimum api-version: 2015-06-15",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "networkProfile": {
      "description": "Specifies the network interfaces of the virtual machine.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "nics": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "numberOfCores": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "osProfile": {
      "description": "Specifies the operating system settings for the virtual machine.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "password": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "privateCloudId": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "resourcePool": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageProfile": {
      "description": "Specifies the storage settings for the virtual machine disks.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "templateId": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "username": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "vSphereNetworks": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "hardwareProfile",
    "storageProfile",
    "osProfile",
    "networkProfile",
    "diagnosticsProfile",
    "availabilitySet",
    "licenseType",
    "privateCloudId",
    "templateId",
    "numberOfCores",
    "amountOfRam",
    "guestOS",
    "guestOSType",
    "username",
    "password",
    "disks",
    "nics",
    "vSphereNetworks",
    "resourcePool",
    "exposeToGuestVM",
    "additionalCapabilities"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.AAD/domainServices": {
  "api_version": "2017-06-01",
  "full_properties": {
    "domainName": {
      "description": "The name of the Azure domain that the user would like to deploy Domain Services to.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "domainSecuritySettings": {
      "description": "DomainSecurity Settings",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "filteredSync": {
      "description": "Enabled or Disabled flag to turn on Group-based filtered sync.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ldapsSettings": {
      "description": "Secure LDAP Settings",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "notificationSettings": {
      "description": "Notification Settings",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subnetId": {
      "description": "The name of the virtual network that Domain Services will be deployed on. The id of the subnet that Domain Services will be deployed on. /virtualNetwork/vnetName/subnets/subnetName.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "domainName",
    "subnetId",
    "ldapsSettings",
    "notificationSettings",
    "domainSecuritySettings",
    "filteredSync"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.AnalysisServices/servers": {
  "api_version": "2017-08-01",
  "full_properties": {
    "administratorLogin": {
      "description": "Administrator username for the server. Once created it cannot be changed.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "administratorLoginPassword": {
      "description": "The administrator login password (required for server creation).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "asAdministrators": {
      "description": "Login names of administrators",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "backupBlobContainerUri": {
      "description": "The backup blob container uri",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "gatewayDetails": {
      "description": "The details of the gateway associated with the server",
      "required": false,
      "type": "object",
      "update_causes": "unknown"
    },
    "ipV4FirewallSettings": {
      "description": "The IPV4 firewall settings.",
      "required": false,
      "type": "object",
      "update_causes": "unknown"
    },
    "managedMode": {
      "description": "The managed mode of the server (0 = not managed, 1 = managed).",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "querypoolConnectionMode": {
      "description": "The query pool connection mode for AS server",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serverMonitorMode": {
      "description": "The server monitor mode for AS server",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "version": {
      "description": "The version of the server.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "version",
    "administratorLogin",
    "administratorLoginPassword",
    "asAdministrators",
    "managedMode",
    "backupBlobContainerUri",
    "gatewayDetails",
    "querypoolConnectionMode",
    "ipV4FirewallSettings",
    "serverMonitorMode"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "sku",
    "properties"
  ]
},
"Microsoft.ApiManagement/service": {
  "api_version": "2018-01-01",
  "full_properties": {
    "additionalLocations": {
      "description": "Additional datacenter locations of the API Management service.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "certificates": {
      "description": "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customProperties": {
      "description": "Custom properties of the API Management service. Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2). Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1 and setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hostnameConfigurations": {
      "description": "Custom hostname configuration of the API Management service.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "notificationSenderEmail": {
      "description": "Email address from which the notification will be sent.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "publisherEmail": {
      "description": "Publisher email.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "publisherName": {
      "description": "Publisher name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "virtualNetworkConfiguration": {
      "description": "Virtual network configuration of the API Management service.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualNetworkType": {
      "description": "The type of VPN in which API Managemet service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "notificationSenderEmail",
    "hostnameConfigurations",
    "virtualNetworkConfiguration",
    "additionalLocations",
    "customProperties",
    "certificates",
    "virtualNetworkType",
    "publisherEmail",
    "publisherName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties",
    "sku",
    "location"
  ]
},
"Microsoft.ApiManagement/service/api-version-sets": {
  "api_version": "2018-01-01",
  "full_properties": {
    "description": {
      "description": "Description of API Version Set.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Name of API Version Set",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "versionHeaderName": {
      "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "versionQueryName": {
      "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "versioningScheme": {
      "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "versionQueryName",
    "versionHeaderName",
    "displayName",
    "versioningScheme"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis": {
  "api_version": "2018-01-01",
  "full_properties": {
    "apiRevision": {
      "description": "Describes the Revision of the Api. If no value is provided, default revision 1 is created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "apiType": {
      "description": "Type of Api to create. \n * `http` creates a SOAP to REST API \n * `soap` creates a SOAP pass-through API.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "apiVersion": {
      "description": "Indicates the Version identifier of the API if the API is versioned",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "apiVersionSet": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "apiVersionSetId": {
      "description": "A resource identifier for the related ApiVersionSet.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "authenticationSettings": {
      "description": "Collection of authentication settings included into this API.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "contentFormat": {
      "description": "Format of the Content in which the API is getting imported.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "contentValue": {
      "description": "Content value when Importing an API.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "Description of the API. May include HTML formatting tags.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "API name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "path": {
      "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "protocols": {
      "description": "Describes on which protocols the operations in this API can be invoked.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "serviceUrl": {
      "description": "Absolute URL of the backend service implementing this API.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "subscriptionKeyParameterNames": {
      "description": "Protocols over which API is made available.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "type": {
      "description": "Type of API.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "wsdlSelector": {
      "description": "Criteria to limit import of WSDL to a subset of the document.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "authenticationSettings",
    "subscriptionKeyParameterNames",
    "type",
    "apiRevision",
    "apiVersion",
    "apiVersionSetId",
    "displayName",
    "serviceUrl",
    "path",
    "protocols",
    "apiVersionSet",
    "contentValue",
    "contentFormat",
    "wsdlSelector",
    "apiType"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis/diagnostics": {
  "api_version": "2018-01-01",
  "full_properties": {
    "enabled": {
      "description": "Indicates whether a diagnostic should receive data or not.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "enabled"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis/diagnostics/loggers": {
  "api_version": "2018-01-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.ApiManagement/service/apis/issues": {
  "api_version": "2018-01-01",
  "full_properties": {
    "apiId": {
      "description": "A resource identifier for the API the issue was created for.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "createdDate": {
      "description": "Date and time when the issue was created.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "Text describing the issue.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "state": {
      "description": "Status of the issue.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "title": {
      "description": "The issue title.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "userId": {
      "description": "A resource identifier for the user created the issue.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "title",
    "description",
    "createdDate",
    "state",
    "userId",
    "apiId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis/issues/attachments": {
  "api_version": "2018-01-01",
  "full_properties": {
    "content": {
      "description": "An HTTP link or Base64-encoded binary data.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "contentFormat": {
      "description": "Either 'link' if content is provided via an HTTP link or the MIME type of the Base64-encoded binary data provided in the 'content' property.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "title": {
      "description": "Filename by which the binary data will be saved.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "title",
    "contentFormat",
    "content"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis/issues/comments": {
  "api_version": "2018-01-01",
  "full_properties": {
    "createdDate": {
      "description": "Date and time when the comment was created.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "text": {
      "description": "Comment text.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "userId": {
      "description": "A resource identifier for the user who left the comment.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "text",
    "createdDate",
    "userId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis/operations": {
  "api_version": "2018-01-01",
  "full_properties": {
    "description": {
      "description": "Description of the operation. May include HTML formatting tags.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Operation Name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "method": {
      "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "policies": {
      "description": "Operation Policies",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "request": {
      "description": "An entity containing request details.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "responses": {
      "description": "Array of Operation responses.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "templateParameters": {
      "description": "Collection of URL template parameters.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "urlTemplate": {
      "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "templateParameters",
    "description",
    "request",
    "responses",
    "policies",
    "displayName",
    "method",
    "urlTemplate"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis/operations/policies": {
  "api_version": "2018-01-01",
  "full_properties": {
    "contentFormat": {
      "description": "Format of the policyContent.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "policyContent": {
      "description": "Json escaped Xml Encoded contents of the Policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "policyContent",
    "contentFormat"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis/operations/tags": {
  "api_version": "2018-01-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.ApiManagement/service/apis/policies": {
  "api_version": "2018-01-01",
  "full_properties": {
    "contentFormat": {
      "description": "Format of the policyContent.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "policyContent": {
      "description": "Json escaped Xml Encoded contents of the Policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "policyContent",
    "contentFormat"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis/releases": {
  "api_version": "2018-01-01",
  "full_properties": {
    "apiId": {
      "description": "Identifier of the API the release belongs to.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "notes": {
      "description": "Release Notes",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "apiId",
    "notes"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis/schemas": {
  "api_version": "2018-01-01",
  "full_properties": {
    "contentType": {
      "description": "Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, application/xml).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "document": {
      "description": "Properties of the Schema Document.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "contentType",
    "document"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis/tagDescriptions": {
  "api_version": "2018-01-01",
  "full_properties": {
    "description": {
      "description": "Description of the Tag.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "externalDocsDescription": {
      "description": "Description of the external resources describing the tag.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "externalDocsUrl": {
      "description": "Absolute URL of external resources describing the tag.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "externalDocsUrl",
    "externalDocsDescription"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/apis/tags": {
  "api_version": "2018-01-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.ApiManagement/service/authorizationServers": {
  "api_version": "2018-01-01",
  "full_properties": {
    "authorizationEndpoint": {
      "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "authorizationMethods": {
      "description": "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "bearerTokenSendingMethods": {
      "description": "Specifies the mechanism by which access token is passed to the API. ",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "clientAuthenticationMethod": {
      "description": "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "clientId": {
      "description": "Client or app id registered with this authorization server.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "clientRegistrationEndpoint": {
      "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "clientSecret": {
      "description": "Client or app secret registered with this authorization server.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "defaultScope": {
      "description": "Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "Description of the authorization server. Can contain HTML formatting tags.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "User-friendly authorization server name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "grantTypes": {
      "description": "Form of an authorization grant, which the client uses to request the access token.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceOwnerPassword": {
      "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "resourceOwnerUsername": {
      "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "supportState": {
      "description": "If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "tokenBodyParameters": {
      "description": "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "tokenEndpoint": {
      "description": "OAuth token endpoint. Contains absolute URI to entity being referenced.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "authorizationMethods",
    "clientAuthenticationMethod",
    "tokenBodyParameters",
    "tokenEndpoint",
    "supportState",
    "defaultScope",
    "bearerTokenSendingMethods",
    "clientSecret",
    "resourceOwnerUsername",
    "resourceOwnerPassword",
    "displayName",
    "clientRegistrationEndpoint",
    "authorizationEndpoint",
    "grantTypes",
    "clientId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/backends": {
  "api_version": "2018-01-01",
  "full_properties": {
    "credentials": {
      "description": "Backend Credentials Contract Properties",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Backend Description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "properties": {
      "description": "Backend Properties contract",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "protocol": {
      "description": "Backend communication protocol.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "proxy": {
      "description": "Backend Proxy Contract Properties",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceId": {
      "description": "Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "title": {
      "description": "Backend Title.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "tls": {
      "description": "Backend TLS Properties",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "url": {
      "description": "Runtime Url of the Backend.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "title",
    "description",
    "resourceId",
    "properties",
    "credentials",
    "proxy",
    "tls",
    "url",
    "protocol"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/certificates": {
  "api_version": "2018-01-01",
  "full_properties": {
    "base64Value": {
      "description": "Gets or sets the base64 encoded value of the certificate.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "data": {
      "description": "Base 64 encoded certificate using the application/x-pkcs12 representation.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "Gets or sets the description of the certificate.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "format": {
      "description": "The format of the certificate - either Pfx or Cer. If omitted, the default is Pfx.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isExportable": {
      "description": "Gets or sets the is exportable flag of the certificate.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "password": {
      "description": "Password for the Certificate",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "thumbprint": {
      "description": "This must match the thumbprint from the name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "thumbprintAlgorithm": {
      "description": "This must match the first portion of the certificate name. Currently required to be 'SHA1'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "base64Value",
    "description",
    "thumbprint",
    "isExportable",
    "data",
    "password",
    "thumbprintAlgorithm",
    "format"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/diagnostics": {
  "api_version": "2018-01-01",
  "full_properties": {
    "enabled": {
      "description": "Indicates whether a diagnostic should receive data or not.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "enabled"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/diagnostics/loggers": {
  "api_version": "2018-01-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.ApiManagement/service/groups": {
  "api_version": "2018-01-01",
  "full_properties": {
    "description": {
      "description": "Group description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Group name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "externalId": {
      "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory aad://<tenant>.onmicrosoft.com/groups/<group object id>; otherwise the value is null.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "type": {
      "description": "Group type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "displayName",
    "description",
    "type",
    "externalId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/groups/users": {
  "api_version": "2018-01-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.ApiManagement/service/identityProviders": {
  "api_version": "2018-01-01",
  "full_properties": {
    "allowedTenants": {
      "description": "List of Allowed Tenants when configuring Azure Active Directory login.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "clientId": {
      "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "clientSecret": {
      "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "passwordResetPolicyName": {
      "description": "Password Reset Policy Name. Only applies to AAD B2C Identity Provider.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "profileEditingPolicyName": {
      "description": "Profile Editing Policy Name. Only applies to AAD B2C Identity Provider.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "signinPolicyName": {
      "description": "Signin Policy Name. Only applies to AAD B2C Identity Provider.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "signupPolicyName": {
      "description": "Signup Policy Name. Only applies to AAD B2C Identity Provider.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "type": {
      "description": "Identity Provider Type identifier.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "type",
    "allowedTenants",
    "signupPolicyName",
    "signinPolicyName",
    "profileEditingPolicyName",
    "passwordResetPolicyName",
    "clientId",
    "clientSecret"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/loggers": {
  "api_version": "2018-01-01",
  "full_properties": {
    "credentials": {
      "description": "The name and SendRule connection string of the event hub for azureEventHub logger.\nInstrumentation key for applicationInsights logger.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Logger description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "isBuffered": {
      "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "loggerType": {
      "description": "Logger type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "loggerType",
    "description",
    "credentials",
    "isBuffered"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/notifications": {
  "api_version": "2018-01-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.ApiManagement/service/notifications/recipientEmails": {
  "api_version": "2018-01-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.ApiManagement/service/notifications/recipientUsers": {
  "api_version": "2018-01-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.ApiManagement/service/openidConnectProviders": {
  "api_version": "2018-01-01",
  "full_properties": {
    "clientId": {
      "description": "Client ID of developer console which is the client application.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "clientSecret": {
      "description": "Client Secret of developer console which is the client application.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "User-friendly description of OpenID Connect Provider.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "User-friendly OpenID Connect Provider name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "metadataEndpoint": {
      "description": "Metadata endpoint URI.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "displayName",
    "description",
    "metadataEndpoint",
    "clientId",
    "clientSecret"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/policies": {
  "api_version": "2018-01-01",
  "full_properties": {
    "contentFormat": {
      "description": "Format of the policyContent.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "policyContent": {
      "description": "Json escaped Xml Encoded contents of the Policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "policyContent",
    "contentFormat"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/products": {
  "api_version": "2018-01-01",
  "full_properties": {
    "approvalRequired": {
      "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Product description. May include HTML formatting tags.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Product name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "state": {
      "description": "whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subscriptionRequired": {
      "description": "Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as \"protected\" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as \"open\" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subscriptionsLimit": {
      "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "terms": {
      "description": "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "terms",
    "subscriptionRequired",
    "approvalRequired",
    "subscriptionsLimit",
    "state",
    "displayName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/products/apis": {
  "api_version": "2018-01-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.ApiManagement/service/products/groups": {
  "api_version": "2018-01-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.ApiManagement/service/products/policies": {
  "api_version": "2018-01-01",
  "full_properties": {
    "contentFormat": {
      "description": "Format of the policyContent.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "policyContent": {
      "description": "Json escaped Xml Encoded contents of the Policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "policyContent",
    "contentFormat"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/products/tags": {
  "api_version": "2018-01-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.ApiManagement/service/properties": {
  "api_version": "2018-01-01",
  "full_properties": {
    "displayName": {
      "description": "Unique name of Property. It may contain only letters, digits, period, dash, and underscore characters.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "secret": {
      "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "tags": {
      "description": "Optional tags that when provided can be used to filter the property list.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "value": {
      "description": "Value of the property. Can contain policy expressions. It may not be empty or consist only of whitespace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "tags",
    "secret",
    "displayName",
    "value"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/subscriptions": {
  "api_version": "2018-01-01",
  "full_properties": {
    "displayName": {
      "description": "Subscription name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "primaryKey": {
      "description": "Primary subscription key. If not specified during request key will be generated automatically.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "productId": {
      "description": "Product (product id path) for which subscription is being created in form /products/{productid}",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "secondaryKey": {
      "description": "Secondary subscription key. If not specified during request key will be generated automatically.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "state": {
      "description": "Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "userId": {
      "description": "User (user id path) for whom subscription is being created in form /users/{uid}",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "userId",
    "productId",
    "displayName",
    "primaryKey",
    "secondaryKey",
    "state"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/tags": {
  "api_version": "2018-01-01",
  "full_properties": {
    "displayName": {
      "description": "Tag name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "displayName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/templates": {
  "api_version": "2018-01-01",
  "full_properties": {
    "body": {
      "description": "Email Template Body. This should be a valid XDocument",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "Description of the Email Template.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "Email Template Parameter values.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subject": {
      "description": "Subject of the Template.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "title": {
      "description": "Title of the Template.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "subject",
    "title",
    "description",
    "body",
    "parameters"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ApiManagement/service/users": {
  "api_version": "2018-01-01",
  "full_properties": {
    "confirmation": {
      "description": "Determines the type of confirmation e-mail that will be sent to the newly created user.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "email": {
      "description": "Email address. Must not be empty and must be unique within the service instance.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "firstName": {
      "description": "First name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "lastName": {
      "description": "Last name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "note": {
      "description": "Optional note about a user set by the administrator.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "password": {
      "description": "User Password. If no value is provided, a default password is generated.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "state": {
      "description": "Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "state",
    "note",
    "email",
    "firstName",
    "lastName",
    "password",
    "confirmation"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.AppService/apiapps": {
  "api_version": null,
  "full_properties": {
    "accessLevel": {
      "description": "Microsoft.AppService/apiapps: Access level of the API App instance",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "dependencies": {
      "description": "Microsoft.AppService/apiapps: Collection of references to dependent API Apps instances",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "gateway": {
      "description": "Microsoft.AppService/apiapps: Reference to a gateway resource",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "host": {
      "description": "Microsoft.AppService/apiapps: Reference to a hosting web site resource",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "package": {
      "description": "Microsoft.AppService/apiapps: API App NuGet gallery package",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "updatePolicy": {
      "description": "Microsoft.AppService/apiapps: Update policy for the API App instance",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "gateway",
    "host",
    "package",
    "updatePolicy",
    "accessLevel",
    "dependencies"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties",
    "location"
  ]
},
"Microsoft.AppService/gateways": {
  "api_version": null,
  "full_properties": {
    "host": {
      "description": "Microsoft.AppService/gateways: Reference to a hosting web site resource",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "host"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties",
    "location"
  ]
},
"Microsoft.AppService/gateways/registrations": {
  "api_version": null,
  "full_properties": {
    "resource": {
      "description": "Microsoft.AppService/gateways/registrations: Reference to a resource to be registered",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "resource"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Authorization/locks": {
  "api_version": "2016-09-01",
  "full_properties": {
    "level": {
      "description": "Microsoft.Authorization/locks: level - specifies the type of lock to apply to the scope.  CanNotDelete allows modification but prevents deletion, ReadOnly prevents modification or deletion.",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "notes": {
      "description": "Microsoft.Authorization/locks: notes - user defined notes for the lock",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "level",
    "notes"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Authorization/policyAssignments": {
  "api_version": "2018-05-01",
  "full_properties": {
    "description": {
      "description": "This message will be part of response in case of policy violation.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "The display name of the policy assignment.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The policy assignment metadata.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "notScopes": {
      "description": "The policy's excluded scopes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "Required if a parameter is used in policy rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "policyDefinitionId": {
      "description": "The ID of the policy definition or policy set definition being assigned.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "scope": {
      "description": "The scope for the policy assignment.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "displayName",
    "policyDefinitionId",
    "scope",
    "notScopes",
    "parameters",
    "description",
    "metadata"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Authorization/policyDefinitions": {
  "api_version": "2018-05-01",
  "full_properties": {
    "description": {
      "description": "The policy definition description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "The display name of the policy definition.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The policy definition metadata.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "mode": {
      "description": "The policy definition mode. Possible values are NotSpecified, Indexed, and All.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "Required if a parameter is used in policy rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "policyRule": {
      "description": "The policy rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "policyType": {
      "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "policyType",
    "mode",
    "displayName",
    "description",
    "policyRule",
    "metadata",
    "parameters"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Authorization/policySetDefinitions": {
  "api_version": "2018-05-01",
  "full_properties": {
    "description": {
      "description": "The policy set definition description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "The display name of the policy set definition.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The policy set definition metadata.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "The policy set definition parameters that can be used in policy definition references.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "policyDefinitions": {
      "description": "An array of policy definition references.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "policyType": {
      "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "policyType",
    "displayName",
    "description",
    "metadata",
    "parameters",
    "policyDefinitions"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Authorization/roleAssignments": {
  "api_version": "2017-09-01",
  "full_properties": {
    "principalId": {
      "description": "Microsoft.Authorization/roleAssignments: principalId - specifies the principal Id.  This maps to the id inside the directory and can point to a user, service principal, or security group",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    },
    "roleDefinitionId": {
      "description": "Microsoft.Authorization/roleAssignments: roleDefinitionId - id of the role to be used in the role assignment",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    },
    "scope": {
      "description": "Microsoft.Authorization/roleAssignments: scope - specifies the scope at which this role assignment applies to",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "roleDefinitionId",
    "principalId",
    "scope"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Authorization/roleDefinitions": {
  "api_version": "2017-09-01",
  "full_properties": {
    "assignableScopes": {
      "description": "Role definition assignable scopes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The role definition description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "permissions": {
      "description": "Role definition permissions.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "roleName": {
      "description": "The role name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "type": {
      "description": "The role type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "roleName",
    "description",
    "type",
    "permissions",
    "assignableScopes"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts": {
  "api_version": "2015-10-31",
  "full_properties": {
    "sku": {
      "description": "Gets or sets account SKU.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sku"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/certificates": {
  "api_version": "2015-10-31",
  "full_properties": {
    "base64Value": {
      "description": "Gets or sets the base64 encoded value of the certificate.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "data": {
      "description": "Base 64 encoded certificate using the application/x-pkcs12 representation.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "Gets or sets the description of the certificate.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "format": {
      "description": "The format of the certificate - either Pfx or Cer. If omitted, the default is Pfx.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isExportable": {
      "description": "Gets or sets the is exportable flag of the certificate.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "password": {
      "description": "Password for the Certificate",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "thumbprint": {
      "description": "This must match the thumbprint from the name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "thumbprintAlgorithm": {
      "description": "This must match the first portion of the certificate name. Currently required to be 'SHA1'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "base64Value",
    "description",
    "thumbprint",
    "isExportable",
    "data",
    "password",
    "thumbprintAlgorithm",
    "format"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/compilationjobs": {
  "api_version": "2018-01-15",
  "full_properties": {
    "configuration": {
      "description": "Gets or sets the configuration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "incrementNodeConfigurationBuild": {
      "description": "If a new build version of NodeConfiguration is required.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "newNodeConfigurationBuildVersionRequired": {
      "description": "If a new build version of NodeConfiguration is required.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "Gets or sets the parameters of the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "configuration",
    "parameters",
    "newNodeConfigurationBuildVersionRequired",
    "incrementNodeConfigurationBuild"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/configurations": {
  "api_version": "2015-10-31",
  "full_properties": {
    "description": {
      "description": "Gets or sets the description of the configuration.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "logProgress": {
      "description": "Gets or sets progress log option.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "logVerbose": {
      "description": "Gets or sets verbose log option.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "Gets or sets the configuration parameters.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "source": {
      "description": "Gets or sets the source.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "logVerbose",
    "logProgress",
    "source",
    "parameters",
    "description"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/connectionTypes": {
  "api_version": "2015-10-31",
  "full_properties": {
    "fieldDefinitions": {
      "description": "Gets or sets the field definitions of the connection type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isGlobal": {
      "description": "Gets or sets a Boolean value to indicate if the connection type is global.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "isGlobal",
    "fieldDefinitions"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/connections": {
  "api_version": "2015-10-31",
  "full_properties": {
    "connectionType": {
      "description": "Gets or sets the connectionType of the connection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Gets or sets the description of the connection.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "fieldDefinitionValues": {
      "description": "Gets or sets the field definition properties of the connection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "connectionType",
    "fieldDefinitionValues"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/credentials": {
  "api_version": "2015-10-31",
  "full_properties": {
    "description": {
      "description": "Gets or sets the description of the credential.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "password": {
      "description": "Gets or sets the password of the credential.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "userName": {
      "description": "Gets or sets the user name of the credential.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "userName",
    "password",
    "description"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/jobSchedules": {
  "api_version": "2015-10-31",
  "full_properties": {
    "parameters": {
      "description": "Gets or sets a list of job properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "runOn": {
      "description": "Gets or sets the hybrid worker group that the scheduled job should run on.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "runbook": {
      "description": "Gets or sets the runbook.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "schedule": {
      "description": "Gets or sets the schedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "schedule",
    "runbook",
    "runOn",
    "parameters"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/jobs": {
  "api_version": "2017-05-15-preview",
  "full_properties": {
    "parameters": {
      "description": "Gets or sets the parameters of the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "runOn": {
      "description": "Gets or sets the runOn which specifies the group name where the job is to be executed.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "runbook": {
      "description": "Gets or sets the runbook.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "runbook",
    "parameters",
    "runOn"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/modules": {
  "api_version": "2015-10-31",
  "full_properties": {
    "contentLink": {
      "description": "Gets or sets the module content link.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "contentLink"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/nodeConfigurations": {
  "api_version": "2018-01-15",
  "full_properties": {
    "configuration": {
      "description": "Gets or sets the configuration of the node.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "incrementNodeConfigurationBuild": {
      "description": "If a new build version of NodeConfiguration is required.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "source": {
      "description": "Gets or sets the source.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "source",
    "configuration",
    "incrementNodeConfigurationBuild"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/python2Packages": {
  "api_version": "2018-06-30",
  "full_properties": {
    "contentLink": {
      "description": "Gets or sets the module content link.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "contentLink"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/runbooks": {
  "api_version": "2018-06-30",
  "full_properties": {
    "description": {
      "description": "Gets or sets the description of the runbook.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "draft": {
      "description": "Gets or sets the draft runbook properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "logActivityTrace": {
      "description": "Gets or sets the activity-level tracing options of the runbook.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "logProgress": {
      "description": "Gets or sets progress log option.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "logVerbose": {
      "description": "Gets or sets verbose log option.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "publishContentLink": {
      "description": "Gets or sets the published runbook content link.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "runbookType": {
      "description": "Gets or sets the type of the runbook.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "logVerbose",
    "logProgress",
    "runbookType",
    "draft",
    "publishContentLink",
    "description",
    "logActivityTrace"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/schedules": {
  "api_version": "2015-10-31",
  "full_properties": {
    "advancedSchedule": {
      "description": "Gets or sets the AdvancedSchedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Gets or sets the description of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expiryTime": {
      "description": "Gets or sets the end time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "frequency": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "interval": {
      "description": "Gets or sets the interval of the schedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "startTime": {
      "description": "Gets or sets the start time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "timeZone": {
      "description": "Gets or sets the time zone of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "startTime",
    "expiryTime",
    "interval",
    "frequency",
    "timeZone",
    "advancedSchedule"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/softwareUpdateConfigurations": {
  "api_version": "2017-05-15-preview",
  "full_properties": {
    "error": {
      "description": "detailes of provisioning error",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scheduleInfo": {
      "description": "Schedule information for the Software update configuration",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "updateConfiguration": {
      "description": "update specific properties for the Software update configuration",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "updateConfiguration",
    "scheduleInfo",
    "error"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/sourceControls": {
  "api_version": "2017-05-15-preview",
  "full_properties": {
    "autoSync": {
      "description": "Gets or sets auto async of the source control. Default is false.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "branch": {
      "description": "Gets or sets the repo branch of the source control. Include branch as empty string for VsoTfvc.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "Gets or sets the user description of the source control.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "folderPath": {
      "description": "Gets or sets the folder path of the source control. Path must be relative.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "publishRunbook": {
      "description": "Gets or sets the auto publish of the source control. Default is true.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "repoUrl": {
      "description": "Gets or sets the repo url of the source control.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "securityToken": {
      "description": "Gets or sets the authorization token for the repo of the source control.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourceType": {
      "description": "The source type. Must be one of VsoGit, VsoTfvc, GitHub, case sensitive.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "repoUrl",
    "branch",
    "folderPath",
    "autoSync",
    "publishRunbook",
    "sourceType",
    "securityToken",
    "description"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/sourceControls/sourceControlSyncJobs": {
  "api_version": "2017-05-15-preview",
  "full_properties": {
    "commitId": {
      "description": "Sets the commit id of the source control sync job.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "commitId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/variables": {
  "api_version": "2015-10-31",
  "full_properties": {
    "description": {
      "description": "Gets or sets the description of the variable.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "isEncrypted": {
      "description": "Gets or sets the encrypted flag of the variable.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "value": {
      "description": "Gets or sets the value of the variable.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "value",
    "description",
    "isEncrypted"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/watchers": {
  "api_version": "2015-10-31",
  "full_properties": {
    "description": {
      "description": "Gets or sets the description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "executionFrequencyInSeconds": {
      "description": "Gets or sets the frequency at which the watcher is invoked.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scriptName": {
      "description": "Gets or sets the name of the script the watcher is attached to, i.e. the name of an existing runbook.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "scriptParameters": {
      "description": "Gets or sets the parameters of the script.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scriptRunOn": {
      "description": "Gets or sets the name of the hybrid worker group the watcher will run on.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "executionFrequencyInSeconds",
    "scriptName",
    "scriptParameters",
    "scriptRunOn",
    "description"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Automation/automationAccounts/webhooks": {
  "api_version": "2015-10-31",
  "full_properties": {
    "expiryTime": {
      "description": "Gets or sets the expiry time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "isEnabled": {
      "description": "Gets or sets the value of the enabled flag of webhook.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "Gets or sets the parameters of the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "runOn": {
      "description": "Gets or sets the name of the hybrid worker group the webhook job will run on.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "runbook": {
      "description": "Gets or sets the runbook.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "uri": {
      "description": "Gets or sets the uri.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "isEnabled",
    "uri",
    "expiryTime",
    "parameters",
    "runbook",
    "runOn"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.AzureStack/registrations": {
  "api_version": "2017-06-01",
  "full_properties": {
    "registrationToken": {
      "description": "The token identifying registered Azure Stack",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "registrationToken"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.AzureStack/registrations/customerSubscriptions": {
  "api_version": "2017-06-01",
  "full_properties": {
    "tenantId": {
      "description": "Tenant Id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "tenantId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Batch/batchAccounts": {
  "api_version": "2017-09-01",
  "full_properties": {
    "autoStorage": {
      "description": "The properties related to the auto-storage account.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "keyVaultReference": {
      "description": "A reference to the Azure key vault associated with the Batch account.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "poolAllocationMode": {
      "description": "The pool allocation mode also affects how clients may authenticate to the Batch Service API. If the mode is BatchService, clients may authenticate using access keys or Azure Active Directory. If the mode is UserSubscription, clients must use Azure Active Directory. The default is BatchService.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "autoStorage",
    "poolAllocationMode",
    "keyVaultReference"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Batch/batchAccounts/applications": {
  "api_version": "2017-09-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.Batch/batchAccounts/applications/versions": {
  "api_version": "2017-09-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.Batch/batchAccounts/certificates": {
  "api_version": "2017-09-01",
  "full_properties": {
    "base64Value": {
      "description": "Gets or sets the base64 encoded value of the certificate.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "data": {
      "description": "Base 64 encoded certificate using the application/x-pkcs12 representation.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "Gets or sets the description of the certificate.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "format": {
      "description": "The format of the certificate - either Pfx or Cer. If omitted, the default is Pfx.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isExportable": {
      "description": "Gets or sets the is exportable flag of the certificate.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "password": {
      "description": "Password for the Certificate",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "thumbprint": {
      "description": "This must match the thumbprint from the name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "thumbprintAlgorithm": {
      "description": "This must match the first portion of the certificate name. Currently required to be 'SHA1'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "base64Value",
    "description",
    "thumbprint",
    "isExportable",
    "data",
    "password",
    "thumbprintAlgorithm",
    "format"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Batch/batchAccounts/pools": {
  "api_version": "2017-09-01",
  "full_properties": {
    "applicationLicenses": {
      "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "applicationPackages": {
      "description": "Changes to application packages affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "certificates": {
      "description": "For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "deploymentConfiguration": {
      "description": "Using CloudServiceConfiguration specifies that the nodes should be creating using Azure Cloud Services (PaaS), while VirtualMachineConfiguration uses Azure Virtual Machines (IaaS).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "interNodeCommunication": {
      "description": "This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. If not specified, this value defaults to 'Disabled'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "maxTasksPerNode": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "networkConfiguration": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scaleSettings": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "startTask": {
      "description": "In an PATCH (update) operation, this property can be set to an empty object to remove the start task from the pool.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "taskSchedulingPolicy": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "userAccounts": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vmSize": {
      "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "displayName",
    "vmSize",
    "deploymentConfiguration",
    "scaleSettings",
    "interNodeCommunication",
    "networkConfiguration",
    "maxTasksPerNode",
    "taskSchedulingPolicy",
    "userAccounts",
    "metadata",
    "startTask",
    "certificates",
    "applicationPackages",
    "applicationLicenses"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.BatchAI/clusters": {
  "api_version": "2018-03-01",
  "full_properties": {
    "nodeSetup": {
      "description": "Setup to be performed on each compute node in the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scaleSettings": {
      "description": "Scale settings for the cluster. Batch AI service supports manual and auto scale clusters.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subnet": {
      "description": "Existing virtual network subnet to put the cluster nodes in. Note, if a File Server mount configured in node setup, the File Server's subnet will be used automatically.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "userAccountSettings": {
      "description": "Settings for an administrator user account that will be created on each compute node in the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualMachineConfiguration": {
      "description": "OS image configuration for cluster nodes. All nodes in a cluster have the same OS image.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vmPriority": {
      "description": "VM priority. Allowed values are: dedicated (default) and lowpriority.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vmSize": {
      "description": "The size of the virtual machines in the cluster. All nodes in a cluster have the same VM size. For information about available VM sizes for clusters using images from the Virtual Machines Marketplace see Sizes for Virtual Machines (Linux). Batch AI service supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "vmSize",
    "vmPriority",
    "scaleSettings",
    "virtualMachineConfiguration",
    "nodeSetup",
    "userAccountSettings",
    "subnet"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.BatchAI/fileServers": {
  "api_version": "2018-03-01",
  "full_properties": {
    "dataDisks": {
      "description": "Settings for the data disks which will be created for the File Server.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sshConfiguration": {
      "description": "SSH configuration for the File Server node.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subnet": {
      "description": "Identifier of an existing virtual network subnet to put the File Server in. If not provided, a new virtual network and subnet will be created.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vmSize": {
      "description": "The size of the virtual machine for the File Server. For information about available VM sizes from the Virtual Machines Marketplace, see Sizes for Virtual Machines (Linux).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "vmSize",
    "sshConfiguration",
    "dataDisks",
    "subnet"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.BatchAI/jobs": {
  "api_version": "2018-03-01",
  "full_properties": {
    "caffe2Settings": {
      "description": "Settings for Caffe2 job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caffeSettings": {
      "description": "Settings for Caffe job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "chainerSettings": {
      "description": "Settings for Chainer job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "cluster": {
      "description": "Resource ID of the cluster on which this job will run.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "cntkSettings": {
      "description": "Settings for CNTK (aka Microsoft Cognitive Toolkit) job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "constraints": {
      "description": "Constraints associated with the Job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "containerSettings": {
      "description": "Docker container settings for the job. If not provided, the job will run directly on the node.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customMpiSettings": {
      "description": "Settings for custom MPI job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customToolkitSettings": {
      "description": "Settings for custom tool kit job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "environmentVariables": {
      "description": "A list of user defined environment variables which will be setup for the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "experimentName": {
      "description": "Describe the experiment information of the job",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "horovodSettings": {
      "description": "Settings for Horovod job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "inputDirectories": {
      "description": "A list of input directories for the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "jobPreparation": {
      "description": "A command line to be executed on each node allocated for the job before tool kit is launched.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "mountVolumes": {
      "description": "Information on mount volumes to be used by the job. These volumes will be mounted before the job execution and will be unmouted after the job completion. The volumes will be mounted at location specified by $AZ_BATCHAI_JOB_MOUNT_ROOT environment variable.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "nodeCount": {
      "description": "Number of compute nodes to run the job on. The job will be gang scheduled on that many compute nodes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "outputDirectories": {
      "description": "A list of output directories for the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "priority": {
      "description": "Priority associated with the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "pyTorchSettings": {
      "description": "Settings for pyTorch job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "schedulingPriority": {
      "description": "Scheduling priority associated with the job. Possible values: low, normal, high.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "secrets": {
      "description": "A list of user defined environment variables with secret values which will be setup for the job. Server will never report values of these variables back.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "stdOutErrPathPrefix": {
      "description": "The path where the Batch AI service will store stdout, stderror and execution log of the job.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "tensorFlowSettings": {
      "description": "Settings for Tensor Flow job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "experimentName",
    "priority",
    "cluster",
    "mountVolumes",
    "nodeCount",
    "containerSettings",
    "cntkSettings",
    "pyTorchSettings",
    "tensorFlowSettings",
    "caffeSettings",
    "caffe2Settings",
    "chainerSettings",
    "customToolkitSettings",
    "jobPreparation",
    "stdOutErrPathPrefix",
    "inputDirectories",
    "outputDirectories",
    "environmentVariables",
    "secrets",
    "constraints",
    "schedulingPriority",
    "customMpiSettings",
    "horovodSettings"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.BatchAI/workspaces": {
  "api_version": "2018-05-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location"
  ]
},
"Microsoft.BatchAI/workspaces/clusters": {
  "api_version": "2018-05-01",
  "full_properties": {
    "nodeSetup": {
      "description": "Setup to be performed on each compute node in the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scaleSettings": {
      "description": "Scale settings for the cluster. Batch AI service supports manual and auto scale clusters.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subnet": {
      "description": "Existing virtual network subnet to put the cluster nodes in. Note, if a File Server mount configured in node setup, the File Server's subnet will be used automatically.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "userAccountSettings": {
      "description": "Settings for an administrator user account that will be created on each compute node in the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualMachineConfiguration": {
      "description": "OS image configuration for cluster nodes. All nodes in a cluster have the same OS image.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vmPriority": {
      "description": "VM priority. Allowed values are: dedicated (default) and lowpriority.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vmSize": {
      "description": "The size of the virtual machines in the cluster. All nodes in a cluster have the same VM size. For information about available VM sizes for clusters using images from the Virtual Machines Marketplace see Sizes for Virtual Machines (Linux). Batch AI service supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "vmSize",
    "vmPriority",
    "scaleSettings",
    "virtualMachineConfiguration",
    "nodeSetup",
    "userAccountSettings",
    "subnet"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.BatchAI/workspaces/experiments": {
  "api_version": "2018-05-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.BatchAI/workspaces/experiments/jobs": {
  "api_version": "2018-05-01",
  "full_properties": {
    "caffe2Settings": {
      "description": "Settings for Caffe2 job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caffeSettings": {
      "description": "Settings for Caffe job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "chainerSettings": {
      "description": "Settings for Chainer job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "cluster": {
      "description": "Resource ID of the cluster on which this job will run.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "cntkSettings": {
      "description": "Settings for CNTK (aka Microsoft Cognitive Toolkit) job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "constraints": {
      "description": "Constraints associated with the Job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "containerSettings": {
      "description": "Docker container settings for the job. If not provided, the job will run directly on the node.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customMpiSettings": {
      "description": "Settings for custom MPI job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customToolkitSettings": {
      "description": "Settings for custom tool kit job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "environmentVariables": {
      "description": "A list of user defined environment variables which will be setup for the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "experimentName": {
      "description": "Describe the experiment information of the job",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "horovodSettings": {
      "description": "Settings for Horovod job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "inputDirectories": {
      "description": "A list of input directories for the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "jobPreparation": {
      "description": "A command line to be executed on each node allocated for the job before tool kit is launched.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "mountVolumes": {
      "description": "Information on mount volumes to be used by the job. These volumes will be mounted before the job execution and will be unmouted after the job completion. The volumes will be mounted at location specified by $AZ_BATCHAI_JOB_MOUNT_ROOT environment variable.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "nodeCount": {
      "description": "Number of compute nodes to run the job on. The job will be gang scheduled on that many compute nodes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "outputDirectories": {
      "description": "A list of output directories for the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "priority": {
      "description": "Priority associated with the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "pyTorchSettings": {
      "description": "Settings for pyTorch job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "schedulingPriority": {
      "description": "Scheduling priority associated with the job. Possible values: low, normal, high.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "secrets": {
      "description": "A list of user defined environment variables with secret values which will be setup for the job. Server will never report values of these variables back.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "stdOutErrPathPrefix": {
      "description": "The path where the Batch AI service will store stdout, stderror and execution log of the job.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "tensorFlowSettings": {
      "description": "Settings for Tensor Flow job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "experimentName",
    "priority",
    "cluster",
    "mountVolumes",
    "nodeCount",
    "containerSettings",
    "cntkSettings",
    "pyTorchSettings",
    "tensorFlowSettings",
    "caffeSettings",
    "caffe2Settings",
    "chainerSettings",
    "customToolkitSettings",
    "jobPreparation",
    "stdOutErrPathPrefix",
    "inputDirectories",
    "outputDirectories",
    "environmentVariables",
    "secrets",
    "constraints",
    "schedulingPriority",
    "customMpiSettings",
    "horovodSettings"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.BatchAI/workspaces/fileServers": {
  "api_version": "2018-05-01",
  "full_properties": {
    "dataDisks": {
      "description": "Settings for the data disks which will be created for the File Server.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sshConfiguration": {
      "description": "SSH configuration for the File Server node.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subnet": {
      "description": "Identifier of an existing virtual network subnet to put the File Server in. If not provided, a new virtual network and subnet will be created.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vmSize": {
      "description": "The size of the virtual machine for the File Server. For information about available VM sizes from the Virtual Machines Marketplace, see Sizes for Virtual Machines (Linux).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "vmSize",
    "sshConfiguration",
    "dataDisks",
    "subnet"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.BizTalkServices/BizTalk": {
  "api_version": "2014-04-01",
  "full_properties": {
    "sku": {
      "description": "BizTalk SKU",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sku"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties",
    "location"
  ]
},
"Microsoft.BizTalkServices/BizTalk/HybridConnection": {
  "api_version": "2014-04-01",
  "full_properties": {
    "hostName": {
      "description": "Microsoft.BizTalkServices/BizTalk/HybridConnection: Hostname of the machine to which hybrid connection is to be established",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    },
    "port": {
      "description": "Microsoft.BizTalkServices/BizTalk/HybridConnection: Port number of the machine to which hybrid connection is to be established",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "hostName",
    "port"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Cache/Redis": {
  "api_version": "2017-10-01",
  "full_properties": {
    "enableNonSslPort": {
      "description": "Microsoft.Cache/Redis if set to true, enables less secure direct access to redis on port 6379 (WITHOUT SSL tunneling)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "maxMemoryPolicy": {
      "description": "Microsoft.Cache/Redis: maxMemoryPolicy. How Redis will select what to remove when maxmemory is reached. Default: VolatileLRU.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "redisConfiguration": {
      "description": "Microsoft.Cache/Redis/redisConfiguration",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "redisVersion": {
      "description": "Microsoft.Cache/Redis: version of Redis",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "shardCount": {
      "description": "Microsoft.Cache/Redis: (only if using clustering) number of shards in the redis cluster",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sku": {
      "description": "Microsoft.Cache/Redis/sku",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "staticIP": {
      "description": "Microsoft.Cache/Redis (required with virtualNetwork) the static IP address to allocate to the redis cache",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subnet": {
      "description": "Microsoft.Cache/Redis (required with virtualNetwork) the name of an existing subnet for the redis cache to join",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "virtualNetwork": {
      "description": "Microsoft.Cache/Redis (optional) the ARM resource ID of a Classic Virtual Network for the redis cache to join",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sku",
    "redisVersion",
    "maxMemoryPolicy",
    "enableNonSslPort",
    "shardCount",
    "redisConfiguration",
    "virtualNetwork",
    "subnet",
    "staticIP"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties",
    "location"
  ]
},
"Microsoft.Cache/Redis/firewallRules": {
  "api_version": "2017-10-01",
  "full_properties": {
    "endIP": {
      "description": "highest IP address included in the range",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "startIP": {
      "description": "lowest IP address included in the range",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "startIP",
    "endIP"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Cache/Redis/linkedServers": {
  "api_version": "2017-10-01",
  "full_properties": {
    "linkedRedisCacheId": {
      "description": "Fully qualified resourceId of the linked redis cache.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "linkedRedisCacheLocation": {
      "description": "Location of the linked redis cache.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serverRole": {
      "description": "Role of the linked server.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "linkedRedisCacheId",
    "linkedRedisCacheLocation",
    "serverRole"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Cache/Redis/patchSchedules": {
  "api_version": "2017-10-01",
  "full_properties": {
    "scheduleEntries": {
      "description": "List of patch schedules for a Redis cache.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "scheduleEntries"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Cdn/profiles": {
  "api_version": "2016-04-02",
  "full_properties": {
    "sku": {
      "description": "Profile SKU",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sku"
  ],
  "required": [
    "type",
    "apiVersion",
    "location",
    "sku"
  ]
},
"Microsoft.Cdn/profiles/endpoints": {
  "api_version": "2016-04-02",
  "full_properties": {
    "contentTypesToCompress": {
      "description": "List of content types on which compression will be applied. The value for the elements should be a valid MIME type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isCompressionEnabled": {
      "description": "Indicates whether content compression is enabled. Default value is false. If compression is enabled, the content transferred from the CDN endpoint to the end user will be compressed. The requested content must be larger than 1 byte and smaller than 1 MB.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isHttpAllowed": {
      "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isHttpsAllowed": {
      "description": "Indicates whether https traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "originHostHeader": {
      "description": "The host header CDN provider will send along with content requests to origins. The default value is the host name of the origin.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "originPath": {
      "description": "The path used for origin requests.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "origins": {
      "description": "The set of origins for the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "queryStringCachingBehavior": {
      "description": "Defines the query string caching behavior. Possible values include: 'IgnoreQueryString', 'BypassCaching', 'UseQueryString', 'NotSet'",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "originHostHeader",
    "originPath",
    "contentTypesToCompress",
    "isCompressionEnabled",
    "isHttpAllowed",
    "isHttpsAllowed",
    "queryStringCachingBehavior",
    "origins"
  ],
  "required": [
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Cdn/profiles/endpoints/customDomains": {
  "api_version": "2016-04-02",
  "full_properties": {
    "hostName": {
      "description": "The host name of the custom domain. Must be a domain name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "hostName"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Cdn/profiles/endpoints/origins": {
  "api_version": "2016-04-02",
  "full_properties": {
    "hostName": {
      "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "httpPort": {
      "description": "The value of the HTTP port. Must be between 1 and 65535.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "httpsPort": {
      "description": "The value of the HTTPS port. Must be between 1 and 65535.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "hostName",
    "httpPort",
    "httpsPort"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CertificateRegistration/certificateOrders": {
  "api_version": "2015-08-01",
  "full_properties": {
    "autoRenew": {
      "description": "Auto renew",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "certificates": {
      "description": "State of the Key Vault secret",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "csr": {
      "description": "Last CSR that was created for this order",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "distinguishedName": {
      "description": "Certificate distinguished name",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "domainVerificationToken": {
      "description": "Domain Verification Token",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expirationTime": {
      "description": "Certificate expiration time",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "intermediate": {
      "description": "Intermediate certificate",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "keySize": {
      "description": "Certificate Key Size",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "lastCertificateIssuanceTime": {
      "description": "Certificate last issuance time",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "productType": {
      "description": "Certificate product type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Status of certificate order.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "root": {
      "description": "Root certificate",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "serialNumber": {
      "description": "Current serial number of the certificate",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "signedCertificate": {
      "description": "Signed certificate",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "status": {
      "description": "Current order status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "validityInYears": {
      "description": "Duration in years (must be between 1 and 3)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "certificates",
    "distinguishedName",
    "domainVerificationToken",
    "validityInYears",
    "keySize",
    "productType",
    "autoRenew",
    "provisioningState",
    "status",
    "signedCertificate",
    "csr",
    "intermediate",
    "root",
    "serialNumber",
    "lastCertificateIssuanceTime",
    "expirationTime"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CertificateRegistration/certificateOrders/certificates": {
  "api_version": "2015-08-01",
  "full_properties": {
    "keyVaultId": {
      "description": "Key Vault Csm resource Id",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "keyVaultSecretName": {
      "description": "Key Vault secret name",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Status of the Key Vault secret.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "keyVaultId",
    "keyVaultSecretName",
    "provisioningState"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CognitiveServices/accounts": {
  "api_version": "2016-02-01-preview",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "type",
    "apiVersion",
    "sku",
    "kind",
    "location",
    "properties"
  ]
},
"Microsoft.Compute/availabilitySets": {
  "api_version": "2018-06-01",
  "full_properties": {
    "platformFaultDomainCount": {
      "description": "Microsoft.Compute/availabilitySets - Platform fault domain count",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "platformUpdateDomainCount": {
      "description": "Microsoft.Compute/availabilitySets - Platform update domain count",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "platformUpdateDomainCount",
    "platformFaultDomainCount"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Compute/disks": {
  "api_version": "2018-06-01",
  "full_properties": {
    "accountType": {
      "description": "the storage account type of the disk.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "creationData": {
      "description": "Disk source information. CreationData information cannot be changed after the disk has been created.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskBlobName": {
      "description": "When backed by a blob, the name of the VHD blob without extension.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "diskIOPSReadWrite": {
      "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskMBpsReadWrite": {
      "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskSizeGB": {
      "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskSizeGiB": {
      "description": "The size of the disk in GibiBytes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskType": {
      "description": "The storage type for the disk (i.e. Standard, Premium).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskUri": {
      "description": "When backed by a blob, the URI of underlying blob.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "encryptionSettings": {
      "description": "Encryption settings for disk or snapshot",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hostCaching": {
      "description": "The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "leasedByLabVmId": {
      "description": "The resource ID of the VM to which this disk is leased.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "managedDiskId": {
      "description": "When backed by managed disk, this is the ID of the compute disk resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "osType": {
      "description": "The Operating System type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "accountType",
    "osType",
    "creationData",
    "diskSizeGB",
    "encryptionSettings",
    "diskType",
    "diskSizeGiB",
    "leasedByLabVmId",
    "diskBlobName",
    "diskUri",
    "hostCaching",
    "managedDiskId",
    "provisioningState",
    "uniqueIdentifier",
    "diskIOPSReadWrite",
    "diskMBpsReadWrite"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Compute/galleries": {
  "api_version": "2018-06-01",
  "full_properties": {
    "description": {
      "description": "The description of this Shared Image Gallery resource. This property is updateable.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "identifier": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "identifier"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Compute/galleries/images": {
  "api_version": "2018-06-01",
  "full_properties": {
    "description": {
      "description": "The description of this gallery Image Definition resource. This property is updateable.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "disallowed": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "endOfLifeDate": {
      "description": "The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updateable.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "eula": {
      "description": "The Eula agreement for the gallery Image Definition.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "identifier": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "osState": {
      "description": "The allowed values for OS State are 'Generalized'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "osType": {
      "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image. <br><br> Possible values are: <br><br> **Windows** <br><br> **Linux**.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "privacyStatementUri": {
      "description": "The privacy statement uri.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "purchasePlan": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "recommended": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "releaseNoteUri": {
      "description": "The release note uri.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "eula",
    "privacyStatementUri",
    "releaseNoteUri",
    "osType",
    "osState",
    "endOfLifeDate",
    "identifier",
    "recommended",
    "disallowed",
    "purchasePlan"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Compute/galleries/images/versions": {
  "api_version": "2018-06-01",
  "full_properties": {
    "publishingProfile": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "publishingProfile"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Compute/images": {
  "api_version": "2018-06-01",
  "full_properties": {
    "sourceVirtualMachine": {
      "description": "The source virtual machine from which Image is created.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageProfile": {
      "description": "Specifies the storage settings for the virtual machine disks.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sourceVirtualMachine",
    "storageProfile"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Compute/snapshots": {
  "api_version": "2018-06-01",
  "full_properties": {
    "creationData": {
      "description": "Disk source information. CreationData information cannot be changed after the disk has been created.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskSizeGB": {
      "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "encryptionSettings": {
      "description": "Encryption settings for disk or snapshot",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "osType": {
      "description": "The Operating System type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "osType",
    "creationData",
    "diskSizeGB",
    "encryptionSettings"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Compute/virtualMachineScaleSets": {
  "api_version": "2018-06-01",
  "full_properties": {
    "upgradePolicy": {
      "description": "Microsoft.Compute/virtualMachineScaleSets - Upgrade policy",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualMachineProfile": {
      "description": "Microsoft.Compute/virtualMachineScaleSets - Virtual machine policy",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "upgradePolicy",
    "virtualMachineProfile"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Compute/virtualMachineScaleSets/extensions": {
  "api_version": "2018-06-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Compute/virtualMachineScaleSets/virtualmachines": {
  "api_version": "2018-06-01",
  "full_properties": {
    "additionalCapabilities": {
      "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "availabilitySet": {
      "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). <br><br> For more information on Azure planned maintainance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) <br><br> Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diagnosticsProfile": {
      "description": "Specifies the boot diagnostic settings state. <br><br>Minimum api-version: 2015-06-15.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hardwareProfile": {
      "description": "Specifies the hardware settings for the virtual machine.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "licenseType": {
      "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system. <br><br> Possible values are: <br><br> Windows_Client <br><br> Windows_Server <br><br> If this element is included in a request for an update, the value must match the initial value. This value cannot be updated. <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) <br><br> Minimum api-version: 2015-06-15",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "networkProfile": {
      "description": "Specifies the network interfaces of the virtual machine.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "osProfile": {
      "description": "Specifies the operating system settings for the virtual machine.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageProfile": {
      "description": "Specifies the storage settings for the virtual machine disks.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "hardwareProfile",
    "storageProfile",
    "osProfile",
    "networkProfile",
    "diagnosticsProfile",
    "availabilitySet",
    "licenseType",
    "additionalCapabilities"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Compute/virtualMachines": {
  "api_version": "2018-06-01",
  "full_properties": {
    "availabilitySet": {
      "description": "Microsoft.Compute/virtualMachines - Availability set",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hardwareProfile": {
      "description": "Microsoft.Compute/virtualMachines - Hardware profile",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "networkProfile": {
      "description": "Microsoft.Compute/virtualMachines - Network profile",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "osProfile": {
      "description": "Mirosoft.Compute/virtualMachines - Operating system profile",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageProfile": {
      "description": "Microsoft.Compute/virtualMachines - Storage profile",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "availabilitySet",
    "hardwareProfile",
    "storageProfile",
    "osProfile",
    "networkProfile"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Compute/virtualMachines/extensions": {
  "api_version": "2018-06-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Consumption/budgets": {
  "api_version": "2018-01-31",
  "full_properties": {
    "amount": {
      "description": "The total amount of cost to track with the budget",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "category": {
      "description": "The category of the budget, whether the budget tracks cost or usage.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "filters": {
      "description": "May be used to filter budgets by resource group, resource, or meter.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "notifications": {
      "description": "Dictionary of notifications associated with the budget. Budget can have up to five notifications.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "timeGrain": {
      "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "timePeriod": {
      "description": "Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than three months. Past start date should  be selected within the timegrain preiod. There are no restrictions on the end date.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "category",
    "amount",
    "timeGrain",
    "timePeriod",
    "filters",
    "notifications"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ContainerInstance/containerGroups": {
  "api_version": "2018-04-01",
  "full_properties": {
    "containers": {
      "description": "The containers within the container group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "imageRegistryCredentials": {
      "description": "The image registry credentials by which the container group is created from.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ipAddress": {
      "description": "The IP address type of the container group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "osType": {
      "description": "The operating system type required by the containers in the container group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "restartPolicy": {
      "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "volumes": {
      "description": "The list of volumes that can be mounted by containers in this container group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "containers",
    "imageRegistryCredentials",
    "restartPolicy",
    "ipAddress",
    "osType",
    "volumes"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ContainerRegistry/registries": {
  "api_version": "2017-10-01",
  "full_properties": {
    "adminUserEnabled": {
      "description": "The value that indicates whether the admin user is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccount": {
      "description": "The properties of the storage account for the container registry. Only applicable to Classic SKU.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "adminUserEnabled",
    "storageAccount"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "sku",
    "properties"
  ]
},
"Microsoft.ContainerRegistry/registries/buildTasks": {
  "api_version": "2018-02-01-preview",
  "full_properties": {
    "alias": {
      "description": "The alternative updatable name for a build task.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "platform": {
      "description": "The platform properties against which the build has to happen.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourceRepository": {
      "description": "The properties that describes the source(code) for the build task.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "status": {
      "description": "The current status of build task.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "timeout": {
      "description": "Build timeout in seconds.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "alias",
    "status",
    "sourceRepository",
    "platform",
    "timeout"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.ContainerRegistry/registries/buildTasks/steps": {
  "api_version": "2018-02-01-preview",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ContainerRegistry/registries/replications": {
  "api_version": "2017-10-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.ContainerRegistry/registries/tasks": {
  "api_version": "2018-09-01",
  "full_properties": {
    "agentConfiguration": {
      "description": "The machine configuration of the run agent.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "platform": {
      "description": "The platform properties against which the run has to happen.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "status": {
      "description": "The current status of task.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "step": {
      "description": "The properties of a task step.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "timeout": {
      "description": "Run timeout in seconds.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "trigger": {
      "description": "The properties that describe all triggers for the task.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "status",
    "platform",
    "agentConfiguration",
    "timeout",
    "step",
    "trigger"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.ContainerRegistry/registries/webhooks": {
  "api_version": "2017-10-01",
  "full_properties": {
    "actions": {
      "description": "The list of actions that trigger the webhook to post notifications.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customHeaders": {
      "description": "Custom headers that will be added to the webhook notifications.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scope": {
      "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serviceUri": {
      "description": "The service URI for the webhook to post notifications.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "status": {
      "description": "The status of the webhook at the time the operation was called.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "serviceUri",
    "customHeaders",
    "status",
    "scope",
    "actions"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.ContainerService/containerServices": {
  "api_version": "2017-07-01",
  "full_properties": {
    "agentPoolProfiles": {
      "description": "Properties of the agent pool.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customProfile": {
      "description": "Properties to configure a custom container service cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diagnosticsProfile": {
      "description": "Profile for diagnostics in the container service cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "linuxProfile": {
      "description": "Profile for Linux VMs in the container service cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "masterProfile": {
      "description": "Profile for the container service master.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "orchestratorProfile": {
      "description": "Profile for the container service orchestrator.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "servicePrincipalProfile": {
      "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs. Exact one of secret or keyVaultSecretRef need to be specified.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "windowsProfile": {
      "description": "Profile for Windows VMs in the container service cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "orchestratorProfile",
    "customProfile",
    "servicePrincipalProfile",
    "masterProfile",
    "agentPoolProfiles",
    "windowsProfile",
    "linuxProfile",
    "diagnosticsProfile"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.ContainerService/managedClusters": {
  "api_version": "2018-03-31",
  "full_properties": {
    "aadProfile": {
      "description": "Profile of Azure Active Directory configuration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "addonProfiles": {
      "description": "Profile of managed cluster add-on.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "agentPoolProfiles": {
      "description": "Properties of the agent pool.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "dnsPrefix": {
      "description": "DNS prefix specified when creating the managed cluster.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "enableRBAC": {
      "description": "Whether to enable Kubernetes Role-Based Access Control.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "kubernetesVersion": {
      "description": "Version of Kubernetes specified when creating the managed cluster.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "linuxProfile": {
      "description": "Profile for Linux VMs in the container service cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "networkProfile": {
      "description": "Profile of network configuration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "servicePrincipalProfile": {
      "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs. Either secret or keyVaultSecretRef must be specified.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "kubernetesVersion",
    "dnsPrefix",
    "agentPoolProfiles",
    "linuxProfile",
    "servicePrincipalProfile",
    "addonProfiles",
    "enableRBAC",
    "networkProfile",
    "aadProfile"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs": {
  "api_version": "2017-04-26",
  "full_properties": {
    "hubBillingInfo": {
      "description": "Billing settings of the hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "tenantFeatures": {
      "description": "The bit flags for enabled hub features. Bit 0 is set to 1 indicates graph is enabled, or disabled if set to 0. Bit 1 is set to 1 indicates the hub is disabled, or enabled if set to 0.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "tenantFeatures",
    "hubBillingInfo"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/authorizationPolicies": {
  "api_version": "2017-04-26",
  "full_properties": {
    "permissions": {
      "description": "The permissions associated with the policy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "primaryKey": {
      "description": "Primary key assiciated with the policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "secondaryKey": {
      "description": "Secondary key assiciated with the policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "permissions",
    "primaryKey",
    "secondaryKey"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/connectors": {
  "api_version": "2017-04-26",
  "full_properties": {
    "connectorName": {
      "description": "Name of the connector.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "connectorProperties": {
      "description": "The connector properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "connectorType": {
      "description": "Type of connector.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Description of the connector.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Display name of the connector.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "isInternal": {
      "description": "If this is an internal connector.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "connectorName",
    "connectorType",
    "displayName",
    "description",
    "connectorProperties",
    "isInternal"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/connectors/mappings": {
  "api_version": "2017-04-26",
  "full_properties": {
    "connectorType": {
      "description": "Type of connector.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of the connector mapping.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Display name for the connector mapping.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "entityType": {
      "description": "Defines which entity type the file should map to.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "entityTypeName": {
      "description": "The mapping entity name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "mappingProperties": {
      "description": "The properties of the mapping.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "connectorType",
    "entityType",
    "entityTypeName",
    "displayName",
    "description",
    "mappingProperties"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/interactions": {
  "api_version": "2017-04-26",
  "full_properties": {
    "apiEntitySetName": {
      "description": "The api entity set name. This becomes the odata entity set name for the entity Type being refered in this object.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "attributes": {
      "description": "The attributes for the Type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "defaultDataSource": {
      "description": "Default data source is specifically used in cases where data source is not specified in an instance.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Localized descriptions for the property.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Localized display names for the property.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "entityType": {
      "description": "Type of entity.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "fields": {
      "description": "The properties of the Profile.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "idPropertyNames": {
      "description": "The id property names. Properties which uniquely identify an interaction instance.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "instancesCount": {
      "description": "The instance count.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isActivity": {
      "description": "An interaction can be tagged as an activity only during create. This enables the interaction to be editable and can enable merging of properties from multiple data sources based on precedence, which is defined at a link level.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "largeImage": {
      "description": "Large Image associated with the Property or EntityType.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "localizedAttributes": {
      "description": "Any custom localized attributes for the Type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "mediumImage": {
      "description": "Medium Image associated with the Property or EntityType.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "participantProfiles": {
      "description": "Profiles that participated in the interaction.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "primaryParticipantProfilePropertyName": {
      "description": "The primary participant property name for an interaction ,This is used to logically represent the agent of the interaction, Specify the participant name here from ParticipantName.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "schemaItemTypeLink": {
      "description": "The schema org link. This helps ACI identify and suggest semantic models.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "smallImage": {
      "description": "Small Image associated with the Property or EntityType.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "timestampFieldName": {
      "description": "The timestamp property name. Represents the time when the interaction or profile update happened.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "typeName": {
      "description": "The name of the entity.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "attributes",
    "description",
    "displayName",
    "localizedAttributes",
    "smallImage",
    "mediumImage",
    "largeImage",
    "apiEntitySetName",
    "entityType",
    "fields",
    "instancesCount",
    "schemaItemTypeLink",
    "timestampFieldName",
    "typeName",
    "idPropertyNames",
    "participantProfiles",
    "primaryParticipantProfilePropertyName",
    "defaultDataSource",
    "isActivity"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/kpi": {
  "api_version": "2017-04-26",
  "full_properties": {
    "aliases": {
      "description": "The aliases.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "calculationWindow": {
      "description": "The calculation window.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "calculationWindowFieldName": {
      "description": "Name of calculation window field.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "Localized description for the KPI.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Localized display name for the KPI.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "entityType": {
      "description": "The mapping entity type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "entityTypeName": {
      "description": "The mapping entity name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expression": {
      "description": "The computation expression for the KPI.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "extracts": {
      "description": "The KPI extracts.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "filter": {
      "description": "The filter expression for the KPI.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "function": {
      "description": "The computation function for the KPI.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "groupBy": {
      "description": "the group by properties for the KPI.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "thresHolds": {
      "description": "The KPI thresholds.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "unit": {
      "description": "The unit of measurement for the KPI.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "entityType",
    "entityTypeName",
    "displayName",
    "description",
    "calculationWindow",
    "calculationWindowFieldName",
    "function",
    "expression",
    "unit",
    "filter",
    "groupBy",
    "thresHolds",
    "aliases",
    "extracts"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/links": {
  "api_version": "2017-04-26",
  "full_properties": {
    "description": {
      "description": "Localized descriptions for the Link.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Localized display name for the Link.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "mappings": {
      "description": "The set of properties mappings between the source and target Types.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "operationType": {
      "description": "Determines whether this link is supposed to create or delete instances if Link is NOT Reference Only.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "participantPropertyReferences": {
      "description": "The properties that represent the participating profile.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "referenceOnly": {
      "description": "Indicating whether the link is reference only link. This flag is ingored if the Mappings are defined. If the mappings are not defined and it is set to true, links processing will not create or update profiles.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourceEntityType": {
      "description": "Type of source entity.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourceEntityTypeName": {
      "description": "Name of the source Entity Type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourceInteractionType": {
      "description": "Name of the source Interaction Type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "targetEntityType": {
      "description": "Type of target entity.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetEntityTypeName": {
      "description": "Name of the target Entity Type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "targetProfileType": {
      "description": "Name of the target Profile Type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sourceInteractionType",
    "targetProfileType",
    "displayName",
    "description",
    "mappings",
    "participantPropertyReferences",
    "referenceOnly",
    "operationType",
    "sourceEntityType",
    "targetEntityType",
    "sourceEntityTypeName",
    "targetEntityTypeName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/predictions": {
  "api_version": "2017-04-26",
  "full_properties": {
    "autoAnalyze": {
      "description": "Whether do auto analyze.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Description of the prediction.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Display name of the prediction.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "grades": {
      "description": "The prediction grades.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "involvedInteractionTypes": {
      "description": "Interaction types involved in the prediction.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "involvedKpiTypes": {
      "description": "KPI types involved in the prediction.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "involvedRelationships": {
      "description": "Relationships involved in the prediction.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "mappings": {
      "description": "Definition of the link mapping of prediction.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "negativeOutcomeExpression": {
      "description": "Negative outcome expression.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "positiveOutcomeExpression": {
      "description": "Positive outcome expression.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "predictionName": {
      "description": "Name of the prediction.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "primaryProfileType": {
      "description": "Primary profile type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "scopeExpression": {
      "description": "Scope expression.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "scoreLabel": {
      "description": "Score label.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "displayName",
    "involvedInteractionTypes",
    "involvedKpiTypes",
    "involvedRelationships",
    "negativeOutcomeExpression",
    "positiveOutcomeExpression",
    "primaryProfileType",
    "predictionName",
    "scopeExpression",
    "autoAnalyze",
    "mappings",
    "scoreLabel",
    "grades"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/profiles": {
  "api_version": "2017-04-26",
  "full_properties": {
    "apiEntitySetName": {
      "description": "The api entity set name. This becomes the odata entity set name for the entity Type being refered in this object.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "attributes": {
      "description": "The attributes for the Type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Localized descriptions for the property.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Localized display names for the property.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "entityType": {
      "description": "Type of entity.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "fields": {
      "description": "The properties of the Profile.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "instancesCount": {
      "description": "The instance count.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "largeImage": {
      "description": "Large Image associated with the Property or EntityType.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "localizedAttributes": {
      "description": "Any custom localized attributes for the Type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "mediumImage": {
      "description": "Medium Image associated with the Property or EntityType.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "schemaItemTypeLink": {
      "description": "The schema org link. This helps ACI identify and suggest semantic models.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "smallImage": {
      "description": "Small Image associated with the Property or EntityType.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "strongIds": {
      "description": "The strong IDs.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "timestampFieldName": {
      "description": "The timestamp property name. Represents the time when the interaction or profile update happened.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "typeName": {
      "description": "The name of the entity.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "attributes",
    "description",
    "displayName",
    "localizedAttributes",
    "smallImage",
    "mediumImage",
    "largeImage",
    "apiEntitySetName",
    "entityType",
    "fields",
    "instancesCount",
    "schemaItemTypeLink",
    "timestampFieldName",
    "typeName",
    "strongIds"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/relationshipLinks": {
  "api_version": "2017-04-26",
  "full_properties": {
    "description": {
      "description": "Localized descriptions for the Relationship Link.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Localized display name for the Relationship Link.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "interactionType": {
      "description": "The InteractionType associated with the Relationship Link.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "mappings": {
      "description": "The mappings between Interaction and Relationship fields.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "profilePropertyReferences": {
      "description": "The property references for the Profile of the Relationship.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "relatedProfilePropertyReferences": {
      "description": "The property references for the Related Profile of the Relationship.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "relationshipName": {
      "description": "The Relationship associated with the Link.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "displayName",
    "description",
    "interactionType",
    "mappings",
    "profilePropertyReferences",
    "relatedProfilePropertyReferences",
    "relationshipName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/relationships": {
  "api_version": "2017-04-26",
  "full_properties": {
    "cardinality": {
      "description": "The Relationship Cardinality.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Localized descriptions for the Relationship.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Localized display name for the Relationship.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "expiryDateTimeUtc": {
      "description": "The expiry date time in UTC.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "fields": {
      "description": "The properties of the Relationship.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "lookupMappings": {
      "description": "Optional property to be used to map fields in profile to their strong ids in related profile.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "profileType": {
      "description": "Profile type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "relatedProfileType": {
      "description": "Related profile being referenced.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "cardinality",
    "displayName",
    "description",
    "expiryDateTimeUtc",
    "fields",
    "lookupMappings",
    "profileType",
    "relatedProfileType"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/roleAssignments": {
  "api_version": "2017-04-26",
  "full_properties": {
    "conflationPolicies": {
      "description": "Widget types set for the assignment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "connectors": {
      "description": "Connectors set for the assignment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Localized description for the metadata.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Localized display names for the metadata.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "interactions": {
      "description": "Interactions set for the assignment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "kpis": {
      "description": "Kpis set for the assignment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "links": {
      "description": "Links set for the assignment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "principals": {
      "description": "The principals being assigned to.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "profiles": {
      "description": "Profiles set for the assignment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "relationshipLinks": {
      "description": "The Role assignments set for the relationship links.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "relationships": {
      "description": "The Role assignments set for the relationships.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "role": {
      "description": "Type of roles.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "roleAssignments": {
      "description": "The Role assignments set for the assignment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sasPolicies": {
      "description": "Sas Policies set for the assignment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "segments": {
      "description": "The Role assignments set for the assignment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "views": {
      "description": "Views set for the assignment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "widgetTypes": {
      "description": "Widget types set for the assignment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "displayName",
    "description",
    "role",
    "principals",
    "profiles",
    "interactions",
    "links",
    "kpis",
    "sasPolicies",
    "connectors",
    "views",
    "relationshipLinks",
    "relationships",
    "widgetTypes",
    "roleAssignments",
    "conflationPolicies",
    "segments"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.CustomerInsights/hubs/views": {
  "api_version": "2017-04-26",
  "full_properties": {
    "definition": {
      "description": "View definition.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Localized display name for the view.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "userId": {
      "description": "the user ID.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "userId",
    "displayName",
    "definition"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DBforMySQL/servers": {
  "api_version": "2017-12-01",
  "full_properties": {
    "createMode": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sslEnforcement": {
      "description": "Enable ssl enforcement or not when connect to server.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageProfile": {
      "description": "Storage profile of a server.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "version": {
      "description": "Server version.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "version",
    "sslEnforcement",
    "storageProfile",
    "createMode"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties",
    "location"
  ]
},
"Microsoft.DBforMySQL/servers/configurations": {
  "api_version": "2017-12-01",
  "full_properties": {
    "source": {
      "description": "Source of the configuration.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "value": {
      "description": "Value of the configuration.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "value",
    "source"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DBforMySQL/servers/databases": {
  "api_version": "2017-12-01",
  "full_properties": {
    "catalogCollation": {
      "description": "Collation of the metadata catalog.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "charset": {
      "description": "The charset of the database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "collation": {
      "description": "The collation of the database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "createMode": {
      "description": "Specifies the mode of database creation.\r\n\r\nDefault: regular database creation.\r\n\r\nCopy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\r\n\r\nSecondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\r\n\r\nPointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\r\n\r\nRecovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\r\n\r\nRestore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\r\n\r\nRestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\r\n\r\nCopy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "edition": {
      "description": "The edition of the database. The DatabaseEditions enumeration contains all the valid editions. If createMode is NonReadableSecondary or OnlineSecondary, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions -l westus --query [].name`.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "elasticPoolId": {
      "description": "The resource identifier of the elastic pool containing this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "elasticPoolName": {
      "description": "The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hotCachePeriodInDays": {
      "description": "The number of days of data that should be kept in cache for fast queries.",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "longTermRetentionBackupResourceId": {
      "description": "The resource identifier of the long term retention backup associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "maxSizeBytes": {
      "description": "The max size of the database expressed in bytes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "readScale": {
      "description": "Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "recoverableDatabaseId": {
      "description": "The resource identifier of the recoverable database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "recoveryServicesRecoveryPointId": {
      "description": "The resource identifier of the recovery point associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "recoveryServicesRecoveryPointResourceId": {
      "description": "Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "requestedServiceObjectiveId": {
      "description": "The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions --location <location> --query [].supportedServiceLevelObjectives[].name` .",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requestedServiceObjectiveName": {
      "description": "The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions --location <location> --query [].supportedServiceLevelObjectives[].name`.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "restorableDroppedDatabaseId": {
      "description": "The resource identifier of the restorable dropped database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "restorePointInTime": {
      "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sampleName": {
      "description": "The name of the sample schema to apply when creating this database.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "softDeletePeriodInDays": {
      "description": "The number of days data should be kept before it stops being accessible to queries.",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "sourceDatabaseDeletionDate": {
      "description": "Specifies the time that the database was deleted.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourceDatabaseId": {
      "description": "The resource identifier of the source database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "zoneRedundant": {
      "description": "Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "collation",
    "createMode",
    "sourceDatabaseId",
    "sourceDatabaseDeletionDate",
    "restorePointInTime",
    "recoveryServicesRecoveryPointResourceId",
    "edition",
    "maxSizeBytes",
    "requestedServiceObjectiveId",
    "requestedServiceObjectiveName",
    "elasticPoolName",
    "readScale",
    "sampleName",
    "zoneRedundant",
    "elasticPoolId",
    "recoveryServicesRecoveryPointId",
    "longTermRetentionBackupResourceId",
    "recoverableDatabaseId",
    "restorableDroppedDatabaseId",
    "catalogCollation",
    "softDeletePeriodInDays",
    "charset",
    "hotCachePeriodInDays"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DBforMySQL/servers/firewallRules": {
  "api_version": "2017-12-01",
  "full_properties": {
    "endIpAddress": {
      "description": "The end IP address of the server firewall rule. Must be IPv4 format.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "startIpAddress": {
      "description": "The start IP address of the server firewall rule. Must be IPv4 format.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "startIpAddress",
    "endIpAddress"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DBforMySQL/servers/securityAlertPolicies": {
  "api_version": "2017-12-01",
  "full_properties": {
    "disabledAlerts": {
      "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "emailAccountAdmins": {
      "description": "Specifies that the alert is sent to the account administrators.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "emailAddresses": {
      "description": "Specifies an array of e-mail addresses to which the alert is sent.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "retentionDays": {
      "description": "Specifies the number of days to keep in the Threat Detection audit logs.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "state": {
      "description": "Specifies the state of the policy, whether it is enabled or disabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccountAccessKey": {
      "description": "Specifies the identifier key of the Threat Detection audit storage account.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageEndpoint": {
      "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "state",
    "disabledAlerts",
    "emailAddresses",
    "emailAccountAdmins",
    "storageEndpoint",
    "storageAccountAccessKey",
    "retentionDays"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DBforMySQL/servers/virtualNetworkRules": {
  "api_version": "2017-12-01",
  "full_properties": {
    "ignoreMissingVnetServiceEndpoint": {
      "description": "Create firewall rule before the virtual network has vnet service endpoint enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualNetworkSubnetId": {
      "description": "The ARM resource id of the virtual network subnet.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "virtualNetworkSubnetId",
    "ignoreMissingVnetServiceEndpoint"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DBforPostgreSQL/servers": {
  "api_version": "2017-12-01",
  "full_properties": {
    "createMode": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sslEnforcement": {
      "description": "Enable ssl enforcement or not when connect to server.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageProfile": {
      "description": "Storage profile of a server.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "version": {
      "description": "Server version.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "version",
    "sslEnforcement",
    "storageProfile",
    "createMode"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties",
    "location"
  ]
},
"Microsoft.DBforPostgreSQL/servers/configurations": {
  "api_version": "2017-12-01",
  "full_properties": {
    "source": {
      "description": "Source of the configuration.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "value": {
      "description": "Value of the configuration.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "value",
    "source"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DBforPostgreSQL/servers/databases": {
  "api_version": "2017-12-01",
  "full_properties": {
    "catalogCollation": {
      "description": "Collation of the metadata catalog.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "charset": {
      "description": "The charset of the database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "collation": {
      "description": "The collation of the database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "createMode": {
      "description": "Specifies the mode of database creation.\r\n\r\nDefault: regular database creation.\r\n\r\nCopy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\r\n\r\nSecondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\r\n\r\nPointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\r\n\r\nRecovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\r\n\r\nRestore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\r\n\r\nRestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\r\n\r\nCopy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "edition": {
      "description": "The edition of the database. The DatabaseEditions enumeration contains all the valid editions. If createMode is NonReadableSecondary or OnlineSecondary, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions -l westus --query [].name`.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "elasticPoolId": {
      "description": "The resource identifier of the elastic pool containing this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "elasticPoolName": {
      "description": "The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hotCachePeriodInDays": {
      "description": "The number of days of data that should be kept in cache for fast queries.",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "longTermRetentionBackupResourceId": {
      "description": "The resource identifier of the long term retention backup associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "maxSizeBytes": {
      "description": "The max size of the database expressed in bytes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "readScale": {
      "description": "Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "recoverableDatabaseId": {
      "description": "The resource identifier of the recoverable database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "recoveryServicesRecoveryPointId": {
      "description": "The resource identifier of the recovery point associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "recoveryServicesRecoveryPointResourceId": {
      "description": "Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "requestedServiceObjectiveId": {
      "description": "The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions --location <location> --query [].supportedServiceLevelObjectives[].name` .",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requestedServiceObjectiveName": {
      "description": "The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions --location <location> --query [].supportedServiceLevelObjectives[].name`.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "restorableDroppedDatabaseId": {
      "description": "The resource identifier of the restorable dropped database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "restorePointInTime": {
      "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sampleName": {
      "description": "The name of the sample schema to apply when creating this database.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "softDeletePeriodInDays": {
      "description": "The number of days data should be kept before it stops being accessible to queries.",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "sourceDatabaseDeletionDate": {
      "description": "Specifies the time that the database was deleted.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourceDatabaseId": {
      "description": "The resource identifier of the source database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "zoneRedundant": {
      "description": "Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "collation",
    "createMode",
    "sourceDatabaseId",
    "sourceDatabaseDeletionDate",
    "restorePointInTime",
    "recoveryServicesRecoveryPointResourceId",
    "edition",
    "maxSizeBytes",
    "requestedServiceObjectiveId",
    "requestedServiceObjectiveName",
    "elasticPoolName",
    "readScale",
    "sampleName",
    "zoneRedundant",
    "elasticPoolId",
    "recoveryServicesRecoveryPointId",
    "longTermRetentionBackupResourceId",
    "recoverableDatabaseId",
    "restorableDroppedDatabaseId",
    "catalogCollation",
    "softDeletePeriodInDays",
    "charset",
    "hotCachePeriodInDays"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DBforPostgreSQL/servers/firewallRules": {
  "api_version": "2017-12-01",
  "full_properties": {
    "endIpAddress": {
      "description": "The end IP address of the server firewall rule. Must be IPv4 format.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "startIpAddress": {
      "description": "The start IP address of the server firewall rule. Must be IPv4 format.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "startIpAddress",
    "endIpAddress"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DBforPostgreSQL/servers/securityAlertPolicies": {
  "api_version": "2017-12-01",
  "full_properties": {
    "disabledAlerts": {
      "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "emailAccountAdmins": {
      "description": "Specifies that the alert is sent to the account administrators.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "emailAddresses": {
      "description": "Specifies an array of e-mail addresses to which the alert is sent.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "retentionDays": {
      "description": "Specifies the number of days to keep in the Threat Detection audit logs.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "state": {
      "description": "Specifies the state of the policy, whether it is enabled or disabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccountAccessKey": {
      "description": "Specifies the identifier key of the Threat Detection audit storage account.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageEndpoint": {
      "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "state",
    "disabledAlerts",
    "emailAddresses",
    "emailAccountAdmins",
    "storageEndpoint",
    "storageAccountAccessKey",
    "retentionDays"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DBforPostgreSQL/servers/virtualNetworkRules": {
  "api_version": "2017-12-01",
  "full_properties": {
    "ignoreMissingVnetServiceEndpoint": {
      "description": "Create firewall rule before the virtual network has vnet service endpoint enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualNetworkSubnetId": {
      "description": "The ARM resource id of the virtual network subnet.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "virtualNetworkSubnetId",
    "ignoreMissingVnetServiceEndpoint"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DataCatalog/catalogs": {
  "api_version": "2016-03-30",
  "full_properties": {
    "admins": {
      "description": "Microsoft.DataCatalog/catalogs: admins - specifies the list of catalog administrators",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sku": {
      "description": "Microsoft.DataCatalog/catalogs: sku - specifies desired SKU for the catalog (Free, Standard)",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "users": {
      "description": "Microsoft.DataCatalog/catalogs: users - specifies the list of catalog users",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sku",
    "admins",
    "users"
  ],
  "required": [
    "type",
    "location",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DataConnect/connectionManagers": {
  "api_version": "2015-08-01-preview",
  "full_properties": {
    "description": {
      "description": "Microsoft.DataConnect/connectionManagers: The description of the connectionManager.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties",
    "location"
  ]
},
"Microsoft.DataLakeAnalytics/accounts": {
  "api_version": "2016-11-01",
  "full_properties": {
    "computePolicies": {
      "description": "Microsoft.DataLakeAnalytics/accounts - List of compute policies",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "dataLakeStoreAccounts": {
      "description": "Microsoft.DataLakeAnalytics/accounts - List of Data Lake Store accounts",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "defaultDataLakeStoreAccount": {
      "description": "Microsoft.DataLakeAnalytics/accounts - Default Data Lake Store account",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "firewallAllowAzureIps": {
      "description": "Microsoft.DataLakeAnalytics/accounts - Azure IP feature state, if firewall state is enabled (Enabled/Disabled)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "firewallRules": {
      "description": "Microsoft.DataLakeAnalytics/accounts - List of firewall rules",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "firewallState": {
      "description": "Microsoft.DataLakeAnalytics/accounts - Firewall rule feature state (Enabled/Disabled)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "maxDegreeOfParallelism": {
      "description": "Microsoft.DataLakeAnalytics/accounts - Maximum supported degree of parallelism for this account. Minimum value: 1. Default value: 30.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "maxDegreeOfParallelismPerJob": {
      "description": "Microsoft.DataLakeAnalytics/accounts - Maximum supported degree of parallelism per job for this account. Minimum value: 1.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "maxJobCount": {
      "description": "Microsoft.DataLakeAnalytics/accounts - Maximum supported jobs running under the account at the same time. Minimum value: 1. Default value: 3.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "minPriorityPerJob": {
      "description": "Microsoft.DataLakeAnalytics/accounts - Minimum supported priority per job for this account. Minimum value: 1.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "newTier": {
      "description": "Microsoft.DataLakeAnalytics/accounts - Commitment tier for the next month.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "queryStoreRetention": {
      "description": "Microsoft.DataLakeAnalytics/accounts - Number of days that job metadata is retained. Minimum value: 1. Maximum value: 180. Default value: 30.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccounts": {
      "description": "Microsoft.DataLakeAnalytics/accounts - List of Azure Storage accounts",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "defaultDataLakeStoreAccount",
    "dataLakeStoreAccounts",
    "storageAccounts",
    "maxDegreeOfParallelism",
    "queryStoreRetention",
    "maxJobCount",
    "newTier",
    "firewallState",
    "firewallAllowAzureIps",
    "firewallRules",
    "maxDegreeOfParallelismPerJob",
    "minPriorityPerJob",
    "computePolicies"
  ],
  "required": [
    "apiVersion",
    "type",
    "location",
    "properties"
  ]
},
"Microsoft.DataLakeAnalytics/accounts/computepolicies": {
  "api_version": "2016-11-01",
  "full_properties": {
    "properties": {
      "description": "Compute policy object",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "properties"
  ],
  "required": [
    "apiVersion",
    "type",
    "properties"
  ]
},
"Microsoft.DataLakeAnalytics/accounts/datalakestoreaccounts": {
  "api_version": "2016-11-01",
  "full_properties": {
    "properties": {
      "description": "Data Lake Store account info properties",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "properties"
  ],
  "required": [
    "apiVersion",
    "type"
  ]
},
"Microsoft.DataLakeAnalytics/accounts/firewallrules": {
  "api_version": "2016-11-01",
  "full_properties": {
    "name": {
      "description": "Name of the firewall rule",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "properties": {
      "description": "Firewall rule object",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "properties"
  ],
  "required": [
    "apiVersion",
    "type",
    "properties"
  ]
},
"Microsoft.DataLakeAnalytics/accounts/storageaccounts": {
  "api_version": "2016-11-01",
  "full_properties": {
    "properties": {
      "description": "Azure Storage account info properties",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "properties"
  ],
  "required": [
    "apiVersion",
    "type",
    "properties"
  ]
},
"Microsoft.DataLakeStore/accounts": {
  "api_version": "2016-11-01",
  "full_properties": {
    "defaultGroup": {
      "description": "Microsoft.DataLakeStore/accounts - Default group owner assigned to new directories and files",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "encryptionConfig": {
      "description": "Microsoft.DataLakeStore/accounts - Key Vault encryption configuration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "encryptionState": {
      "description": "Microsoft.DataLakeStore/accounts - Current state of encryption for this Data Lake store account.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "firewallAllowAzureIps": {
      "description": "Microsoft.DataLakeStore/accounts - Azure IP feature state, if firewall state is enabled (Enabled/Disabled)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "firewallRules": {
      "description": "Microsoft.DataLakeStore/accounts - List of firewall rules",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "firewallState": {
      "description": "Microsoft.DataLakeStore/accounts - Firewall rule feature state (Enabled/Disabled)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "newTier": {
      "description": "Microsoft.DataLakeStore/accounts - Commitment tier for the next month.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "trustedIdProviderState": {
      "description": "Microsoft.DataLakeStore/accounts - Trusted identity provider feature state (Enabled/Disabled)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "trustedIdProviders": {
      "description": "Microsoft.DataLakeStore/accounts - List of trusted identity providers",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "defaultGroup",
    "firewallState",
    "firewallRules",
    "encryptionState",
    "encryptionConfig",
    "firewallAllowAzureIps",
    "trustedIdProviderState",
    "trustedIdProviders",
    "newTier"
  ],
  "required": [
    "apiVersion",
    "type",
    "location"
  ]
},
"Microsoft.DataLakeStore/accounts/firewallrules": {
  "api_version": "2016-11-01",
  "full_properties": {
    "name": {
      "description": "Name of the firewall rule",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "properties": {
      "description": "Firewall rule object",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "properties"
  ],
  "required": [
    "apiVersion",
    "type",
    "properties"
  ]
},
"Microsoft.DataLakeStore/accounts/trustedidproviders": {
  "api_version": "2016-11-01",
  "full_properties": {
    "name": {
      "description": "Name of the trusted identity provider",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "properties": {
      "description": "Trusted identity provider object",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "properties"
  ],
  "required": [
    "apiVersion",
    "type",
    "properties"
  ]
},
"Microsoft.DataMigration/services": {
  "api_version": "2017-11-15-privatepreview",
  "full_properties": {
    "virtualSubnetId": {
      "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "virtualSubnetId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.DataMigration/services/projects": {
  "api_version": "2017-11-15-privatepreview",
  "full_properties": {
    "customerWorkspaceId": {
      "description": "ARM ID of the Service Map workspace created by user.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "customerWorkspaceLocation": {
      "description": "Location of the Service Map workspace created by user.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "databasesInfo": {
      "description": "List of DatabaseInfo",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of this project.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "friendlyName": {
      "description": "The friendly name for this project.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "gitrepo": {
      "description": "The reference to git repo for this project.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Provisioning state of the project.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourceConnectionInfo": {
      "description": "Information for connecting to source",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourcePlatform": {
      "description": "Source platform for the project.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetConnectionInfo": {
      "description": "Information for connecting to target",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetPlatform": {
      "description": "Target platform for the project.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "gitrepo",
    "friendlyName",
    "sourcePlatform",
    "targetPlatform",
    "sourceConnectionInfo",
    "targetConnectionInfo",
    "databasesInfo",
    "customerWorkspaceId",
    "customerWorkspaceLocation",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.DataMigration/services/projects/tasks": {
  "api_version": "2017-11-15-privatepreview",
  "full_properties": {
    "taskType": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "taskType"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs": {
  "api_version": "2016-05-15",
  "full_properties": {
    "labStorageType": {
      "description": "Type of storage used by the lab. It can be either Premium or Standard. Default is Premium.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "premiumDataDisks": {
      "description": "The setting to enable usage of premium data disks.\r\nWhen its value is 'Enabled', creation of standard or premium data disks is allowed.\r\nWhen its value is 'Disabled', only creation of standard data disks is allowed.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "labStorageType",
    "premiumDataDisks",
    "provisioningState",
    "uniqueIdentifier"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/artifactsources": {
  "api_version": "2016-05-15",
  "full_properties": {
    "armTemplateFolderPath": {
      "description": "The folder containing Azure Resource Manager templates.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "branchRef": {
      "description": "The artifact source's branch reference.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "The artifact source's display name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "folderPath": {
      "description": "The folder containing artifacts.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "securityToken": {
      "description": "The security token to authenticate to the artifact source.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourceType": {
      "description": "The artifact source's type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "status": {
      "description": "Indicates if the artifact source is enabled (values: Enabled, Disabled).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uri": {
      "description": "The artifact source's URI.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "displayName",
    "uri",
    "sourceType",
    "folderPath",
    "armTemplateFolderPath",
    "branchRef",
    "securityToken",
    "status",
    "provisioningState",
    "uniqueIdentifier"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/costs": {
  "api_version": "2016-05-15",
  "full_properties": {
    "createdDate": {
      "description": "The creation date of the cost.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "currencyCode": {
      "description": "The currency code of the cost.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "endDateTime": {
      "description": "The end time of the cost data.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "startDateTime": {
      "description": "The start time of the cost data.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "targetCost": {
      "description": "The target cost properties",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "targetCost",
    "currencyCode",
    "startDateTime",
    "endDateTime",
    "createdDate",
    "provisioningState",
    "uniqueIdentifier"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/customimages": {
  "api_version": "2016-05-15",
  "full_properties": {
    "author": {
      "description": "The author of the custom image.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of the custom image.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "managedImageId": {
      "description": "The Managed Image Id backing the custom image.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "vhd": {
      "description": "The VHD from which the image is to be created.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vm": {
      "description": "The virtual machine from which the image is to be created.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "vm",
    "vhd",
    "description",
    "author",
    "managedImageId",
    "provisioningState",
    "uniqueIdentifier"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/formulas": {
  "api_version": "2016-05-15",
  "full_properties": {
    "author": {
      "description": "The author of the formula.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of the formula.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "formulaContent": {
      "description": "The content of the formula.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "osType": {
      "description": "The OS type of the formula.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "vm": {
      "description": "Information about a VM from which a formula is to be created.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "author",
    "osType",
    "formulaContent",
    "vm",
    "provisioningState",
    "uniqueIdentifier"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/notificationchannels": {
  "api_version": "2016-05-15",
  "full_properties": {
    "description": {
      "description": "Description of notification.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "events": {
      "description": "The list of event for which this notification is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "webHookUrl": {
      "description": "The webhook URL to send notifications to.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "webHookUrl",
    "description",
    "events",
    "provisioningState",
    "uniqueIdentifier"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/policysets/policies": {
  "api_version": "2016-05-15",
  "full_properties": {
    "description": {
      "description": "The description of the policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "evaluatorType": {
      "description": "The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "factData": {
      "description": "The fact data of the policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "factName": {
      "description": "The fact name of the policy (e.g. LabVmCount, LabVmSize, MaxVmsAllowedPerLab, etc.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "status": {
      "description": "The status of the policy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "threshold": {
      "description": "The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "status",
    "factName",
    "factData",
    "threshold",
    "evaluatorType",
    "provisioningState",
    "uniqueIdentifier"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/schedules": {
  "api_version": "2016-05-15",
  "full_properties": {
    "advancedSchedule": {
      "description": "Gets or sets the advanced schedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "creationTime": {
      "description": "Gets or sets the creation time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "dailyRecurrence": {
      "description": "If the schedule will occur once each day of the week, specify the daily recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Gets or sets the description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expiryTime": {
      "description": "Gets or sets the end time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expiryTimeOffsetMinutes": {
      "description": "Gets or sets the expiry time's offset in minutes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "frequency": {
      "description": "Gets or sets the frequency of the schedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hourlyRecurrence": {
      "description": "If the schedule will occur multiple times a day, specify the hourly recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "interval": {
      "description": "Gets or sets the interval of the schedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isEnabled": {
      "description": "Gets or sets a value indicating whether this schedule is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "lastModifiedTime": {
      "description": "Gets or sets the last modified time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "nextRun": {
      "description": "Gets or sets the next run time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "nextRunOffsetMinutes": {
      "description": "Gets or sets the next run time's offset in minutes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "notificationSettings": {
      "description": "Notification settings.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "startTime": {
      "description": "Gets or sets the start time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "status": {
      "description": "The status of the schedule (i.e. Enabled, Disabled).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResourceId": {
      "description": "The resource ID to which the schedule belongs",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "taskType": {
      "description": "The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "timeZone": {
      "description": "Gets or sets the time zone of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "timeZoneId": {
      "description": "The time zone ID (e.g. Pacific Standard time).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "weeklyRecurrence": {
      "description": "If the schedule will occur only some days of the week, specify the weekly recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "status",
    "taskType",
    "weeklyRecurrence",
    "dailyRecurrence",
    "hourlyRecurrence",
    "timeZoneId",
    "notificationSettings",
    "targetResourceId",
    "provisioningState",
    "uniqueIdentifier",
    "startTime",
    "expiryTime",
    "expiryTimeOffsetMinutes",
    "isEnabled",
    "nextRun",
    "nextRunOffsetMinutes",
    "interval",
    "frequency",
    "timeZone",
    "advancedSchedule",
    "creationTime",
    "lastModifiedTime",
    "description"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/servicerunners": {
  "api_version": "2016-05-15",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "type",
    "apiVersion"
  ]
},
"Microsoft.DevTestLab/labs/users": {
  "api_version": "2016-05-15",
  "full_properties": {
    "identity": {
      "description": "The identity of the user.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "secretStore": {
      "description": "The secret store of the user.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "identity",
    "secretStore",
    "provisioningState",
    "uniqueIdentifier"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/users/disks": {
  "api_version": "2016-05-15",
  "full_properties": {
    "accountType": {
      "description": "the storage account type of the disk.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "creationData": {
      "description": "Disk source information. CreationData information cannot be changed after the disk has been created.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskBlobName": {
      "description": "When backed by a blob, the name of the VHD blob without extension.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "diskIOPSReadWrite": {
      "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskMBpsReadWrite": {
      "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskSizeGB": {
      "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskSizeGiB": {
      "description": "The size of the disk in GibiBytes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskType": {
      "description": "The storage type for the disk (i.e. Standard, Premium).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diskUri": {
      "description": "When backed by a blob, the URI of underlying blob.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "encryptionSettings": {
      "description": "Encryption settings for disk or snapshot",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hostCaching": {
      "description": "The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "leasedByLabVmId": {
      "description": "The resource ID of the VM to which this disk is leased.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "managedDiskId": {
      "description": "When backed by managed disk, this is the ID of the compute disk resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "osType": {
      "description": "The Operating System type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "accountType",
    "osType",
    "creationData",
    "diskSizeGB",
    "encryptionSettings",
    "diskType",
    "diskSizeGiB",
    "leasedByLabVmId",
    "diskBlobName",
    "diskUri",
    "hostCaching",
    "managedDiskId",
    "provisioningState",
    "uniqueIdentifier",
    "diskIOPSReadWrite",
    "diskMBpsReadWrite"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/users/environments": {
  "api_version": "2016-05-15",
  "full_properties": {
    "armTemplateDisplayName": {
      "description": "The display name of the Azure Resource Manager template that produced the environment.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "deploymentProperties": {
      "description": "The deployment properties of the environment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "deploymentProperties",
    "armTemplateDisplayName",
    "provisioningState",
    "uniqueIdentifier"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/users/secrets": {
  "api_version": "2016-05-15",
  "full_properties": {
    "attributes": {
      "description": "The attributes of the secret.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "contentType": {
      "description": "The content type of the secret.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "value": {
      "description": "The value of the secret. NOTE: 'value' will never be returned from the service, as APIs using this model are is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "value",
    "provisioningState",
    "uniqueIdentifier",
    "contentType",
    "attributes"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/virtualMachines": {
  "api_version": "2015-05-21-preview",
  "full_properties": {
    "customImageId": {
      "description": "The id of the custom image.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "isAuthenticationWithSshKey": {
      "description": "Sets whether SSH Key should be used to authenticate to Linux machine",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "labSubnetName": {
      "description": "The name of the subnet",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    },
    "labVirtualNetworkId": {
      "description": "The id for the virtual network",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    },
    "password": {
      "description": "Password of account used for connection to VM",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "size": {
      "description": "The size of the VM (eg. 'Standard_A4')",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    },
    "sshKey": {
      "description": "SSH key used for connection to Linux machines",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "userName": {
      "description": "Name of the account used for connection to VM",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "customImageId",
    "size",
    "userName",
    "password",
    "sshKey",
    "isAuthenticationWithSshKey",
    "labVirtualNetworkId",
    "labSubnetName"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/virtualmachines": {
  "api_version": "2016-05-15",
  "full_properties": {
    "allowClaim": {
      "description": "Indicates whether another user can take ownership of the virtual machine",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "applicableSchedule": {
      "description": "The applicable schedule for the virtual machine.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "artifactDeploymentStatus": {
      "description": "The artifact deployment status for the virtual machine.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "artifacts": {
      "description": "The artifacts to be installed on the virtual machine.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "computeVm": {
      "description": "The compute virtual machine properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "createdByUser": {
      "description": "The email address of creator of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "createdByUserId": {
      "description": "The object identifier of the creator of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "createdDate": {
      "description": "The creation date of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "customImageId": {
      "description": "The custom image identifier of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "disallowPublicIpAddress": {
      "description": "Indicates whether the virtual machine is to be created without a public IP address.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "environmentId": {
      "description": "The resource ID of the environment that contains this virtual machine, if any.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expirationDate": {
      "description": "The expiration date for VM.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "fqdn": {
      "description": "The fully-qualified domain name of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "galleryImageReference": {
      "description": "The Microsoft Azure Marketplace image reference of the virtual machine.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isAuthenticationWithSshKey": {
      "description": "Indicates whether this virtual machine uses an SSH key for authentication.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "labSubnetName": {
      "description": "The lab subnet name of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "labVirtualNetworkId": {
      "description": "The lab virtual network identifier of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "networkInterface": {
      "description": "The network interface properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "notes": {
      "description": "The notes of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "osType": {
      "description": "The OS type of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "ownerObjectId": {
      "description": "The object identifier of the owner of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "ownerUserPrincipalName": {
      "description": "The user principal name of the virtual machine owner.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "password": {
      "description": "The password of the virtual machine administrator.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "size": {
      "description": "The size of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sshKey": {
      "description": "The SSH key of the virtual machine administrator.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageType": {
      "description": "Storage type to use for virtual machine (i.e. Standard, Premium).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "userName": {
      "description": "The user name of the virtual machine.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "virtualMachineCreationSource": {
      "description": "Tells source of creation of lab virtual machine. Output property only.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "notes",
    "ownerObjectId",
    "ownerUserPrincipalName",
    "createdByUserId",
    "createdByUser",
    "createdDate",
    "customImageId",
    "osType",
    "size",
    "userName",
    "password",
    "sshKey",
    "isAuthenticationWithSshKey",
    "fqdn",
    "labSubnetName",
    "labVirtualNetworkId",
    "disallowPublicIpAddress",
    "artifacts",
    "artifactDeploymentStatus",
    "galleryImageReference",
    "computeVm",
    "networkInterface",
    "applicableSchedule",
    "expirationDate",
    "allowClaim",
    "storageType",
    "virtualMachineCreationSource",
    "environmentId",
    "provisioningState",
    "uniqueIdentifier"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/virtualmachines/schedules": {
  "api_version": "2016-05-15",
  "full_properties": {
    "advancedSchedule": {
      "description": "Gets or sets the advanced schedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "creationTime": {
      "description": "Gets or sets the creation time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "dailyRecurrence": {
      "description": "If the schedule will occur once each day of the week, specify the daily recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Gets or sets the description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expiryTime": {
      "description": "Gets or sets the end time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expiryTimeOffsetMinutes": {
      "description": "Gets or sets the expiry time's offset in minutes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "frequency": {
      "description": "Gets or sets the frequency of the schedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hourlyRecurrence": {
      "description": "If the schedule will occur multiple times a day, specify the hourly recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "interval": {
      "description": "Gets or sets the interval of the schedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isEnabled": {
      "description": "Gets or sets a value indicating whether this schedule is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "lastModifiedTime": {
      "description": "Gets or sets the last modified time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "nextRun": {
      "description": "Gets or sets the next run time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "nextRunOffsetMinutes": {
      "description": "Gets or sets the next run time's offset in minutes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "notificationSettings": {
      "description": "Notification settings.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "startTime": {
      "description": "Gets or sets the start time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "status": {
      "description": "The status of the schedule (i.e. Enabled, Disabled).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResourceId": {
      "description": "The resource ID to which the schedule belongs",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "taskType": {
      "description": "The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "timeZone": {
      "description": "Gets or sets the time zone of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "timeZoneId": {
      "description": "The time zone ID (e.g. Pacific Standard time).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "weeklyRecurrence": {
      "description": "If the schedule will occur only some days of the week, specify the weekly recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "status",
    "taskType",
    "weeklyRecurrence",
    "dailyRecurrence",
    "hourlyRecurrence",
    "timeZoneId",
    "notificationSettings",
    "targetResourceId",
    "provisioningState",
    "uniqueIdentifier",
    "startTime",
    "expiryTime",
    "expiryTimeOffsetMinutes",
    "isEnabled",
    "nextRun",
    "nextRunOffsetMinutes",
    "interval",
    "frequency",
    "timeZone",
    "advancedSchedule",
    "creationTime",
    "lastModifiedTime",
    "description"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/labs/virtualnetworks": {
  "api_version": "2016-05-15",
  "full_properties": {
    "allowedSubnets": {
      "description": "The allowed subnets of the virtual network.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of the virtual network.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "externalProviderResourceId": {
      "description": "The Microsoft.Network resource identifier of the virtual network.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "externalSubnets": {
      "description": "The external subnet properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "subnetOverrides": {
      "description": "The subnet overrides of the virtual network.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "allowedSubnets",
    "description",
    "externalProviderResourceId",
    "externalSubnets",
    "subnetOverrides",
    "provisioningState",
    "uniqueIdentifier"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DevTestLab/schedules": {
  "api_version": "2016-05-15",
  "full_properties": {
    "advancedSchedule": {
      "description": "Gets or sets the advanced schedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "creationTime": {
      "description": "Gets or sets the creation time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "dailyRecurrence": {
      "description": "If the schedule will occur once each day of the week, specify the daily recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Gets or sets the description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expiryTime": {
      "description": "Gets or sets the end time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expiryTimeOffsetMinutes": {
      "description": "Gets or sets the expiry time's offset in minutes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "frequency": {
      "description": "Gets or sets the frequency of the schedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hourlyRecurrence": {
      "description": "If the schedule will occur multiple times a day, specify the hourly recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "interval": {
      "description": "Gets or sets the interval of the schedule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isEnabled": {
      "description": "Gets or sets a value indicating whether this schedule is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "lastModifiedTime": {
      "description": "Gets or sets the last modified time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "nextRun": {
      "description": "Gets or sets the next run time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "nextRunOffsetMinutes": {
      "description": "Gets or sets the next run time's offset in minutes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "notificationSettings": {
      "description": "Notification settings.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "startTime": {
      "description": "Gets or sets the start time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "status": {
      "description": "The status of the schedule (i.e. Enabled, Disabled).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResourceId": {
      "description": "The resource ID to which the schedule belongs",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "taskType": {
      "description": "The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "timeZone": {
      "description": "Gets or sets the time zone of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "timeZoneId": {
      "description": "The time zone ID (e.g. Pacific Standard time).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "weeklyRecurrence": {
      "description": "If the schedule will occur only some days of the week, specify the weekly recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "status",
    "taskType",
    "weeklyRecurrence",
    "dailyRecurrence",
    "hourlyRecurrence",
    "timeZoneId",
    "notificationSettings",
    "targetResourceId",
    "provisioningState",
    "uniqueIdentifier",
    "startTime",
    "expiryTime",
    "expiryTimeOffsetMinutes",
    "isEnabled",
    "nextRun",
    "nextRunOffsetMinutes",
    "interval",
    "frequency",
    "timeZone",
    "advancedSchedule",
    "creationTime",
    "lastModifiedTime",
    "description"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Devices/IotHubs": {
  "api_version": "2018-04-01",
  "full_properties": {
    "authorizationPolicies": {
      "description": "The shared access policies you can use to secure a connection to the IoT hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "cloudToDevice": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "comments": {
      "description": "IoT hub comments.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "enableFileUploadNotifications": {
      "description": "If True, file upload notifications are enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "eventHubEndpoints": {
      "description": "The Event Hub-compatible endpoint properties. The possible keys to this dictionary are events and operationsMonitoringEvents. Both of these keys have to be present in the dictionary while making create or update calls for the IoT hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "features": {
      "description": "The capabilities and features enabled for the IoT hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ipFilterRules": {
      "description": "The IP filter rules.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "messagingEndpoints": {
      "description": "The messaging endpoint properties for the file upload notification queue.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "operationsMonitoringProperties": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "routing": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageEndpoints": {
      "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "authorizationPolicies",
    "eventHubEndpoints",
    "storageEndpoints",
    "enableFileUploadNotifications",
    "cloudToDevice",
    "ipFilterRules",
    "routing",
    "comments",
    "operationsMonitoringProperties",
    "features",
    "messagingEndpoints"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties",
    "sku"
  ]
},
"Microsoft.Devices/IotHubs/eventHubEndpoints/ConsumerGroups": {
  "api_version": "2018-04-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.Devices/provisioningServices": {
  "api_version": "2017-11-15",
  "full_properties": {
    "authorizationPolicies": {
      "description": "The authorization rules.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "iotHubs": {
      "description": "the linked iot hubs to this Provisioning Service",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "authorizationPolicies",
    "iotHubs"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties",
    "sku",
    "location",
    "name"
  ]
},
"Microsoft.DocumentDB/databaseAccounts": {
  "api_version": "2015-04-08",
  "full_properties": {
    "capabilities": {
      "description": "List of Cosmos DB capabilities for the account",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "consistencyPolicy": {
      "description": "The consistency policy for the Cosmos DB account.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "databaseAccountOfferType": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableAutomaticFailover": {
      "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableMultipleWriteLocations": {
      "description": "Enables the account to write in multiple locations",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ipRangeFilter": {
      "description": "Cosmos DB Firewall Support: This value specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account. IP addresses/ranges must be comma separated and must not contain any spaces.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "isVirtualNetworkFilterEnabled": {
      "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "locations": {
      "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualNetworkRules": {
      "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "consistencyPolicy",
    "locations",
    "databaseAccountOfferType",
    "ipRangeFilter",
    "isVirtualNetworkFilterEnabled",
    "enableAutomaticFailover",
    "capabilities",
    "virtualNetworkRules",
    "enableMultipleWriteLocations"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.DomainRegistration/domains": {
  "api_version": "2015-04-01",
  "full_properties": {
    "autoRenew": {
      "description": "<code>true</code> if the domain should be automatically renewed; otherwise, <code>false</code>.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "consent": {
      "description": "Legal agreement consent.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "contactAdmin": {
      "description": "Administrative contact.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "contactBilling": {
      "description": "Billing contact.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "contactRegistrant": {
      "description": "Registrant contact.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "contactTech": {
      "description": "Technical contact.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "domainNotRenewableReasons": {
      "description": "Reasons why domain is not renewable.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "managedHostNames": {
      "description": "All hostnames derived from the domain and assigned to Azure resources.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "nameServers": {
      "description": "Name servers.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "privacy": {
      "description": "<code>true</code> if domain privacy is enabled for this domain; otherwise, <code>false</code>.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "contactAdmin",
    "contactBilling",
    "contactRegistrant",
    "contactTech",
    "nameServers",
    "privacy",
    "autoRenew",
    "managedHostNames",
    "consent",
    "domainNotRenewableReasons"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.DomainRegistration/domains/domainOwnershipIdentifiers": {
  "api_version": "2015-04-01",
  "full_properties": {
    "ownershipId": {
      "description": "Ownership Id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "ownershipId"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.EventGrid/eventSubscriptions": {
  "api_version": "2018-01-01",
  "full_properties": {
    "destination": {
      "description": "Information about the destination where events have to be delivered for the event subscription.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "filter": {
      "description": "Information about the filter for the event subscription.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "labels": {
      "description": "List of user defined labels.",
      "required": false,
      "type": "array",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Provisioning state of the event subscription.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "topic": {
      "description": "Name of the topic of the event subscription.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "topic",
    "provisioningState",
    "destination",
    "filter",
    "labels"
  ],
  "required": [
    "properties"
  ]
},
"Microsoft.EventGrid/topics": {
  "api_version": "2018-01-01",
  "full_properties": {
    "accessedAt": {
      "description": "Last time the message was sent or a request was received for this topic.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "autoDeleteOnIdle": {
      "description": "TimeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "countDetails": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "createdAt": {
      "description": "Exact time the message was created.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "defaultMessageTimeToLive": {
      "description": "Default message time 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.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "duplicateDetectionHistoryTimeWindow ": {
      "description": "TimeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes..",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "enableBatchedOperations": {
      "description": "Value that indicates whether server-side batched operations are enabled..",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableExpress": {
      "description": "Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enablePartitioning": {
      "description": "Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableSubscriptionPartitioning": {
      "description": "Value that indicates whether partitioning is enabled or disabled..",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "entityAvailabilityStatus ": {
      "description": "Entity availability status for the topic.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "filteringMessagesBeforePublishing": {
      "description": "Whether messages should be filtered before publishing.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isAnonymousAccessible": {
      "description": "Value that indicates whether the message is anonymous accessible.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isExpress": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "maxSizeInMegabytes": {
      "description": "Maximum size of the topic in megabytes, which is the size of memory allocated for the topic.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requiresDuplicateDetection": {
      "description": "Value indicating if this topic requires duplicate detection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sizeInBytes": {
      "description": "Size of the topic in bytes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "status": {
      "description": "Enumerates the possible values for the status of a messaging entity.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subscriptionCount": {
      "description": "Number of subscriptions.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "supportOrdering": {
      "description": "Value that indicates whether the topic supports ordering.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "updatedAt": {
      "description": "The exact time the message has been updated.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "accessedAt",
    "autoDeleteOnIdle",
    "entityAvailabilityStatus ",
    "createdAt",
    "countDetails",
    "defaultMessageTimeToLive",
    "duplicateDetectionHistoryTimeWindow ",
    "enableBatchedOperations",
    "enableExpress",
    "enablePartitioning",
    "enableSubscriptionPartitioning",
    "filteringMessagesBeforePublishing",
    "isAnonymousAccessible",
    "isExpress",
    "maxSizeInMegabytes",
    "requiresDuplicateDetection",
    "sizeInBytes",
    "status",
    "subscriptionCount",
    "supportOrdering",
    "updatedAt"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.EventHub/namespaces": {
  "api_version": "2017-04-01",
  "full_properties": {
    "isAutoInflateEnabled": {
      "description": "Value that indicates whether AutoInflate is enabled for eventhub namespace.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "maximumThroughputUnits": {
      "description": "Upper limit of throughput units when AutoInflate is enabled, vaule should be within 0 to 20 throughput units. ( '0' if AutoInflateEnabled = true)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "isAutoInflateEnabled",
    "maximumThroughputUnits"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.EventHub/namespaces/AuthorizationRules": {
  "api_version": "2017-04-01",
  "full_properties": {
    "rights": {
      "description": "The rights associated with the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "rights"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.EventHub/namespaces/disasterRecoveryConfigs": {
  "api_version": "2017-04-01",
  "full_properties": {
    "alternateName": {
      "description": "Alternate name specified when alias and namespace names are same.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "partnerNamespace": {
      "description": "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairning",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "partnerNamespace",
    "alternateName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.EventHub/namespaces/eventhubs": {
  "api_version": "2017-04-01",
  "full_properties": {
    "captureDescription": {
      "description": "Properties of capture description",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "messageRetentionInDays": {
      "description": "Number of days to retain the events for this Event Hub, value should be 1 to 7 days",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "partitionCount": {
      "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "status": {
      "description": "Enumerates the possible values for the status of the Event Hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "messageRetentionInDays",
    "partitionCount",
    "status",
    "captureDescription"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.EventHub/namespaces/eventhubs/authorizationRules": {
  "api_version": "2017-04-01",
  "full_properties": {
    "rights": {
      "description": "The rights associated with the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "rights"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.EventHub/namespaces/eventhubs/consumergroups": {
  "api_version": "2017-04-01",
  "full_properties": {
    "userMetadata": {
      "description": "Usermetadata 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.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "userMetadata"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Genomics/accounts": {
  "api_version": "2017-08-01-preview",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location"
  ]
},
"Microsoft.ImportExport/jobs": {
  "api_version": "2016-11-01",
  "full_properties": {
    "backupDriveManifest": {
      "description": "Default value is false. Indicates whether the manifest files on the drives should be copied to block blobs.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "cancelRequested": {
      "description": "Indicates whether a request has been submitted to cancel the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "deliveryPackage": {
      "description": "Contains information about the package being shipped by the customer to the Microsoft data center. ",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diagnosticsPath": {
      "description": "The virtual blob directory to which the copy logs and backups of drive manifest files (if enabled) will be stored.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "driveList": {
      "description": "List of up to ten drives that comprise the job. The drive list is a required element for an import job; it is not specified for export jobs.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "export": {
      "description": "A property containing information about the blobs to be exported for an export job. This property is included for export jobs only.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "incompleteBlobListUri": {
      "description": "A blob path that points to a block blob containing a list of blob names that were not exported due to insufficient drive space. If all blobs were exported successfully, then this element is not included in the response.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "jobType": {
      "description": "The type of job",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "logLevel": {
      "description": "Default value is Error. Indicates whether error logging or verbose logging will be enabled.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "percentComplete": {
      "description": "Overall percentage completed for the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Specifies the provisioning state of the job.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "returnAddress": {
      "description": "Specifies the return address information for the job. ",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "returnPackage": {
      "description": "Contains information about the package being shipped from the Microsoft data center to the customer to return the drives. The format is the same as the deliveryPackage property above. This property is not included if the drives have not yet been returned. ",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "returnShipping": {
      "description": "Specifies the return carrier and customer's account with the carrier. ",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "shippingInformation": {
      "description": "Contains information about the Microsoft datacenter to which the drives should be shipped. ",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "state": {
      "description": "Current state of the job.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountId": {
      "description": "The resource identifier of the storage account where data will be imported to or exported from.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "storageAccountId",
    "jobType",
    "returnAddress",
    "returnShipping",
    "shippingInformation",
    "deliveryPackage",
    "returnPackage",
    "diagnosticsPath",
    "logLevel",
    "backupDriveManifest",
    "state",
    "cancelRequested",
    "percentComplete",
    "incompleteBlobListUri",
    "driveList",
    "export",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Insights/ProactiveDetectionConfigs": {
  "api_version": "2018-05-01-preview",
  "full_properties": {
    "customEmails": {
      "description": "An array of emails to send the proactive detections to.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enabled": {
      "description": "the flag that indicates whether the proactive detection configuration rule is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "name": {
      "description": "the name of the proactive detection configuration rule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sendEmailsToSubscriptionOwners": {
      "description": "the flag that indicates whether the proactive detections should be sent to subscription owners.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "enabled",
    "sendEmailsToSubscriptionOwners",
    "customEmails"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Insights/actionGroups": {
  "api_version": "2018-03-01",
  "full_properties": {
    "automationRunbookReceivers": {
      "description": "The list of AutomationRunbook receivers that are part of this action group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "azureAppPushReceivers": {
      "description": "The list of AzureAppPush receivers that are part of this action group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "azureFunctionReceivers": {
      "description": "The list of AzureFunction receivers that are part of this action group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "emailReceivers": {
      "description": "The list of email receivers that are part of this action group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enabled": {
      "description": "Indicates whether this action group is enabled. If an action group is not enabled, then none of its receviers will receive communications.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "groupShortName": {
      "description": "The short name of the action group. This will be used in SMS messages.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "itsmReceivers": {
      "description": "The list of itsm receivers that are part of this action group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "logicAppReceivers": {
      "description": "The list of LogicApp receivers that are part of this action group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "smsReceivers": {
      "description": "The list of SMS receivers that are part of this action group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "voiceReceivers": {
      "description": "The list of voice receivers that are part of this action group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "webhookReceivers": {
      "description": "The list of webhook receivers that are part of this action group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "groupShortName",
    "enabled",
    "emailReceivers",
    "smsReceivers",
    "webhookReceivers",
    "itsmReceivers",
    "azureAppPushReceivers",
    "automationRunbookReceivers",
    "voiceReceivers",
    "logicAppReceivers",
    "azureFunctionReceivers"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Insights/activityLogAlerts": {
  "api_version": "2017-04-01",
  "full_properties": {
    "actions": {
      "description": "The actions that will activate when the condition is met.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "condition": {
      "description": "The conditon that will cause this alert to activate.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "A description of this activity log alert.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "enabled": {
      "description": "Indicates whether this activity log alert is enabled. If an activity log alert is not enabled, then none of its actions will be activated.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scopes": {
      "description": "A list of resourceIds that will be used as prefixes. The alert will only apply to activityLogs with resourceIds that fall under one of these prefixes. This list must include at least one item.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "scopes",
    "enabled",
    "condition",
    "actions",
    "description"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Insights/alertrules": {
  "api_version": "2014-04-01",
  "full_properties": {
    "action": {
      "description": "Microsoft.Insights/alertrules: The action that is performed when the alert rule becomes active, and when an alert condition is resolved.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "condition": {
      "description": "Microsoft.Insights/alertrules: The condition that results in the alert rule being activated.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Microsoft.Insights/alertrules: Description of the alert rule that will be included in the alert email.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "isEnabled": {
      "description": "Microsoft.Insights/alertrules: Indicates whether the alert rule is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "name": {
      "description": "Microsoft.Insights/alertrules: Name of the alert rule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "description",
    "isEnabled",
    "condition",
    "action"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties",
    "location"
  ]
},
"Microsoft.Insights/autoscalesettings": {
  "api_version": "2014-04-01",
  "full_properties": {
    "enabled": {
      "description": "Microsoft.Insights/autoscalesettings: Specifies whether automatic scaling is enabled for the resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "name": {
      "description": "Microsoft.Insights/autoscalesettings: The name of the autoscale setting.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "profiles": {
      "description": "Microsoft.Insights/autoscalesettings: Contains a collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResourceUri": {
      "description": "Microsoft.Insights/autoscalesettings: The resource identifier of the resource that the autoscale setting should be added to.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "profiles",
    "enabled",
    "name",
    "targetResourceUri"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties",
    "location"
  ]
},
"Microsoft.Insights/components": {
  "api_version": "2015-05-01",
  "full_properties": {
    "applicationId": {
      "description": "Microsoft.Insights/components: applicationId",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "applicationId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "kind",
    "properties"
  ]
},
"Microsoft.Insights/components/pricingPlans": {
  "api_version": "2017-10-01",
  "full_properties": {
    "cap": {
      "description": "Daily data volume cap in GB.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "planType": {
      "description": "Pricing Plan Type Name.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "stopSendNotificationWhenHitCap": {
      "description": "Do not send a notification email when the daily data volume cap is met.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "stopSendNotificationWhenHitThreshold": {
      "description": "Do not send a notification email when the daily data volume hit the warning threshold.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "warningThreshold": {
      "description": "warning threshold of daily volume cap.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "planType",
    "cap",
    "warningThreshold",
    "stopSendNotificationWhenHitThreshold",
    "stopSendNotificationWhenHitCap"
  ],
  "required": [
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Insights/metricAlerts": {
  "api_version": "2018-03-01",
  "full_properties": {
    "actions": {
      "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "criteria": {
      "description": "defines the specific alert criteria information.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "the description of the metric alert that will be included in the alert email.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "enabled": {
      "description": "the flag that indicates whether the metric alert is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "evaluationFrequency": {
      "description": "how often the metric alert is evaluated represented in ISO 8601 duration format.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "scopes": {
      "description": "the list of resource id's that this metric alert is scoped to.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "severity": {
      "description": "Alert severity {0, 1, 2, 3, 4}",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "windowSize": {
      "description": "the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "severity",
    "enabled",
    "scopes",
    "evaluationFrequency",
    "windowSize",
    "criteria",
    "actions"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Insights/scheduledQueryRules": {
  "api_version": "2018-04-16",
  "full_properties": {
    "action": {
      "description": "Action needs to be taken on rule execution.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of the Log Search rule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "enabled": {
      "description": "The flag which indicates whether the Log Search rule is enabled. Value should be true or false.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "schedule": {
      "description": "Schedule (Frequency, Time Window) for rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "source": {
      "description": "Data Source against which rule will Query Data",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "enabled",
    "source",
    "schedule",
    "action"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Insights/webtests": {
  "api_version": "2015-05-01",
  "full_properties": {
    "Configuration": {
      "description": "Microsoft.Insights/webtests: Configuration for the webtest.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "Description": {
      "description": "Microsoft.Insights/webtests: description of the webtest.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "Enabled": {
      "description": "Microsoft.Insights/webtests: Is the webtest enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "Frequency": {
      "description": "Microsoft.Insights/webtests: Frequency of the webtest.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "Locations": {
      "description": "Microsoft.Insights/webtests: Locations of the webtest.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "Name": {
      "description": "Microsoft.Insights/webtests: name of the webtest.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "SyntheticMonitorId": {
      "description": "Microsoft.Insights/webtests: Synthetic monitor id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "Timeout": {
      "description": "Microsoft.Insights/webtests: Timeout for the webtest.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Microsoft.Insights/webtests: provisioning state.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "provisioningState",
    "Name",
    "Description",
    "Enabled",
    "Frequency",
    "Timeout",
    "Locations",
    "Configuration",
    "SyntheticMonitorId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.IoTCentral/IoTApps": {
  "api_version": "2018-09-01",
  "full_properties": {
    "displayName": {
      "description": "The display name of the application.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subdomain": {
      "description": "The subdomain of the application.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "template": {
      "description": "The ID of the application template, which is a blueprint that defines the characteristics and behaviors of an application. Optional; if not specified, defaults to a blank blueprint and allows the application to be defined from scratch.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "displayName",
    "subdomain",
    "template"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties",
    "sku"
  ]
},
"Microsoft.KeyVault/vaults": {
  "api_version": "2016-10-01",
  "full_properties": {
    "accessPolicies": {
      "description": "Microsoft.KeyVault/vaults: Access policies",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "enabledForDeployment": {
      "description": "Microsoft.KeyVault/vaults: Enabled for deployment",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sku": {
      "description": "Microsoft.KeyVault/vaults: Sku",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "tenantId": {
      "description": "Microsoft.KeyVault/vaults: The tenant ID of the Azure Active Directory Tenant to use for authorization.",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sku",
    "tenantId",
    "accessPolicies",
    "enabledForDeployment"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.KeyVault/vaults/accessPolicies": {
  "api_version": "2016-10-01",
  "full_properties": {
    "accessPolicies": {
      "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "accessPolicies"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.KeyVault/vaults/secrets": {
  "api_version": "2016-10-01",
  "full_properties": {
    "attributes": {
      "description": "The attributes of the secret.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "contentType": {
      "description": "The content type of the secret.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning status of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uniqueIdentifier": {
      "description": "The unique immutable identifier of a resource (Guid).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "value": {
      "description": "The value of the secret. NOTE: 'value' will never be returned from the service, as APIs using this model are is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "value",
    "provisioningState",
    "uniqueIdentifier",
    "contentType",
    "attributes"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Kusto/clusters": {
  "api_version": "2018-09-07-preview",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "sku"
  ]
},
"Microsoft.Kusto/clusters/databases": {
  "api_version": "2018-09-07-preview",
  "full_properties": {
    "catalogCollation": {
      "description": "Collation of the metadata catalog.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "charset": {
      "description": "The charset of the database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "collation": {
      "description": "The collation of the database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "createMode": {
      "description": "Specifies the mode of database creation.\r\n\r\nDefault: regular database creation.\r\n\r\nCopy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\r\n\r\nSecondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\r\n\r\nPointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\r\n\r\nRecovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\r\n\r\nRestore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\r\n\r\nRestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\r\n\r\nCopy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "edition": {
      "description": "The edition of the database. The DatabaseEditions enumeration contains all the valid editions. If createMode is NonReadableSecondary or OnlineSecondary, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions -l westus --query [].name`.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "elasticPoolId": {
      "description": "The resource identifier of the elastic pool containing this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "elasticPoolName": {
      "description": "The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hotCachePeriodInDays": {
      "description": "The number of days of data that should be kept in cache for fast queries.",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "longTermRetentionBackupResourceId": {
      "description": "The resource identifier of the long term retention backup associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "maxSizeBytes": {
      "description": "The max size of the database expressed in bytes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "readScale": {
      "description": "Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "recoverableDatabaseId": {
      "description": "The resource identifier of the recoverable database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "recoveryServicesRecoveryPointId": {
      "description": "The resource identifier of the recovery point associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "recoveryServicesRecoveryPointResourceId": {
      "description": "Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "requestedServiceObjectiveId": {
      "description": "The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions --location <location> --query [].supportedServiceLevelObjectives[].name` .",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requestedServiceObjectiveName": {
      "description": "The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions --location <location> --query [].supportedServiceLevelObjectives[].name`.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "restorableDroppedDatabaseId": {
      "description": "The resource identifier of the restorable dropped database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "restorePointInTime": {
      "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sampleName": {
      "description": "The name of the sample schema to apply when creating this database.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "softDeletePeriodInDays": {
      "description": "The number of days data should be kept before it stops being accessible to queries.",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "sourceDatabaseDeletionDate": {
      "description": "Specifies the time that the database was deleted.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourceDatabaseId": {
      "description": "The resource identifier of the source database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "zoneRedundant": {
      "description": "Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "collation",
    "createMode",
    "sourceDatabaseId",
    "sourceDatabaseDeletionDate",
    "restorePointInTime",
    "recoveryServicesRecoveryPointResourceId",
    "edition",
    "maxSizeBytes",
    "requestedServiceObjectiveId",
    "requestedServiceObjectiveName",
    "elasticPoolName",
    "readScale",
    "sampleName",
    "zoneRedundant",
    "elasticPoolId",
    "recoveryServicesRecoveryPointId",
    "longTermRetentionBackupResourceId",
    "recoverableDatabaseId",
    "restorableDroppedDatabaseId",
    "catalogCollation",
    "softDeletePeriodInDays",
    "charset",
    "hotCachePeriodInDays"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Logic/integrationAccounts": {
  "api_version": "2016-06-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "type",
    "apiVersion"
  ]
},
"Microsoft.Logic/integrationAccounts/agreements": {
  "api_version": "2016-06-01",
  "full_properties": {
    "agreementType": {
      "description": "The agreement type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "content": {
      "description": "The content.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "guestIdentity": {
      "description": "The guest identity.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "guestPartner": {
      "description": "The guest partner.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hostIdentity": {
      "description": "The host identity.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hostPartner": {
      "description": "The host partner.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "hostPartner",
    "guestPartner",
    "hostIdentity",
    "guestIdentity",
    "agreementType",
    "content",
    "metadata"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Logic/integrationAccounts/assemblies": {
  "api_version": "2016-06-01",
  "full_properties": {
    "assemblyName": {
      "description": "The map type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "assemblyVersion": {
      "description": "The map type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "content": {
      "description": "The content.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "contentLink": {
      "description": "The content link properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "contentType": {
      "description": "The contentType.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "assemblyName",
    "assemblyVersion",
    "content",
    "contentLink",
    "contentType",
    "metadata"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Logic/integrationAccounts/batchConfigurations": {
  "api_version": "2016-06-01",
  "full_properties": {
    "batchGroupName": {
      "description": "The batch group name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "releaseCriteria": {
      "description": "The batch release criteria.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "batchGroupName",
    "releaseCriteria",
    "metadata"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Logic/integrationAccounts/certificates": {
  "api_version": "2016-06-01",
  "full_properties": {
    "key": {
      "description": "The key properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "publicCertificate": {
      "description": "The public certificate.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "publicCertificate",
    "key"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Logic/integrationAccounts/maps": {
  "api_version": "2016-06-01",
  "full_properties": {
    "content": {
      "description": "The content.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "contentLink": {
      "description": "The content link properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "contentType": {
      "description": "The contentType.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "mapType": {
      "description": "The map type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "mapType",
    "content",
    "contentLink",
    "contentType"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Logic/integrationAccounts/partners": {
  "api_version": "2016-06-01",
  "full_properties": {
    "content": {
      "description": "The content.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "partnerType": {
      "description": "The partner type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "partnerType",
    "metadata",
    "content"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Logic/integrationAccounts/schemas": {
  "api_version": "2016-06-01",
  "full_properties": {
    "content": {
      "description": "The content.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "contentLink": {
      "description": "The content link properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "contentType": {
      "description": "The contentType.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "documentName": {
      "description": "The document name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "schemaType": {
      "description": "The schema type.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "targetNamespace": {
      "description": "The target anmespace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "schemaType",
    "targetNamespace",
    "documentName",
    "content",
    "contentLink",
    "contentType",
    "metadata"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Logic/workflows": {
  "api_version": "2017-07-01",
  "full_properties": {
    "definition": {
      "description": "The definition.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "integrationAccount": {
      "description": "The integration account.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "The parameters.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sku": {
      "description": "The sku.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "state": {
      "description": "The state.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "state",
    "sku",
    "definition",
    "parameters",
    "integrationAccount"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.MachineLearning/commitmentPlans": {
  "api_version": "2016-05-01-preview",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "type",
    "apiVersion",
    "sku"
  ]
},
"Microsoft.MachineLearning/webServices": {
  "api_version": "2016-05-01-preview",
  "full_properties": {
    "assets": {
      "description": "Set of assets associated with the web service.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "commitmentPlan": {
      "description": "The commitment plan associated with this web service. This is required to be specified at creation time (PUT) and is not updateable afterwards.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of the Azure ML web service.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "diagnostics": {
      "description": "Settings controlling the diagnostics traces collection for the web service.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "exampleRequest": {
      "description": "Sample request data for each of the service's inputs, as applicable.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "exposeSampleData": {
      "description": "Flag that controls whether to expose sample data or not in the web service's swagger definition.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "input": {
      "description": "Swagger schema for the service's input(s), as applicable.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "keys": {
      "description": "The set of access keys for the web service. If not specified at creation time (PUT), they will be generated automatically by the resource provider.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "machineLearningWorkspace": {
      "description": "This is only populated at creation time (PUT) for web services originating from an AzureML Studio experiment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "output": {
      "description": "Swagger schema for the service's output(s), as applicable.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "package": {
      "description": "The definition of the graph package making up this web service.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "packageType": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "The set of global parameters values defined for the web service, given as a global parameter name to default value map. If no default value is specified, the parameter is considered to be required.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "readOnly": {
      "description": "If true, the web service can no longer be updated / patched, only removed. Otherwise, the service resource supports changes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "realtimeConfiguration": {
      "description": "Configuration for the service's realtime endpoint.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccount": {
      "description": "The storage account associated with the service. This is used to store both datasets and diagnostic traces. This information is required at creation time (PUT) and only the key is updateable after that. The account credentials are hidden on a GET web service call.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "title": {
      "description": "The title of the Azure ML web service.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "title",
    "description",
    "keys",
    "readOnly",
    "exposeSampleData",
    "realtimeConfiguration",
    "diagnostics",
    "storageAccount",
    "machineLearningWorkspace",
    "commitmentPlan",
    "input",
    "output",
    "exampleRequest",
    "assets",
    "parameters",
    "package",
    "packageType"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.MachineLearning/workspaces": {
  "api_version": "2016-04-01",
  "full_properties": {
    "applicationInsights": {
      "description": "ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "containerRegistry": {
      "description": "ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "customerId": {
      "description": "The ID associated with the workspace.  Setting this value at creation time allows the workspace being created to be linked to an existing workspace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of this workspace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "friendlyName": {
      "description": "The friendly name for this workspace. This name in mutable",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "keyVault": {
      "description": "ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "keyVaultIdentifierId": {
      "description": "Optional. Key Vault Identifier URI to create encrypted workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "ownerEmail": {
      "description": "Optional. OwnerEmail for the workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "portalUrl": {
      "description": "The URL of the Operational Insights portal for this workspace.  This value is set on the service side and read-only on the client side.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the workspace.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "retentionInDays": {
      "description": "The workspace data retention in days. -1 means Unlimited retention for the Unlimited Sku. 730 days is the maximum allowed for all other Skus. ",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sku": {
      "description": "The SKU of the workspace.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "source": {
      "description": "The source of the workspace.  Source defines where the workspace was created. 'Azure' implies it was created in Azure.  'External' implies it was created via the Operational Insights Portal. This value is set on the service side and read-only on the client side.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccount": {
      "description": "ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "userStorageAccountId": {
      "description": "Arm Id for user storage account to be used by workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "provisioningState",
    "source",
    "customerId",
    "portalUrl",
    "sku",
    "retentionInDays",
    "userStorageAccountId",
    "ownerEmail",
    "keyVaultIdentifierId",
    "description",
    "friendlyName",
    "keyVault",
    "applicationInsights",
    "containerRegistry",
    "storageAccount"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.MachineLearningExperimentation/accounts": {
  "api_version": "2017-05-01-preview",
  "full_properties": {
    "description": {
      "description": "The description of this workspace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "friendlyName": {
      "description": "The friendly name for this workspace. This will be the workspace name in the arm id when the workspace object gets created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "keyVaultId": {
      "description": "The fully qualified arm id of the user key vault.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "seats": {
      "description": "The no of users/seats who can access this team account. This property defines the charge on the team account.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccount": {
      "description": "The properties of the storage account for the machine learning team account.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vsoAccountId": {
      "description": "The fully qualified arm id of the vso account to be used for this team account.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "vsoAccountId",
    "description",
    "friendlyName",
    "keyVaultId",
    "seats",
    "storageAccount"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.MachineLearningExperimentation/accounts/workspaces": {
  "api_version": "2017-05-01-preview",
  "full_properties": {
    "applicationInsights": {
      "description": "ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "containerRegistry": {
      "description": "ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "customerId": {
      "description": "The ID associated with the workspace.  Setting this value at creation time allows the workspace being created to be linked to an existing workspace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of this workspace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "friendlyName": {
      "description": "The friendly name for this workspace. This name in mutable",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "keyVault": {
      "description": "ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "keyVaultIdentifierId": {
      "description": "Optional. Key Vault Identifier URI to create encrypted workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "ownerEmail": {
      "description": "Optional. OwnerEmail for the workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "portalUrl": {
      "description": "The URL of the Operational Insights portal for this workspace.  This value is set on the service side and read-only on the client side.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the workspace.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "retentionInDays": {
      "description": "The workspace data retention in days. -1 means Unlimited retention for the Unlimited Sku. 730 days is the maximum allowed for all other Skus. ",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sku": {
      "description": "The SKU of the workspace.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "source": {
      "description": "The source of the workspace.  Source defines where the workspace was created. 'Azure' implies it was created in Azure.  'External' implies it was created via the Operational Insights Portal. This value is set on the service side and read-only on the client side.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccount": {
      "description": "ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "userStorageAccountId": {
      "description": "Arm Id for user storage account to be used by workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "provisioningState",
    "source",
    "customerId",
    "portalUrl",
    "sku",
    "retentionInDays",
    "userStorageAccountId",
    "ownerEmail",
    "keyVaultIdentifierId",
    "description",
    "friendlyName",
    "keyVault",
    "applicationInsights",
    "containerRegistry",
    "storageAccount"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.MachineLearningExperimentation/accounts/workspaces/projects": {
  "api_version": "2017-05-01-preview",
  "full_properties": {
    "customerWorkspaceId": {
      "description": "ARM ID of the Service Map workspace created by user.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "customerWorkspaceLocation": {
      "description": "Location of the Service Map workspace created by user.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "databasesInfo": {
      "description": "List of DatabaseInfo",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of this project.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "friendlyName": {
      "description": "The friendly name for this project.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "gitrepo": {
      "description": "The reference to git repo for this project.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Provisioning state of the project.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourceConnectionInfo": {
      "description": "Information for connecting to source",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourcePlatform": {
      "description": "Source platform for the project.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetConnectionInfo": {
      "description": "Information for connecting to target",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetPlatform": {
      "description": "Target platform for the project.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "gitrepo",
    "friendlyName",
    "sourcePlatform",
    "targetPlatform",
    "sourceConnectionInfo",
    "targetConnectionInfo",
    "databasesInfo",
    "customerWorkspaceId",
    "customerWorkspaceLocation",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.MachineLearningModelManagement/accounts": {
  "api_version": "2017-09-01-preview",
  "full_properties": {
    "description": {
      "description": "The description of the model management account.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.MachineLearningServices/workspaces": {
  "api_version": "2018-03-01-preview",
  "full_properties": {
    "applicationInsights": {
      "description": "ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "containerRegistry": {
      "description": "ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "customerId": {
      "description": "The ID associated with the workspace.  Setting this value at creation time allows the workspace being created to be linked to an existing workspace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of this workspace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "friendlyName": {
      "description": "The friendly name for this workspace. This name in mutable",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "keyVault": {
      "description": "ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "keyVaultIdentifierId": {
      "description": "Optional. Key Vault Identifier URI to create encrypted workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "ownerEmail": {
      "description": "Optional. OwnerEmail for the workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "portalUrl": {
      "description": "The URL of the Operational Insights portal for this workspace.  This value is set on the service side and read-only on the client side.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the workspace.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "retentionInDays": {
      "description": "The workspace data retention in days. -1 means Unlimited retention for the Unlimited Sku. 730 days is the maximum allowed for all other Skus. ",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sku": {
      "description": "The SKU of the workspace.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "source": {
      "description": "The source of the workspace.  Source defines where the workspace was created. 'Azure' implies it was created in Azure.  'External' implies it was created via the Operational Insights Portal. This value is set on the service side and read-only on the client side.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccount": {
      "description": "ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "userStorageAccountId": {
      "description": "Arm Id for user storage account to be used by workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "provisioningState",
    "source",
    "customerId",
    "portalUrl",
    "sku",
    "retentionInDays",
    "userStorageAccountId",
    "ownerEmail",
    "keyVaultIdentifierId",
    "description",
    "friendlyName",
    "keyVault",
    "applicationInsights",
    "containerRegistry",
    "storageAccount"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Maps/accounts": {
  "api_version": "2018-05-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "sku"
  ]
},
"Microsoft.Media/mediaServices": {
  "api_version": "2018-07-01",
  "full_properties": {
    "storageAccounts": {
      "description": "The storage accounts for this resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "storageAccounts"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Media/mediaServices/accountFilters": {
  "api_version": "2018-07-01",
  "full_properties": {
    "firstQuality": {
      "description": "The first quality.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "presentationTimeRange": {
      "description": "The presentation time range.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "tracks": {
      "description": "The tracks selection conditions.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "presentationTimeRange",
    "firstQuality",
    "tracks"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Media/mediaServices/assets": {
  "api_version": "2018-07-01",
  "full_properties": {
    "alternateId": {
      "description": "The alternate ID of the Asset.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "container": {
      "description": "The name of the asset blob container.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "The Asset description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountName": {
      "description": "The name of the storage account.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "alternateId",
    "description",
    "container",
    "storageAccountName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Media/mediaServices/assets/assetFilters": {
  "api_version": "2018-07-01",
  "full_properties": {
    "firstQuality": {
      "description": "The first quality.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "presentationTimeRange": {
      "description": "The presentation time range.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "tracks": {
      "description": "The tracks selection conditions.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "presentationTimeRange",
    "firstQuality",
    "tracks"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Media/mediaServices/contentKeyPolicies": {
  "api_version": "2018-07-01",
  "full_properties": {
    "description": {
      "description": "A description for the Policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "options": {
      "description": "The Key Policy options.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "options"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Media/mediaServices/liveEvents": {
  "api_version": "2018-07-01",
  "full_properties": {
    "crossSiteAccessPolicies": {
      "description": "The Live Event access policies.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The Live Event description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "encoding": {
      "description": "The Live Event encoding.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "input": {
      "description": "The Live Event input.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "preview": {
      "description": "The Live Event preview.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "streamOptions": {
      "description": "The options to use for the LiveEvent.  This value is specified at creation time and cannot be updated.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vanityUrl": {
      "description": "Specifies whether to use a vanity url with the Live Event.  This value is specified at creation time and cannot be updated.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "input",
    "preview",
    "encoding",
    "crossSiteAccessPolicies",
    "vanityUrl",
    "streamOptions"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Media/mediaServices/liveEvents/liveOutputs": {
  "api_version": "2018-07-01",
  "full_properties": {
    "archiveWindowLength": {
      "description": "ISO 8601 timespan duration of the archive window length. This is duration that customer want to retain the recorded content.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "assetName": {
      "description": "The asset name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of the Live Output.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hls": {
      "description": "The HLS configuration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "manifestName": {
      "description": "The manifest file name.  If not provided, the service will generate one automatically.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "outputSnapTime": {
      "description": "The output snapshot time.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "assetName",
    "archiveWindowLength",
    "manifestName",
    "hls",
    "outputSnapTime"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Media/mediaServices/streamingEndpoints": {
  "api_version": "2018-07-01",
  "full_properties": {
    "accessControl": {
      "description": "The access control definition of the StreamingEndpoint.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "availabilitySetName": {
      "description": "The name of the AvailabilitySet used with this StreamingEndpoint for high availability streaming.  This value can only be set at creation time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "cdnEnabled": {
      "description": "The CDN enabled flag.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "cdnProfile": {
      "description": "The CDN profile name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "cdnProvider": {
      "description": "The CDN provider name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "crossSiteAccessPolicies": {
      "description": "The StreamingEndpoint access policies.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customHostNames": {
      "description": "The custom host names of the StreamingEndpoint",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The StreamingEndpoint description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "maxCacheAge": {
      "description": "Max cache age",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scaleUnits": {
      "description": "The number of scale units.  Use the Scale operation to adjust this value.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "scaleUnits",
    "availabilitySetName",
    "accessControl",
    "maxCacheAge",
    "customHostNames",
    "cdnEnabled",
    "cdnProvider",
    "cdnProfile",
    "crossSiteAccessPolicies"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Media/mediaServices/streamingLocators": {
  "api_version": "2018-07-01",
  "full_properties": {
    "alternativeMediaId": {
      "description": "Alternative Media ID of this Streaming Locator",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "assetName": {
      "description": "Asset Name",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "contentKeys": {
      "description": "The ContentKeys used by this Streaming Locator.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "defaultContentKeyPolicyName": {
      "description": "Name of the default ContentKeyPolicy used by this Streaming Locator.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "endTime": {
      "description": "The end time of the Streaming Locator.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "startTime": {
      "description": "The start time of the Streaming Locator.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "streamingLocatorId": {
      "description": "The StreamingLocatorId of the Streaming Locator.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "streamingPolicyName": {
      "description": "Name of the Streaming Policy used by this Streaming Locator. Either specify the name of Streaming Policy you created or use one of the predefined Streaming Policies. The predefined Streaming Policies available are: 'Predefined_DownloadOnly', 'Predefined_ClearStreamingOnly', 'Predefined_DownloadAndClearStreaming', 'Predefined_ClearKey', 'Predefined_MultiDrmCencStreaming' and 'Predefined_MultiDrmStreaming'",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "assetName",
    "startTime",
    "endTime",
    "streamingLocatorId",
    "streamingPolicyName",
    "defaultContentKeyPolicyName",
    "contentKeys",
    "alternativeMediaId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Media/mediaServices/streamingPolicies": {
  "api_version": "2018-07-01",
  "full_properties": {
    "commonEncryptionCbcs": {
      "description": "Configuration of CommonEncryptionCbcs",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "commonEncryptionCenc": {
      "description": "Configuration of CommonEncryptionCenc",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "defaultContentKeyPolicyName": {
      "description": "Default ContentKey used by current Streaming Policy",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "envelopeEncryption": {
      "description": "Configuration of EnvelopeEncryption",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "noEncryption": {
      "description": "Configurations of NoEncryption",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "defaultContentKeyPolicyName",
    "envelopeEncryption",
    "commonEncryptionCenc",
    "commonEncryptionCbcs",
    "noEncryption"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Media/mediaServices/transforms": {
  "api_version": "2018-07-01",
  "full_properties": {
    "description": {
      "description": "An optional verbose description of the Transform.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "outputs": {
      "description": "An array of one or more TransformOutputs that the Transform should generate.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "outputs"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Media/mediaServices/transforms/jobs": {
  "api_version": "2018-07-01",
  "full_properties": {
    "action": {
      "description": "Gets or sets the job action.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "correlationData": {
      "description": "Customer provided correlation data that will be returned in Job and JobOutput state events.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Optional customer supplied description of the Job.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "input": {
      "description": "The inputs for the Job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "outputs": {
      "description": "The outputs for the Job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "priority": {
      "description": "Priority with which the job should be processed. Higher priority jobs are processed before lower priority jobs. If not set, the default is normal.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "recurrence": {
      "description": "Gets or sets the job recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "schedule": {
      "description": "Schedule properties of the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "startTime": {
      "description": "Gets or sets the job start time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "state": {
      "description": "Gets or set the job state. Possible values include: 'Enabled', 'Disabled', 'Faulted', 'Completed'",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "startTime",
    "action",
    "recurrence",
    "state",
    "description",
    "schedule",
    "input",
    "outputs",
    "priority",
    "correlationData"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Migrate/projects": {
  "api_version": "2018-02-02",
  "full_properties": {
    "customerWorkspaceId": {
      "description": "ARM ID of the Service Map workspace created by user.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "customerWorkspaceLocation": {
      "description": "Location of the Service Map workspace created by user.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "databasesInfo": {
      "description": "List of DatabaseInfo",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of this project.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "friendlyName": {
      "description": "The friendly name for this project.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "gitrepo": {
      "description": "The reference to git repo for this project.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Provisioning state of the project.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourceConnectionInfo": {
      "description": "Information for connecting to source",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourcePlatform": {
      "description": "Source platform for the project.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetConnectionInfo": {
      "description": "Information for connecting to target",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetPlatform": {
      "description": "Target platform for the project.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "gitrepo",
    "friendlyName",
    "sourcePlatform",
    "targetPlatform",
    "sourceConnectionInfo",
    "targetConnectionInfo",
    "databasesInfo",
    "customerWorkspaceId",
    "customerWorkspaceLocation",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Migrate/projects/groups": {
  "api_version": "2018-02-02",
  "full_properties": {
    "machines": {
      "description": "List of machine names that are part of this group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "machines"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Migrate/projects/groups/assessments": {
  "api_version": "2018-02-02",
  "full_properties": {
    "azureHybridUseBenefit": {
      "description": "AHUB discount on windows virtual machines.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "azureLocation": {
      "description": "Target Azure location for which the machines should be assessed. These enums are the same as used by Compute API.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "azureOfferCode": {
      "description": "Offer code according to which cost estimation is done.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "azurePricingTier": {
      "description": "Pricing tier for Size evaluation.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "azureStorageRedundancy": {
      "description": "Storage Redundancy type offered by Azure.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "currency": {
      "description": "Currency to report prices in.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "discountPercentage": {
      "description": "Custom discount percentage to be applied on final costs. Can be in the range [0, 100].",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "percentile": {
      "description": "Percentile of performance data used to recommend Azure size.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scalingFactor": {
      "description": "Scaling factor used over utilization data to add a performance buffer for new machines to be created in Azure. Min Value = 1.0, Max value = 1.9, Default = 1.3.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sizingCriterion": {
      "description": "Assessment sizing criterion.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "stage": {
      "description": "User configurable setting that describes the status of the assessment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "timeRange": {
      "description": "Time range of performance data used to recommend a size.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "azureLocation",
    "azureOfferCode",
    "azurePricingTier",
    "azureStorageRedundancy",
    "scalingFactor",
    "percentile",
    "timeRange",
    "stage",
    "currency",
    "azureHybridUseBenefit",
    "discountPercentage",
    "sizingCriterion"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/ExpressRoutePorts": {
  "api_version": "2018-08-01",
  "full_properties": {
    "bandwidthInGbps": {
      "description": "Bandwidth of procured ports in Gbps",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "encapsulation": {
      "description": "Encapsulation method on physical ports.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "links": {
      "description": "The set of physical links of the ExpressRoutePort resource",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "peeringLocation": {
      "description": "The name of the peering location that the ExpressRoutePort is mapped to physically.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "resourceGuid": {
      "description": "The resource GUID property of the ExpressRoutePort resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "peeringLocation",
    "bandwidthInGbps",
    "encapsulation",
    "links",
    "resourceGuid"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/FrontDoorWebApplicationFirewallPolicies": {
  "api_version": "2018-08-01",
  "full_properties": {
    "customRules": {
      "description": "Describes custom rules inside the policy",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "managedRules": {
      "description": "Describes managed rules inside the policy",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "policySettings": {
      "description": "Describes  policySettings for policy",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "policySettings",
    "customRules",
    "managedRules"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/applicationGateways": {
  "api_version": "2018-08-01",
  "full_properties": {
    "authenticationCertificates": {
      "description": "Authentication certificates of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "autoscaleConfiguration": {
      "description": "Autoscale Configuration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "backendAddressPools": {
      "description": "Backend address pool of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "backendHttpSettingsCollection": {
      "description": "Backend http settings of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customErrorConfigurations": {
      "description": "Custom error configurations of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableFips": {
      "description": "Whether FIPS is enabled on the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableHttp2": {
      "description": "Whether HTTP2 is enabled on the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "frontendIPConfigurations": {
      "description": "Frontend IP addresses of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "frontendPorts": {
      "description": "Frontend ports of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "gatewayIPConfigurations": {
      "description": "Subnets of application the gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "httpListeners": {
      "description": "Http listeners of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "probes": {
      "description": "Probes of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Provisioning state of the application gateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "redirectConfigurations": {
      "description": "Redirect configurations of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requestRoutingRules": {
      "description": "Request routing rules of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceGuid": {
      "description": "Resource GUID property of the application gateway resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sku": {
      "description": "SKU of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sslCertificates": {
      "description": "SSL certificates of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sslPolicy": {
      "description": "SSL policy of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "trustedRootCertificates": {
      "description": "Trusted Root certificates of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "urlPathMaps": {
      "description": "URL path map of the application gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "webApplicationFirewallConfiguration": {
      "description": "Web application firewall configuration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sku",
    "sslPolicy",
    "gatewayIPConfigurations",
    "authenticationCertificates",
    "sslCertificates",
    "frontendIPConfigurations",
    "frontendPorts",
    "probes",
    "backendAddressPools",
    "backendHttpSettingsCollection",
    "httpListeners",
    "urlPathMaps",
    "requestRoutingRules",
    "redirectConfigurations",
    "webApplicationFirewallConfiguration",
    "resourceGuid",
    "provisioningState",
    "enableHttp2",
    "trustedRootCertificates",
    "enableFips",
    "autoscaleConfiguration",
    "customErrorConfigurations"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/applicationSecurityGroups": {
  "api_version": "2018-08-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/azureFirewalls": {
  "api_version": "2018-08-01",
  "full_properties": {
    "applicationRuleCollections": {
      "description": "Collection of application rule collections used by Azure Firewall.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ipConfigurations": {
      "description": "IP configuration of the Azure Firewall resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "natRuleCollections": {
      "description": "Collection of NAT rule collections used by Azure Firewall.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "networkRuleCollections": {
      "description": "Collection of network rule collections used by Azure Firewall.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "applicationRuleCollections",
    "natRuleCollections",
    "networkRuleCollections",
    "ipConfigurations",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/connections": {
  "api_version": "2018-08-01",
  "full_properties": {
    "authorizationKey": {
      "description": "The authorizationKey.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "connectionProtocol": {
      "description": "Connection protocol used for this connection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "connectionType": {
      "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableBgp": {
      "description": "EnableBgp flag",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "expressRouteGatewayBypass": {
      "description": "Bypass ExpressRoute Gateway for data forwarding",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ipsecPolicies": {
      "description": "The IPSec Policies to be considered by this connection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "localNetworkGateway2": {
      "description": "The reference to local network gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "peer": {
      "description": "The reference to peerings resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceGuid": {
      "description": "The resource GUID property of the VirtualNetworkGatewayConnection resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "routingWeight": {
      "description": "The routing weight.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sharedKey": {
      "description": "The IPSec shared key.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "usePolicyBasedTrafficSelectors": {
      "description": "Enable policy-based traffic selectors.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualNetworkGateway1": {
      "description": "The reference to virtual network gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualNetworkGateway2": {
      "description": "The reference to virtual network gateway resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "authorizationKey",
    "virtualNetworkGateway1",
    "virtualNetworkGateway2",
    "localNetworkGateway2",
    "connectionType",
    "routingWeight",
    "sharedKey",
    "peer",
    "enableBgp",
    "usePolicyBasedTrafficSelectors",
    "ipsecPolicies",
    "resourceGuid",
    "connectionProtocol",
    "expressRouteGatewayBypass"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/ddosProtectionPlans": {
  "api_version": "2018-08-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnsZones": {
  "api_version": "2018-05-01",
  "full_properties": {
    "maxNumberOfRecordSets": {
      "description": "Gets or sets the maximum number of record sets that can be created in this zone.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "numberOfRecordSets": {
      "description": "Gets or sets the current number of record sets in this zone.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "registrationVirtualNetworks": {
      "description": "A list of references to virtual networks that register hostnames in this DNS zone. This is a only when ZoneType is Private.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resolutionVirtualNetworks": {
      "description": "A list of references to virtual networks that resolve records in this DNS zone. This is a only when ZoneType is Private.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "zoneType": {
      "description": "The type of this DNS zone (Public or Private).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "maxNumberOfRecordSets",
    "numberOfRecordSets",
    "zoneType",
    "registrationVirtualNetworks",
    "resolutionVirtualNetworks"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/dnsZones/A": {
  "api_version": "2018-05-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnsZones/AAAA": {
  "api_version": "2018-05-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnsZones/CAA": {
  "api_version": "2018-05-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnsZones/CNAME": {
  "api_version": "2018-05-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnsZones/MX": {
  "api_version": "2018-05-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnsZones/NS": {
  "api_version": "2018-05-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnsZones/PTR": {
  "api_version": "2018-05-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnsZones/SOA": {
  "api_version": "2018-05-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnsZones/SRV": {
  "api_version": "2018-05-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnsZones/TXT": {
  "api_version": "2018-05-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnszones": {
  "api_version": "2016-04-01",
  "full_properties": {
    "maxNumberOfRecordSets": {
      "description": "Gets or sets the maximum number of record sets that can be created in this zone.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "numberOfRecordSets": {
      "description": "Gets or sets the current number of record sets in this zone.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "registrationVirtualNetworks": {
      "description": "A list of references to virtual networks that register hostnames in this DNS zone. This is a only when ZoneType is Private.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resolutionVirtualNetworks": {
      "description": "A list of references to virtual networks that resolve records in this DNS zone. This is a only when ZoneType is Private.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "zoneType": {
      "description": "The type of this DNS zone (Public or Private).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "maxNumberOfRecordSets",
    "numberOfRecordSets",
    "zoneType",
    "registrationVirtualNetworks",
    "resolutionVirtualNetworks"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnszones/A": {
  "api_version": "2016-04-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnszones/AAAA": {
  "api_version": "2016-04-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnszones/CNAME": {
  "api_version": "2016-04-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnszones/MX": {
  "api_version": "2016-04-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnszones/NS": {
  "api_version": "2016-04-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnszones/PTR": {
  "api_version": "2016-04-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnszones/SOA": {
  "api_version": "2016-04-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnszones/SRV": {
  "api_version": "2016-04-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/dnszones/TXT": {
  "api_version": "2016-04-01",
  "full_properties": {
    "AAAARecords": {
      "description": "The list of AAAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ARecords": {
      "description": "The list of A records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "CNAMERecord": {
      "description": "The CNAME record in the  record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "MXRecords": {
      "description": "The list of MX records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "NSRecords": {
      "description": "The list of NS records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "PTRRecords": {
      "description": "The list of PTR records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SOARecord": {
      "description": "The SOA record in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "SRVRecords": {
      "description": "The list of SRV records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TTL": {
      "description": "The TTL (time-to-live) of the records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "TXTRecords": {
      "description": "The list of TXT records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "caaRecords": {
      "description": "The list of CAA records in the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "The metadata attached to the record set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetResource": {
      "description": "A reference to an azure resource from where the dns resource value is taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "TTL",
    "ARecords",
    "AAAARecords",
    "MXRecords",
    "NSRecords",
    "PTRRecords",
    "SRVRecords",
    "TXTRecords",
    "CNAMERecord",
    "SOARecord",
    "metadata",
    "caaRecords",
    "targetResource"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/expressRouteCircuits": {
  "api_version": "2018-08-01",
  "full_properties": {
    "allowClassicOperations": {
      "description": "Allow classic operations",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "allowGlobalReach": {
      "description": "Flag to enable Global Reach on the circuit.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "authorizations": {
      "description": "The list of authorizations.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "bandwidthInGbps": {
      "description": "The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "circuitProvisioningState": {
      "description": "The CircuitProvisioningState state of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expressRoutePort": {
      "description": "The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "gatewayManagerEtag": {
      "description": "The GatewayManager Etag.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "peerings": {
      "description": "The list of peerings.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serviceKey": {
      "description": "The ServiceKey.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serviceProviderNotes": {
      "description": "The ServiceProviderNotes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serviceProviderProperties": {
      "description": "The ServiceProviderProperties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "serviceProviderProvisioningState": {
      "description": "The ServiceProviderProvisioningState state of the resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "allowClassicOperations",
    "circuitProvisioningState",
    "serviceProviderProvisioningState",
    "authorizations",
    "peerings",
    "serviceKey",
    "serviceProviderNotes",
    "serviceProviderProperties",
    "provisioningState",
    "gatewayManagerEtag",
    "expressRoutePort",
    "bandwidthInGbps",
    "allowGlobalReach"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/expressRouteCircuits/authorizations": {
  "api_version": "2018-08-01",
  "full_properties": {
    "authorizationKey": {
      "description": "The authorization key.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "authorizationUseStatus": {
      "description": "AuthorizationUseStatus. Possible values are: 'Available' and 'InUse'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "authorizationKey",
    "authorizationUseStatus",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/expressRouteCircuits/peerings": {
  "api_version": "2018-08-01",
  "full_properties": {
    "azureASN": {
      "description": "The Azure ASN.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "connections": {
      "description": "The list of circuit connections associated with Azure Private Peering for this circuit.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "expressRouteConnection": {
      "description": "The ExpressRoute connection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "gatewayManagerEtag": {
      "description": "The GatewayManager Etag.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "ipv6PeeringConfig": {
      "description": "The IPv6 peering configuration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "lastModifiedBy": {
      "description": "Gets whether the provider or the customer last modified the peering.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "microsoftPeeringConfig": {
      "description": "The Microsoft peering configuration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "peerASN": {
      "description": "The peer ASN.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "peeringType": {
      "description": "The peering type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "primaryAzurePort": {
      "description": "The primary port.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "primaryPeerAddressPrefix": {
      "description": "The primary address prefix.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "routeFilter": {
      "description": "The reference of the RouteFilter resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "secondaryAzurePort": {
      "description": "The secondary port.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "secondaryPeerAddressPrefix": {
      "description": "The secondary address prefix.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sharedKey": {
      "description": "The shared key.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "state": {
      "description": "The peering state.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "stats": {
      "description": "Gets peering stats.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vlanId": {
      "description": "The VLAN ID.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "peeringType",
    "state",
    "azureASN",
    "peerASN",
    "primaryPeerAddressPrefix",
    "secondaryPeerAddressPrefix",
    "primaryAzurePort",
    "secondaryAzurePort",
    "sharedKey",
    "vlanId",
    "microsoftPeeringConfig",
    "stats",
    "provisioningState",
    "gatewayManagerEtag",
    "lastModifiedBy",
    "routeFilter",
    "ipv6PeeringConfig",
    "connections",
    "expressRouteConnection"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/expressRouteCircuits/peerings/connections": {
  "api_version": "2018-08-01",
  "full_properties": {
    "addressPrefix": {
      "description": "/29 IP address space to carve out Customer addresses for tunnels.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "authorizationKey": {
      "description": "The authorization key.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expressRouteCircuitPeering": {
      "description": "Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "peerExpressRouteCircuitPeering": {
      "description": "Reference to Express Route Circuit Private Peering Resource of the peered circuit.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "expressRouteCircuitPeering",
    "peerExpressRouteCircuitPeering",
    "addressPrefix",
    "authorizationKey"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/expressRouteCrossConnections": {
  "api_version": "2018-08-01",
  "full_properties": {
    "bandwidthInMbps": {
      "description": "The circuit bandwidth In Mbps.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "expressRouteCircuit": {
      "description": "The ExpressRouteCircuit",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "peeringLocation": {
      "description": "The peering location of the ExpressRoute circuit.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "peerings": {
      "description": "The list of peerings.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "serviceProviderNotes": {
      "description": "Additional read only notes set by the connectivity provider.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serviceProviderProvisioningState": {
      "description": "The provisioning state of the circuit in the connectivity provider system. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "serviceProviderProvisioningState",
    "serviceProviderNotes",
    "peerings",
    "peeringLocation",
    "bandwidthInMbps",
    "expressRouteCircuit"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/expressRouteCrossConnections/peerings": {
  "api_version": "2018-08-01",
  "full_properties": {
    "gatewayManagerEtag": {
      "description": "The GatewayManager Etag.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "ipv6PeeringConfig": {
      "description": "The IPv6 peering configuration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "lastModifiedBy": {
      "description": "Gets whether the provider or the customer last modified the peering.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "microsoftPeeringConfig": {
      "description": "The Microsoft peering configuration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "peerASN": {
      "description": "The peer ASN.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "peeringType": {
      "description": "The peering type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "primaryPeerAddressPrefix": {
      "description": "The primary address prefix.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "secondaryPeerAddressPrefix": {
      "description": "The secondary address prefix.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sharedKey": {
      "description": "The shared key.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "state": {
      "description": "The peering state.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vlanId": {
      "description": "The VLAN ID.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "peeringType",
    "state",
    "peerASN",
    "primaryPeerAddressPrefix",
    "secondaryPeerAddressPrefix",
    "sharedKey",
    "vlanId",
    "microsoftPeeringConfig",
    "lastModifiedBy",
    "ipv6PeeringConfig",
    "gatewayManagerEtag"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/expressRouteGateways": {
  "api_version": "2018-08-01",
  "full_properties": {
    "autoScaleConfiguration": {
      "description": "Configuration for auto scaling.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualHub": {
      "description": "The Virtual Hub where the ExpressRoute gateway is or will be deployed.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "autoScaleConfiguration",
    "virtualHub"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/expressRouteGateways/expressRouteConnections": {
  "api_version": "2018-08-01",
  "full_properties": {
    "authorizationKey": {
      "description": "Authorization key to establish the connection.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expressRouteCircuitPeering": {
      "description": "The ExpressRoute circuit peering.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "routingWeight": {
      "description": "The routing weight associated to the connection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "expressRouteCircuitPeering",
    "authorizationKey",
    "routingWeight"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/frontDoors": {
  "api_version": "2018-08-01",
  "full_properties": {
    "backendPools": {
      "description": "Backend pools available to routing rules.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enabledState": {
      "description": "Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "friendlyName": {
      "description": "A friendly name for the frontDoor",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "frontendEndpoints": {
      "description": "Frontend endpoints available to routing rules.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "healthProbeSettings": {
      "description": "Health probe settings associated with this Front Door instance.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "loadBalancingSettings": {
      "description": "Load balancing settings associated with this Front Door instance.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceState": {
      "description": "Resource status of the Front Door.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "routingRules": {
      "description": "Routing rules associated with this Front Door.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "friendlyName",
    "routingRules",
    "loadBalancingSettings",
    "healthProbeSettings",
    "backendPools",
    "frontendEndpoints",
    "enabledState",
    "resourceState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/frontDoors/backendPools": {
  "api_version": "2018-08-01",
  "full_properties": {
    "backends": {
      "description": "The set of backends for this pool",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "healthProbeSettings": {
      "description": "L7 health probe settings for a backend pool",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "loadBalancingSettings": {
      "description": "Load balancing settings for a backend pool",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceState": {
      "description": "Resource status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "backends",
    "loadBalancingSettings",
    "healthProbeSettings",
    "resourceState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/frontDoors/healthProbeSettings": {
  "api_version": "2018-08-01",
  "full_properties": {
    "intervalInSeconds": {
      "description": "The number of seconds between health probes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "path": {
      "description": "The path to use for the health probe. Default is /",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "protocol": {
      "description": "Protocol scheme to use for this probe.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceState": {
      "description": "Resource status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "path",
    "protocol",
    "intervalInSeconds",
    "resourceState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/frontDoors/loadBalancingSettings": {
  "api_version": "2018-08-01",
  "full_properties": {
    "additionalLatencyMilliseconds": {
      "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceState": {
      "description": "Resource status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sampleSize": {
      "description": "The number of samples to consider for load balancing decisions",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "successfulSamplesRequired": {
      "description": "The number of samples within the sample period that must succeed",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sampleSize",
    "successfulSamplesRequired",
    "additionalLatencyMilliseconds",
    "resourceState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/frontDoors/routingRules": {
  "api_version": "2018-08-01",
  "full_properties": {
    "acceptedProtocols": {
      "description": "Protocol schemes to match for this rule",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "backendPool": {
      "description": "A reference to the BackendPool which this rule routes to.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "cacheConfiguration": {
      "description": "The caching configuration associated with this rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customForwardingPath": {
      "description": "A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "enabledState": {
      "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "forwardingProtocol": {
      "description": "Protocol this rule will use when forwarding traffic to backends.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "frontendEndpoints": {
      "description": "Frontend endpoints associated with this rule",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "patternsToMatch": {
      "description": "The route patterns of the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceState": {
      "description": "Resource status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "frontendEndpoints",
    "acceptedProtocols",
    "patternsToMatch",
    "customForwardingPath",
    "forwardingProtocol",
    "cacheConfiguration",
    "backendPool",
    "enabledState",
    "resourceState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/interfaceEndpoints": {
  "api_version": "2018-08-01",
  "full_properties": {
    "endpointService": {
      "description": "A reference to the service being brought into the virtual network.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "fqdn": {
      "description": "A first-party service's FQDN that is mapped to the private IP allocated via this interface endpoint.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "subnet": {
      "description": "The ID of the subnet from which the private IP will be allocated.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "fqdn",
    "endpointService",
    "subnet"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/loadBalancers": {
  "api_version": "2018-08-01",
  "full_properties": {
    "backendAddressPools": {
      "description": "Microsoft.Network/loadBalancers: Backend address pools",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "frontendIPConfigurations": {
      "description": "Microsoft.Network/loadBalancers: Frontend IP configurations",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "inboundNatPools": {
      "description": "Microsoft.Network/loadBalancers: Inbound NAT pools",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "inboundNatRules": {
      "description": "Microsoft.Network/loadBalancers: Inbound NAT rules",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "loadBalancingRules": {
      "description": "Microsoft.Network/loadBalancers: Load balancing rules",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "outboundNatRules": {
      "description": "Microsoft.Network/loadBalancers: Outbound NAT rules",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "probes": {
      "description": "Microsoft.Network/loadBalancers: Probes",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "frontendIPConfigurations",
    "backendAddressPools",
    "loadBalancingRules",
    "probes",
    "inboundNatRules",
    "inboundNatPools",
    "outboundNatRules"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/loadBalancers/inboundNatRules": {
  "api_version": "2018-08-01",
  "full_properties": {
    "backendPort": {
      "description": "The port used for the internal endpoint. Acceptable values range from 1 to 65535.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableFloatingIP": {
      "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableTcpReset": {
      "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "frontendIPConfiguration": {
      "description": "A reference to frontend IP addresses.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "frontendPort": {
      "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "idleTimeoutInMinutes": {
      "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "protocol": {
      "description": "The transport protocol for the endpoint. Possible values are: 'Udp' or 'Tcp'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "frontendIPConfiguration",
    "protocol",
    "frontendPort",
    "backendPort",
    "idleTimeoutInMinutes",
    "enableFloatingIP",
    "provisioningState",
    "enableTcpReset"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/localNetworkGateways": {
  "api_version": "2018-08-01",
  "full_properties": {
    "bgpSettings": {
      "description": "Local network gateway's BGP speaker settings.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "gatewayIpAddress": {
      "description": "IP address of local network gateway.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "localNetworkAddressSpace": {
      "description": "Local network site address space.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceGuid": {
      "description": "The resource GUID property of the LocalNetworkGateway resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "localNetworkAddressSpace",
    "gatewayIpAddress",
    "bgpSettings",
    "resourceGuid"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/networkInterfaces": {
  "api_version": "2018-08-01",
  "full_properties": {
    "dnsSettings": {
      "description": "Microsoft.Network/networkInterfaces: DNS settings",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableIPForwarding": {
      "description": "Microsoft.Network/networkInterfaces: Enable IP forwarding",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ipConfigurations": {
      "description": "Microsoft.Network/networkInterfaces: IP configurations",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "networkSecurityGroup": {
      "description": "Microsoft.Network/networkInterfaces: Network security group",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "enableIPForwarding",
    "networkSecurityGroup",
    "ipConfigurations",
    "dnsSettings"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/networkInterfaces/tapConfigurations": {
  "api_version": "2018-08-01",
  "full_properties": {
    "virtualNetworkTap": {
      "description": "The reference of the Virtual Network Tap resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "virtualNetworkTap"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/networkProfiles": {
  "api_version": "2018-08-01",
  "full_properties": {
    "containerNetworkInterfaceConfigurations": {
      "description": "List of chid container network interface configurations.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "containerNetworkInterfaces": {
      "description": "List of child container network interfaces.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "containerNetworkInterfaces",
    "containerNetworkInterfaceConfigurations"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/networkSecurityGroups": {
  "api_version": "2018-08-01",
  "full_properties": {
    "securityRules": {
      "description": "Microsoft.Network/networkSecurityGroups: Security rules",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "securityRules"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/networkSecurityGroups/securityRules": {
  "api_version": "2018-08-01",
  "full_properties": {
    "access": {
      "description": "The network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "A description for this rule. Restricted to 140 chars.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "destinationAddressPrefix": {
      "description": "The destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "destinationAddressPrefixes": {
      "description": "The destination address prefixes. CIDR or destination IP ranges.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "destinationApplicationSecurityGroups": {
      "description": "The application security group specified as destination.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "destinationPortRange": {
      "description": "The destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "destinationPortRanges": {
      "description": "The destination port ranges.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "direction": {
      "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outcoming traffic. Possible values are: 'Inbound' and 'Outbound'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "priority": {
      "description": "The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "protocol": {
      "description": "Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and '*'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourceAddressPrefix": {
      "description": "The CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. ",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourceAddressPrefixes": {
      "description": "The CIDR or source IP ranges.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourceApplicationSecurityGroups": {
      "description": "The application security group specified as source.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourcePortRange": {
      "description": "The source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourcePortRanges": {
      "description": "The source port ranges.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "protocol",
    "sourcePortRange",
    "destinationPortRange",
    "sourceAddressPrefix",
    "sourceAddressPrefixes",
    "destinationAddressPrefix",
    "destinationAddressPrefixes",
    "access",
    "priority",
    "direction",
    "provisioningState",
    "sourcePortRanges",
    "destinationPortRanges",
    "sourceApplicationSecurityGroups",
    "destinationApplicationSecurityGroups"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/networkWatchers": {
  "api_version": "2018-08-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/networkWatchers/connectionMonitors": {
  "api_version": "2018-08-01",
  "full_properties": {
    "autoStart": {
      "description": "Determines if the connection monitor will start automatically once created.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "destination": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "monitoringIntervalInSeconds": {
      "description": "Monitoring interval in seconds.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "source": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "source",
    "destination",
    "autoStart",
    "monitoringIntervalInSeconds"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/networkWatchers/packetCaptures": {
  "api_version": "2018-08-01",
  "full_properties": {
    "bytesToCapturePerPacket": {
      "description": "Number of bytes captured per packet, the remaining bytes are truncated.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "filters": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageLocation": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "target": {
      "description": "The ID of the targeted resource, only VM is currently supported.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "timeLimitInSeconds": {
      "description": "Maximum duration of the capture session in seconds.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "totalBytesPerSession": {
      "description": "Maximum size of the capture output.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "target",
    "bytesToCapturePerPacket",
    "totalBytesPerSession",
    "timeLimitInSeconds",
    "storageLocation",
    "filters"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/p2svpnGateways": {
  "api_version": "2018-08-01",
  "full_properties": {
    "p2SVpnServerConfiguration": {
      "description": "The P2SVpnServerConfiguration to which the p2sVpnGateway is attached to.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualHub": {
      "description": "The VirtualHub to which the gateway belongs",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vpnClientAddressPool": {
      "description": "The reference of the address space resource which represents Address space for P2S VpnClient.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vpnGatewayScaleUnit": {
      "description": "The scale unit for this p2s vpn gateway.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "virtualHub",
    "provisioningState",
    "vpnGatewayScaleUnit",
    "p2SVpnServerConfiguration",
    "vpnClientAddressPool"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/publicIPAddresses": {
  "api_version": "2018-08-01",
  "full_properties": {
    "dnsSettings": {
      "description": "Microsoft.Network/publicIPAddresses: DNS settings",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "idleTimeoutInMinutes": {
      "description": "Microsoft.Network/publicIPAddresses: Idle timeout in minutes",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "publicIPAllocationMethod": {
      "description": "Microsoft.Network/publicIPAddresses: Public IP allocation method",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "publicIPAllocationMethod",
    "idleTimeoutInMinutes",
    "dnsSettings"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/publicIPPrefixes": {
  "api_version": "2018-08-01",
  "full_properties": {
    "ipPrefix": {
      "description": "The allocated Prefix",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "ipTags": {
      "description": "The list of tags associated with the public IP prefix.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "prefixLength": {
      "description": "The Length of the Public IP Prefix.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "publicIPAddressVersion": {
      "description": "The public IP address version. Possible values are: 'IPv4' and 'IPv6'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "publicIPAddresses": {
      "description": "The list of all referenced PublicIPAddresses",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceGuid": {
      "description": "The resource GUID property of the public IP prefix resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "publicIPAddressVersion",
    "ipTags",
    "prefixLength",
    "ipPrefix",
    "publicIPAddresses",
    "resourceGuid",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/routeFilters": {
  "api_version": "2018-08-01",
  "full_properties": {
    "peerings": {
      "description": "A collection of references to express route circuit peerings.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "rules": {
      "description": "Collection of RouteFilterRules contained within a route filter.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "rules",
    "peerings"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/routeFilters/routeFilterRules": {
  "api_version": "2018-08-01",
  "full_properties": {
    "access": {
      "description": "The access type of the rule. Valid values are: 'Allow', 'Deny'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "communities": {
      "description": "The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "routeFilterRuleType": {
      "description": "The rule type of the rule. Valid value is: 'Community'",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "access",
    "routeFilterRuleType",
    "communities"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/routeTables": {
  "api_version": "2018-08-01",
  "full_properties": {
    "routes": {
      "description": "Microsoft.Network/routeTables: Routes",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "routes"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/routeTables/routes": {
  "api_version": "2018-08-01",
  "full_properties": {
    "addressPrefix": {
      "description": "The destination CIDR to which the route applies.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "nextHopIpAddress": {
      "description": "The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "nextHopType": {
      "description": "The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "addressPrefix",
    "nextHopType",
    "nextHopIpAddress",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/serviceEndpointPolicies": {
  "api_version": "2018-08-01",
  "full_properties": {
    "serviceEndpointPolicyDefinitions": {
      "description": "A collection of service endpoint policy definitions of the service endpoint policy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "serviceEndpointPolicyDefinitions"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/serviceEndpointPolicies/serviceEndpointPolicyDefinitions": {
  "api_version": "2018-08-01",
  "full_properties": {
    "description": {
      "description": "A description for this rule. Restricted to 140 chars.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "service": {
      "description": "service endpoint name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serviceResources": {
      "description": "A list of service resources.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "service",
    "serviceResources"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/trafficManagerProfiles": {
  "api_version": "2018-04-01",
  "full_properties": {
    "dnsConfig": {
      "description": "DNS configuration settings for the profile",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "endpoints": {
      "description": "The endpoints over which this profile will route traffic",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "monitorConfig": {
      "description": "Microsoft.Network/trafficManagerProfiles Configuration for monitoring (probing) of endpoints in this profile",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "profileStatus": {
      "description": "The status of the profile (Enabled/Disabled)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "trafficRoutingMethod": {
      "description": "The traffic routing method (Performance/Priority/Weighted/Geographic)",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "profileStatus",
    "trafficRoutingMethod",
    "dnsConfig",
    "monitorConfig",
    "endpoints"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/virtualHubs": {
  "api_version": "2018-08-01",
  "full_properties": {
    "addressPrefix": {
      "description": "Address-prefix for this VirtualHub.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "expressRouteGateway": {
      "description": "The expressRouteGateway associated with this VirtualHub",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "p2SVpnGateway": {
      "description": "The P2SVpnGateway associated with this VirtualHub",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "routeTable": {
      "description": "The routeTable associated with this virtual hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualNetworkConnections": {
      "description": "list of all vnet connections with this VirtualHub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualWan": {
      "description": "The VirtualWAN to which the VirtualHub belongs",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vpnGateway": {
      "description": "The VpnGateway associated with this VirtualHub",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "virtualWan",
    "vpnGateway",
    "p2SVpnGateway",
    "expressRouteGateway",
    "virtualNetworkConnections",
    "addressPrefix",
    "routeTable",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/virtualNetworkGateways": {
  "api_version": "2018-08-01",
  "full_properties": {
    "activeActive": {
      "description": "ActiveActive flag",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "bgpSettings": {
      "description": "Virtual network gateway's BGP speaker settings.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableBgp": {
      "description": "Whether BGP is enabled for this virtual network gateway or not.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "gatewayDefaultSite": {
      "description": "The reference of the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "gatewayType": {
      "description": "The type of this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ipConfigurations": {
      "description": "IP configurations for virtual network gateway.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "radiusSecret": {
      "description": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "radiusServer": {
      "description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "resourceGuid": {
      "description": "The resource GUID property of the VirtualNetworkGateway resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sku": {
      "description": "The reference of the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vpnClientConfiguration": {
      "description": "The reference of the VpnClientConfiguration resource which represents the P2S VpnClient configurations.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vpnType": {
      "description": "The type of this virtual network gateway. Possible values are: 'PolicyBased' and 'RouteBased'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "ipConfigurations",
    "gatewayType",
    "vpnType",
    "enableBgp",
    "activeActive",
    "gatewayDefaultSite",
    "sku",
    "vpnClientConfiguration",
    "bgpSettings",
    "radiusServer",
    "radiusSecret",
    "resourceGuid"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/virtualNetworkTaps": {
  "api_version": "2018-08-01",
  "full_properties": {
    "destinationLoadBalancerFrontEndIPConfiguration": {
      "description": "The reference to the private IP address on the internal Load Balancer that will receive the tap",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "destinationNetworkInterfaceIPConfiguration": {
      "description": "The reference to the private IP Address of the collector nic that will receive the tap",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "destinationPort": {
      "description": "The VXLAN destination port that will receive the tapped traffic.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "destinationNetworkInterfaceIPConfiguration",
    "destinationLoadBalancerFrontEndIPConfiguration",
    "destinationPort"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/virtualNetworks": {
  "api_version": "2018-08-01",
  "full_properties": {
    "addressSpace": {
      "description": "Microsoft.Network/virtualNetworks: Address space",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "dhcpOptions": {
      "description": "Microsoft.Network/virtualNetworks: DHCP options",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subnets": {
      "description": "Microsoft.Network/virtualNetworks: Subnets",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualNetworkPeerings": {
      "description": "Microsoft.Network/virtualNetworks: Virtual Network Peerings",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "addressSpace",
    "dhcpOptions",
    "subnets",
    "virtualNetworkPeerings"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/virtualNetworks/subnets": {
  "api_version": "2018-08-01",
  "full_properties": {
    "addressPrefix": {
      "description": "The address prefix for the subnet.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "addressPrefixes": {
      "description": "List of  address prefixes for the subnet.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "delegations": {
      "description": "Gets an array of references to the delegations on the subnet.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "networkSecurityGroup": {
      "description": "The reference of the NetworkSecurityGroup resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "privateAccessServices": {
      "description": "An array of private access services values.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "resourceNavigationLinks": {
      "description": "Gets an array of references to the external resources using subnet.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "routeTable": {
      "description": "The reference of the RouteTable resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "serviceAssociationLinks": {
      "description": "Gets an array of references to services injecting into this subnet.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "serviceEndpointPolicies": {
      "description": "An array of service endpoint policies.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "serviceEndpoints": {
      "description": "An array of service endpoints.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "addressPrefix",
    "networkSecurityGroup",
    "routeTable",
    "privateAccessServices",
    "resourceNavigationLinks",
    "provisioningState",
    "serviceEndpoints",
    "addressPrefixes",
    "serviceEndpointPolicies",
    "serviceAssociationLinks",
    "delegations"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings": {
  "api_version": "2018-08-01",
  "full_properties": {
    "allowForwardedTraffic": {
      "description": "Whether the forwarded traffic from the VMs in the remote virtual network will be allowed/disallowed.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "allowGatewayTransit": {
      "description": "If gateway links can be used in remote virtual networking to link to this virtual network.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "allowVirtualNetworkAccess": {
      "description": "Whether the VMs in the linked virtual network space would be able to access all the VMs in local Virtual network space.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "peeringState": {
      "description": "The status of the virtual network peering. Possible values are 'Initiated', 'Connected', and 'Disconnected'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "remoteAddressSpace": {
      "description": "The reference of the remote virtual network address space.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "remoteVirtualNetwork": {
      "description": "The reference of the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "useRemoteGateways": {
      "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "allowVirtualNetworkAccess",
    "allowForwardedTraffic",
    "allowGatewayTransit",
    "useRemoteGateways",
    "remoteVirtualNetwork",
    "peeringState",
    "provisioningState",
    "remoteAddressSpace"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/virtualWans": {
  "api_version": "2018-08-01",
  "full_properties": {
    "allowBranchToBranchTraffic": {
      "description": "True if branch to branch traffic is allowed.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "allowVnetToVnetTraffic": {
      "description": "True if Vnet to Vnet traffic is allowed.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "disableVpnEncryption": {
      "description": "Vpn encryption to be disabled or not.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "office365LocalBreakoutCategory": {
      "description": "The office local breakout category.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "p2SVpnServerConfigurations": {
      "description": "list of all P2SVpnServerConfigurations associated with the virtual wan.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "securityProviderName": {
      "description": "The Security Provider name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "disableVpnEncryption",
    "securityProviderName",
    "allowBranchToBranchTraffic",
    "allowVnetToVnetTraffic",
    "office365LocalBreakoutCategory",
    "p2SVpnServerConfigurations",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/virtualWans/p2sVpnServerConfigurations": {
  "api_version": "2018-08-01",
  "full_properties": {
    "etag": {
      "description": "A unique read-only string that changes whenever the resource is updated.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "name": {
      "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "p2SVpnServerConfigRadiusClientRootCertificates": {
      "description": "Radius client root certificate of P2SVpnServerConfiguration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "p2SVpnServerConfigRadiusServerRootCertificates": {
      "description": "Radius Server root certificate of P2SVpnServerConfiguration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "p2SVpnServerConfigVpnClientRevokedCertificates": {
      "description": "VPN client revoked certificate of P2SVpnServerConfiguration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "p2SVpnServerConfigVpnClientRootCertificates": {
      "description": "VPN client root certificate of P2SVpnServerConfiguration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "radiusServerAddress": {
      "description": "The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "radiusServerSecret": {
      "description": "The radius secret property of the P2SVpnServerConfiguration resource for for point to site client connection.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "vpnClientIpsecPolicies": {
      "description": "VpnClientIpsecPolicies for P2SVpnServerConfiguration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vpnProtocols": {
      "description": "vpnProtocols for the P2SVpnServerConfiguration.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "vpnProtocols",
    "p2SVpnServerConfigVpnClientRootCertificates",
    "p2SVpnServerConfigVpnClientRevokedCertificates",
    "p2SVpnServerConfigRadiusServerRootCertificates",
    "p2SVpnServerConfigRadiusClientRootCertificates",
    "vpnClientIpsecPolicies",
    "radiusServerAddress",
    "radiusServerSecret",
    "etag"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/vpnGateways": {
  "api_version": "2018-08-01",
  "full_properties": {
    "bgpSettings": {
      "description": "Local network gateway's BGP speaker settings.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "connections": {
      "description": "list of all vpn connections to the gateway.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualHub": {
      "description": "The VirtualHub to which the gateway belongs",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vpnGatewayScaleUnit": {
      "description": "The scale unit for this vpn gateway.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "virtualHub",
    "connections",
    "bgpSettings",
    "provisioningState",
    "vpnGatewayScaleUnit"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Network/vpnGateways/vpnConnections": {
  "api_version": "2018-08-01",
  "full_properties": {
    "connectionBandwidth": {
      "description": "Expected bandwidth in MBPS.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "connectionStatus": {
      "description": "The connection status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableBgp": {
      "description": "EnableBgp flag",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableInternetSecurity": {
      "description": "Enable internet security",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableRateLimiting": {
      "description": "EnableBgp flag",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ipsecPolicies": {
      "description": "The IPSec Policies to be considered by this connection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "remoteVpnSite": {
      "description": "Id of the connected vpn site.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "routingWeight": {
      "description": "routing weight for vpn connection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sharedKey": {
      "description": "SharedKey for the vpn connection.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "vpnConnectionProtocolType": {
      "description": "Connection protocol used for this connection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "remoteVpnSite",
    "routingWeight",
    "connectionStatus",
    "vpnConnectionProtocolType",
    "connectionBandwidth",
    "sharedKey",
    "enableBgp",
    "ipsecPolicies",
    "enableRateLimiting",
    "enableInternetSecurity",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Network/vpnSites": {
  "api_version": "2018-08-01",
  "full_properties": {
    "addressSpace": {
      "description": "The AddressSpace that contains an array of IP address ranges.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "bgpProperties": {
      "description": "The set of bgp properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "deviceProperties": {
      "description": "The device properties",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ipAddress": {
      "description": "The ip-address for the vpn-site.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "isSecuritySite": {
      "description": "IsSecuritySite flag",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "siteKey": {
      "description": "The key for vpn-site that can be used for connections.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "virtualWan": {
      "description": "The VirtualWAN to which the vpnSite belongs",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "virtualWan",
    "deviceProperties",
    "ipAddress",
    "siteKey",
    "addressSpace",
    "bgpProperties",
    "provisioningState",
    "isSecuritySite"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.NotificationHubs/namespaces": {
  "api_version": "2017-04-01",
  "full_properties": {
    "name": {
      "description": "Microsoft.NotificationHubs/namespaces: The name of the namespace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "namespaceType": {
      "description": "Microsoft.NotificationHubs/namespaces: The type of the namespace",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "namespaceType"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.NotificationHubs/namespaces/AuthorizationRules": {
  "api_version": "2017-04-01",
  "full_properties": {
    "rights": {
      "description": "The rights associated with the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "rights"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.NotificationHubs/namespaces/NotificationHubs/authorizationRules": {
  "api_version": "2017-04-01",
  "full_properties": {
    "rights": {
      "description": "The rights associated with the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "rights"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.NotificationHubs/namespaces/notificationHubs": {
  "api_version": "2017-04-01",
  "full_properties": {
    "AdmCredential": {
      "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: ADM credentials for a Notification Hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "BaiduCredential": {
      "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: Baidu credentials for a Notification Hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "apnsCredential": {
      "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: APNS credentials for a Notification Hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "authorizationRules": {
      "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: Authorization Rules for a Notification Hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "gcmCredential": {
      "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: GCM credentials for a Notification Hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "mpnsCredential": {
      "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: MPNS credentials for a Notification Hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "wnsCredential": {
      "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: WNS credentials for a Notification Hub.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "wnsCredential",
    "apnsCredential",
    "gcmCredential",
    "mpnsCredential",
    "AdmCredential",
    "BaiduCredential",
    "authorizationRules"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.OperationalInsights/workspaces": {
  "api_version": "2015-11-01-preview",
  "full_properties": {
    "applicationInsights": {
      "description": "ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "containerRegistry": {
      "description": "ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "customerId": {
      "description": "The ID associated with the workspace.  Setting this value at creation time allows the workspace being created to be linked to an existing workspace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of this workspace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "friendlyName": {
      "description": "The friendly name for this workspace. This name in mutable",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "keyVault": {
      "description": "ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "keyVaultIdentifierId": {
      "description": "Optional. Key Vault Identifier URI to create encrypted workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "ownerEmail": {
      "description": "Optional. OwnerEmail for the workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "portalUrl": {
      "description": "The URL of the Operational Insights portal for this workspace.  This value is set on the service side and read-only on the client side.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "The provisioning state of the workspace.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "retentionInDays": {
      "description": "The workspace data retention in days. -1 means Unlimited retention for the Unlimited Sku. 730 days is the maximum allowed for all other Skus. ",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sku": {
      "description": "The SKU of the workspace.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "source": {
      "description": "The source of the workspace.  Source defines where the workspace was created. 'Azure' implies it was created in Azure.  'External' implies it was created via the Operational Insights Portal. This value is set on the service side and read-only on the client side.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccount": {
      "description": "ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "userStorageAccountId": {
      "description": "Arm Id for user storage account to be used by workspace",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "provisioningState",
    "source",
    "customerId",
    "portalUrl",
    "sku",
    "retentionInDays",
    "userStorageAccountId",
    "ownerEmail",
    "keyVaultIdentifierId",
    "description",
    "friendlyName",
    "keyVault",
    "applicationInsights",
    "containerRegistry",
    "storageAccount"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.OperationalInsights/workspaces/dataSources": {
  "api_version": "2015-11-01-preview",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties",
    "kind"
  ]
},
"Microsoft.OperationalInsights/workspaces/linkedServices": {
  "api_version": "2015-11-01-preview",
  "full_properties": {
    "resourceId": {
      "description": "The resource id of the resource that will be linked to the workspace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "resourceId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.OperationalInsights/workspaces/savedSearches": {
  "api_version": "2015-03-20",
  "full_properties": {
    "category": {
      "description": "The category of the saved search. This helps the user to find a saved search faster. ",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "Saved search display name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "query": {
      "description": "The query expression for the saved search. Please see https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-search-reference for reference.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "tags": {
      "description": "The tags attached to the saved search.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "version": {
      "description": "The version number of the query lanuage. The current version is 2 and is the default.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "category",
    "displayName",
    "query",
    "version",
    "tags"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.OperationalInsights/workspaces/storageInsightConfigs": {
  "api_version": "2015-03-20",
  "full_properties": {
    "containers": {
      "description": "The names of the blob containers that the workspace should read",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccount": {
      "description": "The storage account connection details",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "tables": {
      "description": "The names of the Azure tables that the workspace should read",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "containers",
    "tables",
    "storageAccount"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.OperationsManagement/ManagementConfigurations": {
  "api_version": "2015-11-01-preview",
  "full_properties": {
    "applicationId": {
      "description": "The applicationId of the appliance for this Management.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "Parameters to run the ARM template",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "parentResourceType": {
      "description": "The type of the parent resource.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "template": {
      "description": "The Json object containing the ARM template to deploy",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "applicationId",
    "parentResourceType",
    "parameters",
    "template"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.OperationsManagement/solutions": {
  "api_version": "2015-11-01-preview",
  "full_properties": {
    "containedResources": {
      "description": "The azure resources that will be contained within the solutions. They will be locked and gets deleted automatically when the solution is deleted.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "referencedResources": {
      "description": "The resources that will be referenced from this solution. Deleting any of those solution out of band will break the solution.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "workspaceResourceId": {
      "description": "The azure resourceId for the workspace where the solution will be deployed/enabled.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "workspaceResourceId",
    "containedResources",
    "referencedResources"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.PowerBI/workspaceCollections": {
  "api_version": "2016-01-29",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "apiVersion",
    "type",
    "name",
    "location",
    "sku"
  ]
},
"Microsoft.PowerBIDedicated/capacities": {
  "api_version": "2017-10-01",
  "full_properties": {
    "administration": {
      "description": "Microsoft.PowerBIDedicated/capacities: Login names of administrators",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "administration"
  ],
  "required": [
    "type",
    "apiVersion",
    "location",
    "sku",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults": {
  "api_version": "2018-01-10",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "type",
    "apiVersion",
    "sku",
    "location",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/backupFabrics/backupProtectionIntent": {
  "api_version": "2017-07-01",
  "full_properties": {
    "backupManagementType": {
      "description": "Type of backup managemenent for the backed up item.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "itemId": {
      "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "policyId": {
      "description": "ID of the backup policy with which this item is backed up.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "protectionIntentItemType": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "protectionState": {
      "description": "Backup state of this backup item.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sourceResourceId": {
      "description": "ARM ID of the resource to be backed up.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "backupManagementType",
    "sourceResourceId",
    "itemId",
    "policyId",
    "protectionState",
    "protectionIntentItemType"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers": {
  "api_version": "2016-12-01",
  "full_properties": {
    "backupManagementType": {
      "description": "Type of backup managemenent for the container.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "containerType": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "friendlyName": {
      "description": "Friendly name of the container.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "healthStatus": {
      "description": "Status of health of the container.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "registrationStatus": {
      "description": "Status of registration of the container with the Recovery Services Vault.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "friendlyName",
    "backupManagementType",
    "registrationStatus",
    "healthStatus",
    "containerType"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems": {
  "api_version": "2016-12-01",
  "full_properties": {
    "backupManagementType": {
      "description": "Type of backup managemenent for the backed up item.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "backupSetName": {
      "description": "Name of the backup set the backup item belongs to",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "containerName": {
      "description": "Unique name of container",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "lastRecoveryPoint": {
      "description": "Timestamp when the last (latest) backup copy was created for this backup item.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "policyId": {
      "description": "ID of the backup policy with which this item is backed up.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "protectedItemType": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourceResourceId": {
      "description": "ARM ID of the resource to be backed up.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "workloadType": {
      "description": "Type of workload this item represents.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "backupManagementType",
    "workloadType",
    "containerName",
    "sourceResourceId",
    "policyId",
    "lastRecoveryPoint",
    "backupSetName",
    "protectedItemType"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/backupPolicies": {
  "api_version": "2016-12-01",
  "full_properties": {
    "backupManagementType": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "protectedItemsCount": {
      "description": "Number of items associated with this policy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "protectedItemsCount",
    "backupManagementType"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/certificates": {
  "api_version": "2016-06-01",
  "full_properties": {
    "authType": {
      "description": "Specify the Authentication type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "certificate": {
      "description": "Gets or sets the base64 encoded certificate raw data string",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "authType",
    "certificate"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/extendedInformation": {
  "api_version": "2016-06-01",
  "full_properties": {
    "algorithm": {
      "description": "Algorithm for Vault ExtendedInfo",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "encryptionKey": {
      "description": "Encryption key.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "encryptionKeyThumbprint": {
      "description": "Encryption key thumbprint.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "integrityKey": {
      "description": "Integrity key.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "integrityKey",
    "encryptionKey",
    "encryptionKeyThumbprint",
    "algorithm"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/replicationAlertSettings": {
  "api_version": "2018-01-10",
  "full_properties": {
    "customEmailAddresses": {
      "description": "The custom email address for sending emails.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "locale": {
      "description": "The locale for the email notification.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sendToOwners": {
      "description": "A value indicating whether to send email to subscription administrator.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sendToOwners",
    "customEmailAddresses",
    "locale"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/replicationFabrics": {
  "api_version": "2018-01-10",
  "full_properties": {
    "customDetails": {
      "description": "Fabric provider specific creation input.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "customDetails"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings": {
  "api_version": "2018-01-10",
  "full_properties": {
    "fabricSpecificDetails": {
      "description": "Fabric specific input properties.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "recoveryFabricName": {
      "description": "Recovery fabric Name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "recoveryNetworkId": {
      "description": "Recovery network Id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "recoveryFabricName",
    "recoveryNetworkId",
    "fabricSpecificDetails"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers": {
  "api_version": "2018-01-10",
  "full_properties": {
    "providerSpecificInput": {
      "description": "Provider specific inputs for container creation.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "providerSpecificInput"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems": {
  "api_version": "2018-01-10",
  "full_properties": {
    "policyId": {
      "description": "The Policy Id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "protectableItemId": {
      "description": "The protectable item Id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "providerSpecificDetails": {
      "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "policyId",
    "protectableItemId",
    "providerSpecificDetails"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings": {
  "api_version": "2018-01-10",
  "full_properties": {
    "policyId": {
      "description": "Applicable policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "providerSpecificInput": {
      "description": "Provider specific input for pairing.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetProtectionContainerId": {
      "description": "The target unique protection container name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "targetProtectionContainerId",
    "policyId",
    "providerSpecificInput"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings": {
  "api_version": "2018-01-10",
  "full_properties": {
    "targetStorageClassificationId": {
      "description": "The ID of the storage object.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "targetStorageClassificationId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters": {
  "api_version": "2018-01-10",
  "full_properties": {
    "friendlyName": {
      "description": "The friendly name of the vCenter.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "ipAddress": {
      "description": "The IP address of the vCenter to be discovered.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "port": {
      "description": "The port number for discovery.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "processServerId": {
      "description": "The process server Id from where the discovery is orchestrated.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "runAsAccountId": {
      "description": "The account Id which has privileges to discover the vCenter.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "friendlyName",
    "ipAddress",
    "processServerId",
    "port",
    "runAsAccountId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/replicationPolicies": {
  "api_version": "2018-01-10",
  "full_properties": {
    "providerSpecificInput": {
      "description": "The ReplicationProviderSettings.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "providerSpecificInput"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans": {
  "api_version": "2018-01-10",
  "full_properties": {
    "failoverDeploymentModel": {
      "description": "The failover deployment model.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "groups": {
      "description": "The recovery plan groups.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "primaryFabricId": {
      "description": "The primary fabric Id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "recoveryFabricId": {
      "description": "The recovery fabric Id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "primaryFabricId",
    "recoveryFabricId",
    "failoverDeploymentModel",
    "groups"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Relay/namespaces": {
  "api_version": "2017-04-01",
  "full_properties": {
    "createACSNamespace": {
      "description": "Indicates whether to create ACS namespace.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "createdAt": {
      "description": "The time the namespace was created.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "enabled": {
      "description": "Specifies whether this instance is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metricId": {
      "description": "Identifier for Azure Insights metrics",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Provisioning state of the Namespace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serviceBusEndpoint": {
      "description": "Endpoint you can use to perform ServiceBus operations.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "status": {
      "description": "State of the namespace.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "updatedAt": {
      "description": "The time the namespace was updated.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "provisioningState",
    "status",
    "createdAt",
    "updatedAt",
    "serviceBusEndpoint",
    "createACSNamespace",
    "enabled",
    "metricId"
  ],
  "required": [
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Relay/namespaces/AuthorizationRules": {
  "api_version": "2017-04-01",
  "full_properties": {
    "rights": {
      "description": "The rights associated with the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "rights"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Relay/namespaces/hybridConnections": {
  "api_version": "2017-04-01",
  "full_properties": {
    "createdAt": {
      "description": "the exact time the message was created.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "listenerCount ": {
      "description": "The number of listeners for this HybridConnection. min : 1 and max:25 supported",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requiresClientAuthorization": {
      "description": "true if client authorization is needed for this HybridConnection; otherwise, false.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "updatedAt": {
      "description": "the exact time the message has been updated.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "userMetadata ": {
      "description": "usermetadata is a placeholder to store user-defined string data for the HybridConnection endpoint.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.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "createdAt",
    "updatedAt",
    "listenerCount ",
    "requiresClientAuthorization",
    "userMetadata "
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Relay/namespaces/hybridConnections/authorizationRules": {
  "api_version": "2017-04-01",
  "full_properties": {
    "rights": {
      "description": "The rights associated with the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "rights"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Relay/namespaces/wcfRelays": {
  "api_version": "2017-04-01",
  "full_properties": {
    "createdAt": {
      "description": "Exact time the message was created.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "isDynamic": {
      "description": "true if the relay is dynamic; otherwise, false.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "listenerCount ": {
      "description": "The number of listeners for this HybridConnection. min : 1 and max:25 supported",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "relayType": {
      "description": "Enumerates the type of WcfRealy",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requiresClientAuthorization": {
      "description": "true if client authorization is needed for this relay; otherwise, false.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requiresTransportSecurity": {
      "description": "true if transport security is needed for this relay; otherwise, false.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "updatedAt": {
      "description": "The exact time the message has been updated.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "userMetadata ": {
      "description": "usermetadata is a placeholder to store user-defined string data for the HybridConnection endpoint.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.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "isDynamic",
    "createdAt",
    "updatedAt",
    "listenerCount ",
    "relayType",
    "requiresClientAuthorization",
    "requiresTransportSecurity",
    "userMetadata "
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Relay/namespaces/wcfRelays/authorizationRules": {
  "api_version": "2017-04-01",
  "full_properties": {
    "rights": {
      "description": "The rights associated with the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "rights"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Resources/deployments": {
  "api_version": "2018-05-01",
  "full_properties": {
    "mode": {
      "description": "Deployment mode",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "Deployment parameters",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "parametersLink": {
      "description": "Deployment parameters link",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "template": {
      "description": "Deployment template",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "templateLink": {
      "description": "Deployment template link",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "mode",
    "templateLink",
    "template",
    "parametersLink",
    "parameters"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Resources/links": {
  "api_version": "2015-01-01",
  "full_properties": {
    "notes": {
      "description": "Notes for this link",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "targetId": {
      "description": "Target resource id to link to",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "targetId",
    "notes"
  ],
  "required": [
    "type",
    "apiVersion",
    "name",
    "properties"
  ]
},
"Microsoft.Resources/resourceGroups": {
  "api_version": "2018-05-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location"
  ]
},
"Microsoft.Scheduler/jobCollections": {
  "api_version": "2016-03-01",
  "full_properties": {
    "quota": {
      "description": "Microsoft.Scheduler/jobCollections/quota",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sku": {
      "description": "Microsoft.Scheduler/jobCollections: Job Collection sku",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sku",
    "quota"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Scheduler/jobCollections/jobs": {
  "api_version": "2016-03-01",
  "full_properties": {
    "action": {
      "description": "Gets or sets the job action.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "correlationData": {
      "description": "Customer provided correlation data that will be returned in Job and JobOutput state events.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Optional customer supplied description of the Job.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "input": {
      "description": "The inputs for the Job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "outputs": {
      "description": "The outputs for the Job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "priority": {
      "description": "Priority with which the job should be processed. Higher priority jobs are processed before lower priority jobs. If not set, the default is normal.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "recurrence": {
      "description": "Gets or sets the job recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "schedule": {
      "description": "Schedule properties of the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "startTime": {
      "description": "Gets or sets the job start time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "state": {
      "description": "Gets or set the job state. Possible values include: 'Enabled', 'Disabled', 'Faulted', 'Completed'",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "startTime",
    "action",
    "recurrence",
    "state",
    "description",
    "schedule",
    "input",
    "outputs",
    "priority",
    "correlationData"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Search/searchServices": {
  "api_version": "2015-08-19",
  "full_properties": {
    "hostingMode": {
      "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "partitionCount": {
      "description": "The number of partitions in the Search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "replicaCount": {
      "description": "The number of replicas in the Search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "replicaCount",
    "partitionCount",
    "hostingMode"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties",
    "location",
    "sku"
  ]
},
"Microsoft.ServerManagement/gateways": {
  "api_version": "2016-07-01-preview",
  "full_properties": {
    "upgradeMode": {
      "description": "The upgradeMode property gives the flexibility to gateway to auto upgrade itself. If properties value not specified, then we assume upgradeMode = Automatic.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "upgradeMode"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServerManagement/gateways/sessions": {
  "api_version": "2016-07-01-preview",
  "full_properties": {
    "password": {
      "description": "The session password.",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    },
    "username": {
      "description": "The session user name.",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "username",
    "password"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServerManagement/nodes": {
  "api_version": "2016-07-01-preview",
  "full_properties": {
    "connectionName": {
      "description": "The node name to connect to. It can be one of NetBios name, IP (v4/v6), FQDN",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    },
    "gatewayId": {
      "description": "The gateway to to which this node belongs. This is the ARM resource id for the gateway",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "gatewayId",
    "connectionName"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServiceBus/namespaces": {
  "api_version": "2017-04-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.ServiceBus/namespaces/AuthorizationRules": {
  "api_version": "2017-04-01",
  "full_properties": {
    "rights": {
      "description": "The rights associated with the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "rights"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServiceBus/namespaces/disasterRecoveryConfigs": {
  "api_version": "2017-04-01",
  "full_properties": {
    "alternateName": {
      "description": "Primary/Secondary eventhub namespace name, which is part of GEO DR pairning",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "partnerNamespace": {
      "description": "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairning",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "partnerNamespace",
    "alternateName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServiceBus/namespaces/migrationConfigurations": {
  "api_version": "2017-04-01",
  "full_properties": {
    "postMigrationName": {
      "description": "Name to access Standard Namespace after migration",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "targetNamespace": {
      "description": "Existing premium Namespace ARM Id name which has no entities, will be used for migration",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "targetNamespace",
    "postMigrationName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServiceBus/namespaces/queues": {
  "api_version": "2017-04-01",
  "full_properties": {
    "autoDeleteOnIdle": {
      "description": "ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "deadLetteringOnMessageExpiration": {
      "description": "A value that indicates whether this queue has dead letter support when a message expires.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "defaultMessageTimeToLive": {
      "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.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "duplicateDetectionHistoryTimeWindow": {
      "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "enableBatchedOperations": {
      "description": "Value that indicates whether server-side batched operations are enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableExpress": {
      "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.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enablePartitioning": {
      "description": "A value that indicates whether the queue is to be partitioned across multiple message brokers.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "forwardDeadLetteredMessagesTo": {
      "description": "Queue/Topic name to forward the Dead Letter message",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "forwardTo": {
      "description": "Queue/Topic name to forward the messages",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "lockDuration": {
      "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.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "maxDeliveryCount": {
      "description": "The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "maxSizeInMegabytes": {
      "description": "The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. Default is 1024.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requiresDuplicateDetection": {
      "description": "A value indicating if this queue requires duplicate detection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requiresSession": {
      "description": "A value that indicates whether the queue supports the concept of sessions.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "status": {
      "description": "Enumerates the possible values for the status of a messaging entity.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "lockDuration",
    "maxSizeInMegabytes",
    "requiresDuplicateDetection",
    "requiresSession",
    "defaultMessageTimeToLive",
    "deadLetteringOnMessageExpiration",
    "duplicateDetectionHistoryTimeWindow",
    "maxDeliveryCount",
    "status",
    "enableBatchedOperations",
    "autoDeleteOnIdle",
    "enablePartitioning",
    "enableExpress",
    "forwardTo",
    "forwardDeadLetteredMessagesTo"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServiceBus/namespaces/queues/authorizationRules": {
  "api_version": "2017-04-01",
  "full_properties": {
    "rights": {
      "description": "The rights associated with the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "rights"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServiceBus/namespaces/topics": {
  "api_version": "2017-04-01",
  "full_properties": {
    "autoDeleteOnIdle": {
      "description": "ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "defaultMessageTimeToLive": {
      "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.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "duplicateDetectionHistoryTimeWindow": {
      "description": "ISO8601 timespan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "enableBatchedOperations": {
      "description": "Value that indicates whether server-side batched operations are enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableExpress": {
      "description": "Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enablePartitioning": {
      "description": "Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "maxSizeInMegabytes": {
      "description": "Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. Default is 1024.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requiresDuplicateDetection": {
      "description": "Value indicating if this topic requires duplicate detection.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "status": {
      "description": "Enumerates the possible values for the status of a messaging entity.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "supportOrdering": {
      "description": "Value that indicates whether the topic supports ordering.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "defaultMessageTimeToLive",
    "maxSizeInMegabytes",
    "requiresDuplicateDetection",
    "duplicateDetectionHistoryTimeWindow",
    "enableBatchedOperations",
    "status",
    "supportOrdering",
    "autoDeleteOnIdle",
    "enablePartitioning",
    "enableExpress"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServiceBus/namespaces/topics/authorizationRules": {
  "api_version": "2017-04-01",
  "full_properties": {
    "rights": {
      "description": "The rights associated with the rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "rights"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServiceBus/namespaces/topics/subscriptions": {
  "api_version": "2017-04-01",
  "full_properties": {
    "autoDeleteOnIdle": {
      "description": "ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "deadLetteringOnFilterEvaluationExceptions": {
      "description": "Value that indicates whether a subscription has dead letter support on filter evaluation exceptions.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "deadLetteringOnMessageExpiration": {
      "description": "Value that indicates whether a subscription has dead letter support when a message expires.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "defaultMessageTimeToLive": {
      "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.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "duplicateDetectionHistoryTimeWindow": {
      "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "enableBatchedOperations": {
      "description": "Value that indicates whether server-side batched operations are enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "forwardDeadLetteredMessagesTo": {
      "description": "Queue/Topic name to forward the Dead Letter message",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "forwardTo": {
      "description": "Queue/Topic name to forward the messages",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "lockDuration": {
      "description": "ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "maxDeliveryCount": {
      "description": "Number of maximum deliveries.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requiresSession": {
      "description": "Value indicating if a subscription supports the concept of sessions.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "status": {
      "description": "Enumerates the possible values for the status of a messaging entity.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "lockDuration",
    "requiresSession",
    "defaultMessageTimeToLive",
    "deadLetteringOnFilterEvaluationExceptions",
    "deadLetteringOnMessageExpiration",
    "duplicateDetectionHistoryTimeWindow",
    "maxDeliveryCount",
    "status",
    "enableBatchedOperations",
    "autoDeleteOnIdle",
    "forwardTo",
    "forwardDeadLetteredMessagesTo"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServiceBus/namespaces/topics/subscriptions/rules": {
  "api_version": "2017-04-01",
  "full_properties": {
    "action": {
      "description": "Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter expression.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "correlationFilter": {
      "description": "Properties of correlationFilter",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "filterType": {
      "description": "Filter type that is evaluated against a BrokeredMessage.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sqlFilter": {
      "description": "Properties of sqlFilter",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "action",
    "filterType",
    "sqlFilter",
    "correlationFilter"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.ServiceFabric/clusters": {
  "api_version": "2018-02-01",
  "full_properties": {
    "addOnFeatures": {
      "description": "The list of add-on features to enable in the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "availableClusterVersions": {
      "description": "The Service Fabric runtime versions available for this cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "azureActiveDirectory": {
      "description": "The AAD authentication settings of the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "certificate": {
      "description": "The certificate to use for securing the cluster. The certificate provided will be used for node to node security within the cluster, SSL certificate for cluster management endpoint and default admin client.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "certificateCommonNames": {
      "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "clientCertificateCommonNames": {
      "description": "The list of client certificates referenced by common name that are allowed to manage the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "clientCertificateThumbprints": {
      "description": "The list of client certificates referenced by thumbprint that are allowed to manage the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "clusterCodeVersion": {
      "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "clusterState": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "diagnosticsStorageAccountConfig": {
      "description": "The storage account information for storing Service Fabric diagnostic logs.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "fabricSettings": {
      "description": "The list of custom fabric settings to configure the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "httpApplicationGatewayCertificate": {
      "description": "Microsoft.ServiceFabric/clusters: The server certificate used by reverse proxy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "managementEndpoint": {
      "description": "The http management endpoint of the cluster.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "nodeTypes": {
      "description": "The list of node types in the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "reliabilityLevel": {
      "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity).\n\n  - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n  - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n  - Silver - Run the System services with a target replica set count of 5.\n  - Gold - Run the System services with a target replica set count of 7.\n  - Platinum - Run the System services with a target replica set count of 9.\n.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "reverseProxyCertificate": {
      "description": "The server certificate used by reverse proxy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "reverseProxyCertificateCommonNames": {
      "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "upgradeDescription": {
      "description": "The policy to use when upgrading the cluster.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "upgradeMode": {
      "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n  - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n  - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vmImage": {
      "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "vmImage",
    "httpApplicationGatewayCertificate",
    "azureActiveDirectory",
    "reliabilityLevel",
    "nodeTypes",
    "managementEndpoint",
    "certificate",
    "clientCertificateThumbprints",
    "clientCertificateCommonNames",
    "fabricSettings",
    "upgradeDescription",
    "diagnosticsStorageAccountConfig",
    "clusterCodeVersion",
    "upgradeMode",
    "reverseProxyCertificate",
    "availableClusterVersions",
    "clusterState",
    "addOnFeatures",
    "certificateCommonNames",
    "reverseProxyCertificateCommonNames"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.ServiceFabric/clusters/applicationTypes": {
  "api_version": "2017-07-01-preview",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.ServiceFabric/clusters/applicationTypes/versions": {
  "api_version": "2017-07-01-preview",
  "full_properties": {
    "appPackageUrl": {
      "description": "The URL to the application package",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "appPackageUrl"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.ServiceFabric/clusters/applications": {
  "api_version": "2017-07-01-preview",
  "full_properties": {
    "maximumNodes": {
      "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "metrics": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "minimumNodes": {
      "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "parameters": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "removeApplicationCapacity": {
      "description": "The version of the application type",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "typeName": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "typeVersion": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "upgradePolicy": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "typeVersion",
    "parameters",
    "upgradePolicy",
    "minimumNodes",
    "maximumNodes",
    "removeApplicationCapacity",
    "metrics",
    "typeName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.ServiceFabric/clusters/applications/services": {
  "api_version": "2017-07-01-preview",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.SignalRService/SignalR": {
  "api_version": "2018-10-01",
  "full_properties": {
    "hostNamePrefix": {
      "description": "Prefix for the hostName of the SignalR service. Retained for future use.\r\nThe hostname will be of format: &lt;hostNamePrefix&gt;.service.signalr.net.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "hostNamePrefix"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties",
    "location"
  ]
},
"Microsoft.Solutions/applianceDefinitions": {
  "api_version": "2016-09-01-preview",
  "full_properties": {
    "artifacts": {
      "description": "The collection of appliance artifacts. The portal will use the files specified as artifacts to construct the user experience of creating an appliance from an appliance definition.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "authorizations": {
      "description": "The appliance provider authorizations.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The appliance definition description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "The appliance definition display name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "lockLevel": {
      "description": "The appliance lock level.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "packageFileUri": {
      "description": "The appliance definition package file Uri.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "lockLevel",
    "displayName",
    "authorizations",
    "artifacts",
    "description",
    "packageFileUri"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Solutions/appliances": {
  "api_version": "2016-09-01-preview",
  "full_properties": {
    "applianceDefinitionId": {
      "description": "The fully qualified path of appliance definition Id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "managedResourceGroupId": {
      "description": "The managed resource group Id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "parameters": {
      "description": "Name and value pairs that define the appliance parameters. It can be a JObject or a well formed JSON string.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "uiDefinitionUri": {
      "description": "The blob URI where the UI definition file is located.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "managedResourceGroupId",
    "applianceDefinitionId",
    "parameters",
    "uiDefinitionUri"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/managedInstances": {
  "api_version": "2015-05-01-preview",
  "full_properties": {
    "administratorLogin": {
      "description": "Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "administratorLoginPassword": {
      "description": "The administrator login password (required for managed instance creation).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "licenseType": {
      "description": "The license type. Possible values are 'LicenseIncluded' and 'BasePrice'.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageSizeInGB": {
      "description": "The maximum storage size in GB.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "subnetId": {
      "description": "Subnet resource ID for the managed instance.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "vCores": {
      "description": "The number of VCores.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "administratorLogin",
    "administratorLoginPassword",
    "subnetId",
    "licenseType",
    "vCores",
    "storageSizeInGB"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Sql/managedInstances/databases": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "catalogCollation": {
      "description": "Collation of the metadata catalog.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "collation": {
      "description": "Collation of the managed database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "createMode": {
      "description": "Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "restorePointInTime": {
      "description": "Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourceDatabaseId": {
      "description": "The resource identifier of the source database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageContainerSasToken": {
      "description": "Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the storage container sas token.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageContainerUri": {
      "description": "Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri of the storage container where backups for this restore are stored.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "collation",
    "restorePointInTime",
    "catalogCollation",
    "createMode",
    "storageContainerUri",
    "sourceDatabaseId",
    "storageContainerSasToken"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Sql/servers": {
  "api_version": "2015-05-01-preview",
  "full_properties": {
    "administratorLogin": {
      "description": "Administrator username for the server. Once created it cannot be changed.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "administratorLoginPassword": {
      "description": "The administrator login password (required for server creation).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "asAdministrators": {
      "description": "Login names of administrators",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "backupBlobContainerUri": {
      "description": "The backup blob container uri",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "gatewayDetails": {
      "description": "The details of the gateway associated with the server",
      "required": false,
      "type": "object",
      "update_causes": "unknown"
    },
    "ipV4FirewallSettings": {
      "description": "The IPV4 firewall settings.",
      "required": false,
      "type": "object",
      "update_causes": "unknown"
    },
    "managedMode": {
      "description": "The managed mode of the server (0 = not managed, 1 = managed).",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "querypoolConnectionMode": {
      "description": "The query pool connection mode for AS server",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serverMonitorMode": {
      "description": "The server monitor mode for AS server",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "version": {
      "description": "The version of the server.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "version",
    "administratorLogin",
    "administratorLoginPassword",
    "asAdministrators",
    "managedMode",
    "backupBlobContainerUri",
    "gatewayDetails",
    "querypoolConnectionMode",
    "ipV4FirewallSettings",
    "serverMonitorMode"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Sql/servers/administrators": {
  "api_version": "2014-04-01",
  "full_properties": {
    "administratorType": {
      "description": "The type of administrator.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "login": {
      "description": "The server administrator login value.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sid": {
      "description": "The server administrator Sid (Secure ID).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "tenantId": {
      "description": "The server Active Directory Administrator tenant id.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "administratorType",
    "login",
    "sid",
    "tenantId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/advisors": {
  "api_version": "2014-04-01",
  "full_properties": {
    "autoExecuteValue": {
      "description": "Gets the auto-execute status (whether to let the system execute the recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "autoExecuteValue"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/auditingPolicies": {
  "api_version": "2014-04-01",
  "full_properties": {
    "auditLogsTableName": {
      "description": "The audit logs table name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "auditingState": {
      "description": "The state of the policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "eventTypesToAudit": {
      "description": "Comma-separated list of event types to audit.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "fullAuditLogsTableName": {
      "description": "The full audit logs table name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "retentionDays": {
      "description": "The number of days to keep in the audit logs.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountKey": {
      "description": "The key of the auditing storage account.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountName": {
      "description": "The table storage account name",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountResourceGroupName": {
      "description": "The table storage account resource group name",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountSecondaryKey": {
      "description": "The secondary key of the auditing storage account.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountSubscriptionId": {
      "description": "The table storage subscription Id.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageTableEndpoint": {
      "description": "The storage table endpoint.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "auditingState",
    "auditLogsTableName",
    "eventTypesToAudit",
    "fullAuditLogsTableName",
    "retentionDays",
    "storageAccountKey",
    "storageAccountName",
    "storageAccountResourceGroupName",
    "storageAccountSecondaryKey",
    "storageAccountSubscriptionId",
    "storageTableEndpoint"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/auditingSettings": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "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 <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::<db_name> and SCHEMA::<schema_name> are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isStorageSecondaryKeyInUse": {
      "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "retentionDays": {
      "description": "Specifies the number of days to keep in the audit logs.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "state": {
      "description": "Specifies the state of the policy. If state is Enabled, storageEndpoint and storageAccountAccessKey are required.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccountAccessKey": {
      "description": "Specifies the identifier key of the auditing storage account. If state is Enabled, storageAccountAccessKey is required.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountSubscriptionId": {
      "description": "Specifies the blob storage subscription Id.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageEndpoint": {
      "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint is required.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "state",
    "storageEndpoint",
    "storageAccountAccessKey",
    "retentionDays",
    "auditActionsAndGroups",
    "storageAccountSubscriptionId",
    "isStorageSecondaryKeyInUse"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/backupLongTermRetentionVaults": {
  "api_version": "2014-04-01",
  "full_properties": {
    "recoveryServicesVaultResourceId": {
      "description": "The azure recovery services vault resource id",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "recoveryServicesVaultResourceId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/communicationLinks": {
  "api_version": "2014-04-01",
  "full_properties": {
    "partnerServer": {
      "description": "The name of the partner server.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "partnerServer"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/connectionPolicies": {
  "api_version": "2014-04-01",
  "full_properties": {
    "connectionType": {
      "description": "The server connection type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "connectionType"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "catalogCollation": {
      "description": "Collation of the metadata catalog.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "charset": {
      "description": "The charset of the database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "collation": {
      "description": "The collation of the database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "createMode": {
      "description": "Specifies the mode of database creation.\r\n\r\nDefault: regular database creation.\r\n\r\nCopy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\r\n\r\nSecondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\r\n\r\nPointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\r\n\r\nRecovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\r\n\r\nRestore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\r\n\r\nRestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\r\n\r\nCopy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "edition": {
      "description": "The edition of the database. The DatabaseEditions enumeration contains all the valid editions. If createMode is NonReadableSecondary or OnlineSecondary, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions -l westus --query [].name`.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "elasticPoolId": {
      "description": "The resource identifier of the elastic pool containing this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "elasticPoolName": {
      "description": "The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hotCachePeriodInDays": {
      "description": "The number of days of data that should be kept in cache for fast queries.",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "longTermRetentionBackupResourceId": {
      "description": "The resource identifier of the long term retention backup associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "maxSizeBytes": {
      "description": "The max size of the database expressed in bytes.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "readScale": {
      "description": "Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "recoverableDatabaseId": {
      "description": "The resource identifier of the recoverable database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "recoveryServicesRecoveryPointId": {
      "description": "The resource identifier of the recovery point associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "recoveryServicesRecoveryPointResourceId": {
      "description": "Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "requestedServiceObjectiveId": {
      "description": "The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions --location <location> --query [].supportedServiceLevelObjectives[].name` .",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "requestedServiceObjectiveName": {
      "description": "The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: \"Capabilities_ListByLocation.\" or use the Azure CLI command `az sql db list-editions --location <location> --query [].supportedServiceLevelObjectives[].name`.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "restorableDroppedDatabaseId": {
      "description": "The resource identifier of the restorable dropped database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "restorePointInTime": {
      "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sampleName": {
      "description": "The name of the sample schema to apply when creating this database.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "softDeletePeriodInDays": {
      "description": "The number of days data should be kept before it stops being accessible to queries.",
      "required": false,
      "type": "integer",
      "update_causes": "unknown"
    },
    "sourceDatabaseDeletionDate": {
      "description": "Specifies the time that the database was deleted.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sourceDatabaseId": {
      "description": "The resource identifier of the source database associated with create operation of this database.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "zoneRedundant": {
      "description": "Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "collation",
    "createMode",
    "sourceDatabaseId",
    "sourceDatabaseDeletionDate",
    "restorePointInTime",
    "recoveryServicesRecoveryPointResourceId",
    "edition",
    "maxSizeBytes",
    "requestedServiceObjectiveId",
    "requestedServiceObjectiveName",
    "elasticPoolName",
    "readScale",
    "sampleName",
    "zoneRedundant",
    "elasticPoolId",
    "recoveryServicesRecoveryPointId",
    "longTermRetentionBackupResourceId",
    "recoverableDatabaseId",
    "restorableDroppedDatabaseId",
    "catalogCollation",
    "softDeletePeriodInDays",
    "charset",
    "hotCachePeriodInDays"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/advisors": {
  "api_version": "2014-04-01",
  "full_properties": {
    "autoExecuteValue": {
      "description": "Gets the auto-execute status (whether to let the system execute the recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "autoExecuteValue"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/auditingPolicies": {
  "api_version": "2014-04-01",
  "full_properties": {
    "auditLogsTableName": {
      "description": "The audit logs table name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "auditingState": {
      "description": "The state of the policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "eventTypesToAudit": {
      "description": "Comma-separated list of event types to audit.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "fullAuditLogsTableName": {
      "description": "The full audit logs table name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "retentionDays": {
      "description": "The number of days to keep in the audit logs.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountKey": {
      "description": "The key of the auditing storage account.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountName": {
      "description": "The table storage account name",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountResourceGroupName": {
      "description": "The table storage account resource group name",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountSecondaryKey": {
      "description": "The secondary key of the auditing storage account.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountSubscriptionId": {
      "description": "The table storage subscription Id.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageTableEndpoint": {
      "description": "The storage table endpoint.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "useServerDefault": {
      "description": "Whether server default is enabled or disabled.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "auditingState",
    "auditLogsTableName",
    "eventTypesToAudit",
    "fullAuditLogsTableName",
    "retentionDays",
    "storageAccountKey",
    "storageAccountName",
    "storageAccountResourceGroupName",
    "storageAccountSecondaryKey",
    "storageAccountSubscriptionId",
    "storageTableEndpoint",
    "useServerDefault"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/auditingSettings": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "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 <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::<db_name> and SCHEMA::<schema_name> are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isStorageSecondaryKeyInUse": {
      "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "retentionDays": {
      "description": "Specifies the number of days to keep in the audit logs.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "state": {
      "description": "Specifies the state of the policy. If state is Enabled, storageEndpoint and storageAccountAccessKey are required.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccountAccessKey": {
      "description": "Specifies the identifier key of the auditing storage account. If state is Enabled, storageAccountAccessKey is required.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountSubscriptionId": {
      "description": "Specifies the blob storage subscription Id.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageEndpoint": {
      "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint is required.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "state",
    "storageEndpoint",
    "storageAccountAccessKey",
    "retentionDays",
    "auditActionsAndGroups",
    "storageAccountSubscriptionId",
    "isStorageSecondaryKeyInUse"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/backupLongTermRetentionPolicies": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "monthlyRetention": {
      "description": "The montly retention policy for an LTR backup in an ISO 8601 format.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "weekOfYear": {
      "description": "The week of year to take the yearly backup in an ISO 8601 format.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "weeklyRetention": {
      "description": "The weekly retention policy for an LTR backup in an ISO 8601 format.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "yearlyRetention": {
      "description": "The yearly retention policy for an LTR backup in an ISO 8601 format.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "weeklyRetention",
    "monthlyRetention",
    "yearlyRetention",
    "weekOfYear"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/connectionPolicies": {
  "api_version": "2014-04-01",
  "full_properties": {
    "proxyDnsName": {
      "description": "The fully qualified host name of the auditing proxy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "proxyPort": {
      "description": "The port number of the auditing proxy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "redirectionState": {
      "description": "The state of proxy redirection.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "securityEnabledAccess": {
      "description": "The state of security access.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "state": {
      "description": "The connection policy state.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "useServerDefault": {
      "description": "Whether server default is enabled or disabled.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "visibility": {
      "description": "The visibility of the auditing proxy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "securityEnabledAccess",
    "proxyDnsName",
    "proxyPort",
    "visibility",
    "useServerDefault",
    "redirectionState",
    "state"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/dataMaskingPolicies": {
  "api_version": "2014-04-01",
  "full_properties": {
    "dataMaskingState": {
      "description": "The state of the data masking policy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "exemptPrincipals": {
      "description": "The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking policy does not apply. The specified users receive data results without masking for all of the database queries.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "dataMaskingState",
    "exemptPrincipals"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/dataMaskingPolicies/rules": {
  "api_version": "2014-04-01",
  "full_properties": {
    "aliasName": {
      "description": "The alias name. This is a legacy parameter and is no longer used.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "columnName": {
      "description": "The column name on which the data masking rule is applied.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "maskingFunction": {
      "description": "The masking function that is used for the data masking rule.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "numberFrom": {
      "description": "The numberFrom property of the masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "numberTo": {
      "description": "The numberTo property of the data masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "prefixSize": {
      "description": "If maskingFunction is set to Text, the number of characters to show unmasked in the beginning of the string. Otherwise, this parameter will be ignored.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "replacementString": {
      "description": "If maskingFunction is set to Text, the character to use for masking the unexposed part of the string. Otherwise, this parameter will be ignored.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "ruleState": {
      "description": "The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "schemaName": {
      "description": "The schema name on which the data masking rule is applied.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "suffixSize": {
      "description": "If maskingFunction is set to Text, the number of characters to show unmasked at the end of the string. Otherwise, this parameter will be ignored.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "tableName": {
      "description": "The table name on which the data masking rule is applied.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "aliasName",
    "ruleState",
    "schemaName",
    "tableName",
    "columnName",
    "maskingFunction",
    "numberFrom",
    "numberTo",
    "prefixSize",
    "suffixSize",
    "replacementString"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/extendedAuditingSettings": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "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 <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::<db_name> and SCHEMA::<schema_name> are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isStorageSecondaryKeyInUse": {
      "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "predicateExpression": {
      "description": "Specifies condition of where clause when creating an audit.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "retentionDays": {
      "description": "Specifies the number of days to keep in the audit logs.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "state": {
      "description": "Specifies the state of the policy. If state is Enabled, storageEndpoint and storageAccountAccessKey are required.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccountAccessKey": {
      "description": "Specifies the identifier key of the auditing storage account. If state is Enabled, storageAccountAccessKey is required.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountSubscriptionId": {
      "description": "Specifies the blob storage subscription Id.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageEndpoint": {
      "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint is required.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "predicateExpression",
    "state",
    "storageEndpoint",
    "storageAccountAccessKey",
    "retentionDays",
    "auditActionsAndGroups",
    "storageAccountSubscriptionId",
    "isStorageSecondaryKeyInUse"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/extensions": {
  "api_version": "2014-04-01",
  "full_properties": {
    "administratorLogin": {
      "description": "The name of the SQL administrator.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "administratorLoginPassword": {
      "description": "The password of the SQL administrator.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "authenticationType": {
      "description": "The authentication type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "operationMode": {
      "description": "The type of import operation being performed. This is always Import.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageKey": {
      "description": "The storage key to use.  If storage key type is SharedAccessKey, it must be preceded with a \"?.\"",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageKeyType": {
      "description": "The type of the storage key to use.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageUri": {
      "description": "The storage uri to use.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "storageKeyType",
    "storageKey",
    "storageUri",
    "administratorLogin",
    "administratorLoginPassword",
    "authenticationType",
    "operationMode"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/geoBackupPolicies": {
  "api_version": "2014-04-01",
  "full_properties": {
    "state": {
      "description": "The state of the geo backup policy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "state"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/securityAlertPolicies": {
  "api_version": "2014-04-01",
  "full_properties": {
    "disabledAlerts": {
      "description": "Specifies the semicolon-separated list of alerts that are disabled, or empty string to disable no alerts. Possible values: Sql_Injection; Sql_Injection_Vulnerability; Access_Anomaly; Usage_Anomaly.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "emailAccountAdmins": {
      "description": "Specifies that the alert is sent to the account administrators.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "emailAddresses": {
      "description": "Specifies the semicolon-separated list of e-mail addresses to which the alert is sent.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "retentionDays": {
      "description": "Specifies the number of days to keep in the Threat Detection audit logs.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "state": {
      "description": "Specifies the state of the policy. If state is Enabled, storageEndpoint and storageAccountAccessKey are required.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccountAccessKey": {
      "description": "Specifies the identifier key of the Threat Detection audit storage account. If state is Enabled, storageAccountAccessKey is required.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageEndpoint": {
      "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. If state is Enabled, storageEndpoint is required.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "useServerDefault": {
      "description": "Specifies whether to use the default server policy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "state",
    "disabledAlerts",
    "emailAddresses",
    "emailAccountAdmins",
    "storageEndpoint",
    "storageAccountAccessKey",
    "retentionDays",
    "useServerDefault"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/syncGroups": {
  "api_version": "2015-05-01-preview",
  "full_properties": {
    "conflictResolutionPolicy": {
      "description": "Conflict resolution policy of the sync group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hubDatabasePassword": {
      "description": "Password for the sync group hub database credential.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hubDatabaseUserName": {
      "description": "User name for the sync group hub database credential.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "interval": {
      "description": "Sync interval of the sync group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "schema": {
      "description": "Sync schema of the sync group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "syncDatabaseId": {
      "description": "ARM resource id of the sync database in the sync group.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "interval",
    "conflictResolutionPolicy",
    "syncDatabaseId",
    "hubDatabaseUserName",
    "hubDatabasePassword",
    "schema"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/syncGroups/syncMembers": {
  "api_version": "2015-05-01-preview",
  "full_properties": {
    "databaseName": {
      "description": "Database name of the member database in the sync member.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "databaseType": {
      "description": "Database type of the sync member.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "password": {
      "description": "Password of the member database in the sync member.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serverName": {
      "description": "Server name of the member database in the sync member",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sqlServerDatabaseId": {
      "description": "SQL Server database id of the sync member.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "syncAgentId": {
      "description": "ARM resource id of the sync agent in the sync member.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "syncDirection": {
      "description": "Sync direction of the sync member.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "userName": {
      "description": "User name of the member database in the sync member.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "databaseType",
    "syncAgentId",
    "sqlServerDatabaseId",
    "serverName",
    "databaseName",
    "userName",
    "password",
    "syncDirection"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/transparentDataEncryption": {
  "api_version": "2014-04-01",
  "full_properties": {
    "status": {
      "description": "The status of the database transparent data encryption.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "status"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "baselineResults": {
      "description": "The rule baseline result",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "baselineResults"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/disasterRecoveryConfiguration": {
  "api_version": "2014-04-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.Sql/servers/dnsAliases": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.Sql/servers/elasticPools": {
  "api_version": "2014-04-01",
  "full_properties": {
    "databaseDtuMax": {
      "description": "The maximum DTU any one database can consume.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "databaseDtuMin": {
      "description": "The minimum DTU all databases are guaranteed.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "dtu": {
      "description": "The total shared DTU for the database elastic pool.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "edition": {
      "description": "The edition of the elastic pool.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageMB": {
      "description": "Gets storage limit for the database elastic pool in MB.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "zoneRedundant": {
      "description": "Whether or not this database elastic pool is zone redundant, which means the replicas of this database will be spread across multiple availability zones.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "edition",
    "dtu",
    "databaseDtuMax",
    "databaseDtuMin",
    "storageMB",
    "zoneRedundant"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Sql/servers/encryptionProtector": {
  "api_version": "2015-05-01-preview",
  "full_properties": {
    "serverKeyName": {
      "description": "The name of the server key.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serverKeyType": {
      "description": "The encryption protector type like 'ServiceManaged', 'AzureKeyVault'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "serverKeyName",
    "serverKeyType"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/extendedAuditingSettings": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "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 <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::<db_name> and SCHEMA::<schema_name> are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isStorageSecondaryKeyInUse": {
      "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "predicateExpression": {
      "description": "Specifies condition of where clause when creating an audit.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "retentionDays": {
      "description": "Specifies the number of days to keep in the audit logs.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "state": {
      "description": "Specifies the state of the policy. If state is Enabled, storageEndpoint and storageAccountAccessKey are required.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccountAccessKey": {
      "description": "Specifies the identifier key of the auditing storage account. If state is Enabled, storageAccountAccessKey is required.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageAccountSubscriptionId": {
      "description": "Specifies the blob storage subscription Id.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageEndpoint": {
      "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint is required.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "predicateExpression",
    "state",
    "storageEndpoint",
    "storageAccountAccessKey",
    "retentionDays",
    "auditActionsAndGroups",
    "storageAccountSubscriptionId",
    "isStorageSecondaryKeyInUse"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/failoverGroups": {
  "api_version": "2015-05-01-preview",
  "full_properties": {
    "databases": {
      "description": "List of databases in the failover group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "partnerServers": {
      "description": "List of partner server information for the failover group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "readOnlyEndpoint": {
      "description": "Read-only endpoint of the failover group instance.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "readWriteEndpoint": {
      "description": "Read-write endpoint of the failover group instance.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "readWriteEndpoint",
    "readOnlyEndpoint",
    "partnerServers",
    "databases"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/firewallRules": {
  "api_version": "2015-05-01-preview",
  "full_properties": {
    "endIpAddress": {
      "description": "The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "startIpAddress": {
      "description": "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all Azure-internal IP addresses.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "startIpAddress",
    "endIpAddress"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/firewallrules": {
  "api_version": "2014-04-01-preview",
  "full_properties": {
    "endIpAddress": {
      "description": "Microsoft.Sql/server/firewallrules: ending IP address",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "startIpAddress": {
      "description": "Microsoft.Sql/server/firewallrules: starting IP address",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "endIpAddress",
    "startIpAddress"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/jobAgents": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "databaseId": {
      "description": "Resource ID of the database to store job metadata in.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "databaseId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Sql/servers/jobAgents/credentials": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "password": {
      "description": "The credential password.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "username": {
      "description": "The credential user name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "username",
    "password"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/jobAgents/jobs": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "action": {
      "description": "Gets or sets the job action.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "correlationData": {
      "description": "Customer provided correlation data that will be returned in Job and JobOutput state events.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Optional customer supplied description of the Job.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "input": {
      "description": "The inputs for the Job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "outputs": {
      "description": "The outputs for the Job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "priority": {
      "description": "Priority with which the job should be processed. Higher priority jobs are processed before lower priority jobs. If not set, the default is normal.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "recurrence": {
      "description": "Gets or sets the job recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "schedule": {
      "description": "Schedule properties of the job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "startTime": {
      "description": "Gets or sets the job start time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "state": {
      "description": "Gets or set the job state. Possible values include: 'Enabled', 'Disabled', 'Faulted', 'Completed'",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "startTime",
    "action",
    "recurrence",
    "state",
    "description",
    "schedule",
    "input",
    "outputs",
    "priority",
    "correlationData"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/jobAgents/jobs/executions": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.Sql/servers/jobAgents/jobs/steps": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "action": {
      "description": "The action payload of the job step.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "credential": {
      "description": "The resource ID of the job credential that will be used to connect to the targets.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "executionOptions": {
      "description": "Execution options for the job step.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "output": {
      "description": "Output destination properties of the job step.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "stepId": {
      "description": "The job step's index within the job. If not specified when creating the job step, it will be created as the last step. If not specified when updating the job step, the step id is not modified.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "targetGroup": {
      "description": "The resource ID of the target group that the job step will be executed on.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "stepId",
    "targetGroup",
    "credential",
    "action",
    "output",
    "executionOptions"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/jobAgents/targetGroups": {
  "api_version": "2017-03-01-preview",
  "full_properties": {
    "members": {
      "description": "Members of the target group.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "members"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/keys": {
  "api_version": "2015-05-01-preview",
  "full_properties": {
    "creationDate": {
      "description": "The server key creation date.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serverKeyType": {
      "description": "The server key type like 'ServiceManaged', 'AzureKeyVault'.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "thumbprint": {
      "description": "Thumbprint of the server key.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "uri": {
      "description": "The URI of the server key.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "serverKeyType",
    "uri",
    "thumbprint",
    "creationDate"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/syncAgents": {
  "api_version": "2015-05-01-preview",
  "full_properties": {
    "syncDatabaseId": {
      "description": "ARM resource id of the sync database in the sync agent.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "syncDatabaseId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Sql/servers/virtualNetworkRules": {
  "api_version": "2015-05-01-preview",
  "full_properties": {
    "ignoreMissingVnetServiceEndpoint": {
      "description": "Create firewall rule before the virtual network has vnet service endpoint enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualNetworkSubnetId": {
      "description": "The ARM resource id of the virtual network subnet.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "virtualNetworkSubnetId",
    "ignoreMissingVnetServiceEndpoint"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers": {
  "api_version": "2017-06-01",
  "full_properties": {
    "cisIntrinsicSettings": {
      "description": "Represents the type of StorSimple Manager.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisioningState": {
      "description": "Specifies the state of the resource as it is getting provisioned. Value of \"Succeeded\" means the Manager was successfully created.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sku": {
      "description": "Specifies the Sku.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "cisIntrinsicSettings",
    "sku",
    "provisioningState"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/accessControlRecords": {
  "api_version": "2017-06-01",
  "full_properties": {
    "initiatorName": {
      "description": "The iSCSI initiator name (IQN).",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "initiatorName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/bandwidthSettings": {
  "api_version": "2017-06-01",
  "full_properties": {
    "schedules": {
      "description": "The schedules.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "schedules"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/certificates": {
  "api_version": "2016-10-01",
  "full_properties": {
    "authType": {
      "description": "Specify the Authentication type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "certificate": {
      "description": "Gets or sets the base64 encoded certificate raw data string",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "authType",
    "certificate"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/devices/alertSettings": {
  "api_version": "2016-10-01",
  "full_properties": {
    "additionalRecipientEmailList": {
      "description": "List of email addresses (apart from admin/coadmin of subscription) to whom the alert emails need to be sent",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "alertNotificationCulture": {
      "description": "Culture setting to be used while building alert emails. For eg: \"en-US\"",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "emailNotification": {
      "description": "Value indicating whether user/admins will receive emails when an alert condition occurs on the system.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "notificationToServiceOwners": {
      "description": "Value indicating whether service owners will receive emails when an alert condition occurs on the system. Applicable only if emailNotification flag is Enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "emailNotification",
    "notificationToServiceOwners",
    "alertNotificationCulture",
    "additionalRecipientEmailList"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/devices/backupPolicies": {
  "api_version": "2017-06-01",
  "full_properties": {
    "volumeIds": {
      "description": "The path IDs of the volumes which are part of the backup policy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "volumeIds"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/devices/backupPolicies/schedules": {
  "api_version": "2017-06-01",
  "full_properties": {
    "backupType": {
      "description": "The type of backup which needs to be taken.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "retentionCount": {
      "description": "The number of backups to be retained.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scheduleRecurrence": {
      "description": "The schedule recurrence.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scheduleStatus": {
      "description": "The schedule status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "startTime": {
      "description": "The start time of the schedule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "scheduleRecurrence",
    "backupType",
    "retentionCount",
    "startTime",
    "scheduleStatus"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/devices/backupScheduleGroups": {
  "api_version": "2016-10-01",
  "full_properties": {
    "startTime": {
      "description": "The start time. When this field is specified we will generate Default GrandFather Father Son Backup Schedules.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "startTime"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/devices/chapSettings": {
  "api_version": "2016-10-01",
  "full_properties": {
    "password": {
      "description": "The chap password.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "password"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/devices/fileservers": {
  "api_version": "2016-10-01",
  "full_properties": {
    "backupScheduleGroupId": {
      "description": "The backup policy id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description of the file server",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "domainName": {
      "description": "Domain of the file server",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageDomainId": {
      "description": "The storage domain id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "domainName",
    "storageDomainId",
    "backupScheduleGroupId",
    "description"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/devices/fileservers/shares": {
  "api_version": "2016-10-01",
  "full_properties": {
    "adminUser": {
      "description": "The user/group who will have full permission in this share. Active directory email address. Example: xyz@contoso.com or Contoso\\xyz.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "dataPolicy": {
      "description": "The data policy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "Description for file share",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "monitoringStatus": {
      "description": "The monitoring status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisionedCapacityInBytes": {
      "description": "The total provisioned capacity in Bytes",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "shareStatus": {
      "description": "The Share Status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "shareStatus",
    "dataPolicy",
    "adminUser",
    "provisionedCapacityInBytes",
    "monitoringStatus"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/devices/iscsiservers": {
  "api_version": "2016-10-01",
  "full_properties": {
    "backupScheduleGroupId": {
      "description": "The backup policy id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "chapId": {
      "description": "The chap id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "reverseChapId": {
      "description": "The reverse chap id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageDomainId": {
      "description": "The storage domain id.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "storageDomainId",
    "backupScheduleGroupId",
    "description",
    "chapId",
    "reverseChapId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/devices/iscsiservers/disks": {
  "api_version": "2016-10-01",
  "full_properties": {
    "accessControlRecords": {
      "description": "The access control records.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "dataPolicy": {
      "description": "The data policy.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "diskStatus": {
      "description": "The disk status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "monitoringStatus": {
      "description": "The monitoring.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "provisionedCapacityInBytes": {
      "description": "The provisioned capacity in bytes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "diskStatus",
    "accessControlRecords",
    "dataPolicy",
    "provisionedCapacityInBytes",
    "monitoringStatus"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/devices/volumeContainers": {
  "api_version": "2017-06-01",
  "full_properties": {
    "bandWidthRateInMbps": {
      "description": "The bandwidth-rate set on the volume container.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "bandwidthSettingId": {
      "description": "The ID of the bandwidth setting associated with the volume container.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "encryptionKey": {
      "description": "The key used to encrypt data in the volume container. It is required when property 'EncryptionStatus' is \"Enabled\".",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccountCredentialId": {
      "description": "The path ID of storage account associated with the volume container.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "encryptionKey",
    "storageAccountCredentialId",
    "bandWidthRateInMbps",
    "bandwidthSettingId"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/devices/volumeContainers/volumes": {
  "api_version": "2017-06-01",
  "full_properties": {
    "accessControlRecordIds": {
      "description": "The IDs of the access control records, associated with the volume.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "monitoringStatus": {
      "description": "The monitoring status of the volume.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sizeInBytes": {
      "description": "The size of the volume in bytes.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "volumeStatus": {
      "description": "The volume status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "volumeType": {
      "description": "The type of the volume.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sizeInBytes",
    "volumeType",
    "accessControlRecordIds",
    "volumeStatus",
    "monitoringStatus"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/extendedInformation": {
  "api_version": "2016-10-01",
  "full_properties": {
    "algorithm": {
      "description": "Represents the encryption algorithm used to encrypt the other keys. None - if EncryptionKey is saved in plain text format. AlgorithmName - if encryption is used",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "encryptionKey": {
      "description": "Represents the CEK of the resource",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "encryptionKeyThumbprint": {
      "description": "Represents the Cert thumbprint that was used to encrypt the CEK",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "integrityKey": {
      "description": "Represents the CIK of the resource",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "portalCertificateThumbprint": {
      "description": "Represents the portal thumbprint which can be used optionally to encrypt the entire data before storing it.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "version": {
      "description": "Represents the version of the ExtendedInfo object being persisted",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "version",
    "integrityKey",
    "encryptionKey",
    "encryptionKeyThumbprint",
    "portalCertificateThumbprint",
    "algorithm"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/storageAccountCredentials": {
  "api_version": "2017-06-01",
  "full_properties": {
    "accessKey": {
      "description": "The details of the storage account password.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "cloudType": {
      "description": "The cloud service provider.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enableSSL": {
      "description": "SSL needs to be enabled or not.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "endPoint": {
      "description": "The storage endpoint",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "location": {
      "description": "The storage account's geo location",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "login": {
      "description": "The storage account login",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sslStatus": {
      "description": "Signifies whether SSL needs to be enabled or not.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "cloudType",
    "endPoint",
    "login",
    "location",
    "enableSSL",
    "accessKey",
    "sslStatus"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StorSimple/managers/storageDomains": {
  "api_version": "2016-10-01",
  "full_properties": {
    "encryptionKey": {
      "description": "The encryption key used to encrypt the data. This is a user secret.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "encryptionStatus": {
      "description": "The encryption status \"Enabled | Disabled\".",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "storageAccountCredentialIds": {
      "description": "The storage account credentials.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "storageAccountCredentialIds",
    "encryptionKey",
    "encryptionStatus"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Storage/storageAccounts": {
  "api_version": "2018-07-01",
  "full_properties": {
    "accountType": {
      "description": "Microsoft.Storage/storageAccounts: The type of this account.",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "accountType"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "sku",
    "kind",
    "location"
  ]
},
"Microsoft.Storage/storageAccounts/blobServices": {
  "api_version": "2018-07-01",
  "full_properties": {
    "cors": {
      "description": "Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "defaultServiceVersion": {
      "description": "DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "deleteRetentionPolicy": {
      "description": "The blob service properties for soft delete.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "cors",
    "defaultServiceVersion",
    "deleteRetentionPolicy"
  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.Storage/storageAccounts/blobServices/containers": {
  "api_version": "2018-07-01",
  "full_properties": {
    "command": {
      "description": "The commands to execute within the container instance in exec form.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "environmentVariables": {
      "description": "The environment variables to set in the container instance.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "image": {
      "description": "The name of the image used to create the container instance.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "metadata": {
      "description": "A name-value pair to associate with the container as metadata.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ports": {
      "description": "The exposed ports on the container instance.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "publicAccess": {
      "description": "Specifies whether data in the container may be accessed publicly and the level of access.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resources": {
      "description": "The resource requirements of the container instance.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "volumeMounts": {
      "description": "The volume mounts available to the container instance.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "publicAccess",
    "metadata",
    "image",
    "command",
    "ports",
    "environmentVariables",
    "resources",
    "volumeMounts"
  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies": {
  "api_version": "2018-07-01",
  "full_properties": {
    "immutabilityPeriodSinceCreationInDays": {
      "description": "The immutability period for the blobs in the container since the policy creation, in days.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "immutabilityPeriodSinceCreationInDays"
  ],
  "required": [
    "name",
    "type",
    "apiVersion"
  ]
},
"Microsoft.Storage/storageAccounts/managementPolicies": {
  "api_version": "2018-03-01-preview",
  "full_properties": {
    "policy": {
      "description": "The Storage Account ManagementPolicies Rules, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "policy"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StreamAnalytics/streamingjobs": {
  "api_version": "2016-03-01",
  "full_properties": {
    "compatibilityLevel": {
      "description": "Controls certain runtime behaviors of the streaming job.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "dataLocale": {
      "description": "The data locale of the stream analytics job. Value should be the name of a supported .NET Culture from the set https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx. Defaults to 'en-US' if none specified.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "eventsLateArrivalMaxDelayInSeconds": {
      "description": "The maximum tolerable delay in seconds where events arriving late could be included.  Supported range is -1 to 1814399 (20.23:59:59 days) and -1 is used to specify wait indefinitely. If the property is absent, it is interpreted to have a value of -1.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "eventsOutOfOrderMaxDelayInSeconds": {
      "description": "The maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "eventsOutOfOrderPolicy": {
      "description": "Indicates the policy to apply to events that arrive out of order in the input event stream.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "functions": {
      "description": "A list of one or more functions for the streaming job. The name property for each function is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual transformation.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "inputs": {
      "description": "A list of one or more inputs to the streaming job. The name property for each input is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual input.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "outputErrorPolicy": {
      "description": "Indicates the policy to apply to events that arrive at the output and cannot be written to the external storage due to being malformed (missing column values, column values of wrong type or size).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "outputStartMode": {
      "description": "This property should only be utilized when it is desired that the job be started immediately upon creation. Value may be JobStartTime, CustomTime, or LastOutputEventTime to indicate whether the starting point of the output event stream should start whenever the job is started, start at a custom user time stamp specified via the outputStartTime property, or start from the last event output time.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "outputStartTime": {
      "description": "Value is either an ISO-8601 formatted time stamp that indicates the starting point of the output event stream, or null to indicate that the output event stream will start whenever the streaming job is started. This property must have a value if outputStartMode is set to CustomTime.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "outputs": {
      "description": "A list of one or more outputs for the streaming job. The name property for each output is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual output.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sku": {
      "description": "Describes the SKU of the streaming job. Required on PUT (CreateOrReplace) requests.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "transformation": {
      "description": "Indicates the query and the number of streaming units to use for the streaming job. The name property of the transformation is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual tranformation.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sku",
    "outputStartMode",
    "outputStartTime",
    "eventsOutOfOrderPolicy",
    "outputErrorPolicy",
    "eventsOutOfOrderMaxDelayInSeconds",
    "eventsLateArrivalMaxDelayInSeconds",
    "dataLocale",
    "compatibilityLevel",
    "inputs",
    "transformation",
    "outputs",
    "functions"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.StreamAnalytics/streamingjobs/functions": {
  "api_version": "2016-03-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": null
},
"Microsoft.StreamAnalytics/streamingjobs/inputs": {
  "api_version": "2016-03-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": null
},
"Microsoft.StreamAnalytics/streamingjobs/outputs": {
  "api_version": "2016-03-01",
  "full_properties": {
    "datasource": {
      "description": "Describes the data source that output will be written to. Required on PUT (CreateOrReplace) requests.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "serialization": {
      "description": "Describes how data from an input is serialized or how data is serialized when written to an output. Required on PUT (CreateOrReplace) requests.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "datasource",
    "serialization"
  ],
  "required": null
},
"Microsoft.StreamAnalytics/streamingjobs/transformations": {
  "api_version": "2016-03-01",
  "full_properties": {
    "query": {
      "description": "Specifies the query that will be run in the streaming job. You can learn more about the Stream Analytics Query Language (SAQL) here: https://msdn.microsoft.com/library/azure/dn834998 . Required on PUT (CreateOrReplace) requests.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "streamingUnits": {
      "description": "Specifies the number of streaming units that the streaming job uses.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "streamingUnits",
    "query"
  ],
  "required": null
},
"Microsoft.TimeSeriesInsights/environments": {
  "api_version": "2017-11-15",
  "full_properties": {
    "dataRetentionTime": {
      "description": "ISO8601 timespan specifying the minimum number of days the environment's events will be available for query.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "storageLimitExceededBehavior": {
      "description": "The behavior the Time Series Insights service should take when the environment's capacity has been exceeded. If \"PauseIngress\" is specified, new events will not be read from the event source. If \"PurgeOldData\" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "dataRetentionTime",
    "storageLimitExceededBehavior"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "sku",
    "properties"
  ]
},
"Microsoft.TimeSeriesInsights/environments/accessPolicies": {
  "api_version": "2017-11-15",
  "full_properties": {
    "description": {
      "description": "An description of the access policy.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "principalObjectId": {
      "description": "The objectId of the principal in Azure Active Directory.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "roles": {
      "description": "The list of roles the principal is assigned on the environment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "principalObjectId",
    "description",
    "roles"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.TimeSeriesInsights/environments/eventSources": {
  "api_version": "2017-11-15",
  "full_properties": {
    "consumerGroupName": {
      "description": "The name of the event hub's consumer group that holds the partitions from which events will be read.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "eventHubName": {
      "description": "The name of the event hub.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "eventSourceResourceId": {
      "description": "The resource id of the event source in Azure Resource Manager.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "keyName": {
      "description": "The name of the SAS key that grants the Time Series Insights service access to the event hub. The shared access policies for this key must grant 'Listen' permissions to the event hub.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serviceBusNamespace": {
      "description": "The name of the service bus that contains the event hub.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sharedAccessKey": {
      "description": "The value of the shared access key that grants the Time Series Insights service read access to the event hub. This property is not shown in event source responses.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "timestampPropertyName": {
      "description": "The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sharedAccessKey",
    "serviceBusNamespace",
    "eventHubName",
    "consumerGroupName",
    "keyName",
    "eventSourceResourceId",
    "timestampPropertyName"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "kind",
    "properties"
  ]
},
"Microsoft.TimeSeriesInsights/environments/referenceDataSets": {
  "api_version": "2017-11-15",
  "full_properties": {
    "keyProperties": {
      "description": "The list of key properties for the reference data set.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "keyProperties"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"Microsoft.Web/certificates": {
  "api_version": "2016-03-01",
  "full_properties": {
    "password": {
      "description": "Microsoft.Web/certficates: A string that contains the password for the certificate.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "pfxBlob": {
      "description": "Microsoft.Web/certificates: A base64Binary value that contains the PfxBlob of the certificate.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "pfxBlob",
    "password"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/connectionGateways": {
  "api_version": "2016-06-01",
  "full_properties": {
    "connectionGatewayInstallation": {
      "description": "The reference to connection gateway installation resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "description",
    "connectionGatewayInstallation"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/connections": {
  "api_version": "2016-06-01",
  "full_properties": {
    "api": {
      "description": "The reference to API resource.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customParameterValues": {
      "description": "The custom parameter values.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "The display name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "parameterValues": {
      "description": "The parameter values.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "displayName",
    "customParameterValues",
    "parameterValues",
    "api"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/csrs": {
  "api_version": "2016-03-01",
  "full_properties": {
    "csrString": {
      "description": "Actual CSR string created.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "distinguishedName": {
      "description": "Distinguished name of certificate to be created.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hostingEnvironment": {
      "description": "App Service Environment.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "name": {
      "description": "Name used to locate CSR object.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "password": {
      "description": "PFX password.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "pfxBlob": {
      "description": "PFX certifcate of created certificate.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "publicKeyHash": {
      "description": "Hash of the certificate's public key.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "distinguishedName",
    "csrString",
    "pfxBlob",
    "password",
    "publicKeyHash",
    "hostingEnvironment"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/customApis": {
  "api_version": "2016-06-01",
  "full_properties": {
    "backendService": {
      "description": "The backend service.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "brandColor": {
      "description": "The brand color.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "connectionParameters": {
      "description": "The connection parameters.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "The description.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "displayName": {
      "description": "The display name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "iconUri": {
      "description": "The icon URI.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "swagger": {
      "description": "The swagger schema. See Swagger specification: http://swagger.io/specification/",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "displayName",
    "description",
    "brandColor",
    "iconUri",
    "backendService",
    "connectionParameters",
    "swagger"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/hostingEnvironments": {
  "api_version": "2016-09-01",
  "full_properties": {
    "apiManagementAccountId": {
      "description": "API Management Account associated with the App Service Environment.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "clusterSettings": {
      "description": "Custom settings for changing the behavior of the App Service Environment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "dnsSuffix": {
      "description": "DNS suffix of the App Service Environment.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "dynamicCacheEnabled": {
      "description": "True/false indicating whether the App Service Environment is suspended. The environment can be suspended e.g. when the management endpoint is no longer available\n (most likely because NSG blocked the incoming traffic).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "frontEndScaleFactor": {
      "description": "Scale factor for front-ends.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "internalLoadBalancingMode": {
      "description": "Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "ipsslAddressCount": {
      "description": "Number of IP SSL addresses reserved for the App Service Environment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "kind": {
      "description": "Kind of the app service environment",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "location": {
      "description": "Location of the App Service Environment, e.g. \"West US\".",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "multiRoleCount": {
      "description": "Number of front-end instances.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "multiSize": {
      "description": "Front-end VM size, e.g. \"Medium\", \"Large\".",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "name": {
      "description": "Name of the App Service Environment.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "networkAccessControlList": {
      "description": "Access control list for controlling traffic to the App Service Environment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "suspended": {
      "description": "<code>true</code> if the App Service Environment is suspended; otherwise, <code>false</code>. The environment can be suspended, e.g. when the management endpoint is no longer available\n (most likely because NSG blocked the incoming traffic).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "virtualNetwork": {
      "description": "Description of the Virtual Network.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vnetName": {
      "description": "Name of the Virtual Network for the App Service Environment.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "vnetResourceGroupName": {
      "description": "Resource group of the Virtual Network.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "vnetSubnetName": {
      "description": "Subnet of the Virtual Network.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "workerPools": {
      "description": "Description of worker pools with worker size IDs, VM sizes, and number of workers in each pool.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "location",
    "vnetName",
    "vnetResourceGroupName",
    "vnetSubnetName",
    "virtualNetwork",
    "internalLoadBalancingMode",
    "multiSize",
    "multiRoleCount",
    "workerPools",
    "ipsslAddressCount",
    "dnsSuffix",
    "networkAccessControlList",
    "kind",
    "frontEndScaleFactor",
    "apiManagementAccountId",
    "suspended",
    "dynamicCacheEnabled",
    "clusterSettings"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/hostingEnvironments/multiRolePools": {
  "api_version": "2016-09-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": null
},
"Microsoft.Web/hostingEnvironments/workerPools": {
  "api_version": "2016-09-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "type",
    "apiVersion"
  ]
},
"Microsoft.Web/serverfarms": {
  "api_version": "2016-09-01",
  "full_properties": {
    "name": {
      "description": "Microsoft.Web/serverfarms: Name of the server farm.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "numberOfWorkers": {
      "description": "Microsoft.Web/serverfarms: The instance count, which is the number of virtual machines dedicated to the farm. Supported values are 1-10.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "sku": {
      "description": "Microsoft.Web/serverfarms: Server farm sku.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "workerSize": {
      "description": "Microsoft.Web/serverfarms: The instance size.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "sku",
    "workerSize",
    "numberOfWorkers"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/serverfarms/virtualNetworkConnections/gateways": {
  "api_version": "2016-09-01",
  "full_properties": {
    "vnetName": {
      "description": "The Virtual Network name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "vpnPackageUri": {
      "description": "The URI where the VPN package can be downloaded.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "vnetName",
    "vpnPackageUri"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/serverfarms/virtualNetworkConnections/routes": {
  "api_version": "2016-09-01",
  "full_properties": {
    "endAddress": {
      "description": "The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "name": {
      "description": "The name of this route. This is only returned by the server and does not need to be set by the client.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "routeType": {
      "description": "The type of route this is:\n DEFAULT - By default, every app has routes to the local address ranges specified by RFC1918\n INHERITED - Routes inherited from the real Virtual Network routes\n STATIC - Static route set on the app only\n \n These values will be used for syncing an app's routes with those from a Virtual Network.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "startAddress": {
      "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "startAddress",
    "endAddress",
    "routeType"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites": {
  "api_version": "2016-08-01",
  "full_properties": {
    "enabledHostnames": {
      "description": "Microsoft.Web/sites: An array of strings that contains enabled hostnames for the site. By default, these are <SiteName>.azurewebsites.net and <SiteName>.scm.azurewebsites.net.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hostNameSslStates": {
      "description": "Microsoft.Web/sites: Container for SSL states.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hostnames": {
      "description": "Microsoft.Web/sites: An array of strings that contains the public hostnames for the site, including custom domains.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "name": {
      "description": "Microsoft.Web/sites: The name of web site.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serverFarm": {
      "description": "Microsoft.Web/sites: The name of server farm site belongs to.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serverFarmId": {
      "description": "Microsoft.Web/sites: The resource Id of server farm site belongs to.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "serverFarm",
    "hostnames",
    "enabledHostnames",
    "hostNameSslStates",
    "serverFarmId"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/config": {
  "api_version": "2016-08-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/deployments": {
  "api_version": "2016-08-01",
  "full_properties": {
    "active": {
      "description": "Active.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "author": {
      "description": "Author.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "author_email": {
      "description": "Author email.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "deployer": {
      "description": "Deployer.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "details": {
      "description": "Detail.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "end_time": {
      "description": "End time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "id": {
      "description": "ID.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "message": {
      "description": "Message.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "start_time": {
      "description": "Start time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "status": {
      "description": "Status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "id",
    "status",
    "message",
    "author",
    "deployer",
    "author_email",
    "start_time",
    "end_time",
    "active",
    "details"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/domainOwnershipIdentifiers": {
  "api_version": "2016-08-01",
  "full_properties": {
    "id": {
      "description": "ID.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "id"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/extensions": {
  "api_version": "2015-08-01",
  "full_properties": {
    "connectionString": {
      "description": "Microsoft.Web/sites/extensions: connection string",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "dbType": {
      "description": "Microsoft.Web/sites/extensions: type of database",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "packageUri": {
      "description": "Microsoft.Web/sites/extensions: uri of package",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "setParameters": {
      "description": "Microsoft.Web/sites/extensions: parameters",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "packageUri",
    "dbType",
    "connectionString",
    "setParameters"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/hostNameBindings": {
  "api_version": "2016-08-01",
  "full_properties": {
    "azureResourceName": {
      "description": "Azure resource name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "azureResourceType": {
      "description": "Azure resource type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customHostNameDnsRecordType": {
      "description": "Custom DNS record type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "domainId": {
      "description": "Fully qualified ARM domain resource URI.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hostNameType": {
      "description": "Hostname type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "name": {
      "description": "Hostname.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "siteName": {
      "description": "App Service app name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sslState": {
      "description": "SSL type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "thumbprint": {
      "description": "SSL certificate thumbprint",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "virtualIP": {
      "description": "Virtual IP address assigned to the hostname if IP based SSL is enabled.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "siteName",
    "domainId",
    "azureResourceName",
    "azureResourceType",
    "customHostNameDnsRecordType",
    "hostNameType",
    "sslState",
    "thumbprint",
    "virtualIP"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/hybridConnectionNamespaces/relays": {
  "api_version": "2016-08-01",
  "full_properties": {
    "hostname": {
      "description": "The hostname of the endpoint.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "port": {
      "description": "The port of the endpoint.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "relayArmUri": {
      "description": "The ARM URI to the Service Bus relay.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "relayName": {
      "description": "The name of the Service Bus relay.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sendKeyName": {
      "description": "The name of the Service Bus key which has Send permissions. This is used to authenticate to Service Bus.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sendKeyValue": {
      "description": "The value of the Service Bus key. This is used to authenticate to Service Bus. In ARM this key will not be returned\n normally, use the POST /listKeys API instead.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serviceBusNamespace": {
      "description": "The name of the Service Bus namespace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "serviceBusNamespace",
    "relayName",
    "relayArmUri",
    "hostname",
    "port",
    "sendKeyName",
    "sendKeyValue"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/hybridconnection": {
  "api_version": "2016-08-01",
  "full_properties": {
    "biztalkUri": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "entityConnectionString": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "entityName": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hostname": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "port": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceConnectionString": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "resourceType": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "entityName",
    "entityConnectionString",
    "resourceType",
    "resourceConnectionString",
    "hostname",
    "port",
    "biztalkUri"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/instances/deployments": {
  "api_version": "2016-08-01",
  "full_properties": {
    "active": {
      "description": "Active.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "author": {
      "description": "Author.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "author_email": {
      "description": "Author email.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "deployer": {
      "description": "Deployer.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "details": {
      "description": "Detail.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "end_time": {
      "description": "End time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "id": {
      "description": "ID.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "message": {
      "description": "Message.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "start_time": {
      "description": "Start time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "status": {
      "description": "Status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "id",
    "status",
    "message",
    "author",
    "deployer",
    "author_email",
    "start_time",
    "end_time",
    "active",
    "details"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/premieraddons": {
  "api_version": "2016-08-01",
  "full_properties": {
    "location": {
      "description": "Location.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "marketplaceOffer": {
      "description": "Marketplace offer.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "marketplacePublisher": {
      "description": "Marketplace publisher.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "name": {
      "description": "Name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "product": {
      "description": "Product.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sku": {
      "description": "SKU.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "tags": {
      "description": "Tags.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vendor": {
      "description": "Vendor.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sku",
    "product",
    "vendor",
    "name",
    "location",
    "tags",
    "marketplacePublisher",
    "marketplaceOffer"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/publiccertificates": {
  "api_version": "2016-08-01",
  "full_properties": {
    "blob": {
      "description": "A certificate file (.cer) blob.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "publicCertificateLocation": {
      "description": "Public Certificate Location.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "blob",
    "publicCertificateLocation"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots": {
  "api_version": "2016-08-01",
  "full_properties": {
    "clientAffinityEnabled": {
      "description": "<code>true</code> to enable client affinity; <code>false</code> to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is <code>true</code>.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "clientCertEnabled": {
      "description": "<code>true</code> to enable client certificate authentication (TLS mutual authentication); otherwise, <code>false</code>. Default is <code>false</code>.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "cloningInfo": {
      "description": "If specified during app creation, the app is cloned from a source app.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "containerSize": {
      "description": "Size of the function container.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "dailyMemoryTimeQuota": {
      "description": "Maximum allowed daily memory-time quota (applicable on dynamic apps only).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "enabled": {
      "description": "<code>true</code> if the app is enabled; otherwise, <code>false</code>. Setting this value to false disables the app (takes the app offline).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "gatewaySiteName": {
      "description": "Name of gateway app associated with the app.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hostNameSslStates": {
      "description": "Hostname SSL states are used to manage the SSL bindings for app's hostnames.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hostNamesDisabled": {
      "description": "<code>true</code> to disable the public hostnames of the app; otherwise, <code>false</code>.\n If <code>true</code>, the app is only accessible via API management process.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "hostingEnvironmentProfile": {
      "description": "App Service Environment to use for the app.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "httpsOnly": {
      "description": "Configures a web site to accept only https requests. Issues redirect for http requests.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "microService": {
      "description": "Micro services like apps, logic apps.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "reserved": {
      "description": "<code>true</code> if reserved; otherwise, <code>false</code>.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "scmSiteAlsoStopped": {
      "description": "<code>true</code> to stop SCM (KUDU) site when the app is stopped; otherwise, <code>false</code>. The default is <code>false</code>.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "serverFarmId": {
      "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "siteConfig": {
      "description": "Configuration of the app.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "enabled",
    "hostNameSslStates",
    "serverFarmId",
    "reserved",
    "siteConfig",
    "scmSiteAlsoStopped",
    "hostingEnvironmentProfile",
    "microService",
    "gatewaySiteName",
    "clientAffinityEnabled",
    "clientCertEnabled",
    "hostNamesDisabled",
    "containerSize",
    "dailyMemoryTimeQuota",
    "cloningInfo",
    "httpsOnly"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots/config": {
  "api_version": "2016-08-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots/deployments": {
  "api_version": "2016-08-01",
  "full_properties": {
    "active": {
      "description": "Active.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "author": {
      "description": "Author.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "author_email": {
      "description": "Author email.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "deployer": {
      "description": "Deployer.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "details": {
      "description": "Detail.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "end_time": {
      "description": "End time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "id": {
      "description": "ID.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "message": {
      "description": "Message.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "start_time": {
      "description": "Start time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "status": {
      "description": "Status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "id",
    "status",
    "message",
    "author",
    "deployer",
    "author_email",
    "start_time",
    "end_time",
    "active",
    "details"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots/domainOwnershipIdentifiers": {
  "api_version": "2016-08-01",
  "full_properties": {
    "id": {
      "description": "ID.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "id"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots/hostNameBindings": {
  "api_version": "2016-08-01",
  "full_properties": {
    "azureResourceName": {
      "description": "Azure resource name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "azureResourceType": {
      "description": "Azure resource type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "customHostNameDnsRecordType": {
      "description": "Custom DNS record type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "domainId": {
      "description": "Fully qualified ARM domain resource URI.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hostNameType": {
      "description": "Hostname type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "name": {
      "description": "Hostname.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "siteName": {
      "description": "App Service app name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sslState": {
      "description": "SSL type.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "thumbprint": {
      "description": "SSL certificate thumbprint",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "virtualIP": {
      "description": "Virtual IP address assigned to the hostname if IP based SSL is enabled.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "siteName",
    "domainId",
    "azureResourceName",
    "azureResourceType",
    "customHostNameDnsRecordType",
    "hostNameType",
    "sslState",
    "thumbprint",
    "virtualIP"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots/hybridConnectionNamespaces/relays": {
  "api_version": "2016-08-01",
  "full_properties": {
    "hostname": {
      "description": "The hostname of the endpoint.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "port": {
      "description": "The port of the endpoint.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "relayArmUri": {
      "description": "The ARM URI to the Service Bus relay.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "relayName": {
      "description": "The name of the Service Bus relay.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sendKeyName": {
      "description": "The name of the Service Bus key which has Send permissions. This is used to authenticate to Service Bus.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sendKeyValue": {
      "description": "The value of the Service Bus key. This is used to authenticate to Service Bus. In ARM this key will not be returned\n normally, use the POST /listKeys API instead.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "serviceBusNamespace": {
      "description": "The name of the Service Bus namespace.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "serviceBusNamespace",
    "relayName",
    "relayArmUri",
    "hostname",
    "port",
    "sendKeyName",
    "sendKeyValue"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots/hybridconnection": {
  "api_version": "2016-08-01",
  "full_properties": {
    "biztalkUri": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "entityConnectionString": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "entityName": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "hostname": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "port": {
      "description": null,
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "resourceConnectionString": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "resourceType": {
      "description": null,
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "entityName",
    "entityConnectionString",
    "resourceType",
    "resourceConnectionString",
    "hostname",
    "port",
    "biztalkUri"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots/instances/deployments": {
  "api_version": "2016-08-01",
  "full_properties": {
    "active": {
      "description": "Active.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "author": {
      "description": "Author.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "author_email": {
      "description": "Author email.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "deployer": {
      "description": "Deployer.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "details": {
      "description": "Detail.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "end_time": {
      "description": "End time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "id": {
      "description": "ID.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "message": {
      "description": "Message.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "start_time": {
      "description": "Start time.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "status": {
      "description": "Status.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "id",
    "status",
    "message",
    "author",
    "deployer",
    "author_email",
    "start_time",
    "end_time",
    "active",
    "details"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots/premieraddons": {
  "api_version": "2016-08-01",
  "full_properties": {
    "location": {
      "description": "Location.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "marketplaceOffer": {
      "description": "Marketplace offer.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "marketplacePublisher": {
      "description": "Marketplace publisher.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "name": {
      "description": "Name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "product": {
      "description": "Product.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "sku": {
      "description": "SKU.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "tags": {
      "description": "Tags.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "vendor": {
      "description": "Vendor.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "sku",
    "product",
    "vendor",
    "name",
    "location",
    "tags",
    "marketplacePublisher",
    "marketplaceOffer"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots/publiccertificates": {
  "api_version": "2016-08-01",
  "full_properties": {
    "blob": {
      "description": "A certificate file (.cer) blob.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "publicCertificateLocation": {
      "description": "Public Certificate Location.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "blob",
    "publicCertificateLocation"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots/sourcecontrols": {
  "api_version": "2016-08-01",
  "full_properties": {
    "branch": {
      "description": "Name of branch to use for deployment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "deploymentRollbackEnabled": {
      "description": "<code>true</code> to enable deployment rollback; otherwise, <code>false</code>.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isManualIntegration": {
      "description": "<code>true</code> to limit to manual integration; <code>false</code> to enable continuous integration (which configures webhooks into online repos like GitHub).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isMercurial": {
      "description": "<code>true</code> for a Mercurial repository; <code>false</code> for a Git repository.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "repoUrl": {
      "description": "Repository or source control URL.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "repoUrl",
    "branch",
    "isManualIntegration",
    "deploymentRollbackEnabled",
    "isMercurial"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/slots/virtualNetworkConnections": {
  "api_version": "2016-08-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "type",
    "apiVersion"
  ]
},
"Microsoft.Web/sites/slots/virtualNetworkConnections/gateways": {
  "api_version": "2016-08-01",
  "full_properties": {
    "vnetName": {
      "description": "The Virtual Network name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "vpnPackageUri": {
      "description": "The URI where the VPN package can be downloaded.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "vnetName",
    "vpnPackageUri"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/sourcecontrols": {
  "api_version": "2016-08-01",
  "full_properties": {
    "branch": {
      "description": "Name of branch to use for deployment.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "deploymentRollbackEnabled": {
      "description": "<code>true</code> to enable deployment rollback; otherwise, <code>false</code>.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isManualIntegration": {
      "description": "<code>true</code> to limit to manual integration; <code>false</code> to enable continuous integration (which configures webhooks into online repos like GitHub).",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "isMercurial": {
      "description": "<code>true</code> for a Mercurial repository; <code>false</code> for a Git repository.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "repoUrl": {
      "description": "Repository or source control URL.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "repoUrl",
    "branch",
    "isManualIntegration",
    "deploymentRollbackEnabled",
    "isMercurial"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Microsoft.Web/sites/virtualNetworkConnections": {
  "api_version": "2016-08-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "type",
    "apiVersion"
  ]
},
"Microsoft.Web/sites/virtualNetworkConnections/gateways": {
  "api_version": "2016-08-01",
  "full_properties": {
    "vnetName": {
      "description": "The Virtual Network name.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "vpnPackageUri": {
      "description": "The URI where the VPN package can be downloaded.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "vnetName",
    "vpnPackageUri"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"Sendgrid.Email/accounts": {
  "api_version": "2015-01-01",
  "full_properties": {
    "acceptMarketingEmails": {
      "description": "True if you want to accept Marketing Emails",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    },
    "email": {
      "description": "The user's email address",
      "required": true,
      "type": "string",
      "update_causes": "unknown"
    },
    "password": {
      "description": "The SendGrid account password",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "password",
    "acceptMarketingEmails",
    "email"
  ],
  "required": [
    "name",
    "type",
    "plan",
    "apiVersion",
    "properties"
  ]
},
"SuccessBricks.ClearDB/databases": {
  "api_version": "2014-04-01",
  "full_properties": {
  },
  "properties": [

  ],
  "required": [
    "type",
    "apiVersion",
    "plan",
    "location"
  ]
},
"microsoft.insights/alertrules": {
  "api_version": "2016-03-01",
  "full_properties": {
    "actions": {
      "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "condition": {
      "description": "the condition that results in the alert rule being activated.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "description": {
      "description": "the description of the alert rule that will be included in the alert email.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "isEnabled": {
      "description": "the flag that indicates whether the alert rule is enabled.",
      "required": false,
      "type": null,
      "update_causes": "unknown"
    },
    "name": {
      "description": "the name of the alert rule.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "name",
    "description",
    "isEnabled",
    "condition",
    "actions"
  ],
  "required": [
    "name",
    "type",
    "apiVersion",
    "location",
    "properties"
  ]
},
"microsoft.visualstudio/account": {
  "api_version": "2014-02-26",
  "full_properties": {
    "AccountName": {
      "description": "microsoft.visualstudio/account: Name of the Visual Studio Online account",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "OperationType": {
      "description": "microsoft.visualstudio/account: Type of operation being performed on the account, which can be either Create or Link.",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "OperationType",
    "AccountName"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties",
    "location"
  ]
},
"microsoft.visualstudio/account/project": {
  "api_version": "2014-02-26",
  "full_properties": {
    "ProcessTemplateId": {
      "description": "microsoft.visualstudio/account/project: Process template guid for the project",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    },
    "VersionControlOption": {
      "description": "microsoft.visualstudio/account/project: Version control type for the project, currently TfsVc and Git",
      "required": false,
      "type": "string",
      "update_causes": "unknown"
    }
  },
  "properties": [
    "ProcessTemplateId",
    "VersionControlOption"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
},
"registrations": {
  "api_version": null,
  "full_properties": {
    "resource": {
      "description": "Microsoft.AppService/gateways/registrations: Reference to a resource to be registered",
      "required": true,
      "type": null,
      "update_causes": "unknown"
    }
  },
  "properties": [
    "resource"
  ],
  "required": [
    "type",
    "apiVersion",
    "properties"
  ]
}

}