diff --git a/schemas/2014-04-01-preview/deploymentTemplate.json b/schemas/2014-04-01-preview/deploymentTemplate.json
index e7efa8586d..ab2b232cb6 100644
--- a/schemas/2014-04-01-preview/deploymentTemplate.json
+++ b/schemas/2014-04-01-preview/deploymentTemplate.json
@@ -156,6 +156,13 @@
{ "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" },
{ "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" },
{ "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" },
{ "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/alertrules" },
{ "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/components" },
{ "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/autoscalesettings" },
@@ -1825,24 +1832,26 @@
{ "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters" },
{ "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters_applications" },
{ "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters_extensions" },
- { "$ref": "https://schema.management.azure.com/schemas/2015-06-01-preview/Microsoft.Security.json#/resourceDefinitions/jitNetworkAccessPolicies" },
+ { "$ref": "https://schema.management.azure.com/schemas/2015-06-01-preview/Microsoft.Security.json#/resourceDefinitions/locations_jitNetworkAccessPolicies" },
+ { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/iotSecuritySolutions" },
{ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/pricings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/securityContacts" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/workspaceSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/autoProvisioningSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/advancedThreatProtectionSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/informationProtectionPolicies" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/pricings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/securityContacts" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/workspaceSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/autoProvisioningSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/advancedThreatProtectionSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/informationProtectionPolicies" },
+ { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/advancedThreatProtectionSettings" },
+ { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/deviceSecurityGroups" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-01-01/Microsoft.Security.json#/unknown_resourceDefinitions/advancedThreatProtectionSettings" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-01-01-preview/Microsoft.Security.json#/resourceDefinitions/automations" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-01-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/assessments" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-08-01/Microsoft.Security.json#/resourceDefinitions/iotSecuritySolutions" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-08-01/Microsoft.Security.json#/unknown_resourceDefinitions/deviceSecurityGroups" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Security.json#/resourceDefinitions/locations_jitNetworkAccessPolicies" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Security.json#/unknown_resourceDefinitions/assessments" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-08-06-preview/Microsoft.Security.json#/unknown_resourceDefinitions/iotSensors" },
{ "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects" },
{ "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_groups" },
{ "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_groups_assessments" },
{ "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_hypervcollectors" },
{ "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_vmwarecollectors" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#/resourceDefinitions/moveCollections" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#/resourceDefinitions/moveCollections_moveResources" },
{ "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Insights.json#/resourceDefinitions/actionGroups" },
{ "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.ManagedServices.json#/resourceDefinitions/registrationAssignments" },
{ "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.ManagedServices.json#/resourceDefinitions/registrationDefinitions" },
diff --git a/schemas/2015-01-01/deploymentTemplate.json b/schemas/2015-01-01/deploymentTemplate.json
index 89255d5233..d49166c4b4 100644
--- a/schemas/2015-01-01/deploymentTemplate.json
+++ b/schemas/2015-01-01/deploymentTemplate.json
@@ -202,6 +202,13 @@
{ "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" },
{ "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" },
{ "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" },
{ "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/alertrules" },
{ "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/components" },
{ "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/autoscalesettings" },
@@ -1966,19 +1973,19 @@
{ "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters" },
{ "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters_applications" },
{ "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters_extensions" },
- { "$ref": "https://schema.management.azure.com/schemas/2015-06-01-preview/Microsoft.Security.json#/resourceDefinitions/jitNetworkAccessPolicies" },
+ { "$ref": "https://schema.management.azure.com/schemas/2015-06-01-preview/Microsoft.Security.json#/resourceDefinitions/locations_jitNetworkAccessPolicies" },
+ { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/iotSecuritySolutions" },
{ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/pricings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/securityContacts" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/workspaceSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/autoProvisioningSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/advancedThreatProtectionSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/informationProtectionPolicies" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/pricings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/securityContacts" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/workspaceSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/autoProvisioningSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/advancedThreatProtectionSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/informationProtectionPolicies" },
+ { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/advancedThreatProtectionSettings" },
+ { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/deviceSecurityGroups" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-01-01/Microsoft.Security.json#/unknown_resourceDefinitions/advancedThreatProtectionSettings" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-01-01-preview/Microsoft.Security.json#/resourceDefinitions/automations" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-01-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/assessments" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-08-01/Microsoft.Security.json#/resourceDefinitions/iotSecuritySolutions" },
+ { "$ref": "https://schema.management.azure.com/schemas/2019-08-01/Microsoft.Security.json#/unknown_resourceDefinitions/deviceSecurityGroups" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Security.json#/resourceDefinitions/locations_jitNetworkAccessPolicies" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Security.json#/unknown_resourceDefinitions/assessments" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-08-06-preview/Microsoft.Security.json#/unknown_resourceDefinitions/iotSensors" },
{ "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects" },
{ "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_groups" },
{ "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_groups_assessments" },
diff --git a/schemas/2015-05-01-preview/Microsoft.Sql.json b/schemas/2015-05-01-preview/Microsoft.Sql.json
index b8e76f058b..ee45813210 100644
--- a/schemas/2015-05-01-preview/Microsoft.Sql.json
+++ b/schemas/2015-05-01-preview/Microsoft.Sql.json
@@ -996,7 +996,9 @@
{
"type": "string",
"enum": [
- "SystemAssigned"
+ "None",
+ "SystemAssigned",
+ "UserAssigned"
]
},
{
diff --git a/schemas/2015-06-01-preview/Microsoft.Security.json b/schemas/2015-06-01-preview/Microsoft.Security.json
index e81cd23730..adc017f32a 100644
--- a/schemas/2015-06-01-preview/Microsoft.Security.json
+++ b/schemas/2015-06-01-preview/Microsoft.Security.json
@@ -4,10 +4,23 @@
"title": "Microsoft.Security",
"description": "Microsoft Security Resource Types",
"resourceDefinitions": {
- "jitNetworkAccessPolicies": {
+ "locations_jitNetworkAccessPolicies": {
"type": "object",
- "description": "Create a policy for protecting resources using Just-in-Time access control",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2015-06-01-preview"
+ ]
+ },
+ "kind": {
+ "type": "string",
+ "description": "Kind of the resource"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of a Just-in-Time access configuration policy."
+ },
"properties": {
"oneOf": [
{
@@ -16,300 +29,678 @@
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
- ],
- "description": "Security contact data"
+ ]
},
"type": {
"type": "string",
- "enum": ["Microsoft.Security/locations/jitNetworkAccessPolicies"]
+ "enum": [
+ "Microsoft.Security/locations/jitNetworkAccessPolicies"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/locations/jitNetworkAccessPolicies"
+ }
+ },
+ "subscription_resourceDefinitions": {
+ "locations_applicationWhitelistings": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2015-06-01-preview"
+ ]
+ },
+ "enforcementMode": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Audit",
+ "Enforce",
+ "None"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The enforcement mode of the group. Can also be defined per collection type by using ProtectionMode."
},
"name": {
"type": "string",
- "description": "jit network access name"
+ "description": "Name of an application control VM/server group"
},
- "kind": {
+ "pathRecommendations": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PathRecommendation"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "protectionMode": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProtectionMode"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The protection mode of the collection/file types. Exe/Msi/Script are used for Windows, Executable is used for Linux."
+ },
+ "type": {
"type": "string",
- "enum": ["Basic"]
+ "enum": [
+ "Microsoft.Security/locations/applicationWhitelistings"
+ ]
},
- "apiVersion": {
- "enum": ["2015-06-01-preview"]
+ "vmRecommendations": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VmRecommendation"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
}
},
"required": [
- "name",
"apiVersion",
- "kind",
- "properties"
- ]
+ "name",
+ "type"
+ ],
+ "description": "Microsoft.Security/locations/applicationWhitelistings"
}
},
"definitions": {
- "Resource": {
+ "JitNetworkAccessPolicyProperties": {
"type": "object",
- "description": "Describes an Azure resource.",
"properties": {
- "name": {
- "readOnly": true,
- "type": "string",
- "description": "Resource name"
+ "requests": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JitNetworkAccessRequest"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
},
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "Resource type"
+ "virtualMachines": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JitNetworkAccessPolicyVirtualMachine"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configurations for Microsoft.Compute/virtualMachines resource type."
}
},
- "x-ms-azure-resource": true
+ "required": [
+ "virtualMachines"
+ ]
},
- "Kind": {
+ "JitNetworkAccessPolicyVirtualMachine": {
"type": "object",
- "description": "Describes an Azure resource with kind",
"properties": {
- "kind": {
+ "id": {
"type": "string",
- "description": "Kind of the resource"
- }
- }
- },
- "Location": {
- "type": "object",
- "description": "Describes an Azure resource with location",
- "properties": {
- "location": {
- "readOnly": true,
+ "description": "Resource ID of the virtual machine that is linked to this policy"
+ },
+ "ports": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JitNetworkAccessPortRule"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Port configurations for the virtual machine"
+ },
+ "publicIpAddress": {
"type": "string",
- "description": "Location where the resource is stored"
+ "description": "Public IP address of the Azure Firewall that is linked to this policy, if applicable"
}
- }
+ },
+ "required": [
+ "id",
+ "ports"
+ ]
},
- "JitNetworkAccessPoliciesList": {
+ "JitNetworkAccessPortRule": {
"type": "object",
"properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/JitNetworkAccessPolicy"
- }
- },
- "nextLink": {
- "readOnly": true,
+ "allowedSourceAddressPrefix": {
"type": "string",
- "description": "The URI to fetch the next page."
+ "description": "Mutually exclusive with the \"allowedSourceAddressPrefixes\" parameter. Should be an IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\"."
+ },
+ "allowedSourceAddressPrefixes": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Mutually exclusive with the \"allowedSourceAddressPrefix\" parameter."
+ },
+ "maxRequestAccessDuration": {
+ "type": "string",
+ "description": "Maximum duration requests can be made for. In ISO 8601 duration format. Minimum 5 minutes, maximum 1 day"
+ },
+ "number": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 65535
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "protocol": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "TCP",
+ "UDP",
+ "*"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
}
- }
+ },
+ "required": [
+ "maxRequestAccessDuration",
+ "number",
+ "protocol"
+ ]
},
- "JitNetworkAccessPolicy": {
+ "JitNetworkAccessRequest": {
"type": "object",
"properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/JitNetworkAccessPolicyProperties"
- }
- },
- "required": ["properties"],
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
+ "justification": {
+ "type": "string",
+ "description": "The justification for making the initiate request"
},
- {
- "$ref": "#/definitions/Kind"
+ "requestor": {
+ "type": "string",
+ "description": "The identity of the person who made the request"
+ },
+ "startTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the request in UTC"
},
- {
- "$ref": "#/definitions/Location"
+ "virtualMachines": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JitNetworkAccessRequestVirtualMachine"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
}
+ },
+ "required": [
+ "requestor",
+ "startTimeUtc",
+ "virtualMachines"
]
},
- "JitNetworkAccessPolicyProperties": {
+ "JitNetworkAccessRequestPort": {
"type": "object",
"properties": {
- "virtualMachines": {
- "type": "array",
- "description": "Configurations for Microsoft.Compute/virtualMachines resource type.",
- "items": {
- "$ref": "#/definitions/JitNetworkAccessPolicyVirtualMachine"
- }
+ "allowedSourceAddressPrefix": {
+ "type": "string",
+ "description": "Mutually exclusive with the \"allowedSourceAddressPrefixes\" parameter. Should be an IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\"."
},
- "requests": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/JitNetworkAccessRequest"
- }
+ "allowedSourceAddressPrefixes": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Mutually exclusive with the \"allowedSourceAddressPrefix\" parameter."
},
- "provisioningState": {
+ "endTimeUtc": {
"type": "string",
- "readOnly": true,
- "description": "Gets the provisioning state of the Just-in-Time policy."
+ "format": "date-time",
+ "description": "The date & time at which the request ends in UTC"
+ },
+ "mappedPort": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The port which is mapped to this port's `number` in the Azure Firewall, if applicable"
+ },
+ "number": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 65535
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "status": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Revoked",
+ "Initiated"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The status of the port."
+ },
+ "statusReason": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Expired",
+ "UserRequested",
+ "NewerRequestInitiated"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A description of why the `status` has its value."
}
},
- "required": ["virtualMachines"]
+ "required": [
+ "endTimeUtc",
+ "number",
+ "status",
+ "statusReason"
+ ]
},
- "JitNetworkAccessPolicyVirtualMachine": {
+ "JitNetworkAccessRequestVirtualMachine": {
"type": "object",
- "required": ["id", "ports"],
"properties": {
"id": {
"type": "string",
"description": "Resource ID of the virtual machine that is linked to this policy"
},
"ports": {
- "type": "array",
- "description": "Port configurations for the virtual machine",
- "items": {
- "$ref": "#/definitions/JitNetworkAccessPortRule"
- }
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JitNetworkAccessRequestPort"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The ports that were opened for the virtual machine"
}
- }
+ },
+ "required": [
+ "id",
+ "ports"
+ ]
},
- "JitNetworkAccessPortRule": {
+ "PathRecommendation": {
"type": "object",
"properties": {
- "number": {
- "$ref": "#/definitions/PortNumber"
+ "action": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Recommended",
+ "Add",
+ "Remove"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
},
- "protocol": {
- "type": "string",
- "enum": ["TCP", "UDP", "*"],
- "x-ms-enum": {
- "name": "protocol",
- "modelAsString": true,
- "values": [
- {
- "value": "TCP"
- },
- {
- "value": "UDP"
- },
- {
- "value": "*",
- "name": "All"
- }
- ]
- }
+ "common": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether the path is commonly run on the machine"
},
- "allowedSourceAddressPrefix": {
- "type": "string",
- "description": "Mutually exclusive with the \"allowedSourceAddressPrefixes\" parameter. Should be an IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\"."
+ "configurationStatus": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Configured",
+ "NotConfigured",
+ "InProgress",
+ "Failed",
+ "NoStatus"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
},
- "allowedSourceAddressPrefixes": {
- "type": "array",
- "description": "Mutually exclusive with the \"allowedSourceAddressPrefix\" parameter.",
- "items": {
- "type": "string",
- "description": "IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\"."
- }
+ "fileType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Exe",
+ "Dll",
+ "Msi",
+ "Script",
+ "Executable",
+ "Unknown"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
},
- "maxRequestAccessDuration": {
+ "path": {
"type": "string",
- "description": "Maximum duration requests can be made for. In ISO 8601 duration format. Minimum 5 minutes, maximum 1 day"
+ "description": "The full path to whitelist"
+ },
+ "publisherInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PublisherInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Represents the publisher information of a process/rule"
+ },
+ "type": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "File",
+ "FileHash",
+ "PublisherSignature",
+ "ProductSignature",
+ "BinarySignature",
+ "VersionAndAboveSignature"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "usernames": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserRecommendation"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "userSids": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
}
},
- "required": ["maxRequestAccessDuration", "number", "protocol"]
+ "description": "Represents a path that is recommended to be allowed and its properties"
},
- "JitNetworkAccessRequest": {
+ "ProtectionMode": {
"type": "object",
"properties": {
- "virtualMachines": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/JitNetworkAccessRequestVirtualMachine"
- }
+ "exe": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Audit",
+ "Enforce",
+ "None"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
},
- "startTimeUtc": {
- "type": "string",
- "format": "date-time",
- "description": "The start time of the request in UTC"
+ "executable": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Audit",
+ "Enforce",
+ "None"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
},
- "requestor": {
- "type": "string",
- "description": "The identity of the person who made the request"
+ "msi": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Audit",
+ "Enforce",
+ "None"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "script": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Audit",
+ "Enforce",
+ "None"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
}
},
- "required": ["requestor", "startTimeUtc", "virtualMachines"]
+ "description": "The protection mode of the collection/file types. Exe/Msi/Script are used for Windows, Executable is used for Linux."
},
- "JitNetworkAccessRequestVirtualMachine": {
+ "PublisherInfo": {
"type": "object",
- "required": ["id", "ports"],
"properties": {
- "id": {
+ "binaryName": {
"type": "string",
- "description": "Resource ID of the virtual machine that is linked to this policy"
+ "description": "The \"OriginalName\" field taken from the file's version resource"
},
- "ports": {
- "type": "array",
- "description": "The ports that were opened for the virtual machine",
- "items": {
- "$ref": "#/definitions/JitNetworkAccessRequestPort"
- }
+ "productName": {
+ "type": "string",
+ "description": "The product name taken from the file's version resource"
+ },
+ "publisherName": {
+ "type": "string",
+ "description": "The Subject field of the x.509 certificate used to sign the code, using the following fields - O = Organization, L = Locality, S = State or Province, and C = Country"
+ },
+ "version": {
+ "type": "string",
+ "description": "The binary file version taken from the file's version resource"
}
- }
+ },
+ "description": "Represents the publisher information of a process/rule"
},
- "JitNetworkAccessRequestPort": {
+ "UserRecommendation": {
"type": "object",
"properties": {
- "number": {
- "$ref": "#/definitions/PortNumber"
+ "recommendationAction": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Recommended",
+ "Add",
+ "Remove"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
},
- "allowedSourceAddressPrefix": {
+ "username": {
"type": "string",
- "description": "Mutually exclusive with the \"allowedSourceAddressPrefixes\" parameter. Should be an IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\"."
- },
- "allowedSourceAddressPrefixes": {
- "type": "array",
- "description": "Mutually exclusive with the \"allowedSourceAddressPrefix\" parameter.",
- "items": {
- "description": "IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\".",
- "type": "string"
- }
+ "description": "Represents a user that is recommended to be allowed for a certain rule"
+ }
+ },
+ "description": "Represents a user that is recommended to be allowed for a certain rule"
+ },
+ "VmRecommendation": {
+ "type": "object",
+ "properties": {
+ "configurationStatus": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Configured",
+ "NotConfigured",
+ "InProgress",
+ "Failed",
+ "NoStatus"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
},
- "endTimeUtc": {
- "type": "string",
- "format": "date-time",
- "description": "The date & time at which the request ends in UTC"
+ "enforcementSupport": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Supported",
+ "NotSupported",
+ "Unknown"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
},
- "status": {
- "type": "string",
- "description": "The status of the port",
- "enum": ["Revoked", "Initiated"],
- "x-ms-enum": {
- "name": "status",
- "modelAsString": true,
- "values": [
- {
- "value": "Revoked"
- },
- {
- "value": "Initiated"
- }
- ]
- }
+ "recommendationAction": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Recommended",
+ "Add",
+ "Remove"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
},
- "statusReason": {
+ "resourceId": {
"type": "string",
- "description": "A description of why the `status` has its value",
- "enum": ["Expired", "UserRequested", "NewerRequestInitiated"],
- "x-ms-enum": {
- "name": "statusReason",
- "modelAsString": true,
- "values": [
- {
- "value": "Expired"
- },
- {
- "value": "UserRequested"
- },
- {
- "value": "NewerRequestInitiated"
- }
- ]
- }
+ "description": "The full azure resource id of the machine"
}
},
- "required": ["endTimeUtc", "number", "status", "statusReason"]
- },
- "PortNumber": {
- "type": "integer",
- "minimum": 0,
- "maximum": 65535
+ "description": "Represents a machine that is part of a VM/server group"
}
}
-}
+}
\ No newline at end of file
diff --git a/schemas/2017-06-01/Microsoft.AAD.json b/schemas/2017-06-01/Microsoft.AAD.json
index c03bbf9004..95b6818c05 100644
--- a/schemas/2017-06-01/Microsoft.AAD.json
+++ b/schemas/2017-06-01/Microsoft.AAD.json
@@ -246,6 +246,17 @@
],
"description": "Secure LDAP Settings"
},
+ "migrationProperties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrationProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Migration Properties"
+ },
"notificationSettings": {
"oneOf": [
{
@@ -388,6 +399,52 @@
},
"description": "Secure LDAP Settings"
},
+ "MigrationProgress": {
+ "type": "object",
+ "properties": {
+ "completionPercentage": {
+ "oneOf": [
+ {
+ "type": "number"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Completion Percentage"
+ },
+ "progressMessage": {
+ "type": "string",
+ "description": "Progress Message"
+ }
+ },
+ "description": "Migration Progress"
+ },
+ "MigrationProperties": {
+ "type": "object",
+ "properties": {
+ "migrationProgress": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrationProgress"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Migration Progress"
+ },
+ "oldSubnetId": {
+ "type": "string",
+ "description": "Old Subnet Id"
+ },
+ "oldVnetSiteId": {
+ "type": "string",
+ "description": "Old Vnet Site Id"
+ }
+ },
+ "description": "Migration Properties"
+ },
"NotificationSettings": {
"type": "object",
"properties": {
diff --git a/schemas/2017-08-01-preview/Microsoft.Security.json b/schemas/2017-08-01-preview/Microsoft.Security.json
index 70edec2280..365e17bd67 100644
--- a/schemas/2017-08-01-preview/Microsoft.Security.json
+++ b/schemas/2017-08-01-preview/Microsoft.Security.json
@@ -2,751 +2,1559 @@
"id": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Microsoft.Security",
- "description": "Microsoft Security service",
+ "description": "Microsoft Security Resource Types",
"resourceDefinitions": {
- "pricings": {
+ "iotSecuritySolutions": {
"type": "object",
- "description": "Pricing tier will be applied for the scope based on the resource ID",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2017-08-01-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "The solution manager name"
+ },
"properties": {
"oneOf": [
{
- "$ref": "#/definitions/PricingProperties"
+ "$ref": "#/definitions/IoTSecuritySolutionProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Security contact data"
- },
- "apiVersion": {
- "enum": ["2017-08-01-preview"]
+ "description": "Security Solution setting data"
},
- "name": {
- "type": "string",
- "description": "pricings name"
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags"
},
"type": {
"type": "string",
- "enum": ["Microsoft.Security/pricings"]
+ "enum": [
+ "Microsoft.Security/iotSecuritySolutions"
+ ]
}
},
"required": [
- "name",
"apiVersion",
- "properties"
- ]
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/iotSecuritySolutions"
},
- "securityContacts": {
+ "pricings": {
"type": "object",
- "description": "Contact details for security issues",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2017-08-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "name of the pricing configuration"
+ },
"properties": {
"oneOf": [
{
- "$ref": "#/definitions/SecurityContactProperties"
+ "$ref": "#/definitions/PricingProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Security contact data"
- },
- "name": {
- "type": "string",
- "description": "security contact name"
+ "description": "Pricing data"
},
"type": {
"type": "string",
- "enum": ["Microsoft.Security/securityContacts"]
- },
- "apiVersion": {
- "enum": ["2017-08-01-preview"]
+ "enum": [
+ "Microsoft.Security/pricings"
+ ]
}
},
"required": [
- "name",
"apiVersion",
- "properties"
- ]
- },
- "workspaceSettings": {
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/pricings"
+ }
+ },
+ "subscription_resourceDefinitions": {
+ "autoProvisioningSettings": {
"type": "object",
- "description": "Configures where to store the OMS agent data for workspaces under a scope",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2017-08-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Auto provisioning setting key"
+ },
"properties": {
"oneOf": [
{
- "$ref": "#/definitions/WorkspaceSettingProperties"
+ "$ref": "#/definitions/AutoProvisioningSettingProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Workspace setting data"
- },
- "name": {
- "type": "string",
- "description": "workspace name"
+ "description": "describes properties of an auto provisioning setting"
},
"type": {
"type": "string",
- "enum": ["Microsoft.Security/workspaceSettings"]
- },
- "apiVersion": {
- "enum": ["2017-08-01-preview"]
+ "enum": [
+ "Microsoft.Security/autoProvisioningSettings"
+ ]
}
},
"required": [
- "name",
"apiVersion",
- "properties"
- ]
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/autoProvisioningSettings"
},
- "autoProvisioningSettings": {
+ "pricings": {
"type": "object",
- "description": "Auto provisioning setting",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2017-08-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "name of the pricing configuration"
+ },
"properties": {
"oneOf": [
{
- "$ref": "#/definitions/AutoProvisioningSettingProperties"
+ "$ref": "#/definitions/PricingProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Auto provisioning setting data"
- },
- "name": {
- "type": "string",
- "description": "auto provisioning setting name"
+ "description": "Pricing data"
},
"type": {
"type": "string",
- "enum": ["Microsoft.Security/autoProvisioningSettings"]
- },
- "apiVersion": {
- "enum": ["2017-08-01-preview"]
+ "enum": [
+ "Microsoft.Security/pricings"
+ ]
}
},
"required": [
- "name",
"apiVersion",
- "properties"
- ]
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/pricings"
},
- "advancedThreatProtectionSettings": {
+ "securityContacts": {
"type": "object",
- "description": "The Advanced Threat Protection resource",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2017-08-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the security contact object"
+ },
"properties": {
"oneOf": [
{
- "$ref": "#/definitions/AdvancedThreatProtectionProperties"
+ "$ref": "#/definitions/SecurityContactProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The Advanced Threat Protection resource"
- },
- "name": {
- "type": "string",
- "description": "advanced threat protection setting name"
+ "description": "describes security contact properties"
},
"type": {
"type": "string",
- "enum": ["Microsoft.Security/advancedThreatProtectionSettings"]
- },
- "apiVersion": {
- "enum": ["2017-08-01-preview"]
+ "enum": [
+ "Microsoft.Security/securityContacts"
+ ]
}
},
"required": [
- "name",
"apiVersion",
- "properties"
- ]
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/securityContacts"
},
"settings": {
"type": "object",
- "description": "Represents a security setting in Azure Security Center",
- "discriminator": "kind",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DataExportSetting"
+ }
+ ],
"properties": {
- "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2017-08-01-preview"
+ ]
+ },
+ "name": {
"oneOf": [
{
- "$ref": "#/definitions/SettingResource"
+ "type": "string",
+ "enum": [
+ "MCAS",
+ "WDATP"
+ ]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Settings"
+ "description": "Name of setting: (MCAS/WDATP)."
},
"type": {
"type": "string",
- "enum": ["Microsoft.Security/settings"]
- },
- "apiVersion": {
- "enum": ["2017-08-01-preview"]
+ "enum": [
+ "Microsoft.Security/settings"
+ ]
}
},
"required": [
- "name",
- "kind",
"apiVersion",
- "properties"
- ]
+ "name",
+ "type"
+ ],
+ "description": "Microsoft.Security/settings"
},
- "informationProtectionPolicies": {
+ "workspaceSettings": {
"type": "object",
- "description": "Information protection policy.",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2017-08-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the security setting"
+ },
"properties": {
"oneOf": [
{
- "$ref": "#/definitions/InformationProtectionPolicyProperties"
+ "$ref": "#/definitions/WorkspaceSettingProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Information protection policy data"
- },
- "name": {
- "type": "string",
- "description": "information protection policy name"
+ "description": "Workspace setting data"
},
"type": {
"type": "string",
- "enum": ["Microsoft.Security/informationProtectionPolicies"]
- },
- "apiVersion": {
- "enum": ["2017-08-01-preview"]
+ "enum": [
+ "Microsoft.Security/workspaceSettings"
+ ]
}
},
"required": [
- "name",
"apiVersion",
- "properties"
- ]
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/workspaceSettings"
}
},
- "definitions": {
- "Resource": {
+ "unknown_resourceDefinitions": {
+ "advancedThreatProtectionSettings": {
"type": "object",
- "description": "Describes an Azure resource.",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2017-08-01-preview"
+ ]
+ },
"name": {
- "readOnly": true,
"type": "string",
- "description": "Resource name"
+ "description": "Advanced Threat Protection setting name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AdvancedThreatProtectionProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Advanced Threat Protection settings."
},
"type": {
- "readOnly": true,
"type": "string",
- "description": "Resource type"
+ "enum": [
+ "Microsoft.Security/advancedThreatProtectionSettings"
+ ]
}
},
- "x-ms-azure-resource": true
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/advancedThreatProtectionSettings"
},
- "Kind": {
+ "deviceSecurityGroups": {
"type": "object",
- "description": "Describes an Azure resource with kind",
"properties": {
- "kind": {
+ "apiVersion": {
"type": "string",
- "description": "Kind of the resource"
- }
- }
- },
- "SecurityContactList": {
- "type": "object",
- "description": "List of security contacts response",
- "properties": {
- "value": {
- "readOnly": true,
- "description": "List of security contacts",
- "type": "array",
- "items": {
- "$ref": "#/definitions/SecurityContact"
- }
+ "enum": [
+ "2017-08-01-preview"
+ ]
},
- "nextLink": {
- "readOnly": true,
+ "name": {
"type": "string",
- "description": "The URI to fetch the next page."
- }
- }
- },
- "SecurityContact": {
- "type": "object",
- "description": "Contact details for security issues",
- "properties": {
+ "description": "The name of the device security group. Note that the name of the device security group is case insensitive."
+ },
"properties": {
- "x-ms-client-flatten": true,
- "description": "Security contact data",
- "$ref": "#/definitions/SecurityContactProperties"
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DeviceSecurityGroupProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "describes properties of a security group."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Security/deviceSecurityGroups"
+ ]
}
},
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/deviceSecurityGroups"
},
- "SecurityContactProperties": {
+ "informationProtectionPolicies": {
"type": "object",
- "description": "describes security contact properties",
"properties": {
- "email": {
+ "apiVersion": {
"type": "string",
- "format": "email",
- "description": "The email of this security contact"
+ "enum": [
+ "2017-08-01-preview"
+ ]
},
- "phone": {
- "type": "string",
- "description": "The phone number of this security contact"
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "effective",
+ "custom"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Name of the information protection policy."
},
- "alertNotifications": {
- "type": "string",
- "enum": ["On", "Off"],
- "x-ms-enum": {
- "name": "alertNotifications",
- "modelAsString": true,
- "values": [
- {
- "value": "On",
- "description": "Get notifications on new alerts"
- },
- {
- "value": "Off",
- "description": "Don't get notifications on new alerts"
- }
- ]
- },
- "description": "Whether to send security alerts notifications to the security contact"
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/InformationProtectionPolicyProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "describes properties of an information protection policy."
},
- "alertsToAdmins": {
+ "type": {
"type": "string",
- "enum": ["On", "Off"],
- "x-ms-enum": {
- "name": "alertsToAdmins",
- "modelAsString": true,
- "values": [
- {
- "value": "On",
- "description": "Send notification on new alerts to the subscription's admins"
- },
- {
- "value": "Off",
- "description": "Don't send notification on new alerts to the subscription's admins"
- }
- ]
- },
- "description": "Whether to send security alerts notifications to subscription admins"
+ "enum": [
+ "Microsoft.Security/informationProtectionPolicies"
+ ]
}
},
- "required": ["email", "alertNotifications", "alertsToAdmins"]
- },
- "PricingList": {
- "description": "List of pricing configurations response",
- "required": ["value"],
- "properties": {
- "value": {
- "type": "array",
- "description": "List of pricing configurations",
- "items": {
- "$ref": "#/definitions/Pricing"
- }
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URI to fetch the next page."
- }
- }
- },
- "Pricing": {
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/informationProtectionPolicies"
+ }
+ },
+ "definitions": {
+ "ActiveConnectionsNotInAllowedRange": {
"type": "object",
- "description": "Pricing tier will be applied for the scope based on the resource ID",
"properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Pricing data",
- "$ref": "#/definitions/PricingProperties"
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "ActiveConnectionsNotInAllowedRange"
+ ]
}
},
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of active connections is not in allowed range."
},
- "PricingProperties": {
+ "AdvancedThreatProtectionProperties": {
"type": "object",
- "description": "Pricing data",
"properties": {
- "pricingTier": {
- "type": "string",
- "description": "Pricing tier type",
- "enum": ["Free", "Standard"],
- "x-ms-enum": {
- "name": "pricingTier",
- "modelAsString": true,
- "values": [
- {
- "value": "Free",
- "description": "Get free Azure security center experience with basic security features"
- },
- {
- "value": "Standard",
- "description": "Get the standard Azure security center experience with advanced security features"
- }
- ]
- }
+ "isEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Indicates whether Advanced Threat Protection is enabled."
}
},
- "required": ["pricingTier"]
+ "description": "The Advanced Threat Protection settings."
},
- "WorkspaceSettingList": {
- "description": "List of workspace settings response",
- "required": ["value"],
- "properties": {
- "value": {
- "type": "array",
- "description": "List of workspace settings",
- "items": {
- "$ref": "#/definitions/WorkspaceSetting"
- }
+ "AllowlistCustomAlertRule": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectionToIpNotAllowed"
},
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URI to fetch the next page."
+ {
+ "$ref": "#/definitions/LocalUserNotAllowed"
+ },
+ {
+ "$ref": "#/definitions/ProcessNotAllowed"
}
- }
- },
- "WorkspaceSetting": {
- "type": "object",
- "description": "Configures where to store the OMS agent data for workspaces under a scope",
+ ],
"properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Workspace setting data",
- "$ref": "#/definitions/WorkspaceSettingProperties"
+ "allowlistValues": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The values to allow. The format of the values depends on the rule type."
+ },
+ "isEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Status of the custom alert."
}
},
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
+ "required": [
+ "allowlistValues",
+ "isEnabled"
+ ],
+ "description": "A custom alert rule that checks if a value (depends on the custom alert type) is allowed."
},
- "WorkspaceSettingProperties": {
+ "AmqpC2DMessagesNotInAllowedRange": {
"type": "object",
- "description": "Workspace setting data",
"properties": {
- "workspaceId": {
- "type": "string",
- "description": "The full Azure ID of the workspace to save the data in"
- },
- "scope": {
+ "ruleType": {
"type": "string",
- "description": "All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope"
+ "enum": [
+ "AmqpC2DMessagesNotInAllowedRange"
+ ]
}
},
- "required": ["workspaceId", "scope"]
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of cloud to device messages (AMQP protocol) is not in allowed range."
},
- "AutoProvisioningSettingList": {
+ "AmqpC2DRejectedMessagesNotInAllowedRange": {
"type": "object",
- "description": "List of all the auto provisioning settings response",
"properties": {
- "value": {
- "description": "List of all the auto provisioning settings",
- "type": "array",
- "items": {
- "$ref": "#/definitions/AutoProvisioningSetting"
- }
- },
- "nextLink": {
- "readOnly": true,
+ "ruleType": {
"type": "string",
- "description": "The URI to fetch the next page."
+ "enum": [
+ "AmqpC2DRejectedMessagesNotInAllowedRange"
+ ]
}
- }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of rejected cloud to device messages (AMQP protocol) is not in allowed range."
},
- "AutoProvisioningSetting": {
+ "AmqpD2CMessagesNotInAllowedRange": {
"type": "object",
- "description": "Auto provisioning setting",
"properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Auto provisioning setting data",
- "$ref": "#/definitions/AutoProvisioningSettingProperties"
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "AmqpD2CMessagesNotInAllowedRange"
+ ]
}
},
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of device to cloud messages (AMQP protocol) is not in allowed range."
},
"AutoProvisioningSettingProperties": {
"type": "object",
- "description": "describes properties of an auto provisioning setting",
"properties": {
"autoProvision": {
- "type": "string",
- "description": "Describes what kind of security agent provisioning action to take",
- "enum": ["On", "Off"],
- "x-ms-enum": {
- "name": "autoProvision",
- "modelAsString": true,
- "values": [
- {
- "value": "On",
- "description": "Install missing security agent on VMs automatically"
- },
- {
- "value": "Off",
- "description": "Do not install security agent on the VMs automatically"
- }
- ]
- }
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "On",
+ "Off"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes what kind of security agent provisioning action to take."
}
},
- "required": ["autoProvision"]
+ "required": [
+ "autoProvision"
+ ],
+ "description": "describes properties of an auto provisioning setting"
},
- "AdvancedThreatProtectionProperties": {
+ "ConnectionToIpNotAllowed": {
+ "type": "object",
"properties": {
- "isEnabled": {
- "type": "boolean",
- "description": "Indicates whether Advanced Threat Protection is enabled."
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "ConnectionToIpNotAllowed"
+ ]
}
},
- "description": "The Advanced Threat Protection settings."
+ "required": [
+ "ruleType"
+ ],
+ "description": "Outbound connection to an ip that isn't allowed. Allow list consists of ipv4 or ipv6 range in CIDR notation."
},
- "AdvancedThreatProtectionSetting": {
+ "DataExportSetting": {
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
"properties": {
+ "kind": {
+ "type": "string",
+ "enum": [
+ "DataExportSetting"
+ ]
+ },
"properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/AdvancedThreatProtectionProperties"
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DataExportSettingProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The data export setting properties"
}
},
- "description": "The Advanced Threat Protection resource."
+ "required": [
+ "kind"
+ ],
+ "description": "Represents a data export setting"
},
- "SettingsList": {
+ "DataExportSettingProperties": {
"type": "object",
- "description": "Subscription settings list.",
"properties": {
- "value": {
- "type": "array",
- "description": "The settings list.",
- "items": {
- "$ref": "#/definitions/Setting"
- }
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URI to fetch the next page."
+ "enabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Is the data export setting is enabled"
}
- }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "The data export setting properties"
},
- "Setting": {
+ "DenylistCustomAlertRule": {
"type": "object",
- "description": "Represents a security setting in Azure Security Center.",
- "discriminator": "kind",
- "properties": {},
- "allOf": [
- {
- "$ref": "#/definitions/SettingResource"
+ "properties": {
+ "denylistValues": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The values to deny. The format of the values depends on the rule type."
+ },
+ "isEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Status of the custom alert."
}
- ]
+ },
+ "required": [
+ "denylistValues",
+ "isEnabled"
+ ],
+ "description": "A custom alert rule that checks if a value (depends on the custom alert type) is denied."
},
- "SettingResource": {
+ "DeviceSecurityGroupProperties": {
"type": "object",
- "description": "The kind of the security setting",
"properties": {
- "kind": {
- "type": "string",
- "description": "the kind of the settings string (DataExportSetting)",
- "enum": ["DataExportSetting", "AlertSuppressionSetting"],
- "x-ms-enum": {
- "name": "SettingKind",
- "modelAsString": true,
- "values": [
- {
- "value": "DataExportSetting"
- },
- {
- "value": "AlertSuppressionSetting"
+ "allowlistRules": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AllowlistCustomAlertRule"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The allow-list custom alert rules."
+ },
+ "denylistRules": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DenylistCustomAlertRule"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The deny-list custom alert rules."
+ },
+ "thresholdRules": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ThresholdCustomAlertRule"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of custom alert threshold rules."
+ },
+ "timeWindowRules": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeWindowCustomAlertRule"
}
- ]
- }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of custom alert time-window rules."
}
},
- "required": ["kind"],
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
+ "description": "describes properties of a security group."
},
- "DataExportSettingProperties": {
+ "DirectMethodInvokesNotInAllowedRange": {
"type": "object",
- "description": "The data export setting properties",
"properties": {
- "enabled": {
- "type": "boolean",
- "description": "Is the data export setting is enabled"
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "DirectMethodInvokesNotInAllowedRange"
+ ]
}
},
- "required": ["enabled"]
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of direct method invokes is not in allowed range."
},
- "InformationProtectionPolicyList": {
+ "FailedLocalLoginsNotInAllowedRange": {
"type": "object",
- "readOnly": true,
- "description": "Information protection policies response.",
"properties": {
- "value": {
- "type": "array",
- "description": "List of information protection policies.",
- "items": {
- "$ref": "#/definitions/InformationProtectionPolicy"
- }
- },
- "nextLink": {
- "readOnly": true,
+ "ruleType": {
"type": "string",
- "description": "The URI to fetch the next page."
+ "enum": [
+ "FailedLocalLoginsNotInAllowedRange"
+ ]
}
- }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of failed local logins is not in allowed range."
},
- "InformationProtectionPolicy": {
+ "FileUploadsNotInAllowedRange": {
"type": "object",
- "description": "Information protection policy.",
"properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Information protection policy data",
- "$ref": "#/definitions/InformationProtectionPolicyProperties"
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "FileUploadsNotInAllowedRange"
+ ]
}
},
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of file uploads is not in allowed range."
},
- "InformationProtectionPolicyProperties": {
+ "HttpC2DMessagesNotInAllowedRange": {
"type": "object",
- "description": "describes properties of an information protection policy.",
"properties": {
- "lastModifiedUtc": {
+ "ruleType": {
"type": "string",
- "format": "date-time",
- "readOnly": true,
- "description": "Describes the last UTC time the policy was modified."
- },
- "labels": {
- "type": "object",
- "description": "Dictionary of sensitivity labels.",
- "additionalProperties": {
- "$ref": "#/definitions/SensitivityLabel"
- }
- },
- "informationTypes": {
- "type": "object",
- "description": "The sensitivity information types.",
- "additionalProperties": {
- "$ref": "#/definitions/InformationType"
- }
+ "enum": [
+ "HttpC2DMessagesNotInAllowedRange"
+ ]
}
- }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of cloud to device messages (HTTP protocol) is not in allowed range."
},
- "SensitivityLabel": {
+ "HttpC2DRejectedMessagesNotInAllowedRange": {
"type": "object",
- "description": "The sensitivity label.",
"properties": {
- "displayName": {
+ "ruleType": {
"type": "string",
- "description": "The name of the sensitivity label."
- },
- "order": {
- "type": "number",
- "description": "The order of the sensitivity label."
- },
- "enabled": {
- "type": "boolean",
- "description": "Indicates whether the label is enabled or not."
+ "enum": [
+ "HttpC2DRejectedMessagesNotInAllowedRange"
+ ]
}
- }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of rejected cloud to device messages (HTTP protocol) is not in allowed range."
},
- "InformationType": {
+ "HttpD2CMessagesNotInAllowedRange": {
"type": "object",
- "description": "The information type.",
"properties": {
- "displayName": {
+ "ruleType": {
"type": "string",
- "description": "The name of the information type."
- },
- "order": {
- "type": "number",
- "description": "The order of the information type."
- },
- "recommendedLabelId": {
- "type": "string",
- "format": "uuid",
- "description": "The recommended label id to be associated with this information type."
- },
- "enabled": {
- "type": "boolean",
- "description": "Indicates whether the information type is enabled or not."
- },
- "custom": {
- "type": "boolean",
- "description": "Indicates whether the information type is custom or not."
- },
- "keywords": {
- "type": "array",
- "description": "The information type keywords.",
- "items": {
- "$ref": "#/definitions/InformationProtectionKeyword"
- }
+ "enum": [
+ "HttpD2CMessagesNotInAllowedRange"
+ ]
}
- }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of device to cloud messages (HTTP protocol) is not in allowed range."
},
"InformationProtectionKeyword": {
"type": "object",
- "description": "The information type keyword.",
"properties": {
- "pattern": {
- "type": "string",
- "description": "The keyword pattern."
+ "canBeNumeric": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Indicates whether the keyword can be applied on numeric types or not."
},
"custom": {
- "type": "boolean",
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
"description": "Indicates whether the keyword is custom or not."
},
- "canBeNumeric": {
- "type": "boolean",
- "description": "Indicates whether the keyword can be applied on numeric types or not."
- },
"excluded": {
- "type": "boolean",
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
"description": "Indicates whether the keyword is excluded or not."
+ },
+ "pattern": {
+ "type": "string",
+ "description": "The keyword pattern."
}
- }
+ },
+ "description": "The information type keyword."
+ },
+ "InformationProtectionPolicyProperties": {
+ "type": "object",
+ "properties": {
+ "informationTypes": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/InformationType"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The sensitivity information types."
+ },
+ "labels": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/SensitivityLabel"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Dictionary of sensitivity labels."
+ }
+ },
+ "description": "describes properties of an information protection policy."
+ },
+ "InformationType": {
+ "type": "object",
+ "properties": {
+ "custom": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Indicates whether the information type is custom or not."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the information type."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The name of the information type."
+ },
+ "enabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Indicates whether the information type is enabled or not."
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InformationProtectionKeyword"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The information type keywords."
+ },
+ "order": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The order of the information type."
+ },
+ "recommendedLabelId": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The recommended label id to be associated with this information type."
+ }
+ },
+ "description": "The information type."
+ },
+ "IoTSecuritySolutionProperties": {
+ "type": "object",
+ "properties": {
+ "disabledDataSources": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "TwinData"
+ ]
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Disabled data sources. Disabling these data sources compromises the system."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Resource display name."
+ },
+ "export": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "RawEvents"
+ ]
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of additional export to workspace data options"
+ },
+ "iotHubs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "IoT Hub resource IDs"
+ },
+ "recommendationsConfiguration": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecommendationConfigurationProperties"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of recommendation configuration"
+ },
+ "status": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Security solution status."
+ },
+ "userDefinedResources": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/UserDefinedResourcesProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the solution's user defined resources."
+ },
+ "workspace": {
+ "type": "string",
+ "description": "Workspace resource ID"
+ }
+ },
+ "required": [
+ "displayName",
+ "iotHubs",
+ "workspace"
+ ],
+ "description": "Security Solution setting data"
+ },
+ "LocalUserNotAllowed": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "LocalUserNotAllowed"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Login by a local user that isn't allowed. Allow list consists of login names to allow."
+ },
+ "MqttC2DMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "MqttC2DMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of cloud to device messages (MQTT protocol) is not in allowed range."
+ },
+ "MqttC2DRejectedMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "MqttC2DRejectedMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of rejected cloud to device messages (MQTT protocol) is not in allowed range."
+ },
+ "MqttD2CMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "MqttD2CMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of device to cloud messages (MQTT protocol) is not in allowed range."
+ },
+ "PricingProperties": {
+ "type": "object",
+ "properties": {
+ "pricingTier": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Free",
+ "Standard"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Pricing tier type."
+ }
+ },
+ "required": [
+ "pricingTier"
+ ],
+ "description": "Pricing data"
+ },
+ "ProcessNotAllowed": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "ProcessNotAllowed"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Execution of a process that isn't allowed. Allow list consists of process names to allow."
+ },
+ "QueuePurgesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "QueuePurgesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of device queue purges is not in allowed range."
+ },
+ "RecommendationConfigurationProperties": {
+ "type": "object",
+ "properties": {
+ "recommendationType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "IoT_ACRAuthentication",
+ "IoT_AgentSendsUnutilizedMessages",
+ "IoT_Baseline",
+ "IoT_EdgeHubMemOptimize",
+ "IoT_EdgeLoggingOptions",
+ "IoT_InconsistentModuleSettings",
+ "IoT_InstallAgent",
+ "IoT_IPFilter_DenyAll",
+ "IoT_IPFilter_PermissiveRule",
+ "IoT_OpenPorts",
+ "IoT_PermissiveFirewallPolicy",
+ "IoT_PermissiveInputFirewallRules",
+ "IoT_PermissiveOutputFirewallRules",
+ "IoT_PrivilegedDockerOptions",
+ "IoT_SharedCredentials",
+ "IoT_VulnerableTLSCipherSuite"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The recommendation type."
+ },
+ "status": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Recommendation status. The recommendation is not generated when the status is disabled."
+ }
+ },
+ "required": [
+ "recommendationType",
+ "status"
+ ],
+ "description": "Recommendation configuration"
+ },
+ "SecurityContactProperties": {
+ "type": "object",
+ "properties": {
+ "alertNotifications": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "On",
+ "Off"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to send security alerts notifications to the security contact."
+ },
+ "alertsToAdmins": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "On",
+ "Off"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to send security alerts notifications to subscription admins."
+ },
+ "email": {
+ "type": "string",
+ "format": "email",
+ "description": "The email of this security contact"
+ },
+ "phone": {
+ "type": "string",
+ "description": "The phone number of this security contact"
+ }
+ },
+ "required": [
+ "alertNotifications",
+ "alertsToAdmins",
+ "email"
+ ],
+ "description": "describes security contact properties"
+ },
+ "SensitivityLabel": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The description of the sensitivity label."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The name of the sensitivity label."
+ },
+ "enabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Indicates whether the label is enabled or not."
+ },
+ "order": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The order of the sensitivity label."
+ },
+ "rank": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "Low",
+ "Medium",
+ "High",
+ "Critical"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The rank of the sensitivity label."
+ }
+ },
+ "description": "The sensitivity label."
+ },
+ "ThresholdCustomAlertRule": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/TimeWindowCustomAlertRule"
+ }
+ ],
+ "properties": {
+ "isEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Status of the custom alert."
+ },
+ "maxThreshold": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The maximum threshold."
+ },
+ "minThreshold": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The minimum threshold."
+ }
+ },
+ "required": [
+ "isEnabled",
+ "maxThreshold",
+ "minThreshold"
+ ],
+ "description": "A custom alert rule that checks if a value (depends on the custom alert type) is within the given range."
+ },
+ "TimeWindowCustomAlertRule": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ActiveConnectionsNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/AmqpC2DMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/MqttC2DMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/HttpC2DMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/AmqpC2DRejectedMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/MqttC2DRejectedMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/HttpC2DRejectedMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/AmqpD2CMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/MqttD2CMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/HttpD2CMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/DirectMethodInvokesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/FailedLocalLoginsNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/FileUploadsNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/QueuePurgesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/TwinUpdatesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/UnauthorizedOperationsNotInAllowedRange"
+ }
+ ],
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "TimeWindowCustomAlertRule"
+ ]
+ },
+ "timeWindowSize": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time window size in iso8601 format."
+ }
+ },
+ "required": [
+ "ruleType",
+ "timeWindowSize"
+ ],
+ "description": "A custom alert rule that checks if the number of activities (depends on the custom alert type) in a time window is within the given range."
+ },
+ "TwinUpdatesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "TwinUpdatesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of twin updates is not in allowed range."
+ },
+ "UnauthorizedOperationsNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "UnauthorizedOperationsNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of unauthorized operations is not in allowed range."
+ },
+ "UserDefinedResourcesProperties": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "Azure Resource Graph query which represents the security solution's user defined resources. Required to start with \"where type != \"Microsoft.Devices/IotHubs\"\""
+ },
+ "querySubscriptions": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of Azure subscription ids on which the user defined resources query should be executed."
+ }
+ },
+ "required": [
+ "query",
+ "querySubscriptions"
+ ],
+ "description": "Properties of the solution's user defined resources."
+ },
+ "WorkspaceSettingProperties": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "string",
+ "description": "All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope"
+ },
+ "workspaceId": {
+ "type": "string",
+ "description": "The full Azure ID of the workspace to save the data in"
+ }
+ },
+ "required": [
+ "scope",
+ "workspaceId"
+ ],
+ "description": "Workspace setting data"
}
}
-}
+}
\ No newline at end of file
diff --git a/schemas/2017-08-15/Microsoft.NetApp.json b/schemas/2017-08-15/Microsoft.NetApp.json
index 7968061a1c..14fccbaa4b 100644
--- a/schemas/2017-08-15/Microsoft.NetApp.json
+++ b/schemas/2017-08-15/Microsoft.NetApp.json
@@ -651,4 +651,4 @@
"description": "Export policy rule"
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2017-11-15-preview/Microsoft.DataMigration.json b/schemas/2017-11-15-preview/Microsoft.DataMigration.json
index 1a7b39fdd5..da2b44a542 100644
--- a/schemas/2017-11-15-preview/Microsoft.DataMigration.json
+++ b/schemas/2017-11-15-preview/Microsoft.DataMigration.json
@@ -7,40 +7,12 @@
"services": {
"type": "object",
"properties": {
- "name": {
- "type": "string",
- "description": "Name of the service"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.DataMigration/services"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2017-11-15-preview"
]
},
- "tags": {
- "oneOf": [
- {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Resource tags."
- },
- "location": {
- "type": "string",
- "description": "Resource location."
- },
"etag": {
"type": "string",
"description": "HTTP strong entity tag value. Ignored if submitted"
@@ -49,6 +21,14 @@
"type": "string",
"description": "The resource kind. Only 'vm' (the default) is supported."
},
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the service"
+ },
"properties": {
"oneOf": [
{
@@ -58,7 +38,17 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Custom service properties"
+ "description": "Properties of the Data Migration service instance"
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/services_projects_childResource"
+ }
+ ]
+ }
},
"sku": {
"oneOf": [
@@ -69,65 +59,56 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Service SKU"
+ "description": "An Azure SKU instance"
},
- "resources": {
- "type": "array",
- "items": {
- "oneOf": [
- {
- "$ref": "#/definitions/services_projects_childResource"
- }
- ]
- }
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
"location",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.DataMigration/services"
},
"services_projects": {
"type": "object",
"properties": {
- "name": {
- "type": "string",
- "description": "Name of the project"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.DataMigration/services/projects"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2017-11-15-preview"
]
},
- "tags": {
- "oneOf": [
- {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Resource tags."
- },
"location": {
"type": "string",
"description": "Resource location."
},
+ "name": {
+ "type": "string",
+ "description": "Name of the project"
+ },
"properties": {
"oneOf": [
{
@@ -137,7 +118,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Project properties"
+ "description": "Project-specific properties"
},
"resources": {
"type": "array",
@@ -148,30 +129,41 @@
}
]
}
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/projects"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
"location",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.DataMigration/services/projects"
},
"services_projects_tasks": {
"type": "object",
"properties": {
- "name": {
- "type": "string",
- "description": "Name of the Task"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.DataMigration/services/projects/tasks"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
@@ -182,77 +174,85 @@
"type": "string",
"description": "HTTP strong entity tag value. This is ignored if submitted."
},
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
"properties": {
"oneOf": [
{
- "$ref": "#/definitions/Unknown"
+ "$ref": "#/definitions/ProjectTaskProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Custom task properties"
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/projects/tasks"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.DataMigration/services/projects/tasks"
}
},
"definitions": {
- "ConnectToSource_SqlServer": {
+ "ConnectionInfo": {
"type": "object",
- "allOf": [
+ "oneOf": [
{
- "properties": {
- "input": {
- "oneOf": [
- {
- "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Task input"
- }
- }
+ "$ref": "#/definitions/SqlConnectionInfo"
}
],
- "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements"
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "description": "Defines the connection properties of a server"
},
"ConnectToSourceSqlServerTaskInput": {
"type": "object",
"properties": {
- "sourceConnectionInfo": {
+ "checkPermissionsGroup": {
"oneOf": [
{
- "$ref": "#/definitions/SqlConnectionInfo"
+ "type": "string",
+ "enum": [
+ "Default",
+ "MigrationFromSqlServerToAzureDB"
+ ]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Connection information for Source SQL Server"
+ "description": "Permission group for validations."
},
- "checkPermissionsGroup": {
+ "sourceConnectionInfo": {
"oneOf": [
{
- "type": "string",
- "enum": [
- "Default",
- "MigrationFromSqlServerToAzureDB"
- ]
+ "$ref": "#/definitions/SqlConnectionInfo"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Permission group for validations."
+ "description": "Information for connecting to SQL database server"
}
},
"required": [
@@ -260,26 +260,31 @@
],
"description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
},
- "ConnectToTarget_SqlDb": {
+ "ConnectToSourceSqlServerTaskProperties": {
"type": "object",
- "allOf": [
- {
- "properties": {
- "input": {
- "oneOf": [
- {
- "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Task input"
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
- }
+ ],
+ "description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.SqlServer"
+ ]
}
+ },
+ "required": [
+ "taskType"
],
- "description": "Properties for the task that validates connection to SQL DB and target server requirements"
+ "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements"
},
"ConnectToTargetSqlDbTaskInput": {
"type": "object",
@@ -293,7 +298,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Connection information for target SQL DB"
+ "description": "Information for connecting to SQL database server"
}
},
"required": [
@@ -301,6 +306,32 @@
],
"description": "Input for the task that validates connection to SQL DB and target server requirements"
},
+ "ConnectToTargetSqlDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to SQL DB and target server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.SqlDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL DB and target server requirements"
+ },
"DatabaseInfo": {
"type": "object",
"properties": {
@@ -317,6 +348,10 @@
"DataMigrationServiceProperties": {
"type": "object",
"properties": {
+ "publicKey": {
+ "type": "string",
+ "description": "The public key of the service, used to encrypt secrets sent to the service"
+ },
"virtualSubnetId": {
"type": "string",
"description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined"
@@ -327,27 +362,6 @@
],
"description": "Properties of the Data Migration service instance"
},
- "GetUserTables_Sql": {
- "type": "object",
- "allOf": [
- {
- "properties": {
- "input": {
- "oneOf": [
- {
- "$ref": "#/definitions/GetUserTablesSqlTaskInput"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Task input"
- }
- }
- }
- ],
- "description": "Properties for the task that collects user tables for the given list of databases"
- },
"GetUserTablesSqlTaskInput": {
"type": "object",
"properties": {
@@ -360,7 +374,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Connection information for SQL Server"
+ "description": "Information for connecting to SQL database server"
},
"selectedDatabases": {
"oneOf": [
@@ -383,38 +397,35 @@
],
"description": "Input for the task that collects user tables for the given list of databases"
},
- "Migrate_SqlServer_SqlDb": {
+ "GetUserTablesSqlTaskProperties": {
"type": "object",
- "allOf": [
- {
- "properties": {
- "input": {
- "oneOf": [
- {
- "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Task input"
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GetUserTablesSqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
- }
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "GetUserTables.Sql"
+ ]
}
+ },
+ "required": [
+ "taskType"
],
- "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ "description": "Properties for the task that collects user tables for the given list of databases"
},
"MigrateSqlServerSqlDbDatabaseInput": {
"type": "object",
"properties": {
- "name": {
- "type": "string",
- "description": "Name of the database"
- },
- "targetDatabaseName": {
- "type": "string",
- "description": "Name of target database. Note: Target database will be truncated before starting migration."
- },
"makeSourceDbReadOnly": {
"oneOf": [
{
@@ -426,19 +437,28 @@
],
"description": "Whether to set database read only before migration"
},
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
"tableMap": {
"oneOf": [
{
"type": "object",
"additionalProperties": {
"type": "string"
- }
+ },
+ "properties": {}
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"description": "Mapping of source to target tables"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
}
},
"description": "Database specific information for SQL to Azure SQL DB migration task inputs"
@@ -446,18 +466,21 @@
"MigrateSqlServerSqlDbTaskInput": {
"type": "object",
"properties": {
- "sourceConnectionInfo": {
+ "selectedDatabases": {
"oneOf": [
{
- "$ref": "#/definitions/SqlConnectionInfo"
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput"
+ }
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Information for connecting to source"
+ "description": "Databases to migrate"
},
- "targetConnectionInfo": {
+ "sourceConnectionInfo": {
"oneOf": [
{
"$ref": "#/definitions/SqlConnectionInfo"
@@ -466,21 +489,18 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Information for connecting to target"
+ "description": "Information for connecting to SQL database server"
},
- "selectedDatabases": {
+ "targetConnectionInfo": {
"oneOf": [
{
- "type": "array",
- "items": {
- "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput"
- }
+ "$ref": "#/definitions/SqlConnectionInfo"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Databases to migrate"
+ "description": "Information for connecting to SQL database server"
},
"validationOptions": {
"oneOf": [
@@ -491,30 +511,45 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Options for enabling various post migration validations. Available options, \n 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables after the migration to ensure the correctness of the data. \n 2.) Schema Validation: Performs a thorough schema comparison between the source and target tables and provides a list of differences between the source and target database, 3.) Query Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache or Query Store and execute them and compares the execution time between the source and target database."
+ "description": "Types of validations to run after the migration"
}
},
"required": [
+ "selectedDatabases",
"sourceConnectionInfo",
- "targetConnectionInfo",
- "selectedDatabases"
+ "targetConnectionInfo"
],
"description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database"
},
- "MigrationValidationOptions": {
+ "MigrateSqlServerSqlDbTaskProperties": {
"type": "object",
"properties": {
- "enableSchemaValidation": {
+ "input": {
"oneOf": [
{
- "type": "boolean"
+ "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Allows to compare the schema information between source and target."
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database"
},
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.SqlDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "MigrationValidationOptions": {
+ "type": "object",
+ "properties": {
"enableDataIntegrityValidation": {
"oneOf": [
{
@@ -536,6 +571,17 @@
}
],
"description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries."
+ },
+ "enableSchemaValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to compare the schema information between source and target."
}
},
"description": "Types of validations to run after the migration"
@@ -543,71 +589,71 @@
"ProjectProperties": {
"type": "object",
"properties": {
- "sourcePlatform": {
+ "databasesInfo": {
"oneOf": [
{
- "type": "string",
- "enum": [
- "SQL",
- "Unknown"
- ]
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseInfo"
+ }
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Source platform for the project."
+ "description": "List of DatabaseInfo"
},
- "targetPlatform": {
+ "sourceConnectionInfo": {
"oneOf": [
{
- "type": "string",
- "enum": [
- "SQLDB",
- "Unknown"
- ]
+ "$ref": "#/definitions/ConnectionInfo"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Target platform for the project."
+ "description": "Defines the connection properties of a server"
},
- "sourceConnectionInfo": {
+ "sourcePlatform": {
"oneOf": [
{
- "$ref": "#/definitions/Unknown"
+ "type": "string",
+ "enum": [
+ "SQL",
+ "Unknown"
+ ]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Information for connecting to source"
+ "description": "Source platform for the project."
},
"targetConnectionInfo": {
"oneOf": [
{
- "$ref": "#/definitions/Unknown"
+ "$ref": "#/definitions/ConnectionInfo"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Information for connecting to target"
+ "description": "Defines the connection properties of a server"
},
- "databasesInfo": {
+ "targetPlatform": {
"oneOf": [
{
- "type": "array",
- "items": {
- "$ref": "#/definitions/DatabaseInfo"
- }
+ "type": "string",
+ "enum": [
+ "SQLDB",
+ "Unknown"
+ ]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "List of DatabaseInfo"
+ "description": "Target platform for the project."
}
},
"required": [
@@ -616,77 +662,120 @@
],
"description": "Project-specific properties"
},
- "services_projects_childResource": {
+ "ProjectTaskProperties": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/GetUserTablesSqlTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "ServiceSku": {
"type": "object",
"properties": {
+ "capacity": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The capacity of the SKU, if it supports scaling"
+ },
+ "family": {
+ "type": "string",
+ "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines"
+ },
"name": {
"type": "string",
- "description": "Name of the project"
+ "description": "The unique name of the SKU, such as 'P3'"
},
- "type": {
+ "size": {
"type": "string",
- "enum": [
- "projects"
- ]
+ "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines"
},
+ "tier": {
+ "type": "string",
+ "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'"
+ }
+ },
+ "description": "An Azure SKU instance"
+ },
+ "services_projects_childResource": {
+ "type": "object",
+ "properties": {
"apiVersion": {
"type": "string",
"enum": [
"2017-11-15-preview"
]
},
- "tags": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the project"
+ },
+ "properties": {
"oneOf": [
{
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
+ "$ref": "#/definitions/ProjectProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Resource tags."
- },
- "location": {
- "type": "string",
- "description": "Resource location."
+ "description": "Project-specific properties"
},
- "properties": {
+ "tags": {
"oneOf": [
{
- "$ref": "#/definitions/ProjectProperties"
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Project properties"
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "projects"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
"location",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.DataMigration/services/projects"
},
"services_projects_tasks_childResource": {
"type": "object",
"properties": {
- "name": {
- "type": "string",
- "description": "Name of the Task"
- },
- "type": {
- "type": "string",
- "enum": [
- "tasks"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
@@ -697,172 +786,109 @@
"type": "string",
"description": "HTTP strong entity tag value. This is ignored if submitted."
},
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
"properties": {
"oneOf": [
{
- "$ref": "#/definitions/Unknown"
+ "$ref": "#/definitions/ProjectTaskProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Custom task properties"
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "tasks"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.DataMigration/services/projects/tasks"
},
- "ServiceSku": {
+ "SqlConnectionInfo": {
"type": "object",
"properties": {
- "name": {
+ "additionalSettings": {
"type": "string",
- "description": "The unique name of the SKU, such as 'P3'"
+ "description": "Additional connection settings"
},
- "tier": {
- "type": "string",
- "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'"
- },
- "family": {
- "type": "string",
- "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines"
- },
- "size": {
- "type": "string",
- "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines"
- },
- "capacity": {
+ "authentication": {
"oneOf": [
{
- "type": "integer"
+ "type": "string",
+ "enum": [
+ "None",
+ "WindowsAuthentication",
+ "SqlAuthentication",
+ "ActiveDirectoryIntegrated",
+ "ActiveDirectoryPassword"
+ ]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The capacity of the SKU, if it supports scaling"
- }
- },
- "description": "An Azure SKU instance"
- },
- "SqlConnectionInfo": {
- "type": "object",
- "allOf": [
- {
- "properties": {
- "userName": {
- "type": "string",
- "description": "User name"
- },
- "password": {
- "type": "string",
- "description": "Password credential."
- },
- "dataSource": {
- "type": "string",
- "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber"
- },
- "authentication": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "None",
- "WindowsAuthentication",
- "SqlAuthentication",
- "ActiveDirectoryIntegrated",
- "ActiveDirectoryPassword"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Authentication type to use for connection."
- },
- "encryptConnection": {
- "oneOf": [
- {
- "type": "boolean",
- "default": true
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Whether to encrypt the connection"
- },
- "additionalSettings": {
- "type": "string",
- "description": "Additional connection settings"
- },
- "trustServerCertificate": {
- "oneOf": [
- {
- "type": "boolean",
- "default": false
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Whether to trust the server certificate"
- }
- },
- "required": [
- "dataSource"
- ]
- }
- ],
- "description": "Information for connecting to SQL database server"
- },
- "Unknown": {
- "type": "object",
- "allOf": [
- {
- "properties": {
- "taskType": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "Migrate_SqlServer_SqlDb",
- "GetUserTables_Sql",
- "ConnectToTarget_SqlDb",
- "ConnectToSource_SqlServer",
- "Unknown"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "description": "Authentication type to use for connection."
},
- {
- "anyOf": [
+ "dataSource": {
+ "type": "string",
+ "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber"
+ },
+ "encryptConnection": {
+ "oneOf": [
{
- "$ref": "#/definitions/Migrate_SqlServer_SqlDb"
+ "type": "boolean",
+ "default": true
},
{
- "$ref": "#/definitions/GetUserTables_Sql"
- },
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to encrypt the connection"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "trustServerCertificate": {
+ "oneOf": [
{
- "$ref": "#/definitions/ConnectToTarget_SqlDb"
+ "type": "boolean",
+ "default": false
},
{
- "$ref": "#/definitions/ConnectToSource_SqlServer"
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
+ ],
+ "description": "Whether to trust the server certificate"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "SqlConnectionInfo"
]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
}
+ },
+ "required": [
+ "dataSource",
+ "type"
],
- "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ "description": "Information for connecting to SQL database server"
}
}
-}
+}
\ No newline at end of file
diff --git a/schemas/2018-03-15-preview/Microsoft.DataMigration.json b/schemas/2018-03-15-preview/Microsoft.DataMigration.json
new file mode 100644
index 0000000000..f3cfa82c7d
--- /dev/null
+++ b/schemas/2018-03-15-preview/Microsoft.DataMigration.json
@@ -0,0 +1,1192 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2018-03-15-preview/Microsoft.DataMigration.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.DataMigration",
+ "description": "Microsoft DataMigration Resource Types",
+ "resourceDefinitions": {
+ "services": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-15-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. Ignored if submitted"
+ },
+ "kind": {
+ "type": "string",
+ "description": "The resource kind. Only 'vm' (the default) is supported."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the service"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DataMigrationServiceProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the Data Migration service instance"
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/services_projects_childResource"
+ }
+ ]
+ }
+ },
+ "sku": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ServiceSku"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "An Azure SKU instance"
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services"
+ },
+ "services_projects": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-15-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the project"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Project-specific properties"
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/services_projects_tasks_childResource"
+ }
+ ]
+ }
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/projects"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects"
+ },
+ "services_projects_tasks": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-15-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/projects/tasks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects/tasks"
+ }
+ },
+ "definitions": {
+ "BlobShare": {
+ "type": "object",
+ "properties": {
+ "sasUri": {
+ "type": "string",
+ "description": "SAS URI of Azure Storage Account Container."
+ }
+ },
+ "required": [
+ "sasUri"
+ ],
+ "description": "Blob container storage information."
+ },
+ "ConnectionInfo": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ }
+ ],
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "description": "Defines the connection properties of a server"
+ },
+ "ConnectToSourceSqlServerTaskInput": {
+ "type": "object",
+ "properties": {
+ "checkPermissionsGroup": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Default",
+ "MigrationFromSqlServerToAzureDB"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Permission group for validations."
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "ConnectToSourceSqlServerTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.SqlServer"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "ConnectToTargetSqlDbTaskInput": {
+ "type": "object",
+ "properties": {
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to SQL DB and target server requirements"
+ },
+ "ConnectToTargetSqlDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to SQL DB and target server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.SqlDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL DB and target server requirements"
+ },
+ "ConnectToTargetSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance."
+ },
+ "ConnectToTargetSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance"
+ },
+ "DatabaseInfo": {
+ "type": "object",
+ "properties": {
+ "sourceDatabaseName": {
+ "type": "string",
+ "description": "Name of the database"
+ }
+ },
+ "required": [
+ "sourceDatabaseName"
+ ],
+ "description": "Project Database Details"
+ },
+ "DataMigrationServiceProperties": {
+ "type": "object",
+ "properties": {
+ "publicKey": {
+ "type": "string",
+ "description": "The public key of the service, used to encrypt secrets sent to the service"
+ },
+ "virtualSubnetId": {
+ "type": "string",
+ "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined"
+ }
+ },
+ "required": [
+ "virtualSubnetId"
+ ],
+ "description": "Properties of the Data Migration service instance"
+ },
+ "FileShare": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential used to connect to the share location."
+ },
+ "path": {
+ "type": "string",
+ "description": "The folder path for this share."
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name credential to connect to the share location"
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "GetUserTablesSqlTaskInput": {
+ "type": "object",
+ "properties": {
+ "connectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of database names to collect tables for"
+ }
+ },
+ "required": [
+ "connectionInfo",
+ "selectedDatabases"
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "GetUserTablesSqlTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GetUserTablesSqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "GetUserTables.Sql"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that collects user tables for the given list of databases"
+ },
+ "MigrateSqlServerSqlDbDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "makeSourceDbReadOnly": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to set database read only before migration"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "tableMap": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Mapping of source to target tables"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ }
+ },
+ "description": "Database specific information for SQL to Azure SQL DB migration task inputs"
+ },
+ "MigrateSqlServerSqlDbTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "validationOptions": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrationValidationOptions"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Types of validations to run after the migration"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "MigrateSqlServerSqlDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.SqlDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "MigrateSqlServerSqlMIDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "restoreDatabaseName": {
+ "type": "string",
+ "description": "Name of the database at destination"
+ }
+ },
+ "required": [
+ "name",
+ "restoreDatabaseName"
+ ],
+ "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs"
+ },
+ "MigrateSqlServerSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "backupBlobShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/BlobShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Blob container storage information."
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "backupBlobShare",
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance."
+ },
+ "MigrateSqlServerSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance"
+ },
+ "MigrationValidationOptions": {
+ "type": "object",
+ "properties": {
+ "enableDataIntegrityValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ."
+ },
+ "enableQueryAnalysisValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries."
+ },
+ "enableSchemaValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to compare the schema information between source and target."
+ }
+ },
+ "description": "Types of validations to run after the migration"
+ },
+ "ProjectProperties": {
+ "type": "object",
+ "properties": {
+ "databasesInfo": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseInfo"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of DatabaseInfo"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the connection properties of a server"
+ },
+ "sourcePlatform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SQL",
+ "Unknown"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Source platform for the project."
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the connection properties of a server"
+ },
+ "targetPlatform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SQLDB",
+ "Unknown"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target platform for the project."
+ }
+ },
+ "required": [
+ "sourcePlatform",
+ "targetPlatform"
+ ],
+ "description": "Project-specific properties"
+ },
+ "ProjectTaskProperties": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/GetUserTablesSqlTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "ServiceSku": {
+ "type": "object",
+ "properties": {
+ "capacity": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The capacity of the SKU, if it supports scaling"
+ },
+ "family": {
+ "type": "string",
+ "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines"
+ },
+ "name": {
+ "type": "string",
+ "description": "The unique name of the SKU, such as 'P3'"
+ },
+ "size": {
+ "type": "string",
+ "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines"
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'"
+ }
+ },
+ "description": "An Azure SKU instance"
+ },
+ "services_projects_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-15-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the project"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Project-specific properties"
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "projects"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects"
+ },
+ "services_projects_tasks_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-15-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "tasks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects/tasks"
+ },
+ "SqlConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "additionalSettings": {
+ "type": "string",
+ "description": "Additional connection settings"
+ },
+ "authentication": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "WindowsAuthentication",
+ "SqlAuthentication",
+ "ActiveDirectoryIntegrated",
+ "ActiveDirectoryPassword"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Authentication type to use for connection."
+ },
+ "dataSource": {
+ "type": "string",
+ "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber"
+ },
+ "encryptConnection": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to encrypt the connection"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "trustServerCertificate": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to trust the server certificate"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "SqlConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "dataSource",
+ "type"
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "ValidateMigrationInputSqlServerSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "backupBlobShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/BlobShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Blob container storage information."
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "backupBlobShare",
+ "selectedDatabases",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance"
+ },
+ "ValidateMigrationInputSqlServerSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ValidateMigrationInput.SqlServer.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance"
+ }
+ }
+}
\ No newline at end of file
diff --git a/schemas/2018-03-31-preview/Microsoft.DataMigration.json b/schemas/2018-03-31-preview/Microsoft.DataMigration.json
new file mode 100644
index 0000000000..f3e42fe246
--- /dev/null
+++ b/schemas/2018-03-31-preview/Microsoft.DataMigration.json
@@ -0,0 +1,1245 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2018-03-31-preview/Microsoft.DataMigration.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.DataMigration",
+ "description": "Microsoft DataMigration Resource Types",
+ "resourceDefinitions": {
+ "services": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-31-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. Ignored if submitted"
+ },
+ "kind": {
+ "type": "string",
+ "description": "The resource kind. Only 'vm' (the default) is supported."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the service"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DataMigrationServiceProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the Data Migration service instance"
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/services_projects_childResource"
+ }
+ ]
+ }
+ },
+ "sku": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ServiceSku"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "An Azure SKU instance"
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services"
+ },
+ "services_projects": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-31-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the project"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Project-specific properties"
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/services_projects_tasks_childResource"
+ }
+ ]
+ }
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/projects"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects"
+ },
+ "services_projects_tasks": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-31-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/projects/tasks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects/tasks"
+ }
+ },
+ "definitions": {
+ "BlobShare": {
+ "type": "object",
+ "properties": {
+ "sasUri": {
+ "type": "string",
+ "description": "SAS URI of Azure Storage Account Container."
+ }
+ },
+ "required": [
+ "sasUri"
+ ],
+ "description": "Blob container storage information."
+ },
+ "ConnectionInfo": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ }
+ ],
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "description": "Defines the connection properties of a server"
+ },
+ "ConnectToSourceSqlServerTaskInput": {
+ "type": "object",
+ "properties": {
+ "checkPermissionsGroup": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Default",
+ "MigrationFromSqlServerToAzureDB"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Permission group for validations."
+ },
+ "CollectAgentJobs": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to collect agent jobs from source server."
+ },
+ "CollectLogins": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to collect logins from source server."
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "ConnectToSourceSqlServerTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.SqlServer"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "ConnectToTargetSqlDbTaskInput": {
+ "type": "object",
+ "properties": {
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to SQL DB and target server requirements"
+ },
+ "ConnectToTargetSqlDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to SQL DB and target server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.SqlDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL DB and target server requirements"
+ },
+ "ConnectToTargetSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance."
+ },
+ "ConnectToTargetSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance"
+ },
+ "DatabaseInfo": {
+ "type": "object",
+ "properties": {
+ "sourceDatabaseName": {
+ "type": "string",
+ "description": "Name of the database"
+ }
+ },
+ "required": [
+ "sourceDatabaseName"
+ ],
+ "description": "Project Database Details"
+ },
+ "DataMigrationServiceProperties": {
+ "type": "object",
+ "properties": {
+ "publicKey": {
+ "type": "string",
+ "description": "The public key of the service, used to encrypt secrets sent to the service"
+ },
+ "virtualSubnetId": {
+ "type": "string",
+ "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined"
+ }
+ },
+ "required": [
+ "virtualSubnetId"
+ ],
+ "description": "Properties of the Data Migration service instance"
+ },
+ "FileShare": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential used to connect to the share location."
+ },
+ "path": {
+ "type": "string",
+ "description": "The folder path for this share."
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name credential to connect to the share location"
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "GetUserTablesSqlTaskInput": {
+ "type": "object",
+ "properties": {
+ "connectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of database names to collect tables for"
+ }
+ },
+ "required": [
+ "connectionInfo",
+ "selectedDatabases"
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "GetUserTablesSqlTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GetUserTablesSqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "GetUserTables.Sql"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that collects user tables for the given list of databases"
+ },
+ "MigrateSqlServerSqlDbDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "makeSourceDbReadOnly": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to set database read only before migration"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "tableMap": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Mapping of source to target tables"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ }
+ },
+ "description": "Database specific information for SQL to Azure SQL DB migration task inputs"
+ },
+ "MigrateSqlServerSqlDbTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "validationOptions": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrationValidationOptions"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Types of validations to run after the migration"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "MigrateSqlServerSqlDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.SqlDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "MigrateSqlServerSqlMIDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "restoreDatabaseName": {
+ "type": "string",
+ "description": "Name of the database at destination"
+ }
+ },
+ "required": [
+ "name",
+ "restoreDatabaseName"
+ ],
+ "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs"
+ },
+ "MigrateSqlServerSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "backupBlobShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/BlobShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Blob container storage information."
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "selectedAgentJobs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Agent Jobs to migrate."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "selectedLogins": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Logins to migrate."
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "backupBlobShare",
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance."
+ },
+ "MigrateSqlServerSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance"
+ },
+ "MigrationValidationOptions": {
+ "type": "object",
+ "properties": {
+ "enableDataIntegrityValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ."
+ },
+ "enableQueryAnalysisValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries."
+ },
+ "enableSchemaValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to compare the schema information between source and target."
+ }
+ },
+ "description": "Types of validations to run after the migration"
+ },
+ "ProjectProperties": {
+ "type": "object",
+ "properties": {
+ "databasesInfo": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseInfo"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of DatabaseInfo"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the connection properties of a server"
+ },
+ "sourcePlatform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SQL",
+ "Unknown"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Source platform for the project."
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the connection properties of a server"
+ },
+ "targetPlatform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SQLDB",
+ "SQLMI",
+ "Unknown"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target platform for the project."
+ }
+ },
+ "required": [
+ "sourcePlatform",
+ "targetPlatform"
+ ],
+ "description": "Project-specific properties"
+ },
+ "ProjectTaskProperties": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/GetUserTablesSqlTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "ServiceSku": {
+ "type": "object",
+ "properties": {
+ "capacity": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The capacity of the SKU, if it supports scaling"
+ },
+ "family": {
+ "type": "string",
+ "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines"
+ },
+ "name": {
+ "type": "string",
+ "description": "The unique name of the SKU, such as 'P3'"
+ },
+ "size": {
+ "type": "string",
+ "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines"
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'"
+ }
+ },
+ "description": "An Azure SKU instance"
+ },
+ "services_projects_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-31-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the project"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Project-specific properties"
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "projects"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects"
+ },
+ "services_projects_tasks_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-31-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "tasks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects/tasks"
+ },
+ "SqlConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "additionalSettings": {
+ "type": "string",
+ "description": "Additional connection settings"
+ },
+ "authentication": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "WindowsAuthentication",
+ "SqlAuthentication",
+ "ActiveDirectoryIntegrated",
+ "ActiveDirectoryPassword"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Authentication type to use for connection."
+ },
+ "dataSource": {
+ "type": "string",
+ "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber"
+ },
+ "encryptConnection": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to encrypt the connection"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "trustServerCertificate": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to trust the server certificate"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "SqlConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "dataSource",
+ "type"
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "ValidateMigrationInputSqlServerSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "backupBlobShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/BlobShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Blob container storage information."
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "backupBlobShare",
+ "selectedDatabases",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance"
+ },
+ "ValidateMigrationInputSqlServerSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ValidateMigrationInput.SqlServer.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance"
+ }
+ }
+}
\ No newline at end of file
diff --git a/schemas/2018-04-19/Microsoft.DataMigration.json b/schemas/2018-04-19/Microsoft.DataMigration.json
new file mode 100644
index 0000000000..14e4ed40f9
--- /dev/null
+++ b/schemas/2018-04-19/Microsoft.DataMigration.json
@@ -0,0 +1,2785 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2018-04-19/Microsoft.DataMigration.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.DataMigration",
+ "description": "Microsoft DataMigration Resource Types",
+ "resourceDefinitions": {
+ "services": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-04-19"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. Ignored if submitted"
+ },
+ "kind": {
+ "type": "string",
+ "description": "The resource kind. Only 'vm' (the default) is supported."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the service"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DataMigrationServiceProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the Data Migration service instance"
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/services_projects_childResource"
+ }
+ ]
+ }
+ },
+ "sku": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ServiceSku"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "An Azure SKU instance"
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services"
+ },
+ "services_projects": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-04-19"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the project"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Project-specific properties"
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/services_projects_tasks_childResource"
+ }
+ ]
+ }
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/projects"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects"
+ },
+ "services_projects_tasks": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-04-19"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/projects/tasks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects/tasks"
+ }
+ },
+ "definitions": {
+ "AzureActiveDirectoryApp": {
+ "type": "object",
+ "properties": {
+ "appKey": {
+ "type": "string",
+ "description": "Key used to authenticate to the Azure Active Directory Application"
+ },
+ "applicationId": {
+ "type": "string",
+ "description": "Application ID of the Azure Active Directory Application"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "Tenant id of the customer"
+ }
+ },
+ "required": [
+ "appKey",
+ "applicationId",
+ "tenantId"
+ ],
+ "description": "Azure Active Directory Application"
+ },
+ "BlobShare": {
+ "type": "object",
+ "properties": {
+ "sasUri": {
+ "type": "string",
+ "description": "SAS URI of Azure Storage Account Container."
+ }
+ },
+ "required": [
+ "sasUri"
+ ],
+ "description": "Blob container storage information."
+ },
+ "ConnectionInfo": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "#/definitions/MiSqlConnectionInfo"
+ }
+ ],
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "description": "Defines the connection properties of a server"
+ },
+ "ConnectToSourceMySqlTaskInput": {
+ "type": "object",
+ "properties": {
+ "checkPermissionsGroup": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Default",
+ "MigrationFromSqlServerToAzureDB",
+ "MigrationFromSqlServerToAzureMI",
+ "MigrationFromMySQLToAzureDBForMySQL"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Permission group for validations."
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to MySQL server"
+ },
+ "targetPlatform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SqlServer",
+ "AzureDbForMySQL"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target Platform for the migration."
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ],
+ "description": "Input for the task that validates MySQL database connection"
+ },
+ "ConnectToSourceMySqlTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceMySqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates MySQL database connection"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.MySql"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates MySQL database connection"
+ },
+ "ConnectToSourcePostgreSqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to PostgreSQL and source server requirements"
+ },
+ "ConnectToSourcePostgreSqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to PostgreSQL and source server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.PostgreSql.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration"
+ },
+ "ConnectToSourceSqlServerSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.SqlServer.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL Server and source server requirements for online migration"
+ },
+ "ConnectToSourceSqlServerTaskInput": {
+ "type": "object",
+ "properties": {
+ "checkPermissionsGroup": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Default",
+ "MigrationFromSqlServerToAzureDB",
+ "MigrationFromSqlServerToAzureMI",
+ "MigrationFromMySQLToAzureDBForMySQL"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Permission group for validations."
+ },
+ "collectAgentJobs": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to collect agent jobs from source server."
+ },
+ "collectLogins": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to collect logins from source server."
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "ConnectToSourceSqlServerTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.SqlServer"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "ConnectToTargetAzureDbForMySqlTaskInput": {
+ "type": "object",
+ "properties": {
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to MySQL server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to MySQL server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements"
+ },
+ "ConnectToTargetAzureDbForMySqlTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.AzureDbForMySql"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to Azure Database for MySQL and target server requirements"
+ },
+ "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements"
+ },
+ "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.AzureDbForPostgreSql.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration"
+ },
+ "ConnectToTargetSqlDbTaskInput": {
+ "type": "object",
+ "properties": {
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to SQL DB and target server requirements"
+ },
+ "ConnectToTargetSqlDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to SQL DB and target server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.SqlDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL DB and target server requirements"
+ },
+ "ConnectToTargetSqlMISyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "azureApp": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AzureActiveDirectoryApp"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Azure Active Directory Application"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MiSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties required to create a connection to Azure SQL database Managed instance"
+ }
+ },
+ "required": [
+ "azureApp",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario."
+ },
+ "ConnectToTargetSqlMISyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.AzureSqlDbMI.Sync.LRS"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance"
+ },
+ "ConnectToTargetSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance."
+ },
+ "ConnectToTargetSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance"
+ },
+ "ConnectToTargetSqlSqlDbSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure SQL DB and target server requirements"
+ },
+ "ConnectToTargetSqlSqlDbSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure SQL DB and target server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.SqlDb.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL DB and target server requirements for online migration"
+ },
+ "DatabaseInfo": {
+ "type": "object",
+ "properties": {
+ "sourceDatabaseName": {
+ "type": "string",
+ "description": "Name of the database"
+ }
+ },
+ "required": [
+ "sourceDatabaseName"
+ ],
+ "description": "Project Database Details"
+ },
+ "DataMigrationServiceProperties": {
+ "type": "object",
+ "properties": {
+ "publicKey": {
+ "type": "string",
+ "description": "The public key of the service, used to encrypt secrets sent to the service"
+ },
+ "virtualSubnetId": {
+ "type": "string",
+ "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined"
+ }
+ },
+ "required": [
+ "virtualSubnetId"
+ ],
+ "description": "Properties of the Data Migration service instance"
+ },
+ "FileShare": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential used to connect to the share location."
+ },
+ "path": {
+ "type": "string",
+ "description": "The folder path for this share."
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name credential to connect to the share location"
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "GetTdeCertificatesSqlTaskInput": {
+ "type": "object",
+ "properties": {
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "connectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "selectedCertificates": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SelectedCertificateInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List containing certificate names and corresponding password to use for encrypting the exported certificate."
+ }
+ },
+ "required": [
+ "backupFileShare",
+ "connectionInfo",
+ "selectedCertificates"
+ ],
+ "description": "Input for the task that gets TDE certificates in Base64 encoded format."
+ },
+ "GetTdeCertificatesSqlTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GetTdeCertificatesSqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that gets TDE certificates in Base64 encoded format."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "GetTDECertificates.Sql"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that gets TDE certificates in Base64 encoded format."
+ },
+ "GetUserTablesSqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedSourceDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of source database names to collect tables for"
+ },
+ "selectedTargetDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of target database names to collect tables for"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "selectedSourceDatabases",
+ "selectedTargetDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "GetUserTablesSqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GetUserTablesSqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "GetUserTables.AzureSqlDb.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that collects user tables for the given list of databases"
+ },
+ "GetUserTablesSqlTaskInput": {
+ "type": "object",
+ "properties": {
+ "connectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of database names to collect tables for"
+ }
+ },
+ "required": [
+ "connectionInfo",
+ "selectedDatabases"
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "GetUserTablesSqlTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GetUserTablesSqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "GetUserTables.Sql"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that collects user tables for the given list of databases"
+ },
+ "MigrateMySqlAzureDbForMySqlSyncDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "migrationSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Migration settings which tune the migration behavior"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "sourceSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Source settings to tune source endpoint migration behavior"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ },
+ "targetSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target settings to tune target endpoint migration behavior"
+ }
+ },
+ "description": "Database specific information for MySQL to Azure Database for MySQL migration task inputs"
+ },
+ "MigrateMySqlAzureDbForMySqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to MySQL server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to MySQL server"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations"
+ },
+ "MigrateMySqlAzureDbForMySqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.MySql.AzureDbForMySql.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations"
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "migrationSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Migration settings which tune the migration behavior"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "sourceSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Source settings to tune source endpoint migration behavior"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ },
+ "targetSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target settings to tune target endpoint migration behavior"
+ }
+ },
+ "description": "Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task inputs"
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations"
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.PostgreSql.AzureDbForPostgreSql.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations"
+ },
+ "MigrateSqlServerSqlDbDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "makeSourceDbReadOnly": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to set database read only before migration"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "tableMap": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Mapping of source to target tables"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ }
+ },
+ "description": "Database specific information for SQL to Azure SQL DB migration task inputs"
+ },
+ "MigrateSqlServerSqlDbSyncDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for database"
+ },
+ "migrationSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Migration settings which tune the migration behavior"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of database"
+ },
+ "schemaName": {
+ "type": "string",
+ "description": "Schema name to be migrated"
+ },
+ "sourceSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Source settings to tune source endpoint migration behavior"
+ },
+ "tableMap": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Mapping of source to target tables"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Target database name"
+ },
+ "targetSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target settings to tune target endpoint migration behavior"
+ }
+ },
+ "description": "Database specific information for SQL to Azure SQL DB sync migration task inputs"
+ },
+ "MigrateSqlServerSqlDbSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "validationOptions": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrationValidationOptions"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Types of validations to run after the migration"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations"
+ },
+ "MigrateSqlServerSqlDbSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.AzureSqlDb.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations"
+ },
+ "MigrateSqlServerSqlDbTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "validationOptions": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrationValidationOptions"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Types of validations to run after the migration"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "MigrateSqlServerSqlDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.SqlDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "MigrateSqlServerSqlMIDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "backupFilePaths": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of backup files to be used in case of existing backups."
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "restoreDatabaseName": {
+ "type": "string",
+ "description": "Name of the database at destination"
+ }
+ },
+ "required": [
+ "name",
+ "restoreDatabaseName"
+ ],
+ "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs"
+ },
+ "MigrateSqlServerSqlMISyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "azureApp": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AzureActiveDirectoryApp"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Azure Active Directory Application"
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "storageResourceId": {
+ "type": "string",
+ "description": "Fully qualified resourceId of storage"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MiSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties required to create a connection to Azure SQL database Managed instance"
+ }
+ },
+ "required": [
+ "azureApp",
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "storageResourceId",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario."
+ },
+ "MigrateSqlServerSqlMISyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario"
+ },
+ "MigrateSqlServerSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "backupBlobShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/BlobShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Blob container storage information."
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "backupMode": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "CreateBackup",
+ "ExistingBackup"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases."
+ },
+ "selectedAgentJobs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Agent Jobs to migrate."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "selectedLogins": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Logins to migrate."
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "backupBlobShare",
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance."
+ },
+ "MigrateSqlServerSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance"
+ },
+ "MigrationValidationOptions": {
+ "type": "object",
+ "properties": {
+ "enableDataIntegrityValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ."
+ },
+ "enableQueryAnalysisValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries."
+ },
+ "enableSchemaValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to compare the schema information between source and target."
+ }
+ },
+ "description": "Types of validations to run after the migration"
+ },
+ "MiSqlConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "managedInstanceResourceId": {
+ "type": "string",
+ "description": "Resource id for Azure SQL database Managed instance"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "MiSqlConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "managedInstanceResourceId",
+ "type"
+ ],
+ "description": "Properties required to create a connection to Azure SQL database Managed instance"
+ },
+ "MySqlConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "port": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Port for Server"
+ },
+ "serverName": {
+ "type": "string",
+ "description": "Name of the server"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "MySqlConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "port",
+ "serverName",
+ "type"
+ ],
+ "description": "Information for connecting to MySQL server"
+ },
+ "PostgreSqlConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "port": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Port for Server"
+ },
+ "serverName": {
+ "type": "string",
+ "description": "Name of the server"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "PostgreSqlConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "port",
+ "serverName",
+ "type"
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ },
+ "ProjectProperties": {
+ "type": "object",
+ "properties": {
+ "databasesInfo": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseInfo"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of DatabaseInfo"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the connection properties of a server"
+ },
+ "sourcePlatform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SQL",
+ "Unknown"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Source platform for the project."
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the connection properties of a server"
+ },
+ "targetPlatform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SQLDB",
+ "Unknown"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target platform for the project."
+ }
+ },
+ "required": [
+ "sourcePlatform",
+ "targetPlatform"
+ ],
+ "description": "Project-specific properties"
+ },
+ "ProjectTaskProperties": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceMySqlTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/GetUserTablesSqlTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/GetUserTablesSqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlDbSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/GetTdeCertificatesSqlTaskProperties"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "SelectedCertificateInput": {
+ "type": "object",
+ "properties": {
+ "certificateName": {
+ "type": "string",
+ "description": "Name of certificate to be exported."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password to use for encrypting the exported certificate."
+ }
+ },
+ "required": [
+ "certificateName",
+ "password"
+ ],
+ "description": "Info for certificate to be exported for TDE enabled databases."
+ },
+ "ServiceSku": {
+ "type": "object",
+ "properties": {
+ "capacity": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The capacity of the SKU, if it supports scaling"
+ },
+ "family": {
+ "type": "string",
+ "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines"
+ },
+ "name": {
+ "type": "string",
+ "description": "The unique name of the SKU, such as 'P3'"
+ },
+ "size": {
+ "type": "string",
+ "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines"
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'"
+ }
+ },
+ "description": "An Azure SKU instance"
+ },
+ "services_projects_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-04-19"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the project"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Project-specific properties"
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "projects"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects"
+ },
+ "services_projects_tasks_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-04-19"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "tasks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects/tasks"
+ },
+ "SqlConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "additionalSettings": {
+ "type": "string",
+ "description": "Additional connection settings"
+ },
+ "authentication": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "WindowsAuthentication",
+ "SqlAuthentication",
+ "ActiveDirectoryIntegrated",
+ "ActiveDirectoryPassword"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Authentication type to use for connection."
+ },
+ "dataSource": {
+ "type": "string",
+ "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber"
+ },
+ "encryptConnection": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to encrypt the connection"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "platform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SqlOnPrem"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Server platform type for connection."
+ },
+ "trustServerCertificate": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to trust the server certificate"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "SqlConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "dataSource",
+ "type"
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ValidateSyncMigrationInputSqlServerTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that validates migration input for SQL sync migrations"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ValidateMigrationInput.SqlServer.SqlDb.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that validates migration input for SQL to Azure SQL DB sync migrations"
+ },
+ "ValidateMigrationInputSqlServerSqlMISyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "azureApp": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AzureActiveDirectoryApp"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Azure Active Directory Application"
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "storageResourceId": {
+ "type": "string",
+ "description": "Fully qualified resourceId of storage"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MiSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties required to create a connection to Azure SQL database Managed instance"
+ }
+ },
+ "required": [
+ "azureApp",
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "storageResourceId",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario."
+ },
+ "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario"
+ },
+ "ValidateMigrationInputSqlServerSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "backupBlobShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/BlobShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Blob container storage information."
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "backupMode": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "CreateBackup",
+ "ExistingBackup"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Backup Mode to specify whether to use existing backup or create new backup."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "selectedLogins": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Logins to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "backupBlobShare",
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance"
+ },
+ "ValidateMigrationInputSqlServerSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ValidateMigrationInput.SqlServer.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance"
+ },
+ "ValidateSyncMigrationInputSqlServerTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that validates migration input for SQL sync migrations"
+ }
+ }
+}
\ No newline at end of file
diff --git a/schemas/2018-05-01/subscriptionDeploymentTemplate.json b/schemas/2018-05-01/subscriptionDeploymentTemplate.json
index ad6a84d102..34b6154aeb 100644
--- a/schemas/2018-05-01/subscriptionDeploymentTemplate.json
+++ b/schemas/2018-05-01/subscriptionDeploymentTemplate.json
@@ -142,6 +142,9 @@
{
"$ref": "https://schema.management.azure.com/schemas/2020-04-01-preview/Microsoft.ChangeAnalysis.json#/subscription_resourceDefinitions/profile"
},
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-03-01-preview/Microsoft.Confluent.json#/subscription_resourceDefinitions/agreements"
+ },
{
"$ref": "https://schema.management.azure.com/schemas/2017-12-30-preview/Microsoft.Consumption.json#/subscription_resourceDefinitions/budgets"
},
@@ -178,6 +181,9 @@
{
"$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Consumption.json#/unknown_resourceDefinitions/budgets"
},
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/subscription_resourceDefinitions/agreements"
+ },
{
"$ref": "https://schema.management.azure.com/schemas/2017-06-15-preview/Microsoft.EventGrid.json#/unknown_resourceDefinitions/eventSubscriptions"
},
@@ -211,6 +217,18 @@
{
"$ref": "https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/unknown_resourceDefinitions/eventSubscriptions"
},
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/locations_vendors_networkFunctions"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/vendors"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/vendors_vendorSkus"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/vendors_vendorSkus_previewSubscriptions"
+ },
{
"$ref": "https://schema.management.azure.com/schemas/2019-06-01-preview/Microsoft.ManagedNetwork.json#/unknown_resourceDefinitions/scopeAssignments"
},
@@ -301,6 +319,72 @@
{
"$ref": "https://schema.management.azure.com/schemas/2020-10-01/Microsoft.Resources.json#/subscription_resourceDefinitions/resourceGroups"
},
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2015-06-01-preview/Microsoft.Security.json#/subscription_resourceDefinitions/locations_applicationWhitelistings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/subscription_resourceDefinitions/autoProvisioningSettings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/subscription_resourceDefinitions/pricings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/subscription_resourceDefinitions/securityContacts"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/subscription_resourceDefinitions/settings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/subscription_resourceDefinitions/workspaceSettings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/advancedThreatProtectionSettings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/deviceSecurityGroups"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/subscription_resourceDefinitions/pricings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2019-01-01/Microsoft.Security.json#/subscription_resourceDefinitions/settings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2019-01-01/Microsoft.Security.json#/unknown_resourceDefinitions/advancedThreatProtectionSettings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2019-01-01-preview/Microsoft.Security.json#/subscription_resourceDefinitions/alertsSuppressionRules"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2019-01-01-preview/Microsoft.Security.json#/subscription_resourceDefinitions/assessmentMetadata"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2019-01-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/assessments"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2019-08-01/Microsoft.Security.json#/unknown_resourceDefinitions/deviceSecurityGroups"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Security.json#/subscription_resourceDefinitions/assessmentMetadata"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Security.json#/subscription_resourceDefinitions/locations_applicationWhitelistings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Security.json#/unknown_resourceDefinitions/assessments"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.Security.json#/subscription_resourceDefinitions/connectors"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.Security.json#/subscription_resourceDefinitions/securityContacts"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-08-06-preview/Microsoft.Security.json#/subscription_resourceDefinitions/iotDefenderSettings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2020-08-06-preview/Microsoft.Security.json#/unknown_resourceDefinitions/iotSensors"
+ },
{
"$ref": "https://schema.management.azure.com/schemas/2019-05-01-preview/Microsoft.Support.json#/subscription_resourceDefinitions/supportTickets"
},
diff --git a/schemas/2018-06-01-preview/Microsoft.Sql.json b/schemas/2018-06-01-preview/Microsoft.Sql.json
index 850e9335ae..3d1402345c 100644
--- a/schemas/2018-06-01-preview/Microsoft.Sql.json
+++ b/schemas/2018-06-01-preview/Microsoft.Sql.json
@@ -1112,7 +1112,9 @@
{
"type": "string",
"enum": [
- "SystemAssigned"
+ "None",
+ "SystemAssigned",
+ "UserAssigned"
]
},
{
diff --git a/schemas/2018-06-01/Microsoft.DataFactory.json b/schemas/2018-06-01/Microsoft.DataFactory.json
index f913d757f2..0335914c51 100644
--- a/schemas/2018-06-01/Microsoft.DataFactory.json
+++ b/schemas/2018-06-01/Microsoft.DataFactory.json
@@ -5908,6 +5908,16 @@
],
"description": "Cmdkey command custom setup type properties."
},
+ "CMKIdentityDefinition": {
+ "type": "object",
+ "properties": {
+ "userAssignedIdentity": {
+ "type": "string",
+ "description": "The resource id of the user assigned identity to authenticate to customer's key vault."
+ }
+ },
+ "description": "Managed Identity used for CMK."
+ },
"CommonDataServiceForAppsEntityDataset": {
"type": "object",
"properties": {
@@ -10376,6 +10386,39 @@
],
"description": "A copy activity Eloqua server source."
},
+ "EncryptionConfiguration": {
+ "type": "object",
+ "properties": {
+ "identity": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CMKIdentityDefinition"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Managed Identity used for CMK."
+ },
+ "keyName": {
+ "type": "string",
+ "description": "The name of the key in Azure Key Vault to use as Customer Managed Key."
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "The version of the key used for CMK. If not provided, latest version will be used."
+ },
+ "vaultBaseUrl": {
+ "type": "string",
+ "description": "The url of the Azure Key Vault used for CMK."
+ }
+ },
+ "required": [
+ "keyName",
+ "vaultBaseUrl"
+ ],
+ "description": "Definition of CMK for the factory."
+ },
"EntityReference": {
"type": "object",
"properties": {
@@ -11490,7 +11533,23 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The identity type. Currently the only supported type is 'SystemAssigned'."
+ "description": "The identity type."
+ },
+ "userAssignedIdentities": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {}
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Definition of all user assigned identities for a factory."
}
},
"required": [
@@ -11501,6 +11560,17 @@
"FactoryProperties": {
"type": "object",
"properties": {
+ "encryption": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Definition of CMK for the factory."
+ },
"globalParameters": {
"oneOf": [
{
diff --git a/schemas/2018-06-01/Microsoft.Security.json b/schemas/2018-06-01/Microsoft.Security.json
index 4aa52b7178..614eded030 100644
--- a/schemas/2018-06-01/Microsoft.Security.json
+++ b/schemas/2018-06-01/Microsoft.Security.json
@@ -2,752 +2,73 @@
"id": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Microsoft.Security",
- "description": "Microsoft Security service",
- "resourceDefinitions": {
+ "description": "Microsoft Security Resource Types",
+ "resourceDefinitions": {},
+ "subscription_resourceDefinitions": {
"pricings": {
"type": "object",
- "description": "Pricing tier will be applied for the scope based on the resource ID",
"properties": {
- "properties": {
- "oneOf": [
- {
- "$ref": "#/definitions/PricingProperties"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Security contact data"
- },
"apiVersion": {
- "enum": ["2018-06-01"]
- },
- "name": {
- "type": "string",
- "enum": ["VirtualMachines", "SqlServers", "AppServices"],
- "description": "pricings name"
- },
- "type": {
- "type": "string",
- "enum": ["Microsoft.Security/pricings"]
- }
- },
- "required": [
- "name",
- "apiVersion",
- "properties"
- ]
- },
- "securityContacts": {
- "type": "object",
- "description": "Contact details for security issues",
- "properties": {
- "properties": {
- "oneOf": [
- {
- "$ref": "#/definitions/SecurityContactProperties"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Security contact data"
- },
- "name": {
- "type": "string",
- "description": "security contact name"
- },
- "type": {
"type": "string",
- "enum": ["Microsoft.Security/securityContacts"]
- },
- "apiVersion": {
- "enum": ["2018-06-01"]
- }
- },
- "required": [
- "name",
- "apiVersion",
- "properties"
- ]
- },
- "workspaceSettings": {
- "type": "object",
- "description": "Configures where to store the OMS agent data for workspaces under a scope",
- "properties": {
- "properties": {
- "oneOf": [
- {
- "$ref": "#/definitions/WorkspaceSettingProperties"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Workspace setting data"
- },
- "name": {
- "type": "string",
- "description": "workspace name"
- },
- "type": {
- "type": "string",
- "enum": ["Microsoft.Security/workspaceSettings"]
- },
- "apiVersion": {
- "enum": ["2018-06-01"]
- }
- },
- "required": [
- "name",
- "apiVersion",
- "properties"
- ]
- },
- "autoProvisioningSettings": {
- "type": "object",
- "description": "Auto provisioning setting",
- "properties": {
- "properties": {
- "oneOf": [
- {
- "$ref": "#/definitions/AutoProvisioningSettingProperties"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Auto provisioning setting data"
+ "enum": [
+ "2018-06-01"
+ ]
},
"name": {
"type": "string",
- "description": "auto provisioning setting name"
+ "description": "name of the pricing configuration"
},
- "type": {
- "type": "string",
- "enum": ["Microsoft.Security/autoProvisioningSettings"]
- },
- "apiVersion": {
- "enum": ["2018-06-01"]
- }
- },
- "required": [
- "name",
- "apiVersion",
- "properties"
- ]
- },
- "advancedThreatProtectionSettings": {
- "type": "object",
- "description": "The Advanced Threat Protection resource",
- "properties": {
"properties": {
"oneOf": [
{
- "$ref": "#/definitions/AdvancedThreatProtectionProperties"
+ "$ref": "#/definitions/PricingProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The Advanced Threat Protection resource"
- },
- "name": {
- "type": "string",
- "description": "advanced threat protection setting name"
+ "description": "Pricing properties for the relevant scope"
},
"type": {
"type": "string",
- "enum": ["Microsoft.Security/advancedThreatProtectionSettings"]
- },
- "apiVersion": {
- "enum": ["2018-06-01"]
+ "enum": [
+ "Microsoft.Security/pricings"
+ ]
}
},
"required": [
- "name",
"apiVersion",
- "properties"
- ]
- },
- "settings": {
- "type": "object",
- "description": "Represents a security setting in Azure Security Center",
- "discriminator": "kind",
- "properties": {
- "properties": {
- "oneOf": [
- {
- "$ref": "#/definitions/SettingResource"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Settings"
- },
- "type": {
- "type": "string",
- "enum": ["Microsoft.Security/settings"]
- },
- "apiVersion": {
- "enum": ["2018-06-01"]
- }
- },
- "required": [
"name",
- "kind",
- "apiVersion",
- "properties"
- ]
- },
- "informationProtectionPolicies": {
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/pricings"
+ }
+ },
+ "definitions": {
+ "PricingProperties": {
"type": "object",
- "description": "Information protection policy.",
"properties": {
- "properties": {
+ "pricingTier": {
"oneOf": [
{
- "$ref": "#/definitions/InformationProtectionPolicyProperties"
+ "type": "string",
+ "enum": [
+ "Free",
+ "Standard"
+ ]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Information protection policy data"
- },
- "name": {
- "type": "string",
- "description": "information protection policy name"
- },
- "type": {
- "type": "string",
- "enum": ["Microsoft.Security/informationProtectionPolicies"]
- },
- "apiVersion": {
- "enum": ["2018-06-01"]
+ "description": "The pricing tier value. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features."
}
},
"required": [
- "name",
- "apiVersion",
- "properties"
- ]
- }
- },
- "definitions": {
- "Resource": {
- "type": "object",
- "description": "Describes an Azure resource.",
- "properties": {
- "name": {
- "readOnly": true,
- "type": "string",
- "description": "Resource name"
- },
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "Resource type"
- }
- },
- "x-ms-azure-resource": true
- },
- "Kind": {
- "type": "object",
- "description": "Describes an Azure resource with kind",
- "properties": {
- "kind": {
- "type": "string",
- "description": "Kind of the resource"
- }
- }
- },
- "SecurityContactList": {
- "type": "object",
- "description": "List of security contacts response",
- "properties": {
- "value": {
- "readOnly": true,
- "description": "List of security contacts",
- "type": "array",
- "items": {
- "$ref": "#/definitions/SecurityContact"
- }
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URI to fetch the next page."
- }
- }
- },
- "SecurityContact": {
- "type": "object",
- "description": "Contact details for security issues",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Security contact data",
- "$ref": "#/definitions/SecurityContactProperties"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
- "SecurityContactProperties": {
- "type": "object",
- "description": "describes security contact properties",
- "properties": {
- "email": {
- "type": "string",
- "format": "email",
- "description": "The email of this security contact"
- },
- "phone": {
- "type": "string",
- "description": "The phone number of this security contact"
- },
- "alertNotifications": {
- "type": "string",
- "enum": ["On", "Off"],
- "x-ms-enum": {
- "name": "alertNotifications",
- "modelAsString": true,
- "values": [
- {
- "value": "On",
- "description": "Get notifications on new alerts"
- },
- {
- "value": "Off",
- "description": "Don't get notifications on new alerts"
- }
- ]
- },
- "description": "Whether to send security alerts notifications to the security contact"
- },
- "alertsToAdmins": {
- "type": "string",
- "enum": ["On", "Off"],
- "x-ms-enum": {
- "name": "alertsToAdmins",
- "modelAsString": true,
- "values": [
- {
- "value": "On",
- "description": "Send notification on new alerts to the subscription's admins"
- },
- {
- "value": "Off",
- "description": "Don't send notification on new alerts to the subscription's admins"
- }
- ]
- },
- "description": "Whether to send security alerts notifications to subscription admins"
- }
- },
- "required": ["email", "alertNotifications", "alertsToAdmins"]
- },
- "PricingList": {
- "description": "List of pricing configurations response",
- "required": ["value"],
- "properties": {
- "value": {
- "type": "array",
- "description": "List of pricing configurations",
- "items": {
- "$ref": "#/definitions/Pricing"
- }
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URI to fetch the next page."
- }
- }
- },
- "Pricing": {
- "type": "object",
- "description": "Pricing tier will be applied for the scope based on the resource ID",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Pricing data",
- "$ref": "#/definitions/PricingProperties"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
- "PricingProperties": {
- "type": "object",
- "description": "Pricing data",
- "properties": {
- "pricingTier": {
- "type": "string",
- "description": "Pricing tier type",
- "enum": ["Free", "Standard"],
- "x-ms-enum": {
- "name": "pricingTier",
- "modelAsString": true,
- "values": [
- {
- "value": "Free",
- "description": "Get free Azure security center experience with basic security features"
- },
- {
- "value": "Standard",
- "description": "Get the standard Azure security center experience with advanced security features"
- }
- ]
- }
- }
- },
- "required": ["pricingTier"]
- },
- "WorkspaceSettingList": {
- "description": "List of workspace settings response",
- "required": ["value"],
- "properties": {
- "value": {
- "type": "array",
- "description": "List of workspace settings",
- "items": {
- "$ref": "#/definitions/WorkspaceSetting"
- }
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URI to fetch the next page."
- }
- }
- },
- "WorkspaceSetting": {
- "type": "object",
- "description": "Configures where to store the OMS agent data for workspaces under a scope",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Workspace setting data",
- "$ref": "#/definitions/WorkspaceSettingProperties"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
- "WorkspaceSettingProperties": {
- "type": "object",
- "description": "Workspace setting data",
- "properties": {
- "workspaceId": {
- "type": "string",
- "description": "The full Azure ID of the workspace to save the data in"
- },
- "scope": {
- "type": "string",
- "description": "All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope"
- }
- },
- "required": ["workspaceId", "scope"]
- },
- "AutoProvisioningSettingList": {
- "type": "object",
- "description": "List of all the auto provisioning settings response",
- "properties": {
- "value": {
- "description": "List of all the auto provisioning settings",
- "type": "array",
- "items": {
- "$ref": "#/definitions/AutoProvisioningSetting"
- }
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URI to fetch the next page."
- }
- }
- },
- "AutoProvisioningSetting": {
- "type": "object",
- "description": "Auto provisioning setting",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Auto provisioning setting data",
- "$ref": "#/definitions/AutoProvisioningSettingProperties"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
- "AutoProvisioningSettingProperties": {
- "type": "object",
- "description": "describes properties of an auto provisioning setting",
- "properties": {
- "autoProvision": {
- "type": "string",
- "description": "Describes what kind of security agent provisioning action to take",
- "enum": ["On", "Off"],
- "x-ms-enum": {
- "name": "autoProvision",
- "modelAsString": true,
- "values": [
- {
- "value": "On",
- "description": "Install missing security agent on VMs automatically"
- },
- {
- "value": "Off",
- "description": "Do not install security agent on the VMs automatically"
- }
- ]
- }
- }
- },
- "required": ["autoProvision"]
- },
- "AdvancedThreatProtectionProperties": {
- "properties": {
- "isEnabled": {
- "type": "boolean",
- "description": "Indicates whether Advanced Threat Protection is enabled."
- }
- },
- "description": "The Advanced Threat Protection settings."
- },
- "AdvancedThreatProtectionSetting": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
+ "pricingTier"
],
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/AdvancedThreatProtectionProperties"
- }
- },
- "description": "The Advanced Threat Protection resource."
- },
- "SettingsList": {
- "type": "object",
- "description": "Subscription settings list.",
- "properties": {
- "value": {
- "type": "array",
- "description": "The settings list.",
- "items": {
- "$ref": "#/definitions/Setting"
- }
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URI to fetch the next page."
- }
- }
- },
- "Setting": {
- "type": "object",
- "description": "Represents a security setting in Azure Security Center.",
- "discriminator": "kind",
- "properties": {},
- "allOf": [
- {
- "$ref": "#/definitions/SettingResource"
- }
- ]
- },
- "SettingResource": {
- "type": "object",
- "description": "The kind of the security setting",
- "properties": {
- "kind": {
- "type": "string",
- "description": "the kind of the settings string (DataExportSetting)",
- "enum": ["DataExportSetting", "AlertSuppressionSetting"],
- "x-ms-enum": {
- "name": "SettingKind",
- "modelAsString": true,
- "values": [
- {
- "value": "DataExportSetting"
- },
- {
- "value": "AlertSuppressionSetting"
- }
- ]
- }
- }
- },
- "required": ["kind"],
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
- "DataExportSettingProperties": {
- "type": "object",
- "description": "The data export setting properties",
- "properties": {
- "enabled": {
- "type": "boolean",
- "description": "Is the data export setting is enabled"
- }
- },
- "required": ["enabled"]
- },
- "InformationProtectionPolicyList": {
- "type": "object",
- "readOnly": true,
- "description": "Information protection policies response.",
- "properties": {
- "value": {
- "type": "array",
- "description": "List of information protection policies.",
- "items": {
- "$ref": "#/definitions/InformationProtectionPolicy"
- }
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URI to fetch the next page."
- }
- }
- },
- "InformationProtectionPolicy": {
- "type": "object",
- "description": "Information protection policy.",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Information protection policy data",
- "$ref": "#/definitions/InformationProtectionPolicyProperties"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
- "InformationProtectionPolicyProperties": {
- "type": "object",
- "description": "describes properties of an information protection policy.",
- "properties": {
- "lastModifiedUtc": {
- "type": "string",
- "format": "date-time",
- "readOnly": true,
- "description": "Describes the last UTC time the policy was modified."
- },
- "labels": {
- "type": "object",
- "description": "Dictionary of sensitivity labels.",
- "additionalProperties": {
- "$ref": "#/definitions/SensitivityLabel"
- }
- },
- "informationTypes": {
- "type": "object",
- "description": "The sensitivity information types.",
- "additionalProperties": {
- "$ref": "#/definitions/InformationType"
- }
- }
- }
- },
- "SensitivityLabel": {
- "type": "object",
- "description": "The sensitivity label.",
- "properties": {
- "displayName": {
- "type": "string",
- "description": "The name of the sensitivity label."
- },
- "order": {
- "type": "number",
- "description": "The order of the sensitivity label."
- },
- "enabled": {
- "type": "boolean",
- "description": "Indicates whether the label is enabled or not."
- }
- }
- },
- "InformationType": {
- "type": "object",
- "description": "The information type.",
- "properties": {
- "displayName": {
- "type": "string",
- "description": "The name of the information type."
- },
- "order": {
- "type": "number",
- "description": "The order of the information type."
- },
- "recommendedLabelId": {
- "type": "string",
- "format": "uuid",
- "description": "The recommended label id to be associated with this information type."
- },
- "enabled": {
- "type": "boolean",
- "description": "Indicates whether the information type is enabled or not."
- },
- "custom": {
- "type": "boolean",
- "description": "Indicates whether the information type is custom or not."
- },
- "keywords": {
- "type": "array",
- "description": "The information type keywords.",
- "items": {
- "$ref": "#/definitions/InformationProtectionKeyword"
- }
- }
- }
- },
- "InformationProtectionKeyword": {
- "type": "object",
- "description": "The information type keyword.",
- "properties": {
- "pattern": {
- "type": "string",
- "description": "The keyword pattern."
- },
- "custom": {
- "type": "boolean",
- "description": "Indicates whether the keyword is custom or not."
- },
- "canBeNumeric": {
- "type": "boolean",
- "description": "Indicates whether the keyword can be applied on numeric types or not."
- },
- "excluded": {
- "type": "boolean",
- "description": "Indicates whether the keyword is excluded or not."
- }
- }
+ "description": "Pricing properties for the relevant scope"
}
}
-}
+}
\ No newline at end of file
diff --git a/schemas/2018-07-15-preview/Microsoft.DataMigration.json b/schemas/2018-07-15-preview/Microsoft.DataMigration.json
new file mode 100644
index 0000000000..3ded94060b
--- /dev/null
+++ b/schemas/2018-07-15-preview/Microsoft.DataMigration.json
@@ -0,0 +1,4347 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.DataMigration",
+ "description": "Microsoft DataMigration Resource Types",
+ "resourceDefinitions": {
+ "services": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-15-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. Ignored if submitted"
+ },
+ "kind": {
+ "type": "string",
+ "description": "The resource kind. Only 'vm' (the default) is supported."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the service"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DataMigrationServiceProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the Database Migration Service instance"
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/services_serviceTasks_childResource"
+ },
+ {
+ "$ref": "#/definitions/services_projects_childResource"
+ }
+ ]
+ }
+ },
+ "sku": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ServiceSku"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "An Azure SKU instance"
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services"
+ },
+ "services_projects": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-15-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the project"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Project-specific properties"
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/services_projects_tasks_childResource"
+ },
+ {
+ "$ref": "#/definitions/services_projects_files_childResource"
+ }
+ ]
+ }
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/projects"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects"
+ },
+ "services_projects_files": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-15-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the File"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectFileProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for file properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/projects/files"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects/files"
+ },
+ "services_projects_tasks": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-15-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/projects/tasks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects/tasks"
+ },
+ "services_serviceTasks": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-15-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.DataMigration/services/serviceTasks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/serviceTasks"
+ }
+ },
+ "definitions": {
+ "AzureActiveDirectoryApp": {
+ "type": "object",
+ "properties": {
+ "appKey": {
+ "type": "string",
+ "description": "Key used to authenticate to the Azure Active Directory Application"
+ },
+ "applicationId": {
+ "type": "string",
+ "description": "Application ID of the Azure Active Directory Application"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "Tenant id of the customer"
+ }
+ },
+ "required": [
+ "appKey",
+ "applicationId",
+ "tenantId"
+ ],
+ "description": "Azure Active Directory Application"
+ },
+ "BlobShare": {
+ "type": "object",
+ "properties": {
+ "sasUri": {
+ "type": "string",
+ "description": "SAS URI of Azure Storage Account Container."
+ }
+ },
+ "required": [
+ "sasUri"
+ ],
+ "description": "Blob container storage information."
+ },
+ "CheckOCIDriverTaskInput": {
+ "type": "object",
+ "properties": {
+ "serverVersion": {
+ "type": "string",
+ "description": "Version of the source server to check against. Optional."
+ }
+ },
+ "description": "Input for the service task to check for OCI drivers."
+ },
+ "CheckOCIDriverTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CheckOCIDriverTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the service task to check for OCI drivers."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Service.Check.OCI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that checks for OCI drivers."
+ },
+ "ConnectionInfo": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MongoDbConnectionInfo"
+ },
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "#/definitions/OracleConnectionInfo"
+ },
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "#/definitions/MiSqlConnectionInfo"
+ }
+ ],
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "description": "Defines the connection properties of a server"
+ },
+ "ConnectToMongoDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MongoDbConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes a connection to a MongoDB data source"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Connect.MongoDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates the connection to and provides information about a MongoDB server"
+ },
+ "ConnectToSourceMySqlTaskInput": {
+ "type": "object",
+ "properties": {
+ "checkPermissionsGroup": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Default",
+ "MigrationFromSqlServerToAzureDB",
+ "MigrationFromSqlServerToAzureMI",
+ "MigrationFromMySQLToAzureDBForMySQL"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Permission group for validations."
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to MySQL server"
+ },
+ "targetPlatform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SqlServer",
+ "AzureDbForMySQL"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target Platform for the migration."
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ],
+ "description": "Input for the task that validates MySQL database connection"
+ },
+ "ConnectToSourceMySqlTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceMySqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates MySQL database connection"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.MySql"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates MySQL database connection"
+ },
+ "ConnectToSourceOracleSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/OracleConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to Oracle server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ],
+ "description": "Input for the task that validates Oracle database connection"
+ },
+ "ConnectToSourceOracleSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceOracleSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates Oracle database connection"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.Oracle.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates Oracle database connection"
+ },
+ "ConnectToSourcePostgreSqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to PostgreSQL and source server requirements"
+ },
+ "ConnectToSourcePostgreSqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to PostgreSQL and source server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.PostgreSql.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration"
+ },
+ "ConnectToSourceSqlServerSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.SqlServer.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL Server and source server requirements for online migration"
+ },
+ "ConnectToSourceSqlServerTaskInput": {
+ "type": "object",
+ "properties": {
+ "checkPermissionsGroup": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Default",
+ "MigrationFromSqlServerToAzureDB",
+ "MigrationFromSqlServerToAzureMI",
+ "MigrationFromMySQLToAzureDBForMySQL"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Permission group for validations."
+ },
+ "collectAgentJobs": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to collect agent jobs from source server."
+ },
+ "collectDatabases": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to collect databases from source server."
+ },
+ "collectLogins": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to collect logins from source server."
+ },
+ "collectTdeCertificateInfo": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to collect TDE Certificate names from source server."
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "validateSsisCatalogOnly": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to validate SSIS catalog is reachable on the source server."
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "ConnectToSourceSqlServerTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToSource.SqlServer"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements"
+ },
+ "ConnectToTargetAzureDbForMySqlTaskInput": {
+ "type": "object",
+ "properties": {
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to MySQL server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to MySQL server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements"
+ },
+ "ConnectToTargetAzureDbForMySqlTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.AzureDbForMySql"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to Azure Database for MySQL and target server requirements"
+ },
+ "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements"
+ },
+ "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.AzureDbForPostgreSql.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration"
+ },
+ "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ }
+ },
+ "required": [
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source."
+ },
+ "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration for Oracle source."
+ },
+ "ConnectToTargetSqlDbTaskInput": {
+ "type": "object",
+ "properties": {
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to SQL DB and target server requirements"
+ },
+ "ConnectToTargetSqlDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to SQL DB and target server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.SqlDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL DB and target server requirements"
+ },
+ "ConnectToTargetSqlMISyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "azureApp": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AzureActiveDirectoryApp"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Azure Active Directory Application"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MiSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties required to create a connection to Azure SQL database Managed instance"
+ }
+ },
+ "required": [
+ "azureApp",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario."
+ },
+ "ConnectToTargetSqlMISyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.AzureSqlDbMI.Sync.LRS"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance"
+ },
+ "ConnectToTargetSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "collectAgentJobs": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to collect agent jobs from target SQL MI server."
+ },
+ "collectLogins": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to collect logins from target SQL MI server."
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "validateSsisCatalogOnly": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Flag for whether to validate SSIS catalog is reachable on the target SQL MI server."
+ }
+ },
+ "required": [
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance."
+ },
+ "ConnectToTargetSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance"
+ },
+ "ConnectToTargetSqlSqlDbSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that validates connection to Azure SQL DB and target server requirements"
+ },
+ "ConnectToTargetSqlSqlDbSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that validates connection to Azure SQL DB and target server requirements"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ConnectToTarget.SqlDb.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates connection to SQL DB and target server requirements for online migration"
+ },
+ "DatabaseInfo": {
+ "type": "object",
+ "properties": {
+ "sourceDatabaseName": {
+ "type": "string",
+ "description": "Name of the database"
+ }
+ },
+ "required": [
+ "sourceDatabaseName"
+ ],
+ "description": "Project Database Details"
+ },
+ "DataMigrationServiceProperties": {
+ "type": "object",
+ "properties": {
+ "publicKey": {
+ "type": "string",
+ "description": "The public key of the service, used to encrypt secrets sent to the service"
+ },
+ "virtualNicId": {
+ "type": "string",
+ "description": "The ID of the Microsoft.Network/networkInterfaces resource which the service have"
+ },
+ "virtualSubnetId": {
+ "type": "string",
+ "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined"
+ }
+ },
+ "required": [
+ "virtualSubnetId"
+ ],
+ "description": "Properties of the Database Migration Service instance"
+ },
+ "FileShare": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential used to connect to the share location."
+ },
+ "path": {
+ "type": "string",
+ "description": "The folder path for this share."
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name credential to connect to the share location"
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "GetTdeCertificatesSqlTaskInput": {
+ "type": "object",
+ "properties": {
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "connectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "selectedCertificates": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SelectedCertificateInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List containing certificate names and corresponding password to use for encrypting the exported certificate."
+ }
+ },
+ "required": [
+ "backupFileShare",
+ "connectionInfo",
+ "selectedCertificates"
+ ],
+ "description": "Input for the task that gets TDE certificates in Base64 encoded format."
+ },
+ "GetTdeCertificatesSqlTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GetTdeCertificatesSqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that gets TDE certificates in Base64 encoded format."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "GetTDECertificates.Sql"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that gets TDE certificates in Base64 encoded format."
+ },
+ "GetUserTablesOracleTaskInput": {
+ "type": "object",
+ "properties": {
+ "connectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/OracleConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to Oracle server"
+ },
+ "selectedSchemas": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of Oracle schemas for which to collect tables"
+ }
+ },
+ "required": [
+ "connectionInfo",
+ "selectedSchemas"
+ ],
+ "description": "Input for the task that gets the list of tables contained within a provided list of Oracle schemas."
+ },
+ "GetUserTablesOracleTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GetUserTablesOracleTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that gets the list of tables contained within a provided list of Oracle schemas."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "GetUserTablesOracle"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that collects user tables for the given list of Oracle schemas"
+ },
+ "GetUserTablesPostgreSqlTaskInput": {
+ "type": "object",
+ "properties": {
+ "connectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of PostgreSQL databases for which to collect tables"
+ }
+ },
+ "required": [
+ "connectionInfo",
+ "selectedDatabases"
+ ],
+ "description": "Input for the task that gets the list of tables for a provided list of PostgreSQL databases."
+ },
+ "GetUserTablesPostgreSqlTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GetUserTablesPostgreSqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that gets the list of tables for a provided list of PostgreSQL databases."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "GetUserTablesPostgreSql"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that collects user tables for the given list of databases"
+ },
+ "GetUserTablesSqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedSourceDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of source database names to collect tables for"
+ },
+ "selectedTargetDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of target database names to collect tables for"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "selectedSourceDatabases",
+ "selectedTargetDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "GetUserTablesSqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GetUserTablesSqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "GetUserTables.AzureSqlDb.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that collects user tables for the given list of databases"
+ },
+ "GetUserTablesSqlTaskInput": {
+ "type": "object",
+ "properties": {
+ "connectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of database names to collect tables for"
+ }
+ },
+ "required": [
+ "connectionInfo",
+ "selectedDatabases"
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "GetUserTablesSqlTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GetUserTablesSqlTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that collects user tables for the given list of databases"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "GetUserTables.Sql"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that collects user tables for the given list of databases"
+ },
+ "InstallOCIDriverTaskInput": {
+ "type": "object",
+ "properties": {
+ "driverPackageName": {
+ "type": "string",
+ "description": "Name of the uploaded driver package to install."
+ }
+ },
+ "description": "Input for the service task to install an OCI driver."
+ },
+ "InstallOCIDriverTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/InstallOCIDriverTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the service task to install an OCI driver."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Service.Install.OCI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that installs an OCI driver."
+ },
+ "MigrateMongoDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MongoDbMigrationSettings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes how a MongoDB data migration should be performed"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.MongoDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates data between MongoDB data sources"
+ },
+ "MigrateMySqlAzureDbForMySqlSyncDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "migrationSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Migration settings which tune the migration behavior"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "sourceSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Source settings to tune source endpoint migration behavior"
+ },
+ "tableMap": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Mapping of source to target tables"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ },
+ "targetSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target settings to tune target endpoint migration behavior"
+ }
+ },
+ "description": "Database specific information for MySQL to Azure Database for MySQL migration task inputs"
+ },
+ "MigrateMySqlAzureDbForMySqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to MySQL server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MySqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to MySQL server"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations"
+ },
+ "MigrateMySqlAzureDbForMySqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.MySql.AzureDbForMySql.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations"
+ },
+ "MigrateOracleAzureDbForPostgreSqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.Oracle.AzureDbForPostgreSql.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates Oracle to Azure Database for PostgreSQL for online migrations"
+ },
+ "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "caseManipulation": {
+ "type": "string",
+ "description": "How to handle object name casing: either Preserve or ToLower"
+ },
+ "migrationSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Migration settings which tune the migration behavior"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the migration pipeline"
+ },
+ "schemaName": {
+ "type": "string",
+ "description": "Name of the source schema"
+ },
+ "sourceSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Source settings to tune source endpoint migration behavior"
+ },
+ "tableMap": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Mapping of source to target tables"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ },
+ "targetSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target settings to tune target endpoint migration behavior"
+ }
+ },
+ "description": "Database specific information for Oracle to Azure Database for PostgreSQL migration task inputs"
+ },
+ "MigrateOracleAzureDbPostgreSqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/OracleConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to Oracle server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations"
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "migrationSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Migration settings which tune the migration behavior"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "selectedTables": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Tables selected for migration"
+ },
+ "sourceSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Source settings to tune source endpoint migration behavior"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ },
+ "targetSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target settings to tune target endpoint migration behavior"
+ }
+ },
+ "description": "Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task inputs"
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the table to migrate"
+ }
+ },
+ "description": "Selected tables for the migration"
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/PostgreSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations"
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations"
+ },
+ "MigrateSchemaSqlServerSqlDbDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of source database"
+ },
+ "schemaSetting": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SchemaMigrationSetting"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Settings for migrating schema from source to target"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database"
+ }
+ },
+ "description": "Database input for migrate schema Sql Server to Azure SQL Server scenario"
+ },
+ "MigrateSchemaSqlServerSqlDbTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that migrates Schema for SQL Server databases to Azure SQL databases"
+ },
+ "MigrateSchemaSqlServerSqlDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that migrates Schema for SQL Server databases to Azure SQL databases"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "MigrateSchemaSqlServerSqlDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that migrates Schema for SQL Server databases to Azure SQL databases"
+ },
+ "MigrateSqlServerSqlDbDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "makeSourceDbReadOnly": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to set database read only before migration"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "tableMap": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Mapping of source to target tables"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ }
+ },
+ "description": "Database specific information for SQL to Azure SQL DB migration task inputs"
+ },
+ "MigrateSqlServerSqlDbSyncDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for database"
+ },
+ "migrationSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Migration settings which tune the migration behavior"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of database"
+ },
+ "schemaName": {
+ "type": "string",
+ "description": "Schema name to be migrated"
+ },
+ "sourceSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Source settings to tune source endpoint migration behavior"
+ },
+ "tableMap": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Mapping of source to target tables"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Target database name"
+ },
+ "targetSetting": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target settings to tune target endpoint migration behavior"
+ }
+ },
+ "description": "Database specific information for SQL to Azure SQL DB sync migration task inputs"
+ },
+ "MigrateSqlServerSqlDbSyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "validationOptions": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrationValidationOptions"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Types of validations to run after the migration"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations"
+ },
+ "MigrateSqlServerSqlDbSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.AzureSqlDb.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations"
+ },
+ "MigrateSqlServerSqlDbTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "validationOptions": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrationValidationOptions"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Types of validations to run after the migration"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "MigrateSqlServerSqlDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.SqlDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database"
+ },
+ "MigrateSqlServerSqlMIDatabaseInput": {
+ "type": "object",
+ "properties": {
+ "backupFilePaths": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of backup files to be used in case of existing backups."
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "restoreDatabaseName": {
+ "type": "string",
+ "description": "Name of the database at destination"
+ }
+ },
+ "required": [
+ "name",
+ "restoreDatabaseName"
+ ],
+ "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs"
+ },
+ "MigrateSqlServerSqlMISyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "azureApp": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AzureActiveDirectoryApp"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Azure Active Directory Application"
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "storageResourceId": {
+ "type": "string",
+ "description": "Fully qualified resourceId of storage"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MiSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties required to create a connection to Azure SQL database Managed instance"
+ }
+ },
+ "required": [
+ "azureApp",
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "storageResourceId",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario."
+ },
+ "MigrateSqlServerSqlMISyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario"
+ },
+ "MigrateSqlServerSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "aadDomainName": {
+ "type": "string",
+ "description": "Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected"
+ },
+ "backupBlobShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/BlobShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Blob container storage information."
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "backupMode": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "CreateBackup",
+ "ExistingBackup"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases."
+ },
+ "selectedAgentJobs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Agent Jobs to migrate."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "selectedLogins": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Logins to migrate."
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "backupBlobShare",
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance."
+ },
+ "MigrateSqlServerSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.SqlServer.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance"
+ },
+ "MigrateSsisTaskInput": {
+ "type": "object",
+ "properties": {
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "ssisMigrationInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SsisMigrationInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "SSIS migration info with SSIS store type, overwrite policy."
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "ssisMigrationInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance."
+ },
+ "MigrateSsisTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateSsisTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Migrate.Ssis"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that migrates SSIS packages from SQL Server databases to Azure SQL Database Managed Instance."
+ },
+ "MigrationValidationOptions": {
+ "type": "object",
+ "properties": {
+ "enableDataIntegrityValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ."
+ },
+ "enableQueryAnalysisValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries."
+ },
+ "enableSchemaValidation": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Allows to compare the schema information between source and target."
+ }
+ },
+ "description": "Types of validations to run after the migration"
+ },
+ "MiSqlConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "managedInstanceResourceId": {
+ "type": "string",
+ "description": "Resource id for Azure SQL database Managed instance"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "MiSqlConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "managedInstanceResourceId",
+ "type"
+ ],
+ "description": "Properties required to create a connection to Azure SQL database Managed instance"
+ },
+ "MongoDbCollectionSettings": {
+ "type": "object",
+ "properties": {
+ "canDelete": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether the migrator is allowed to drop the target collection in the course of performing a migration. The default is true."
+ },
+ "shardKey": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MongoDbShardKeySetting"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes a MongoDB shard key"
+ },
+ "targetRUs": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The RUs that should be configured on a CosmosDB target, or null to use the default. This has no effect on non-CosmosDB targets."
+ }
+ },
+ "description": "Describes how an individual MongoDB collection should be migrated"
+ },
+ "MongoDbConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "type": "string",
+ "description": "A MongoDB connection string or blob container URL. The user name and password can be specified here or in the userName and password properties"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "MongoDbConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "connectionString",
+ "type"
+ ],
+ "description": "Describes a connection to a MongoDB data source"
+ },
+ "MongoDbDatabaseSettings": {
+ "type": "object",
+ "properties": {
+ "collections": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/MongoDbCollectionSettings"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The collections on the source database to migrate to the target. The keys are the unqualified names of the collections."
+ },
+ "targetRUs": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The RUs that should be configured on a CosmosDB target, or null to use the default, or 0 if throughput should not be provisioned for the database. This has no effect on non-CosmosDB targets."
+ }
+ },
+ "required": [
+ "collections"
+ ],
+ "description": "Describes how an individual MongoDB database should be migrated"
+ },
+ "MongoDbMigrationSettings": {
+ "type": "object",
+ "properties": {
+ "boostRUs": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default boost (which is generally the maximum), or null to not boost the RUs. This setting has no effect on non-CosmosDB targets."
+ },
+ "databases": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/MongoDbDatabaseSettings"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The databases on the source cluster to migrate to the target. The keys are the names of the databases."
+ },
+ "replication": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "OneTime",
+ "Continuous"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes how changes will be replicated from the source to the target. The default is OneTime."
+ },
+ "source": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MongoDbConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes a connection to a MongoDB data source"
+ },
+ "target": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MongoDbConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes a connection to a MongoDB data source"
+ },
+ "throttling": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MongoDbThrottlingSettings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies resource limits for the migration"
+ }
+ },
+ "required": [
+ "databases",
+ "source",
+ "target"
+ ],
+ "description": "Describes how a MongoDB data migration should be performed"
+ },
+ "MongoDbShardKeyField": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the field"
+ },
+ "order": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Forward",
+ "Reverse",
+ "Hashed"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The field ordering."
+ }
+ },
+ "required": [
+ "name",
+ "order"
+ ],
+ "description": "Describes a field reference within a MongoDB shard key"
+ },
+ "MongoDbShardKeySetting": {
+ "type": "object",
+ "properties": {
+ "fields": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoDbShardKeyField"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The fields within the shard key"
+ },
+ "isUnique": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether the shard key is unique"
+ }
+ },
+ "required": [
+ "fields",
+ "isUnique"
+ ],
+ "description": "Describes a MongoDB shard key"
+ },
+ "MongoDbThrottlingSettings": {
+ "type": "object",
+ "properties": {
+ "maxParallelism": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The maximum number of work items (e.g. collection copies) that will be processed in parallel"
+ },
+ "minFreeCpu": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The percentage of CPU time that the migrator will try to avoid using, from 0 to 100"
+ },
+ "minFreeMemoryMb": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of megabytes of RAM that the migrator will try to avoid using"
+ }
+ },
+ "description": "Specifies resource limits for the migration"
+ },
+ "MySqlConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "port": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Port for Server"
+ },
+ "serverName": {
+ "type": "string",
+ "description": "Name of the server"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "MySqlConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "port",
+ "serverName",
+ "type"
+ ],
+ "description": "Information for connecting to MySQL server"
+ },
+ "OracleConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "dataSource": {
+ "type": "string",
+ "description": "EZConnect or TNSName connection string."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "OracleConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "dataSource",
+ "type"
+ ],
+ "description": "Information for connecting to Oracle server"
+ },
+ "PostgreSqlConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "encryptConnection": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to encrypt the connection"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "port": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Port for Server"
+ },
+ "serverName": {
+ "type": "string",
+ "description": "Name of the server"
+ },
+ "trustServerCertificate": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to trust the server certificate"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "PostgreSqlConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "port",
+ "serverName",
+ "type"
+ ],
+ "description": "Information for connecting to PostgreSQL server"
+ },
+ "ProjectFileProperties": {
+ "type": "object",
+ "properties": {
+ "extension": {
+ "type": "string",
+ "description": "Optional File extension. If submitted it should not have a leading period and must match the extension from filePath."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Relative path of this file resource. This property can be set when creating or updating the file resource."
+ },
+ "mediaType": {
+ "type": "string",
+ "description": "File content type. This property can be modified to reflect the file content type."
+ }
+ },
+ "description": "Base class for file properties."
+ },
+ "ProjectProperties": {
+ "type": "object",
+ "properties": {
+ "databasesInfo": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseInfo"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of DatabaseInfo"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the connection properties of a server"
+ },
+ "sourcePlatform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SQL",
+ "MySQL",
+ "PostgreSql",
+ "MongoDb",
+ "Unknown"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Source platform for the project."
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the connection properties of a server"
+ },
+ "targetPlatform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SQLDB",
+ "SQLMI",
+ "AzureDbForMySql",
+ "AzureDbForPostgreSql",
+ "MongoDb",
+ "Unknown"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Target platform for the project."
+ }
+ },
+ "required": [
+ "sourcePlatform",
+ "targetPlatform"
+ ],
+ "description": "Project-specific properties"
+ },
+ "ProjectTaskProperties": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectToSourceMySqlTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/CheckOCIDriverTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/UploadOCIDriverTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/InstallOCIDriverTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToMongoDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToSourceSqlServerSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToSourceOracleSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/GetUserTablesSqlTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/GetUserTablesSqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/GetUserTablesOracleTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/GetUserTablesPostgreSqlTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateMongoDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateOracleAzureDbForPostgreSqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlDbSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ValidateMongoDbTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/ValidateOracleAzureDbForPostgreSqlSyncTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/GetTdeCertificatesSqlTaskProperties"
+ },
+ {
+ "$ref": "#/definitions/MigrateSsisTaskProperties"
+ }
+ ],
+ "properties": {
+ "clientData": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Key value pairs of client data to attach meta data information to task"
+ }
+ },
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "SchemaMigrationSetting": {
+ "type": "object",
+ "properties": {
+ "fileId": {
+ "type": "string",
+ "description": "Resource Identifier of a file resource containing the uploaded schema file"
+ },
+ "schemaOption": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "ExtractFromSource",
+ "UseStorageFile"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Option on how to migrate the schema."
+ }
+ },
+ "description": "Settings for migrating schema from source to target"
+ },
+ "SelectedCertificateInput": {
+ "type": "object",
+ "properties": {
+ "certificateName": {
+ "type": "string",
+ "description": "Name of certificate to be exported."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password to use for encrypting the exported certificate."
+ }
+ },
+ "required": [
+ "certificateName",
+ "password"
+ ],
+ "description": "Info for certificate to be exported for TDE enabled databases."
+ },
+ "ServiceSku": {
+ "type": "object",
+ "properties": {
+ "capacity": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The capacity of the SKU, if it supports scaling"
+ },
+ "family": {
+ "type": "string",
+ "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines"
+ },
+ "name": {
+ "type": "string",
+ "description": "The unique name of the SKU, such as 'P3'"
+ },
+ "size": {
+ "type": "string",
+ "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines"
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the SKU, such as 'Basic', 'General Purpose', or 'Business Critical'"
+ }
+ },
+ "description": "An Azure SKU instance"
+ },
+ "services_projects_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-15-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the project"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Project-specific properties"
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "projects"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects"
+ },
+ "services_projects_files_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-15-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the File"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectFileProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for file properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "files"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects/files"
+ },
+ "services_projects_tasks_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-15-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "tasks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/projects/tasks"
+ },
+ "services_serviceTasks_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-15-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "HTTP strong entity tag value. This is ignored if submitted."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Task"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "serviceTasks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.DataMigration/services/serviceTasks"
+ },
+ "SqlConnectionInfo": {
+ "type": "object",
+ "properties": {
+ "additionalSettings": {
+ "type": "string",
+ "description": "Additional connection settings"
+ },
+ "authentication": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "WindowsAuthentication",
+ "SqlAuthentication",
+ "ActiveDirectoryIntegrated",
+ "ActiveDirectoryPassword"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Authentication type to use for connection."
+ },
+ "dataSource": {
+ "type": "string",
+ "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber"
+ },
+ "encryptConnection": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to encrypt the connection"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential."
+ },
+ "platform": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SqlOnPrem"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Server platform type for connection."
+ },
+ "trustServerCertificate": {
+ "oneOf": [
+ {
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to trust the server certificate"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "SqlConnectionInfo"
+ ]
+ },
+ "userName": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "dataSource",
+ "type"
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "SsisMigrationInfo": {
+ "type": "object",
+ "properties": {
+ "environmentOverwriteOption": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Ignore",
+ "Overwrite"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The overwrite option for the SSIS environment migration."
+ },
+ "projectOverwriteOption": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Ignore",
+ "Overwrite"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The overwrite option for the SSIS project migration."
+ },
+ "ssisStoreType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "SsisCatalog"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The SSIS store type of source, only SSIS catalog is supported now in DMS."
+ }
+ },
+ "description": "SSIS migration info with SSIS store type, overwrite policy."
+ },
+ "UploadOCIDriverTaskInput": {
+ "type": "object",
+ "properties": {
+ "driverShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ }
+ },
+ "description": "Input for the service task to upload an OCI driver."
+ },
+ "UploadOCIDriverTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/UploadOCIDriverTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the service task to upload an OCI driver."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Service.Upload.OCI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that uploads an OCI driver."
+ },
+ "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ValidateSyncMigrationInputSqlServerTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that validates migration input for SQL sync migrations"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ValidateMigrationInput.SqlServer.SqlDb.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that validates migration input for SQL to Azure SQL DB sync migrations"
+ },
+ "ValidateMigrationInputSqlServerSqlMISyncTaskInput": {
+ "type": "object",
+ "properties": {
+ "azureApp": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AzureActiveDirectoryApp"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Azure Active Directory Application"
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "storageResourceId": {
+ "type": "string",
+ "description": "Fully qualified resourceId of storage"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MiSqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties required to create a connection to Azure SQL database Managed instance"
+ }
+ },
+ "required": [
+ "azureApp",
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "storageResourceId",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario."
+ },
+ "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario."
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario"
+ },
+ "ValidateMigrationInputSqlServerSqlMITaskInput": {
+ "type": "object",
+ "properties": {
+ "backupBlobShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/BlobShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Blob container storage information."
+ },
+ "backupFileShare": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/FileShare"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "File share information with Path, Username, and Password."
+ },
+ "backupMode": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "CreateBackup",
+ "ExistingBackup"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Backup Mode to specify whether to use existing backup or create new backup."
+ },
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "selectedLogins": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Logins to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "backupBlobShare",
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance"
+ },
+ "ValidateMigrationInputSqlServerSqlMITaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "ValidateMigrationInput.SqlServer.AzureSqlDbMI"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance"
+ },
+ "ValidateMongoDbTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MongoDbMigrationSettings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes how a MongoDB data migration should be performed"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Validate.MongoDb"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates a migration between MongoDB data sources"
+ },
+ "ValidateOracleAzureDbForPostgreSqlSyncTaskProperties": {
+ "type": "object",
+ "properties": {
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations"
+ },
+ "taskType": {
+ "type": "string",
+ "enum": [
+ "Validate.Oracle.AzureDbPostgreSql.Sync"
+ ]
+ }
+ },
+ "required": [
+ "taskType"
+ ],
+ "description": "Properties for the task that validates a migration for Oracle to Azure Database for PostgreSQL for online migrations"
+ },
+ "ValidateSyncMigrationInputSqlServerTaskInput": {
+ "type": "object",
+ "properties": {
+ "selectedDatabases": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Databases to migrate"
+ },
+ "sourceConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ },
+ "targetConnectionInfo": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SqlConnectionInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Information for connecting to SQL database server"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ],
+ "description": "Input for task that validates migration input for SQL sync migrations"
+ }
+ }
+}
\ No newline at end of file
diff --git a/schemas/2019-01-01-preview/Microsoft.Security.json b/schemas/2019-01-01-preview/Microsoft.Security.json
new file mode 100644
index 0000000000..dd7c5f7429
--- /dev/null
+++ b/schemas/2019-01-01-preview/Microsoft.Security.json
@@ -0,0 +1,898 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2019-01-01-preview/Microsoft.Security.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.Security",
+ "description": "Microsoft Security Resource Types",
+ "resourceDefinitions": {
+ "automations": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-01-01-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity tag is used for comparing two or more entities from the same requested resource."
+ },
+ "kind": {
+ "type": "string",
+ "description": "Kind of the resource"
+ },
+ "location": {
+ "type": "string",
+ "description": "Location where the resource is stored"
+ },
+ "name": {
+ "type": "string",
+ "description": "The security automation name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AutomationProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A set of properties that defines the behavior of the automation configuration. To learn more about the supported security events data models schemas - please visit https://aka.ms/ASCAutomationSchemas."
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A list of key value pairs that describe the resource."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Security/automations"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/automations"
+ }
+ },
+ "subscription_resourceDefinitions": {
+ "alertsSuppressionRules": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-01-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The unique name of the suppression alert rule"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AlertsSuppressionRuleProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "describes AlertsSuppressionRule properties"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Security/alertsSuppressionRules"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/alertsSuppressionRules"
+ },
+ "assessmentMetadata": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-01-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Assessment Key - Unique key for the assessment type"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SecurityAssessmentMetadataProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes properties of an assessment metadata."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Security/assessmentMetadata"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/assessmentMetadata"
+ }
+ },
+ "unknown_resourceDefinitions": {
+ "assessments": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-01-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Assessment Key - Unique key for the assessment type"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SecurityAssessmentProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes properties of an assessment."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Security/assessments"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/assessments"
+ }
+ },
+ "definitions": {
+ "AlertsSuppressionRuleProperties": {
+ "type": "object",
+ "properties": {
+ "alertType": {
+ "type": "string",
+ "description": "Type of the alert to automatically suppress. For all alert types, use '*'"
+ },
+ "comment": {
+ "type": "string",
+ "description": "Any comment regarding the rule"
+ },
+ "expirationDateUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Expiration date of the rule, if value is not provided or provided as null this field will default to the maximum allowed expiration date."
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason for dismissing the alert"
+ },
+ "state": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled",
+ "Expired"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Possible states of the rule."
+ },
+ "suppressionAlertsScope": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SuppressionAlertsScope"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ }
+ },
+ "required": [
+ "alertType",
+ "reason",
+ "state"
+ ],
+ "description": "describes AlertsSuppressionRule properties"
+ },
+ "AssessmentLinks": {
+ "type": "object",
+ "properties": {},
+ "description": "Links relevant to the assessment"
+ },
+ "AssessmentStatus": {
+ "type": "object",
+ "properties": {
+ "cause": {
+ "type": "string",
+ "description": "Programmatic code for the cause of the assessment status"
+ },
+ "code": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Healthy",
+ "Unhealthy",
+ "NotApplicable"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Programmatic code for the status of the assessment."
+ },
+ "description": {
+ "type": "string",
+ "description": "Human readable description of the assessment status"
+ }
+ },
+ "required": [
+ "code"
+ ],
+ "description": "The result of the assessment"
+ },
+ "AutomationAction": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AutomationActionLogicApp"
+ },
+ {
+ "$ref": "#/definitions/AutomationActionEventHub"
+ },
+ {
+ "$ref": "#/definitions/AutomationActionWorkspace"
+ }
+ ],
+ "properties": {},
+ "description": "The action that should be triggered."
+ },
+ "AutomationActionEventHub": {
+ "type": "object",
+ "properties": {
+ "actionType": {
+ "type": "string",
+ "enum": [
+ "EventHub"
+ ]
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "The target Event Hub connection string (it will not be included in any response)."
+ },
+ "eventHubResourceId": {
+ "type": "string",
+ "description": "The target Event Hub Azure Resource ID."
+ }
+ },
+ "required": [
+ "actionType"
+ ],
+ "description": "The target Event Hub to which event data will be exported. To learn more about Security Center continuous export capabilities, visit https://aka.ms/ASCExportLearnMore"
+ },
+ "AutomationActionLogicApp": {
+ "type": "object",
+ "properties": {
+ "actionType": {
+ "type": "string",
+ "enum": [
+ "LogicApp"
+ ]
+ },
+ "logicAppResourceId": {
+ "type": "string",
+ "description": "The triggered Logic App Azure Resource ID. This can also reside on other subscriptions, given that you have permissions to trigger the Logic App"
+ },
+ "uri": {
+ "type": "string",
+ "format": "uri",
+ "description": "The Logic App trigger URI endpoint (it will not be included in any response)."
+ }
+ },
+ "required": [
+ "actionType"
+ ],
+ "description": "The logic app action that should be triggered. To learn more about Security Center's Workflow Automation capabilities, visit https://aka.ms/ASCWorkflowAutomationLearnMore"
+ },
+ "AutomationActionWorkspace": {
+ "type": "object",
+ "properties": {
+ "actionType": {
+ "type": "string",
+ "enum": [
+ "Workspace"
+ ]
+ },
+ "workspaceResourceId": {
+ "type": "string",
+ "description": "The fully qualified Log Analytics Workspace Azure Resource ID."
+ }
+ },
+ "required": [
+ "actionType"
+ ],
+ "description": "The Log Analytics Workspace to which event data will be exported. Security alerts data will reside in the 'SecurityAlert' table and the assessments data will reside in the 'SecurityRecommendation' table (under the 'Security'/'SecurityCenterFree' solutions). Note that in order to view the data in the workspace, the Security Center Log Analytics free/standard solution needs to be enabled on that workspace. To learn more about Security Center continuous export capabilities, visit https://aka.ms/ASCExportLearnMore"
+ },
+ "AutomationProperties": {
+ "type": "object",
+ "properties": {
+ "actions": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutomationAction"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A collection of the actions which are triggered if all the configured rules evaluations, within at least one rule set, are true."
+ },
+ "description": {
+ "type": "string",
+ "description": "The security automation description."
+ },
+ "isEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Indicates whether the security automation is enabled."
+ },
+ "scopes": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutomationScope"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A collection of scopes on which the security automations logic is applied. Supported scopes are the subscription itself or a resource group under that subscription. The automation will only apply on defined scopes."
+ },
+ "sources": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutomationSource"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A collection of the source event types which evaluate the security automation set of rules."
+ }
+ },
+ "description": "A set of properties that defines the behavior of the automation configuration. To learn more about the supported security events data models schemas - please visit https://aka.ms/ASCAutomationSchemas."
+ },
+ "AutomationRuleSet": {
+ "type": "object",
+ "properties": {
+ "rules": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutomationTriggeringRule"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ }
+ },
+ "description": "A rule set which evaluates all its rules upon an event interception. Only when all the included rules in the rule set will be evaluated as 'true', will the event trigger the defined actions."
+ },
+ "AutomationScope": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The resources scope description."
+ },
+ "scopePath": {
+ "type": "string",
+ "description": "The resources scope path. Can be the subscription on which the automation is defined on or a resource group under that subscription (fully qualified Azure resource IDs)."
+ }
+ },
+ "description": "A single automation scope."
+ },
+ "AutomationSource": {
+ "type": "object",
+ "properties": {
+ "eventSource": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Assessments",
+ "SubAssessments",
+ "Alerts",
+ "SecureScores",
+ "SecureScoreControls"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A valid event source type."
+ },
+ "ruleSets": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutomationRuleSet"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A set of rules which evaluate upon event interception. A logical disjunction is applied between defined rule sets (logical 'or')."
+ }
+ },
+ "description": "The source event types which evaluate the security automation set of rules. For example - security alerts and security assessments. To learn more about the supported security events data models schemas - please visit https://aka.ms/ASCAutomationSchemas."
+ },
+ "AutomationTriggeringRule": {
+ "type": "object",
+ "properties": {
+ "expectedValue": {
+ "type": "string",
+ "description": "The expected value."
+ },
+ "operator": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Equals",
+ "GreaterThan",
+ "GreaterThanOrEqualTo",
+ "LesserThan",
+ "LesserThanOrEqualTo",
+ "NotEquals",
+ "Contains",
+ "StartsWith",
+ "EndsWith"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A valid comparer operator to use. A case-insensitive comparison will be applied for String PropertyType."
+ },
+ "propertyJPath": {
+ "type": "string",
+ "description": "The JPath of the entity model property that should be checked."
+ },
+ "propertyType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "String",
+ "Integer",
+ "Number",
+ "Boolean"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The data type of the compared operands (string, integer, floating point number or a boolean [true/false]]."
+ }
+ },
+ "description": "A rule which is evaluated upon event interception. The rule is configured by comparing a specific value from the event model to an expected value. This comparison is done by using one of the supported operators set."
+ },
+ "AzureResourceDetails": {
+ "type": "object",
+ "properties": {
+ "source": {
+ "type": "string",
+ "enum": [
+ "Azure"
+ ]
+ }
+ },
+ "required": [
+ "source"
+ ],
+ "description": "Details of the Azure resource that was assessed"
+ },
+ "OnPremiseResourceDetails": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/OnPremiseSqlResourceDetails"
+ }
+ ],
+ "properties": {
+ "machineName": {
+ "type": "string",
+ "description": "The name of the machine"
+ },
+ "source": {
+ "type": "string",
+ "enum": [
+ "OnPremise"
+ ]
+ },
+ "sourceComputerId": {
+ "type": "string",
+ "description": "The oms agent Id installed on the machine"
+ },
+ "vmuuid": {
+ "type": "string",
+ "description": "The unique Id of the machine"
+ },
+ "workspaceId": {
+ "type": "string",
+ "description": "Azure resource Id of the workspace the machine is attached to"
+ }
+ },
+ "required": [
+ "machineName",
+ "source",
+ "sourceComputerId",
+ "vmuuid",
+ "workspaceId"
+ ],
+ "description": "Details of the On Premise resource that was assessed"
+ },
+ "OnPremiseSqlResourceDetails": {
+ "type": "object",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "The Sql database name installed on the machine"
+ },
+ "serverName": {
+ "type": "string",
+ "description": "The Sql server name installed on the machine"
+ },
+ "source": {
+ "type": "string",
+ "enum": [
+ "OnPremiseSql"
+ ]
+ }
+ },
+ "required": [
+ "databaseName",
+ "serverName",
+ "source"
+ ],
+ "description": "Details of the On Premise Sql resource that was assessed"
+ },
+ "ResourceDetails": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AzureResourceDetails"
+ },
+ {
+ "$ref": "#/definitions/OnPremiseResourceDetails"
+ }
+ ],
+ "properties": {},
+ "description": "Details of the resource that was assessed"
+ },
+ "ScopeElement": {
+ "type": "object",
+ "properties": {
+ "additionalProperties": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {}
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Unmatched properties from the message are deserialized this collection"
+ },
+ "field": {
+ "type": "string",
+ "description": "The alert entity type to suppress by."
+ }
+ },
+ "description": "A more specific scope used to identify the alerts to suppress."
+ },
+ "SecurityAssessmentMetadataProperties": {
+ "type": "object",
+ "properties": {
+ "assessmentType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "BuiltIn",
+ "CustomPolicy",
+ "CustomerManaged"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "BuiltIn if the assessment based on built-in Azure Policy definition, Custom if the assessment based on custom Azure Policy definition."
+ },
+ "category": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Compute",
+ "Networking",
+ "Data",
+ "IdentityAndAccess",
+ "IoT"
+ ]
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "description": {
+ "type": "string",
+ "description": "Human readable description of the assessment"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "User friendly display name of the assessment"
+ },
+ "implementationEffort": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Low",
+ "Moderate",
+ "High"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The implementation effort required to remediate this assessment."
+ },
+ "preview": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "True if this assessment is in preview release status"
+ },
+ "remediationDescription": {
+ "type": "string",
+ "description": "Human readable description of what you should do to mitigate this security issue"
+ },
+ "severity": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Low",
+ "Medium",
+ "High"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The severity level of the assessment."
+ },
+ "threats": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "accountBreach",
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider",
+ "elevationOfPrivilege",
+ "threatResistance",
+ "missingCoverage",
+ "denialOfService"
+ ]
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "userImpact": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Low",
+ "Moderate",
+ "High"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The user impact of the assessment."
+ }
+ },
+ "required": [
+ "assessmentType",
+ "displayName",
+ "severity"
+ ],
+ "description": "Describes properties of an assessment metadata."
+ },
+ "SecurityAssessmentProperties": {
+ "type": "object",
+ "properties": {
+ "additionalData": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Additional data regarding the assessment"
+ },
+ "links": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AssessmentLinks"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Links relevant to the assessment"
+ },
+ "resourceDetails": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ResourceDetails"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Details of the resource that was assessed"
+ },
+ "status": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AssessmentStatus"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The result of the assessment"
+ }
+ },
+ "required": [
+ "resourceDetails",
+ "status"
+ ],
+ "description": "Describes properties of an assessment."
+ },
+ "SuppressionAlertsScope": {
+ "type": "object",
+ "properties": {
+ "allOf": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScopeElement"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "All the conditions inside need to be true in order to suppress the alert"
+ }
+ },
+ "required": [
+ "allOf"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/schemas/2019-01-01/Microsoft.Security.json b/schemas/2019-01-01/Microsoft.Security.json
new file mode 100644
index 0000000000..2b7498a9e3
--- /dev/null
+++ b/schemas/2019-01-01/Microsoft.Security.json
@@ -0,0 +1,158 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2019-01-01/Microsoft.Security.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.Security",
+ "description": "Microsoft Security Resource Types",
+ "resourceDefinitions": {},
+ "subscription_resourceDefinitions": {
+ "settings": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DataExportSettings"
+ }
+ ],
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-01-01"
+ ]
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "MCAS",
+ "WDATP"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Name of setting: (MCAS/WDATP)."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Security/settings"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "type"
+ ],
+ "description": "Microsoft.Security/settings"
+ }
+ },
+ "unknown_resourceDefinitions": {
+ "advancedThreatProtectionSettings": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-01-01"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Advanced Threat Protection setting name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AdvancedThreatProtectionProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Advanced Threat Protection settings."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Security/advancedThreatProtectionSettings"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/advancedThreatProtectionSettings"
+ }
+ },
+ "definitions": {
+ "AdvancedThreatProtectionProperties": {
+ "type": "object",
+ "properties": {
+ "isEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Indicates whether Advanced Threat Protection is enabled."
+ }
+ },
+ "description": "The Advanced Threat Protection settings."
+ },
+ "DataExportSettingProperties": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Is the data export setting is enabled"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "The data export setting properties"
+ },
+ "DataExportSettings": {
+ "type": "object",
+ "properties": {
+ "kind": {
+ "type": "string",
+ "enum": [
+ "DataExportSettings"
+ ]
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DataExportSettingProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The data export setting properties"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "description": "Represents a data export setting"
+ }
+ }
+}
\ No newline at end of file
diff --git a/schemas/2019-03-01-hybrid/deploymentTemplate.json b/schemas/2019-03-01-hybrid/deploymentTemplate.json
index 79a9167572..d979db993e 100644
--- a/schemas/2019-03-01-hybrid/deploymentTemplate.json
+++ b/schemas/2019-03-01-hybrid/deploymentTemplate.json
@@ -2973,43 +2973,43 @@
"$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters_extensions"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2015-06-01-preview/Microsoft.Security.json#/resourceDefinitions/jitNetworkAccessPolicies"
+ "$ref": "https://schema.management.azure.com/schemas/2015-06-01-preview/Microsoft.Security.json#/resourceDefinitions/locations_jitNetworkAccessPolicies"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/pricings"
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/iotSecuritySolutions"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/securityContacts"
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/pricings"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/workspaceSettings"
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/advancedThreatProtectionSettings"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/autoProvisioningSettings"
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/deviceSecurityGroups"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/advancedThreatProtectionSettings"
+ "$ref": "https://schema.management.azure.com/schemas/2019-01-01/Microsoft.Security.json#/unknown_resourceDefinitions/advancedThreatProtectionSettings"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/informationProtectionPolicies"
+ "$ref": "https://schema.management.azure.com/schemas/2019-01-01-preview/Microsoft.Security.json#/resourceDefinitions/automations"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/pricings"
+ "$ref": "https://schema.management.azure.com/schemas/2019-01-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/assessments"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/securityContacts"
+ "$ref": "https://schema.management.azure.com/schemas/2019-08-01/Microsoft.Security.json#/resourceDefinitions/iotSecuritySolutions"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/workspaceSettings"
+ "$ref": "https://schema.management.azure.com/schemas/2019-08-01/Microsoft.Security.json#/unknown_resourceDefinitions/deviceSecurityGroups"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/autoProvisioningSettings"
+ "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Security.json#/resourceDefinitions/locations_jitNetworkAccessPolicies"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/advancedThreatProtectionSettings"
+ "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Security.json#/unknown_resourceDefinitions/assessments"
},
{
- "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/informationProtectionPolicies"
+ "$ref": "https://schema.management.azure.com/schemas/2020-08-06-preview/Microsoft.Security.json#/unknown_resourceDefinitions/iotSensors"
},
{
"$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Insights.json#/resourceDefinitions/actionGroups"
diff --git a/schemas/2019-04-01/deploymentTemplate.json b/schemas/2019-04-01/deploymentTemplate.json
index 3e7359c0a8..b76f0df4d4 100644
--- a/schemas/2019-04-01/deploymentTemplate.json
+++ b/schemas/2019-04-01/deploymentTemplate.json
@@ -150,6 +150,13 @@
{ "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" },
{ "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" },
{ "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" },
{ "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/alertrules" },
{ "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/components" },
{ "$ref": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.Insights.json#/resourceDefinitions/dataCollectionRules" },
@@ -1325,19 +1332,6 @@
{ "$ref": "https://schema.management.azure.com/schemas/2015-11-01-preview/Microsoft.OperationsManagement.json#/resourceDefinitions/solutions" },
{ "$ref": "https://schema.management.azure.com/schemas/2015-08-31-preview/Microsoft.ManagedIdentity.json#/resourceDefinitions/userAssignedIdentities" },
{ "$ref": "https://schema.management.azure.com/schemas/2018-11-30/Microsoft.ManagedIdentity.json#/resourceDefinitions/userAssignedIdentities" },
- { "$ref": "https://schema.management.azure.com/schemas/2015-06-01-preview/Microsoft.Security.json#/resourceDefinitions/jitNetworkAccessPolicies" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/pricings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/securityContacts" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/workspaceSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/autoProvisioningSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/advancedThreatProtectionSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/resourceDefinitions/informationProtectionPolicies" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/pricings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/securityContacts" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/workspaceSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/autoProvisioningSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/advancedThreatProtectionSettings" },
- { "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Security.json#/resourceDefinitions/informationProtectionPolicies" },
{ "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Insights.json#/resourceDefinitions/actionGroups" },
{ "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.ManagedServices.json#/resourceDefinitions/registrationAssignments" },
{ "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.ManagedServices.json#/resourceDefinitions/registrationDefinitions" },
@@ -1456,7 +1450,9 @@
{ "$ref": "https://schema.management.azure.com/schemas/2017-04-19/Microsoft.Advisor.json#/resourceDefinitions/recommendations_suppressions" },
{ "$ref": "https://schema.management.azure.com/schemas/2017-04-19/Microsoft.Advisor.json#/resourceDefinitions/configurations" },
{ "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Advisor.json#/resourceDefinitions/recommendations_suppressions" },
- { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Advisor.json#/resourceDefinitions/configurations" }
+ { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Advisor.json#/resourceDefinitions/configurations" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-10-01-preview/Microsoft.Compute.json#/resourceDefinitions/cloudServices" },
+ { "$ref": "https://schema.management.azure.com/schemas/2020-10-01-preview/Microsoft.Compute.json#/resourceDefinitions/cloudServices_updateDomains" }
]
}
]
diff --git a/schemas/2019-05-01-preview/Microsoft.AppPlatform.json b/schemas/2019-05-01-preview/Microsoft.AppPlatform.json
index 7d55877ade..a736963e1a 100644
--- a/schemas/2019-05-01-preview/Microsoft.AppPlatform.json
+++ b/schemas/2019-05-01-preview/Microsoft.AppPlatform.json
@@ -219,6 +219,17 @@
],
"description": "Deployment resource properties payload"
},
+ "sku": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Sku"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Sku of Azure Spring Cloud"
+ },
"type": {
"type": "string",
"enum": [
@@ -1021,6 +1032,17 @@
],
"description": "Deployment resource properties payload"
},
+ "sku": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Sku"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Sku of Azure Spring Cloud"
+ },
"type": {
"type": "string",
"enum": [
diff --git a/schemas/2019-05-01/Microsoft.NetApp.json b/schemas/2019-05-01/Microsoft.NetApp.json
index c6c0f8943d..54a5e77e9a 100644
--- a/schemas/2019-05-01/Microsoft.NetApp.json
+++ b/schemas/2019-05-01/Microsoft.NetApp.json
@@ -743,4 +743,4 @@
"description": "Set of export policy rules"
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-06-01-preview/Microsoft.Sql.json b/schemas/2019-06-01-preview/Microsoft.Sql.json
index b0429f3708..16f0b0e789 100644
--- a/schemas/2019-06-01-preview/Microsoft.Sql.json
+++ b/schemas/2019-06-01-preview/Microsoft.Sql.json
@@ -786,7 +786,9 @@
{
"type": "string",
"enum": [
- "SystemAssigned"
+ "None",
+ "SystemAssigned",
+ "UserAssigned"
]
},
{
diff --git a/schemas/2019-06-01/Microsoft.NetApp.json b/schemas/2019-06-01/Microsoft.NetApp.json
index 9c737f185f..a5fe3a835a 100644
--- a/schemas/2019-06-01/Microsoft.NetApp.json
+++ b/schemas/2019-06-01/Microsoft.NetApp.json
@@ -742,4 +742,4 @@
"description": "Set of export policy rules"
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-07-01/Microsoft.NetApp.json b/schemas/2019-07-01/Microsoft.NetApp.json
index f2afe849a4..436ffce945 100644
--- a/schemas/2019-07-01/Microsoft.NetApp.json
+++ b/schemas/2019-07-01/Microsoft.NetApp.json
@@ -742,4 +742,4 @@
"description": "Set of export policy rules"
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-08-01/Microsoft.NetApp.json b/schemas/2019-08-01/Microsoft.NetApp.json
index f5d3d57c5b..d727af389c 100644
--- a/schemas/2019-08-01/Microsoft.NetApp.json
+++ b/schemas/2019-08-01/Microsoft.NetApp.json
@@ -871,4 +871,4 @@
"description": "Set of export policy rules"
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-08-01/Microsoft.Security.json b/schemas/2019-08-01/Microsoft.Security.json
new file mode 100644
index 0000000000..f3e81261a8
--- /dev/null
+++ b/schemas/2019-08-01/Microsoft.Security.json
@@ -0,0 +1,860 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2019-08-01/Microsoft.Security.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.Security",
+ "description": "Microsoft Security Resource Types",
+ "resourceDefinitions": {
+ "iotSecuritySolutions": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-08-01"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the IoT Security solution."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/IoTSecuritySolutionProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Security Solution setting data"
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Security/iotSecuritySolutions"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/iotSecuritySolutions"
+ }
+ },
+ "unknown_resourceDefinitions": {
+ "deviceSecurityGroups": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-08-01"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the device security group. Note that the name of the device security group is case insensitive."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DeviceSecurityGroupProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "describes properties of a security group."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Security/deviceSecurityGroups"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Security/deviceSecurityGroups"
+ }
+ },
+ "definitions": {
+ "ActiveConnectionsNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "ActiveConnectionsNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of active connections is not in allowed range."
+ },
+ "AllowlistCustomAlertRule": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ConnectionToIpNotAllowed"
+ },
+ {
+ "$ref": "#/definitions/LocalUserNotAllowed"
+ },
+ {
+ "$ref": "#/definitions/ProcessNotAllowed"
+ }
+ ],
+ "properties": {
+ "allowlistValues": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The values to allow. The format of the values depends on the rule type."
+ },
+ "isEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Status of the custom alert."
+ }
+ },
+ "required": [
+ "allowlistValues",
+ "isEnabled"
+ ],
+ "description": "A custom alert rule that checks if a value (depends on the custom alert type) is allowed."
+ },
+ "AmqpC2DMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "AmqpC2DMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of cloud to device messages (AMQP protocol) is not in allowed range."
+ },
+ "AmqpC2DRejectedMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "AmqpC2DRejectedMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of rejected cloud to device messages (AMQP protocol) is not in allowed range."
+ },
+ "AmqpD2CMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "AmqpD2CMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of device to cloud messages (AMQP protocol) is not in allowed range."
+ },
+ "ConnectionToIpNotAllowed": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "ConnectionToIpNotAllowed"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Outbound connection to an ip that isn't allowed. Allow list consists of ipv4 or ipv6 range in CIDR notation."
+ },
+ "DenylistCustomAlertRule": {
+ "type": "object",
+ "properties": {
+ "denylistValues": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The values to deny. The format of the values depends on the rule type."
+ },
+ "isEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Status of the custom alert."
+ }
+ },
+ "required": [
+ "denylistValues",
+ "isEnabled"
+ ],
+ "description": "A custom alert rule that checks if a value (depends on the custom alert type) is denied."
+ },
+ "DeviceSecurityGroupProperties": {
+ "type": "object",
+ "properties": {
+ "allowlistRules": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AllowlistCustomAlertRule"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The allow-list custom alert rules."
+ },
+ "denylistRules": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DenylistCustomAlertRule"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The deny-list custom alert rules."
+ },
+ "thresholdRules": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ThresholdCustomAlertRule"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of custom alert threshold rules."
+ },
+ "timeWindowRules": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeWindowCustomAlertRule"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of custom alert time-window rules."
+ }
+ },
+ "description": "describes properties of a security group."
+ },
+ "DirectMethodInvokesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "DirectMethodInvokesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of direct method invokes is not in allowed range."
+ },
+ "FailedLocalLoginsNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "FailedLocalLoginsNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of failed local logins is not in allowed range."
+ },
+ "FileUploadsNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "FileUploadsNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of file uploads is not in allowed range."
+ },
+ "HttpC2DMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "HttpC2DMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of cloud to device messages (HTTP protocol) is not in allowed range."
+ },
+ "HttpC2DRejectedMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "HttpC2DRejectedMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of rejected cloud to device messages (HTTP protocol) is not in allowed range."
+ },
+ "HttpD2CMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "HttpD2CMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of device to cloud messages (HTTP protocol) is not in allowed range."
+ },
+ "IoTSecuritySolutionProperties": {
+ "type": "object",
+ "properties": {
+ "disabledDataSources": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "TwinData"
+ ]
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Disabled data sources. Disabling these data sources compromises the system."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Resource display name."
+ },
+ "export": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "RawEvents"
+ ]
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of additional options for exporting to workspace data."
+ },
+ "iotHubs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "IoT Hub resource IDs"
+ },
+ "recommendationsConfiguration": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecommendationConfigurationProperties"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of the configuration status for each recommendation type."
+ },
+ "status": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Status of the IoT Security solution."
+ },
+ "unmaskedIpLoggingStatus": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Unmasked IP address logging status."
+ },
+ "userDefinedResources": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/UserDefinedResourcesProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the IoT Security solution's user defined resources."
+ },
+ "workspace": {
+ "type": "string",
+ "description": "Workspace resource ID"
+ }
+ },
+ "required": [
+ "displayName",
+ "iotHubs"
+ ],
+ "description": "Security Solution setting data"
+ },
+ "LocalUserNotAllowed": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "LocalUserNotAllowed"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Login by a local user that isn't allowed. Allow list consists of login names to allow."
+ },
+ "MqttC2DMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "MqttC2DMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of cloud to device messages (MQTT protocol) is not in allowed range."
+ },
+ "MqttC2DRejectedMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "MqttC2DRejectedMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of rejected cloud to device messages (MQTT protocol) is not in allowed range."
+ },
+ "MqttD2CMessagesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "MqttD2CMessagesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of device to cloud messages (MQTT protocol) is not in allowed range."
+ },
+ "ProcessNotAllowed": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "ProcessNotAllowed"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Execution of a process that isn't allowed. Allow list consists of process names to allow."
+ },
+ "QueuePurgesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "QueuePurgesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of device queue purges is not in allowed range."
+ },
+ "RecommendationConfigurationProperties": {
+ "type": "object",
+ "properties": {
+ "recommendationType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "IoT_ACRAuthentication",
+ "IoT_AgentSendsUnutilizedMessages",
+ "IoT_Baseline",
+ "IoT_EdgeHubMemOptimize",
+ "IoT_EdgeLoggingOptions",
+ "IoT_InconsistentModuleSettings",
+ "IoT_InstallAgent",
+ "IoT_IPFilter_DenyAll",
+ "IoT_IPFilter_PermissiveRule",
+ "IoT_OpenPorts",
+ "IoT_PermissiveFirewallPolicy",
+ "IoT_PermissiveInputFirewallRules",
+ "IoT_PermissiveOutputFirewallRules",
+ "IoT_PrivilegedDockerOptions",
+ "IoT_SharedCredentials",
+ "IoT_VulnerableTLSCipherSuite"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The type of IoT Security recommendation."
+ },
+ "status": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Recommendation status. When the recommendation status is disabled recommendations are not generated."
+ }
+ },
+ "required": [
+ "recommendationType",
+ "status"
+ ],
+ "description": "The type of IoT Security recommendation."
+ },
+ "ThresholdCustomAlertRule": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/TimeWindowCustomAlertRule"
+ }
+ ],
+ "properties": {
+ "isEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Status of the custom alert."
+ },
+ "maxThreshold": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The maximum threshold."
+ },
+ "minThreshold": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The minimum threshold."
+ }
+ },
+ "required": [
+ "isEnabled",
+ "maxThreshold",
+ "minThreshold"
+ ],
+ "description": "A custom alert rule that checks if a value (depends on the custom alert type) is within the given range."
+ },
+ "TimeWindowCustomAlertRule": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ActiveConnectionsNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/AmqpC2DMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/MqttC2DMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/HttpC2DMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/AmqpC2DRejectedMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/MqttC2DRejectedMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/HttpC2DRejectedMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/AmqpD2CMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/MqttD2CMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/HttpD2CMessagesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/DirectMethodInvokesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/FailedLocalLoginsNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/FileUploadsNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/QueuePurgesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/TwinUpdatesNotInAllowedRange"
+ },
+ {
+ "$ref": "#/definitions/UnauthorizedOperationsNotInAllowedRange"
+ }
+ ],
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "TimeWindowCustomAlertRule"
+ ]
+ },
+ "timeWindowSize": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time window size in iso8601 format."
+ }
+ },
+ "required": [
+ "ruleType",
+ "timeWindowSize"
+ ],
+ "description": "A custom alert rule that checks if the number of activities (depends on the custom alert type) in a time window is within the given range."
+ },
+ "TwinUpdatesNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "TwinUpdatesNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of twin updates is not in allowed range."
+ },
+ "UnauthorizedOperationsNotInAllowedRange": {
+ "type": "object",
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "enum": [
+ "UnauthorizedOperationsNotInAllowedRange"
+ ]
+ }
+ },
+ "required": [
+ "ruleType"
+ ],
+ "description": "Number of unauthorized operations is not in allowed range."
+ },
+ "UserDefinedResourcesProperties": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "Azure Resource Graph query which represents the security solution's user defined resources. Required to start with \"where type != \"Microsoft.Devices/IotHubs\"\""
+ },
+ "querySubscriptions": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of Azure subscription ids on which the user defined resources query should be executed."
+ }
+ },
+ "required": [
+ "query",
+ "querySubscriptions"
+ ],
+ "description": "Properties of the IoT Security solution's user defined resources."
+ }
+ }
+}
\ No newline at end of file
diff --git a/schemas/2019-08-01/managementGroupDeploymentTemplate.json b/schemas/2019-08-01/managementGroupDeploymentTemplate.json
index a064324e7e..abf2181d21 100644
--- a/schemas/2019-08-01/managementGroupDeploymentTemplate.json
+++ b/schemas/2019-08-01/managementGroupDeploymentTemplate.json
@@ -153,6 +153,9 @@
},
{
"$ref": "https://schema.management.azure.com/schemas/2020-06-01/Microsoft.Resources.json#/unknown_resourceDefinitions/tags"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.Security.json#/unknown_resourceDefinitions/informationProtectionPolicies"
}
]
}
diff --git a/schemas/2019-10-01-preview/Microsoft.Migrate.json b/schemas/2019-10-01-preview/Microsoft.Migrate.json
new file mode 100644
index 0000000000..4a1e94fd5e
--- /dev/null
+++ b/schemas/2019-10-01-preview/Microsoft.Migrate.json
@@ -0,0 +1,939 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.Migrate",
+ "description": "Microsoft Migrate Resource Types",
+ "resourceDefinitions": {
+ "moveCollections": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-10-01-preview"
+ ]
+ },
+ "identity": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Identity"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the MSI properties of the Move Collection."
+ },
+ "location": {
+ "type": "string",
+ "description": "The geo-location where the resource lives."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Move Collection Name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MoveCollectionProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the move collection properties."
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/moveCollections_moveResources_childResource"
+ }
+ ]
+ }
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Migrate/moveCollections"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Migrate/moveCollections"
+ },
+ "moveCollections_moveResources": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-10-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Move Resource Name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MoveResourceProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the move resource properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Migrate/moveCollections/moveResources"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Migrate/moveCollections/moveResources"
+ }
+ },
+ "definitions": {
+ "AvailabilitySetResourceSettings": {
+ "type": "object",
+ "properties": {
+ "faultDomain": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "minimum": 1
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets the target fault domain."
+ },
+ "resourceType": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Compute/availabilitySets"
+ ]
+ },
+ "updateDomain": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 20
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets the target update domain."
+ }
+ },
+ "required": [
+ "resourceType"
+ ],
+ "description": "Gets or sets the availability set resource settings."
+ },
+ "Identity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "Gets or sets the principal id."
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "Gets or sets the tenant id."
+ },
+ "type": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ }
+ },
+ "description": "Defines the MSI properties of the Move Collection."
+ },
+ "LBBackendAddressPoolResourceSettings": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Gets or sets the backend address pool name."
+ }
+ },
+ "description": "Defines load balancer backend address pool properties."
+ },
+ "LBFrontendIPConfigurationResourceSettings": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Gets or sets the frontend IP configuration name."
+ },
+ "privateIpAddress": {
+ "type": "string",
+ "description": "Gets or sets the IP address of the Load Balancer.This is only specified if a specific\r\nprivate IP address shall be allocated from the subnet specified in subnetRef."
+ },
+ "privateIpAllocationMethod": {
+ "type": "string",
+ "description": "Gets or sets PrivateIP allocation method (Static/Dynamic)."
+ },
+ "subnet": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SubnetReference"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines reference to subnet."
+ },
+ "zones": {
+ "type": "string",
+ "description": "Gets or sets the csv list of zones."
+ }
+ },
+ "description": "Defines load balancer frontend IP configuration properties."
+ },
+ "LoadBalancerBackendAddressPoolReference": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Gets the name of the proxy resource on the target side."
+ },
+ "sourceArmResourceId": {
+ "type": "string",
+ "description": "Gets the ARM resource ID of the tracked resource being referenced."
+ }
+ },
+ "required": [
+ "sourceArmResourceId"
+ ],
+ "description": "Defines reference to load balancer backend address pools."
+ },
+ "LoadBalancerResourceSettings": {
+ "type": "object",
+ "properties": {
+ "backendAddressPools": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LBBackendAddressPoolResourceSettings"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets the backend address pools of the load balancer."
+ },
+ "frontendIPConfigurations": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LBFrontendIPConfigurationResourceSettings"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets the frontend IP configurations of the load balancer."
+ },
+ "resourceType": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Network/loadBalancers"
+ ]
+ },
+ "sku": {
+ "type": "string",
+ "description": "Gets or sets load balancer sku (Basic/Standard)."
+ },
+ "zones": {
+ "type": "string",
+ "description": "Gets or sets the csv list of zones common for all frontend IP configurations. Note this is given\r\n precedence only if frontend IP configurations settings are not present."
+ }
+ },
+ "required": [
+ "resourceType"
+ ],
+ "description": "Defines the load balancer resource settings."
+ },
+ "MoveCollectionProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Creating",
+ "Failed"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "sourceRegion": {
+ "type": "string",
+ "description": "Gets or sets the source region."
+ },
+ "targetRegion": {
+ "type": "string",
+ "description": "Gets or sets the target region."
+ }
+ },
+ "required": [
+ "sourceRegion",
+ "targetRegion"
+ ],
+ "description": "Defines the move collection properties."
+ },
+ "moveCollections_moveResources_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-10-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Move Resource Name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MoveResourceProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines the move resource properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "moveResources"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Migrate/moveCollections/moveResources"
+ },
+ "MoveResourceDependencyOverride": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Gets or sets the ARM ID of the dependent resource."
+ },
+ "targetId": {
+ "type": "string",
+ "description": "Gets or sets the resource ARM id of either the MoveResource or the resource ARM ID of\r\nthe dependent resource."
+ }
+ },
+ "description": "Defines the dependency override of the move resource."
+ },
+ "MoveResourceProperties": {
+ "type": "object",
+ "properties": {
+ "dependsOnOverrides": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MoveResourceDependencyOverride"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets the move resource dependencies overrides."
+ },
+ "existingTargetId": {
+ "type": "string",
+ "description": "Gets or sets the existing target ARM Id of the resource."
+ },
+ "provisioningState": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Creating",
+ "Failed"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "resourceSettings": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ResourceSettings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets the resource settings."
+ },
+ "sourceId": {
+ "type": "string",
+ "description": "Gets or sets the Source ARM Id of the resource."
+ }
+ },
+ "required": [
+ "sourceId"
+ ],
+ "description": "Defines the move resource properties."
+ },
+ "NetworkInterfaceResourceSettings": {
+ "type": "object",
+ "properties": {
+ "enableAcceleratedNetworking": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets a value indicating whether accelerated networking is enabled."
+ },
+ "ipConfigurations": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NicIpConfigurationResourceSettings"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets the IP configurations of the NIC."
+ },
+ "resourceType": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Network/networkInterfaces"
+ ]
+ }
+ },
+ "required": [
+ "resourceType"
+ ],
+ "description": "Defines the network interface resource settings."
+ },
+ "NetworkSecurityGroupResourceSettings": {
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Network/networkSecurityGroups"
+ ]
+ },
+ "securityRules": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NsgSecurityRule"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets Security rules of network security group."
+ }
+ },
+ "required": [
+ "resourceType"
+ ],
+ "description": "Defines the NSG resource settings."
+ },
+ "NicIpConfigurationResourceSettings": {
+ "type": "object",
+ "properties": {
+ "loadBalancerBackendAddressPools": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadBalancerBackendAddressPoolReference"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets the references of the load balancer backend address pools."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets or sets the IP configuration name."
+ },
+ "primary": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets a value indicating whether this IP configuration is the primary."
+ },
+ "privateIpAddress": {
+ "type": "string",
+ "description": "Gets or sets the private IP address of the network interface IP Configuration."
+ },
+ "privateIpAllocationMethod": {
+ "type": "string",
+ "description": "Gets or sets the private IP address allocation method."
+ },
+ "subnet": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SubnetReference"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Defines reference to subnet."
+ }
+ },
+ "description": "Defines NIC IP configuration properties."
+ },
+ "NsgSecurityRule": {
+ "type": "object",
+ "properties": {
+ "access": {
+ "type": "string",
+ "description": "Gets or sets whether network traffic is allowed or denied.\r\nPossible values are “Allow” and “Deny”."
+ },
+ "description": {
+ "type": "string",
+ "description": "Gets or sets a description for this rule. Restricted to 140 chars."
+ },
+ "destinationAddressPrefix": {
+ "type": "string",
+ "description": "Gets or sets destination address prefix. CIDR or source IP range.\r\n A “*” can also be used to match all source IPs. Default tags such\r\nas ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used."
+ },
+ "destinationPortRange": {
+ "type": "string",
+ "description": "Gets or sets Destination Port or Range. Integer or range between\r\n0 and 65535. A “*” can also be used to match all ports."
+ },
+ "direction": {
+ "type": "string",
+ "description": "Gets or sets the direction of the rule.InBound or Outbound. The\r\ndirection specifies if rule will be evaluated on incoming or outgoing traffic."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets or sets the Security rule name."
+ },
+ "priority": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets the priority of the rule. The value can be between\r\n100 and 4096. The priority number must be unique for each rule in the collection.\r\nThe lower the priority number, the higher the priority of the rule."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Gets or sets Network protocol this rule applies to. Can be Tcp, Udp or All(*)."
+ },
+ "sourceAddressPrefix": {
+ "type": "string",
+ "description": "Gets or sets source address prefix. CIDR or source IP range. A\r\n“*” can also be used to match all source IPs. Default tags such as ‘VirtualNetwork’,\r\n‘AzureLoadBalancer’ and ‘Internet’ can also be used. If this is an ingress\r\nrule, specifies where network traffic originates from."
+ },
+ "sourcePortRange": {
+ "type": "string",
+ "description": "Gets or sets Source Port or Range. Integer or range between 0 and\r\n65535. A “*” can also be used to match all ports."
+ }
+ },
+ "description": "Security Rule data model for Network Security Groups."
+ },
+ "PublicIPAddressResourceSettings": {
+ "type": "object",
+ "properties": {
+ "domainNameLabel": {
+ "type": "string",
+ "description": "Gets or sets the domain name label."
+ },
+ "fQDN": {
+ "type": "string",
+ "description": "Gets or sets the fully qualified domain name."
+ },
+ "publicIpAllocationMethod": {
+ "type": "string",
+ "description": "Gets or sets public IP allocation method."
+ },
+ "resourceType": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Network/publicIPAddresses"
+ ]
+ },
+ "sku": {
+ "type": "string",
+ "description": "Gets or sets public IP sku."
+ },
+ "zones": {
+ "type": "string",
+ "description": "Gets or sets public IP zones."
+ }
+ },
+ "required": [
+ "resourceType"
+ ],
+ "description": "Defines the public IP address resource settings."
+ },
+ "ResourceGroupResourceSettings": {
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "enum": [
+ "resourceGroups"
+ ]
+ }
+ },
+ "required": [
+ "resourceType"
+ ],
+ "description": "Defines the resource group resource settings."
+ },
+ "ResourceSettings": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineResourceSettings"
+ },
+ {
+ "$ref": "#/definitions/AvailabilitySetResourceSettings"
+ },
+ {
+ "$ref": "#/definitions/VirtualNetworkResourceSettings"
+ },
+ {
+ "$ref": "#/definitions/NetworkInterfaceResourceSettings"
+ },
+ {
+ "$ref": "#/definitions/NetworkSecurityGroupResourceSettings"
+ },
+ {
+ "$ref": "#/definitions/LoadBalancerResourceSettings"
+ },
+ {
+ "$ref": "#/definitions/SqlServerResourceSettings"
+ },
+ {
+ "$ref": "#/definitions/SqlElasticPoolResourceSettings"
+ },
+ {
+ "$ref": "#/definitions/SqlDatabaseResourceSettings"
+ },
+ {
+ "$ref": "#/definitions/ResourceGroupResourceSettings"
+ },
+ {
+ "$ref": "#/definitions/PublicIPAddressResourceSettings"
+ }
+ ],
+ "properties": {
+ "targetResourceName": {
+ "type": "string",
+ "description": "Gets or sets the target Resource name."
+ }
+ },
+ "required": [
+ "targetResourceName"
+ ],
+ "description": "Gets or sets the resource settings."
+ },
+ "SqlDatabaseResourceSettings": {
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Sql/servers/databases"
+ ]
+ },
+ "zoneRedundant": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Enable",
+ "Disable"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ }
+ },
+ "required": [
+ "resourceType"
+ ],
+ "description": "Defines the Sql Database resource settings."
+ },
+ "SqlElasticPoolResourceSettings": {
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Sql/servers/elasticPools"
+ ]
+ },
+ "zoneRedundant": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Enable",
+ "Disable"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ }
+ },
+ "required": [
+ "resourceType"
+ ],
+ "description": "Defines the Sql ElasticPool resource settings."
+ },
+ "SqlServerResourceSettings": {
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Sql/servers"
+ ]
+ }
+ },
+ "required": [
+ "resourceType"
+ ],
+ "description": "Defines the SQL Server resource settings."
+ },
+ "SubnetReference": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Gets the name of the proxy resource on the target side."
+ },
+ "sourceArmResourceId": {
+ "type": "string",
+ "description": "Gets the ARM resource ID of the tracked resource being referenced."
+ }
+ },
+ "required": [
+ "sourceArmResourceId"
+ ],
+ "description": "Defines reference to subnet."
+ },
+ "SubnetResourceSettings": {
+ "type": "object",
+ "properties": {
+ "addressPrefix": {
+ "type": "string",
+ "description": "Gets or sets address prefix for the subnet."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets or sets the Subnet name."
+ }
+ },
+ "description": "Defines the virtual network subnets resource settings."
+ },
+ "VirtualMachineResourceSettings": {
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Compute/virtualMachines"
+ ]
+ },
+ "targetAvailabilitySetId": {
+ "type": "string",
+ "description": "Gets or sets the target availability set id for virtual machines not in an availability set at source."
+ },
+ "targetAvailabilityZone": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "1",
+ "2",
+ "3",
+ "NA"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets the target availability zone."
+ },
+ "targetVmSize": {
+ "type": "string",
+ "description": "Gets or sets the target virtual machine size."
+ }
+ },
+ "required": [
+ "resourceType"
+ ],
+ "description": "Gets or sets the virtual machine resource settings."
+ },
+ "VirtualNetworkResourceSettings": {
+ "type": "object",
+ "properties": {
+ "addressSpace": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets the address prefixes for the virtual network."
+ },
+ "dnsServers": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets DHCPOptions that contains an array of DNS servers available to VMs\r\ndeployed in the virtual network."
+ },
+ "enableDdosProtection": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets a value indicating whether gets or sets whether the\r\nDDOS protection should be switched on."
+ },
+ "resourceType": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Network/virtualNetworks"
+ ]
+ },
+ "subnets": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubnetResourceSettings"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Gets or sets List of subnets in a VirtualNetwork."
+ }
+ },
+ "required": [
+ "resourceType"
+ ],
+ "description": "Defines the virtual network resource settings."
+ }
+ }
+}
\ No newline at end of file
diff --git a/schemas/2019-10-01-preview/Microsoft.Resources.json b/schemas/2019-10-01-preview/Microsoft.Resources.json
index e87ef1e4c6..97283a3ee0 100644
--- a/schemas/2019-10-01-preview/Microsoft.Resources.json
+++ b/schemas/2019-10-01-preview/Microsoft.Resources.json
@@ -199,8 +199,9 @@
},
"timeout": {
"type": "string",
+ "default": "P1D",
"format": "duration",
- "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H"
+ "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is P1D"
}
},
"required": [
@@ -333,8 +334,9 @@
},
"timeout": {
"type": "string",
+ "default": "P1D",
"format": "duration",
- "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H"
+ "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is P1D"
}
},
"required": [
@@ -431,16 +433,7 @@
},
"UserAssignedIdentity": {
"type": "object",
- "properties": {
- "clientId": {
- "type": "string",
- "description": "Client App Id associated with this identity."
- },
- "principalId": {
- "type": "string",
- "description": "Azure Active Directory principal ID associated with this identity."
- }
- },
+ "properties": {},
"description": "User-assigned managed identity."
}
},
diff --git a/schemas/2019-10-01/Microsoft.NetApp.json b/schemas/2019-10-01/Microsoft.NetApp.json
index 657b1cba69..6c345b3a50 100644
--- a/schemas/2019-10-01/Microsoft.NetApp.json
+++ b/schemas/2019-10-01/Microsoft.NetApp.json
@@ -908,4 +908,4 @@
"description": "Set of export policy rules"
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-11-01/Microsoft.NetApp.json b/schemas/2019-11-01/Microsoft.NetApp.json
index 29310005fc..6f66b31765 100644
--- a/schemas/2019-11-01/Microsoft.NetApp.json
+++ b/schemas/2019-11-01/Microsoft.NetApp.json
@@ -932,4 +932,4 @@
"description": "Set of export policy rules"
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json b/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json
new file mode 100644
index 0000000000..bbaec91627
--- /dev/null
+++ b/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json
@@ -0,0 +1,1145 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.HybridNetwork",
+ "description": "Microsoft HybridNetwork Resource Types",
+ "resourceDefinitions": {
+ "devices": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2020-01-01-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The geo-location where the resource lives"
+ },
+ "name": {
+ "type": "string",
+ "description": "Resource name for the device resource."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DevicePropertiesFormat"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Device properties."
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.HybridNetwork/devices"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.HybridNetwork/devices"
+ },
+ "networkFunctions": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2020-01-01-preview"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "location": {
+ "type": "string",
+ "description": "The geo-location where the resource lives"
+ },
+ "name": {
+ "type": "string",
+ "description": "Resource name for the network function resource."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/NetworkFunctionPropertiesFormat"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Network function properties."
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Resource tags."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.HybridNetwork/networkFunctions"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.HybridNetwork/networkFunctions"
+ }
+ },
+ "subscription_resourceDefinitions": {
+ "locations_vendors_networkFunctions": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2020-01-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The GUID for the vendor network function."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VendorNetworkFunctionPropertiesFormat"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Vendor network function properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.HybridNetwork/locations/vendors/networkFunctions"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.HybridNetwork/locations/vendors/networkFunctions"
+ },
+ "vendors": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2020-01-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the vendor."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VendorPropertiesFormat"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Vendor properties."
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/vendors_vendorSkus_childResource"
+ }
+ ]
+ }
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.HybridNetwork/vendors"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.HybridNetwork/vendors"
+ },
+ "vendors_vendorSkus": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2020-01-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the sku."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VendorSkuPropertiesFormat"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Sku properties"
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/vendors_vendorSkus_previewSubscriptions_childResource"
+ }
+ ]
+ }
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.HybridNetwork/vendors/vendorSkus"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.HybridNetwork/vendors/vendorSkus"
+ },
+ "vendors_vendorSkus_previewSubscriptions": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2020-01-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Preview subscription ID."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.HybridNetwork/vendors/vendorSkus/previewSubscriptions"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "type"
+ ],
+ "description": "Microsoft.HybridNetwork/vendors/vendorSkus/previewSubscriptions"
+ }
+ },
+ "definitions": {
+ "CustomProfile": {
+ "type": "object",
+ "properties": {
+ "metadataConfigurationPath": {
+ "type": "string",
+ "description": "Path for metadata configuration."
+ }
+ },
+ "description": "Specifies the custom settings for the virtual machine."
+ },
+ "DataDisk": {
+ "type": "object",
+ "properties": {
+ "createOption": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Empty"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies how the virtual machine should be created."
+ },
+ "diskSizeGB": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the size of an empty disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of data disk."
+ }
+ },
+ "description": "Specifies information about the operating system disk used by the virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "DevicePropertiesFormat": {
+ "type": "object",
+ "properties": {
+ "azureStackEdge": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Reference to another sub resource."
+ }
+ },
+ "description": "Device properties."
+ },
+ "ImageReference": {
+ "type": "object",
+ "properties": {
+ "exactVersion": {
+ "type": "string",
+ "description": "Specifies in decimal numbers, the exact version of image used to create the virtual machine."
+ },
+ "offer": {
+ "type": "string",
+ "description": "Specifies the offer of the image used to create the virtual machine."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The image publisher."
+ },
+ "sku": {
+ "type": "string",
+ "description": "The image SKU."
+ },
+ "version": {
+ "type": "string",
+ "description": "Specifies the version of the image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available."
+ }
+ },
+ "description": "The image reference properties."
+ },
+ "LinuxConfiguration": {
+ "type": "object",
+ "properties": {
+ "ssh": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SshConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "SSH configuration for Linux based VMs running on Azure"
+ }
+ },
+ "description": "Specifies the Linux operating system settings on the virtual machine."
+ },
+ "NetworkFunctionPropertiesFormat": {
+ "type": "object",
+ "properties": {
+ "device": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Reference to another sub resource."
+ },
+ "managedApplicationParameters": {
+ "type": "object",
+ "properties": {},
+ "description": "The parameters for the managed application."
+ },
+ "networkFunctionUserConfigurations": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkFunctionUserConfiguration"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The network function configurations from the user."
+ },
+ "skuName": {
+ "type": "string",
+ "description": "The sku name for the network function."
+ },
+ "vendorName": {
+ "type": "string",
+ "description": "The vendor name for the network function."
+ }
+ },
+ "description": "Network function properties."
+ },
+ "NetworkFunctionRoleConfiguration": {
+ "type": "object",
+ "properties": {
+ "customProfile": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CustomProfile"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the custom settings for the virtual machine."
+ },
+ "networkInterfaces": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The network interface configurations."
+ },
+ "osProfile": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/OsProfile"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the operating system settings for the role instance."
+ },
+ "roleName": {
+ "type": "string",
+ "description": "The name of the network function role."
+ },
+ "roleType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "VirtualMachine"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Role type."
+ },
+ "storageProfile": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StorageProfile"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "userDataParameters": {
+ "type": "object",
+ "properties": {},
+ "description": "The user data parameters."
+ },
+ "userDataTemplate": {
+ "type": "object",
+ "properties": {},
+ "description": "The user data template."
+ },
+ "virtualMachineSize": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Standard_D1_v2",
+ "Standard_D2_v2",
+ "Standard_D3_v2",
+ "Standard_D4_v2",
+ "Standard_D5_v2",
+ "Standard_D11_v2",
+ "Standard_D12_v2",
+ "Standard_D13_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2_v2",
+ "Standard_DS3_v2",
+ "Standard_DS4_v2",
+ "Standard_DS5_v2",
+ "Standard_DS11_v2",
+ "Standard_DS12_v2",
+ "Standard_DS13_v2",
+ "Standard_F1",
+ "Standard_F2",
+ "Standard_F4",
+ "Standard_F8",
+ "Standard_F16",
+ "Standard_F1s",
+ "Standard_F2s",
+ "Standard_F4s",
+ "Standard_F8s",
+ "Standard_F16s"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The size of the virtual machine."
+ }
+ },
+ "description": "Network function role configuration."
+ },
+ "NetworkFunctionTemplate": {
+ "type": "object",
+ "properties": {
+ "networkFunctionRoleConfigurations": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkFunctionRoleConfiguration"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "An array of network function role definitions."
+ }
+ },
+ "description": "The network function template."
+ },
+ "NetworkFunctionUserConfiguration": {
+ "type": "object",
+ "properties": {
+ "networkInterfaces": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The network interface configuration."
+ },
+ "osProfile": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/NetworkFunctionUserConfigurationOsProfile"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the operating system settings for the role instance."
+ },
+ "roleName": {
+ "type": "string",
+ "description": "The name of the network function role."
+ },
+ "userDataParameters": {
+ "type": "object",
+ "properties": {},
+ "description": "The user data parameters."
+ }
+ },
+ "description": "The network function user configuration."
+ },
+ "NetworkFunctionUserConfigurationOsProfile": {
+ "type": "object",
+ "properties": {
+ "customData": {
+ "type": "string",
+ "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the virtual machine. The maximum length of the binary array is 65535 bytes.
**Note: Do not pass any secrets or passwords in customData property**
This property cannot be updated after the VM is created.
customData is passed to the VM to be saved as a file. For more information see [Custom Data on Azure VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/)
For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
+ }
+ },
+ "description": "Specifies the operating system settings for the role instance."
+ },
+ "NetworkFunctionVendorConfiguration": {
+ "type": "object",
+ "properties": {
+ "networkInterfaces": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The network interface configurations."
+ },
+ "osProfile": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/OsProfile"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the operating system settings for the role instance."
+ },
+ "roleName": {
+ "type": "string",
+ "description": "The name of the vendor network function role."
+ }
+ },
+ "description": "Network function vendor configuration."
+ },
+ "NetworkInterface": {
+ "type": "object",
+ "properties": {
+ "ipConfigurations": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfiguration"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A list of IP configurations of the network interface."
+ },
+ "macAddress": {
+ "type": "string",
+ "description": "The MAC address of the network interface."
+ },
+ "networkInterfaceName": {
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ "vmSwitchType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Management",
+ "Wan",
+ "Lan"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The type of the VM switch."
+ }
+ },
+ "description": "Network interface properties."
+ },
+ "NetworkInterfaceIPConfiguration": {
+ "type": "object",
+ "properties": {
+ "dnsServers": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of DNS servers IP addresses."
+ },
+ "gateway": {
+ "type": "string",
+ "description": "The value of the gateway."
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The value of the IP address."
+ },
+ "ipAllocationMethod": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Static",
+ "Dynamic"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "IP address allocation method."
+ },
+ "ipVersion": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "IPv4"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "IP address version."
+ },
+ "subnet": {
+ "type": "string",
+ "description": "The value of the subnet."
+ }
+ },
+ "description": "Network interface IP configuration properties."
+ },
+ "OsDisk": {
+ "type": "object",
+ "properties": {
+ "diskSizeGB": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the size of os disk in gigabytes. This is the fully expanded disk size needed of the VHD image on the ASE. This disk size should be greater than the size of the VHD provided in vhdUri."
+ },
+ "name": {
+ "type": "string",
+ "description": "The VHD name."
+ },
+ "osType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Windows",
+ "Linux"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The OS type."
+ },
+ "vhd": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualHardDisk"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes the uri of a disk."
+ }
+ },
+ "description": "Specifies information about the operating system disk used by the virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "OsProfile": {
+ "type": "object",
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "Specifies the name of the administrator account.
**Windows-only restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length (Linux):** 1 character
**Max-length (Linux):** 64 characters
**Max-length (Windows):** 20 characters