diff --git a/schemas/2014-04-01-preview/deploymentTemplate.json b/schemas/2014-04-01-preview/deploymentTemplate.json
index e7efa8586d..a0c6cb6408 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" },
@@ -1843,6 +1850,8 @@
{ "$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..75c028eb20 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" },
diff --git a/schemas/2015-06-01/Microsoft.Cdn.json b/schemas/2015-06-01/Microsoft.Cdn.json
index f4c32538eb..4800bb72d2 100644
--- a/schemas/2015-06-01/Microsoft.Cdn.json
+++ b/schemas/2015-06-01/Microsoft.Cdn.json
@@ -595,4 +595,4 @@
"description": "The SKU (pricing tier) of the CDN profile."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2015-10-01-preview/Microsoft.DataLakeStore.json b/schemas/2015-10-01-preview/Microsoft.DataLakeStore.json
index ed0c3d6571..8dabf6ecf8 100644
--- a/schemas/2015-10-01-preview/Microsoft.DataLakeStore.json
+++ b/schemas/2015-10-01-preview/Microsoft.DataLakeStore.json
@@ -298,4 +298,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2015-10-01/Microsoft.Media.json b/schemas/2015-10-01/Microsoft.Media.json
index 75284f01f2..dfa54e87db 100644
--- a/schemas/2015-10-01/Microsoft.Media.json
+++ b/schemas/2015-10-01/Microsoft.Media.json
@@ -1,99 +1,123 @@
-{
- "id": "https://schema.management.azure.com/schemas/2015-10-01/Microsoft.Media.json#",
- "$schema": "http://json-schema.org/draft-04/schema#",
- "title": "Microsoft.Media",
- "description": "Microsoft Media Service Resource Type",
- "resourceDefinitions": {
- "mediaServices": {
- "type": "object",
- "properties": {
- "type": {
- "enum": [
- "Microsoft.Media/mediaServices"
- ]
- },
- "apiVersion": {
- "enum": [
- "2015-10-01"
- ]
- },
- "name": {
- "oneOf": [
- {
- "type": "string",
- "pattern": "^[a-z0-9]{3,26}$"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- },
- "properties": {
- "oneOf": [
- {
- "$ref": "#/definitions/storageAccounts"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- },
- "required": [
- "type",
- "apiVersion",
- "location"
- ],
- "description": "Microsoft.Media/mediaServices"
- }
- },
- "definitions" : {
- "storageAccounts": {
- "properties": {
- "storageAccounts": {
- "oneOf" : [
- {
- "type": "array",
- "items": {
- "$ref": "#/definitions/storageAccount"
- }
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- },
- "type": "object"
- },
- "storageAccount": {
- "oneOf": [
- {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "isPrimary": {
- "oneOf": [
- {
- "type": "boolean"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- },
- "required": [
- "id",
- "isPrimary"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
-}
+{
+ "id": "https://schema.management.azure.com/schemas/2015-10-01/Microsoft.Media.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.Media",
+ "description": "Microsoft Media Resource Types",
+ "resourceDefinitions": {
+ "mediaservices": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2015-10-01"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth)."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-z0-9]{3,24}$",
+ "minLength": 3,
+ "maxLength": 24
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Name of the Media Service."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MediaServiceProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The additional properties of a Media Service resource."
+ },
+ "tags": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Tags to help categorize the resource in the Azure portal."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaservices"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices"
+ }
+ },
+ "definitions": {
+ "MediaServiceProperties": {
+ "type": "object",
+ "properties": {
+ "storageAccounts": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The storage accounts for this resource."
+ }
+ },
+ "description": "The additional properties of a Media Service resource."
+ },
+ "StorageAccount": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The id of the storage account resource. Media Services relies on tables and queues as well as blobs, so the primary storage account must be a Standard Storage account (either Microsoft.ClassicStorage or Microsoft.Storage). Blob only storage accounts can be added as secondary storage accounts (isPrimary false)."
+ },
+ "isPrimary": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Is this storage account resource the primary storage account for the Media Service resource. Blob only storage must set this to false."
+ }
+ },
+ "required": [
+ "id",
+ "isPrimary"
+ ],
+ "description": "The properties of a storage account associated with this resource."
+ }
+ }
+}
diff --git a/schemas/2016-02-01-preview/Microsoft.CognitiveServices.json b/schemas/2016-02-01-preview/Microsoft.CognitiveServices.json
index 48ae64338f..47086f867f 100644
--- a/schemas/2016-02-01-preview/Microsoft.CognitiveServices.json
+++ b/schemas/2016-02-01-preview/Microsoft.CognitiveServices.json
@@ -146,4 +146,4 @@
"description": "The SKU of the cognitive services account."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2016-04-02/Microsoft.Cdn.json b/schemas/2016-04-02/Microsoft.Cdn.json
index 00812e7cd3..53daac8471 100644
--- a/schemas/2016-04-02/Microsoft.Cdn.json
+++ b/schemas/2016-04-02/Microsoft.Cdn.json
@@ -579,4 +579,4 @@
"description": "The SKU (pricing tier) of the CDN profile."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2016-10-02/Microsoft.Cdn.json b/schemas/2016-10-02/Microsoft.Cdn.json
index 68a4b32132..e08aae6d85 100644
--- a/schemas/2016-10-02/Microsoft.Cdn.json
+++ b/schemas/2016-10-02/Microsoft.Cdn.json
@@ -570,4 +570,4 @@
"description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2016-11-01/Microsoft.DataLakeStore.json b/schemas/2016-11-01/Microsoft.DataLakeStore.json
index ac0ca2fe64..85f2767056 100644
--- a/schemas/2016-11-01/Microsoft.DataLakeStore.json
+++ b/schemas/2016-11-01/Microsoft.DataLakeStore.json
@@ -668,4 +668,4 @@
"description": "Metadata information used by account encryption."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2016-11-01/Microsoft.ImportExport.json b/schemas/2016-11-01/Microsoft.ImportExport.json
index 8f7afb4777..0f1218fa4e 100644
--- a/schemas/2016-11-01/Microsoft.ImportExport.json
+++ b/schemas/2016-11-01/Microsoft.ImportExport.json
@@ -491,4 +491,4 @@
"description": "Contains information about the Microsoft datacenter to which the drives should be shipped."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2017-04-02/Microsoft.Cdn.json b/schemas/2017-04-02/Microsoft.Cdn.json
index 2e5da6495d..6982309740 100644
--- a/schemas/2017-04-02/Microsoft.Cdn.json
+++ b/schemas/2017-04-02/Microsoft.Cdn.json
@@ -574,4 +574,4 @@
"description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2017-04-18/Microsoft.CognitiveServices.json b/schemas/2017-04-18/Microsoft.CognitiveServices.json
index a970ccac20..150100a594 100644
--- a/schemas/2017-04-18/Microsoft.CognitiveServices.json
+++ b/schemas/2017-04-18/Microsoft.CognitiveServices.json
@@ -654,4 +654,4 @@
"description": "A rule governing the accessibility from a specific virtual network."
}
}
-}
\ 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-06-15-preview/Microsoft.EventGrid.json b/schemas/2017-06-15-preview/Microsoft.EventGrid.json
index b566407832..1cee3a10e3 100644
--- a/schemas/2017-06-15-preview/Microsoft.EventGrid.json
+++ b/schemas/2017-06-15-preview/Microsoft.EventGrid.json
@@ -235,4 +235,4 @@
"description": "Properties of the Topic"
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2017-09-15-preview/Microsoft.EventGrid.json b/schemas/2017-09-15-preview/Microsoft.EventGrid.json
index 401f7c5b24..50f18150a4 100644
--- a/schemas/2017-09-15-preview/Microsoft.EventGrid.json
+++ b/schemas/2017-09-15-preview/Microsoft.EventGrid.json
@@ -279,4 +279,4 @@
"description": "Information about the webhook destination properties for an event subscription"
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2017-10-12/Microsoft.Cdn.json b/schemas/2017-10-12/Microsoft.Cdn.json
index c36b95bab6..f5c65cddd0 100644
--- a/schemas/2017-10-12/Microsoft.Cdn.json
+++ b/schemas/2017-10-12/Microsoft.Cdn.json
@@ -905,4 +905,4 @@
"description": "Defines the parameters for the URL path condition."
}
}
-}
\ 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-01-01/Microsoft.EventGrid.json b/schemas/2018-01-01/Microsoft.EventGrid.json
index 2e901afe70..2da1b61e78 100644
--- a/schemas/2018-01-01/Microsoft.EventGrid.json
+++ b/schemas/2018-01-01/Microsoft.EventGrid.json
@@ -279,4 +279,4 @@
"description": "Information about the webhook destination properties for an event subscription."
}
}
-}
\ 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-30-preview/Microsoft.Media.json b/schemas/2018-03-30-preview/Microsoft.Media.json
new file mode 100644
index 0000000000..8af6023b20
--- /dev/null
+++ b/schemas/2018-03-30-preview/Microsoft.Media.json
@@ -0,0 +1,4333 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2018-03-30-preview/Microsoft.Media.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.Media",
+ "description": "Microsoft Media Resource Types",
+ "resourceDefinitions": {
+ "mediaservices": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Media Services account name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MediaServiceProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the Media Services account."
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/mediaServices_assets_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_contentKeyPolicies_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_transforms_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_streamingPolicies_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_streamingLocators_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaservices_liveEvents_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaservices_streamingEndpoints_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.Media/mediaservices"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices"
+ },
+ "mediaServices_assets": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Asset name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AssetProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Asset properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/assets"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/assets"
+ },
+ "mediaServices_contentKeyPolicies": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Content Key Policy name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The properties of the Content Key Policy."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/contentKeyPolicies"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/contentKeyPolicies"
+ },
+ "mediaservices_liveEvents": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Event."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event properties."
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/mediaservices_liveEvents_liveOutputs_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.Media/mediaservices/liveEvents"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents"
+ },
+ "mediaservices_liveEvents_liveOutputs": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Output."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveOutputProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The JSON object that contains the properties required to create a Live Output."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
+ },
+ "mediaservices_streamingEndpoints": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 24
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the StreamingEndpoint."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingEndpointProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The StreamingEndpoint 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.Media/mediaservices/streamingEndpoints"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/streamingEndpoints"
+ },
+ "mediaServices_streamingLocators": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Streaming Locator name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingLocatorProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of Streaming Locator"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/streamingLocators"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/streamingLocators"
+ },
+ "mediaServices_streamingPolicies": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Streaming Policy name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of Streaming Policy"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/streamingPolicies"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/streamingPolicies"
+ },
+ "mediaServices_transforms": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Transform name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/TransformProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A Transform."
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/mediaServices_transforms_jobs_childResource"
+ }
+ ]
+ }
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/transforms"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/transforms"
+ },
+ "mediaServices_transforms_jobs": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Job name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the Job."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/transforms/jobs"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/transforms/jobs"
+ }
+ },
+ "definitions": {
+ "AacAudio": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.AacAudio"
+ ]
+ },
+ "profile": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "AacLc",
+ "HeAacV1",
+ "HeAacV2"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The encoding profile to be used when encoding audio with AAC."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes Advanced Audio Codec (AAC) audio encoding settings."
+ },
+ "AkamaiAccessControl": {
+ "type": "object",
+ "properties": {
+ "akamaiSignatureHeaderAuthenticationKeyList": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AkamaiSignatureHeaderAuthenticationKey"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "authentication key list"
+ }
+ },
+ "description": "Akamai access control"
+ },
+ "AkamaiSignatureHeaderAuthenticationKey": {
+ "type": "object",
+ "properties": {
+ "base64Key": {
+ "type": "string",
+ "description": "authentication key"
+ },
+ "expiration": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The exact time the authentication key."
+ },
+ "identifier": {
+ "type": "string",
+ "description": "identifier of the key"
+ }
+ },
+ "description": "Akamai Signature Header authentication key."
+ },
+ "AssetProperties": {
+ "type": "object",
+ "properties": {
+ "alternateId": {
+ "type": "string",
+ "description": "The alternate ID of the Asset."
+ },
+ "container": {
+ "type": "string",
+ "description": "The name of the asset blob container."
+ },
+ "description": {
+ "type": "string",
+ "description": "The Asset description."
+ },
+ "storageAccountName": {
+ "type": "string",
+ "description": "The name of the storage account."
+ }
+ },
+ "description": "The Asset properties."
+ },
+ "Audio": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AacAudio"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Audio"
+ ]
+ },
+ "bitrate": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The bitrate, in bits per second, of the output encoded audio."
+ },
+ "channels": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of channels in the audio."
+ },
+ "samplingRate": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The sampling rate to use for encoding in hertz."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Defines the common properties for all audio codecs."
+ },
+ "AudioAnalyzerPreset": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VideoAnalyzerPreset"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.AudioAnalyzerPreset"
+ ]
+ },
+ "audioLanguage": {
+ "type": "string",
+ "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are, 'en-US', 'en-GB', 'es-ES', 'es-MX', 'fr-FR', 'it-IT', 'ja-JP', 'pt-BR', 'zh-CN'."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "The Audio Analyzer preset applies a pre-defined set of AI-based analysis operations, including speech transcription. Currently, the preset supports processing of content with a single audio track."
+ },
+ "AudioOverlay": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.AudioOverlay"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties of an audio overlay."
+ },
+ "BuiltInStandardEncoderPreset": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.BuiltInStandardEncoderPreset"
+ ]
+ },
+ "presetName": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "AdaptiveStreaming",
+ "AACGoodQualityAudio",
+ "H264MultipleBitrate1080p",
+ "H264MultipleBitrate720p",
+ "H264MultipleBitrateSD"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The built-in preset to be used for encoding videos."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "presetName"
+ ],
+ "description": "Describes a built-in preset for encoding the input video with the Standard Encoder."
+ },
+ "CbcsDrmConfiguration": {
+ "type": "object",
+ "properties": {
+ "fairPlay": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyFairPlayConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify configurations of FairPlay in Streaming Policy"
+ },
+ "playReady": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify configurations of PlayReady in Streaming Policy"
+ },
+ "widevine": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyWidevineConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify configurations of Widevine in Streaming Policy"
+ }
+ },
+ "description": "Class to specify drm configurations of CommonEncryptionCbcs scheme in Streaming Policy"
+ },
+ "CencDrmConfiguration": {
+ "type": "object",
+ "properties": {
+ "playReady": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify configurations of PlayReady in Streaming Policy"
+ },
+ "widevine": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyWidevineConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify configurations of Widevine in Streaming Policy"
+ }
+ },
+ "description": "Class to specify drm configurations of CommonEncryptionCenc scheme in Streaming Policy"
+ },
+ "Codec": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Audio"
+ },
+ {
+ "$ref": "#/definitions/CopyVideo"
+ },
+ {
+ "$ref": "#/definitions/Video"
+ },
+ {
+ "$ref": "#/definitions/CopyAudio"
+ }
+ ],
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "An optional label for the codec. The label can be used to control muxing behavior."
+ }
+ },
+ "description": "Describes the basic properties of all codecs."
+ },
+ "CommonEncryptionCbcs": {
+ "type": "object",
+ "properties": {
+ "clearTracks": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackSelection"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Representing which tracks should not be encrypted"
+ },
+ "contentKeys": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyContentKeys"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of all content keys in Streaming Policy"
+ },
+ "drm": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CbcsDrmConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify drm configurations of CommonEncryptionCbcs scheme in Streaming Policy"
+ },
+ "enabledProtocols": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnabledProtocols"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify which protocols are enabled"
+ }
+ },
+ "description": "Class for CommonEncryptionCbcs encryption scheme"
+ },
+ "CommonEncryptionCenc": {
+ "type": "object",
+ "properties": {
+ "clearTracks": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackSelection"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Representing which tracks should not be encrypted"
+ },
+ "contentKeys": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyContentKeys"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of all content keys in Streaming Policy"
+ },
+ "drm": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CencDrmConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify drm configurations of CommonEncryptionCenc scheme in Streaming Policy"
+ },
+ "enabledProtocols": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnabledProtocols"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify which protocols are enabled"
+ }
+ },
+ "description": "Class for envelope encryption scheme"
+ },
+ "ContentKeyPolicyClearKeyConfiguration": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents a configuration for non-DRM keys."
+ },
+ "ContentKeyPolicyConfiguration": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyClearKeyConfiguration"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyUnknownConfiguration"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyWidevineConfiguration"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyConfiguration"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyFairPlayConfiguration"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for Content Key Policy configuration. A derived class must be used to create a configuration."
+ },
+ "ContentKeyPolicyFairPlayConfiguration": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration"
+ ]
+ },
+ "ask": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The key that must be used as FairPlay ASk."
+ },
+ "fairPlayPfx": {
+ "type": "string",
+ "description": "The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key)."
+ },
+ "fairPlayPfxPassword": {
+ "type": "string",
+ "description": "The password encrypting FairPlay certificate in PKCS 12 (pfx) format."
+ },
+ "rentalAndLeaseKeyType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Undefined",
+ "PersistentUnlimited",
+ "PersistentLimited"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The rental and lease key type."
+ },
+ "rentalDuration": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The rental duration. Must be greater than or equal to 0."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "ask",
+ "fairPlayPfx",
+ "fairPlayPfxPassword",
+ "rentalAndLeaseKeyType",
+ "rentalDuration"
+ ],
+ "description": "Specifies a configuration for FairPlay licenses."
+ },
+ "ContentKeyPolicyOpenRestriction": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents an open restriction. License or key will be delivered on every request."
+ },
+ "ContentKeyPolicyOption": {
+ "type": "object",
+ "properties": {
+ "configuration": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for Content Key Policy configuration. A derived class must be used to create a configuration."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Policy Option description."
+ },
+ "restriction": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyRestriction"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for Content Key Policy restrictions. A derived class must be used to create a restriction."
+ }
+ },
+ "required": [
+ "configuration",
+ "restriction"
+ ],
+ "description": "Represents a policy option."
+ },
+ "ContentKeyPolicyPlayReadyConfiguration": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration"
+ ]
+ },
+ "licenses": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyLicense"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The PlayReady licenses."
+ },
+ "responseCustomData": {
+ "type": "string",
+ "description": "The custom response data."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "licenses"
+ ],
+ "description": "Specifies a configuration for PlayReady licenses."
+ },
+ "ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Specifies that the content key ID is in the PlayReady header."
+ },
+ "ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier"
+ ]
+ },
+ "keyId": {
+ "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 content key ID."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "keyId"
+ ],
+ "description": "Specifies that the content key ID is specified in the PlayReady configuration."
+ },
+ "ContentKeyPolicyPlayReadyContentKeyLocation": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for content key ID location. A derived class must be used to represent the location."
+ },
+ "ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction": {
+ "type": "object",
+ "properties": {
+ "bestEffort": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Indicates whether this restriction is enforced on a Best Effort basis."
+ },
+ "configurationData": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures the restriction control bits. Must be between 0 and 3 inclusive."
+ }
+ },
+ "required": [
+ "bestEffort",
+ "configurationData"
+ ],
+ "description": "Configures the Explicit Analog Television Output Restriction control bits. For further details see the PlayReady Compliance Rules."
+ },
+ "ContentKeyPolicyPlayReadyLicense": {
+ "type": "object",
+ "properties": {
+ "allowTestDevices": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A flag indicating whether test devices can use the license."
+ },
+ "beginDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The begin date of license"
+ },
+ "contentKeyLocation": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for content key ID location. A derived class must be used to represent the location."
+ },
+ "contentType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Unspecified",
+ "UltraVioletDownload",
+ "UltraVioletStreaming"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The PlayReady content type."
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The expiration date of license."
+ },
+ "gracePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The grace period of license."
+ },
+ "licenseType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "NonPersistent",
+ "Persistent"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The license type."
+ },
+ "playRight": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyPlayRight"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures the Play Right in the PlayReady license."
+ },
+ "relativeBeginDate": {
+ "type": "string",
+ "format": "duration",
+ "description": "The relative begin date of license."
+ },
+ "relativeExpirationDate": {
+ "type": "string",
+ "format": "duration",
+ "description": "The relative expiration date of license."
+ }
+ },
+ "required": [
+ "allowTestDevices",
+ "contentKeyLocation",
+ "contentType",
+ "licenseType"
+ ],
+ "description": "The PlayReady license"
+ },
+ "ContentKeyPolicyPlayReadyPlayRight": {
+ "type": "object",
+ "properties": {
+ "agcAndColorStripeRestriction": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive."
+ },
+ "allowPassingVideoContentToUnknownOutput": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "NotAllowed",
+ "Allowed",
+ "AllowedWithVideoConstriction"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures Unknown output handling settings of the license."
+ },
+ "analogVideoOpl": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the output protection level for compressed digital audio."
+ },
+ "compressedDigitalAudioOpl": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the output protection level for compressed digital audio."
+ },
+ "compressedDigitalVideoOpl": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the output protection level for compressed digital video."
+ },
+ "digitalVideoOnlyContentRestriction": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enables the Image Constraint For Analog Component Video Restriction in the license."
+ },
+ "explicitAnalogTelevisionOutputRestriction": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures the Explicit Analog Television Output Restriction control bits. For further details see the PlayReady Compliance Rules."
+ },
+ "firstPlayExpiration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The amount of time that the license is valid after the license is first used to play content."
+ },
+ "imageConstraintForAnalogComponentVideoRestriction": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enables the Image Constraint For Analog Component Video Restriction in the license."
+ },
+ "imageConstraintForAnalogComputerMonitorRestriction": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enables the Image Constraint For Analog Component Video Restriction in the license."
+ },
+ "scmsRestriction": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive."
+ },
+ "uncompressedDigitalAudioOpl": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the output protection level for uncompressed digital audio."
+ },
+ "uncompressedDigitalVideoOpl": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the output protection level for uncompressed digital video."
+ }
+ },
+ "required": [
+ "allowPassingVideoContentToUnknownOutput",
+ "digitalVideoOnlyContentRestriction",
+ "imageConstraintForAnalogComponentVideoRestriction",
+ "imageConstraintForAnalogComputerMonitorRestriction"
+ ],
+ "description": "Configures the Play Right in the PlayReady license."
+ },
+ "ContentKeyPolicyProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for the Policy."
+ },
+ "options": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentKeyPolicyOption"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Key Policy options."
+ }
+ },
+ "required": [
+ "options"
+ ],
+ "description": "The properties of the Content Key Policy."
+ },
+ "ContentKeyPolicyRestriction": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyOpenRestriction"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyUnknownRestriction"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyTokenRestriction"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for Content Key Policy restrictions. A derived class must be used to create a restriction."
+ },
+ "ContentKeyPolicyRestrictionTokenKey": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicySymmetricTokenKey"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyRsaTokenKey"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyX509CertificateTokenKey"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for Content Key Policy key for token validation. A derived class must be used to create a token key."
+ },
+ "ContentKeyPolicyRsaTokenKey": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyRsaTokenKey"
+ ]
+ },
+ "exponent": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The RSA Parameter exponent"
+ },
+ "modulus": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The RSA Parameter modulus"
+ }
+ },
+ "required": [
+ "@odata.type",
+ "exponent",
+ "modulus"
+ ],
+ "description": "Specifies a RSA key for token validation"
+ },
+ "ContentKeyPolicySymmetricTokenKey": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
+ ]
+ },
+ "keyValue": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The key value of the key"
+ }
+ },
+ "required": [
+ "@odata.type",
+ "keyValue"
+ ],
+ "description": "Specifies a symmetric key for token validation."
+ },
+ "ContentKeyPolicyTokenClaim": {
+ "type": "object",
+ "properties": {
+ "claimType": {
+ "type": "string",
+ "description": "Token claim type."
+ },
+ "claimValue": {
+ "type": "string",
+ "description": "Token claim value."
+ }
+ },
+ "description": "Represents a token claim."
+ },
+ "ContentKeyPolicyTokenRestriction": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
+ ]
+ },
+ "alternateVerificationKeys": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A list of alternative verification keys."
+ },
+ "audience": {
+ "type": "string",
+ "description": "The audience for the token."
+ },
+ "issuer": {
+ "type": "string",
+ "description": "The token issuer."
+ },
+ "openIdConnectDiscoveryDocument": {
+ "type": "string",
+ "description": "The OpenID connect discovery document."
+ },
+ "primaryVerificationKey": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for Content Key Policy key for token validation. A derived class must be used to create a token key."
+ },
+ "requiredClaims": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentKeyPolicyTokenClaim"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A list of required token claims."
+ },
+ "restrictionTokenType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Swt",
+ "Jwt"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The type of token."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "audience",
+ "issuer",
+ "primaryVerificationKey",
+ "restrictionTokenType"
+ ],
+ "description": "Represents a token restriction. Provided token must match these requirements for successful license or key delivery."
+ },
+ "ContentKeyPolicyUnknownConfiguration": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyUnknownConfiguration"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents a ContentKeyPolicyConfiguration that is unavailable in the current API version."
+ },
+ "ContentKeyPolicyUnknownRestriction": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyUnknownRestriction"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents a ContentKeyPolicyRestriction that is unavailable in the current API version."
+ },
+ "ContentKeyPolicyWidevineConfiguration": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration"
+ ]
+ },
+ "widevineTemplate": {
+ "type": "string",
+ "description": "The Widevine template."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "widevineTemplate"
+ ],
+ "description": "Specifies a configuration for Widevine licenses."
+ },
+ "ContentKeyPolicyX509CertificateTokenKey": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey"
+ ]
+ },
+ "rawBody": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET)"
+ }
+ },
+ "required": [
+ "@odata.type",
+ "rawBody"
+ ],
+ "description": "Specifies a certificate for token validation."
+ },
+ "CopyAudio": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.CopyAudio"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "A codec flag, which tells the encoder to copy the input audio bitstream."
+ },
+ "CopyVideo": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.CopyVideo"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "A codec flag, which tells the encoder to copy the input video bitstream without re-encoding."
+ },
+ "CrossSiteAccessPolicies": {
+ "type": "object",
+ "properties": {
+ "clientAccessPolicy": {
+ "type": "string",
+ "description": "The content of clientaccesspolicy.xml used by Silverlight."
+ },
+ "crossDomainPolicy": {
+ "type": "string",
+ "description": "The content of crossdomain.xml used by Silverlight."
+ }
+ },
+ "description": "The client access policy."
+ },
+ "DefaultKey": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "Label can be used to specify Content Key when creating Streaming Locator"
+ },
+ "policyName": {
+ "type": "string",
+ "description": "Policy used by Default Key"
+ }
+ },
+ "description": "Class to specify properties of default content key for each encryption scheme"
+ },
+ "Deinterlace": {
+ "type": "object",
+ "properties": {
+ "mode": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Off",
+ "AutoPixelAdaptive"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The deinterlacing mode. Defaults to AutoPixelAdaptive."
+ },
+ "parity": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Auto",
+ "TopFieldFirst",
+ "BottomFieldFirst"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The field parity for de-interlacing, defaults to Auto."
+ }
+ },
+ "description": "Describes the de-interlacing settings."
+ },
+ "EnabledProtocols": {
+ "type": "object",
+ "properties": {
+ "dash": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enable Dash protocol or not"
+ },
+ "download": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enable Download protocol or not"
+ },
+ "hls": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enable Hls protocol or not"
+ },
+ "smoothStreaming": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enable SmoothStreaming protocol or not"
+ }
+ },
+ "required": [
+ "dash",
+ "download",
+ "hls",
+ "smoothStreaming"
+ ],
+ "description": "Class to specify which protocols are enabled"
+ },
+ "EnvelopeEncryption": {
+ "type": "object",
+ "properties": {
+ "clearTracks": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackSelection"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Representing which tracks should not be encrypted"
+ },
+ "contentKeys": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyContentKeys"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of all content keys in Streaming Policy"
+ },
+ "customLicenseAcquisitionUrlTemplate": {
+ "type": "string",
+ "description": "LicenseAcquisitionUrlTemplate is used to point to user specified service to delivery content keys"
+ },
+ "enabledProtocols": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnabledProtocols"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify which protocols are enabled"
+ }
+ },
+ "description": "Class for EnvelopeEncryption encryption scheme"
+ },
+ "Filters": {
+ "type": "object",
+ "properties": {
+ "crop": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Rectangle"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes the properties of a rectangular window applied to the input media before processing it."
+ },
+ "deinterlace": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Deinterlace"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes the de-interlacing settings."
+ },
+ "overlays": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Overlay"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The properties of overlays to be applied to the input video. These could be audio, image or video overlays."
+ },
+ "rotation": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Auto",
+ "None",
+ "Rotate0",
+ "Rotate90",
+ "Rotate180",
+ "Rotate270"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The rotation, if any, to be applied to the input video, before it is encoded. Default is Auto."
+ }
+ },
+ "description": "Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding."
+ },
+ "Format": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ImageFormat"
+ },
+ {
+ "$ref": "#/definitions/MultiBitrateFormat"
+ }
+ ],
+ "properties": {
+ "filenamePattern": {
+ "type": "string",
+ "description": "The pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - The base name of the input video {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted macros will be collapsed and removed from the filename."
+ }
+ },
+ "description": "Base class for output."
+ },
+ "H264Layer": {
+ "type": "object",
+ "properties": {
+ "adaptiveBFrame": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether or not adaptive B-frames are to be used when encoding this layer. If not specified, the encoder will turn it on whenever the video profile permits its use."
+ },
+ "bFrames": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of B-frames to be used when encoding this layer. If not specified, the encoder chooses an appropriate number based on the video profile and level."
+ },
+ "bitrate": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The average bitrate in bits per second at which to encode the input video when generating this layer. This is a required field."
+ },
+ "bufferWindow": {
+ "type": "string",
+ "format": "duration",
+ "description": "The VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S)."
+ },
+ "entropyMode": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Cabac",
+ "Cavlc"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The entropy mode to be used for this layer. If not specified, the encoder chooses the mode that is appropriate for the profile and level."
+ },
+ "frameRate": {
+ "type": "string",
+ "description": "The frame rate (in frames per second) at which to encode this layer. The value can be in the form of M/N where M and N are integers (For example, 30000/1001), or in the form of a number (For example, 30, or 29.97). The encoder enforces constraints on allowed frame rates based on the profile and level. If it is not specified, the encoder will use the same frame rate as the input video."
+ },
+ "height": {
+ "type": "string",
+ "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input."
+ },
+ "label": {
+ "type": "string",
+ "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file."
+ },
+ "level": {
+ "type": "string",
+ "description": "Which level of the H.264 standard should be used when encoding this layer. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer."
+ },
+ "maxBitrate": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The maximum bitrate (in bits per second), at which the VBV buffer should be assumed to refill. If not specified, defaults to the same value as bitrate."
+ },
+ "profile": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Auto",
+ "Baseline",
+ "Main",
+ "High",
+ "High422",
+ "High444"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Which profile of the H.264 standard should be used when encoding this layer. Default is Auto."
+ },
+ "referenceFrames": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of reference frames to be used when encoding this layer. If not specified, the encoder determines an appropriate number based on the encoder complexity setting."
+ },
+ "slices": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of slices to be used when encoding this layer. If not specified, default is zero, which means that encoder will use a single slice for each frame."
+ },
+ "width": {
+ "type": "string",
+ "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
+ }
+ },
+ "description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer with the H.264 video codec."
+ },
+ "H264Video": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.H264Video"
+ ]
+ },
+ "complexity": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Speed",
+ "Balanced",
+ "Quality"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Tells the encoder how to choose its encoding settings. The default value is Balanced."
+ },
+ "layers": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/H264Layer"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The collection of output H.264 layers to be produced by the encoder."
+ },
+ "sceneChangeDetection": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to produce a single output video."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes all the properties for encoding a video with the H.264 codec."
+ },
+ "Hls": {
+ "type": "object",
+ "properties": {
+ "fragmentsPerTsSegment": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The amount of fragments per HTTP Live Streaming (HLS) segment."
+ }
+ },
+ "description": "The HLS configuration."
+ },
+ "Image": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JpgImage"
+ },
+ {
+ "$ref": "#/definitions/PngImage"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Image"
+ ]
+ },
+ "range": {
+ "type": "string",
+ "description": "The position in the input video at which to stop generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 to stop at the 300th frame), or a relative value (For example, 100%)."
+ },
+ "start": {
+ "type": "string",
+ "description": "The position in the input video from where to start generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), or a relative value (For example, 1%). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video."
+ },
+ "step": {
+ "type": "string",
+ "description": "The intervals at which thumbnails are generated. The value can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 seconds), or a frame count (For example, 30 for every 30 frames), or a relative value (For example, 1%)."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the basic properties for generating thumbnails from the input video"
+ },
+ "ImageFormat": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JpgFormat"
+ },
+ {
+ "$ref": "#/definitions/PngFormat"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ImageFormat"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for an output image file."
+ },
+ "IPAccessControl": {
+ "type": "object",
+ "properties": {
+ "allow": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPRange"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP allow list."
+ }
+ },
+ "description": "The IP access control."
+ },
+ "IPRange": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "The IP address."
+ },
+ "name": {
+ "type": "string",
+ "description": "The friendly name for the IP address range."
+ },
+ "subnetPrefixLength": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The subnet mask prefix length (see CIDR notation)."
+ }
+ },
+ "description": "The IP address range in the CIDR scheme."
+ },
+ "JobInput": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobInputClip"
+ },
+ {
+ "$ref": "#/definitions/JobInputs"
+ }
+ ],
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "A label that is assigned to a JobInput, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'."
+ }
+ },
+ "description": "Base class for inputs to a Job."
+ },
+ "JobInputAsset": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobInputAsset"
+ ]
+ },
+ "assetName": {
+ "type": "string",
+ "description": "The name of the input Asset."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "assetName"
+ ],
+ "description": "Represents an Asset for input into a Job."
+ },
+ "JobInputClip": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobInputAsset"
+ },
+ {
+ "$ref": "#/definitions/JobInputHttp"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobInputClip"
+ ]
+ },
+ "files": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of files. Required for JobInputHttp."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents input files for a Job."
+ },
+ "JobInputHttp": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobInputHttp"
+ ]
+ },
+ "baseUri": {
+ "type": "string",
+ "description": "Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents HTTPS job input."
+ },
+ "JobInputs": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobInputs"
+ ]
+ },
+ "inputs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of inputs to a Job."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes a list of inputs to a Job."
+ },
+ "JobOutput": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobOutputAsset"
+ }
+ ],
+ "properties": {},
+ "description": "Describes all the properties of a JobOutput."
+ },
+ "JobOutputAsset": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobOutputAsset"
+ ]
+ },
+ "assetName": {
+ "type": "string",
+ "description": "The name of the output Asset."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "assetName"
+ ],
+ "description": "Represents an Asset used as a JobOutput."
+ },
+ "JobProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Optional customer supplied description of the Job."
+ },
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for inputs to a Job."
+ },
+ "outputs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobOutput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The outputs for the Job."
+ },
+ "priority": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Low",
+ "Normal",
+ "High"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Priority with which the job should be processed. Higher priority jobs are processed before lower priority jobs. If not set, the default is normal."
+ }
+ },
+ "required": [
+ "input",
+ "outputs"
+ ],
+ "description": "Properties of the Job."
+ },
+ "JpgFormat": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JpgFormat"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the settings for producing JPEG thumbnails."
+ },
+ "JpgImage": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JpgImage"
+ ]
+ },
+ "layers": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JpgLayer"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A collection of output JPEG image layers to be produced by the encoder."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for producing a series of JPEG images from the input video."
+ },
+ "JpgLayer": {
+ "type": "object",
+ "properties": {
+ "height": {
+ "type": "string",
+ "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input."
+ },
+ "label": {
+ "type": "string",
+ "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file."
+ },
+ "quality": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The compression quality of the JPEG output. Range is from 0-100 and the default is 70."
+ },
+ "width": {
+ "type": "string",
+ "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
+ }
+ },
+ "description": "Describes the settings to produce a JPEG image from the input video."
+ },
+ "LiveEventEncoding": {
+ "type": "object",
+ "properties": {
+ "encodingType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "Basic"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The encoding type for Live Event."
+ },
+ "presetName": {
+ "type": "string",
+ "description": "The encoding preset name."
+ }
+ },
+ "description": "The Live Event encoding."
+ },
+ "LiveEventEndpoint": {
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "The endpoint protocol."
+ },
+ "url": {
+ "type": "string",
+ "description": "The endpoint URL."
+ }
+ },
+ "description": "The Live Event endpoint."
+ },
+ "LiveEventInput": {
+ "type": "object",
+ "properties": {
+ "accessToken": {
+ "type": "string",
+ "description": "The access token."
+ },
+ "endpoints": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LiveEventEndpoint"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The input endpoints for the Live Event."
+ },
+ "keyFrameIntervalDuration": {
+ "type": "string",
+ "description": "ISO 8601 timespan duration of the key frame interval duration."
+ },
+ "streamingProtocol": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "FragmentedMP4",
+ "RTMP"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The streaming protocol for the Live Event."
+ }
+ },
+ "required": [
+ "streamingProtocol"
+ ],
+ "description": "The Live Event input."
+ },
+ "LiveEventPreview": {
+ "type": "object",
+ "properties": {
+ "accessControl": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventPreviewAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP access control for Live Event preview."
+ },
+ "endpoints": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LiveEventEndpoint"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The endpoints for preview."
+ },
+ "previewLocator": {
+ "type": "string",
+ "description": "The preview locator Guid."
+ },
+ "streamingPolicyName": {
+ "type": "string",
+ "description": "The name of streaming policy used for LiveEvent preview"
+ }
+ },
+ "description": "The Live Event preview."
+ },
+ "LiveEventPreviewAccessControl": {
+ "type": "object",
+ "properties": {
+ "ip": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/IPAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP access control."
+ }
+ },
+ "description": "The IP access control for Live Event preview."
+ },
+ "LiveEventProperties": {
+ "type": "object",
+ "properties": {
+ "crossSiteAccessPolicies": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CrossSiteAccessPolicies"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The client access policy."
+ },
+ "description": {
+ "type": "string",
+ "description": "The Live Event description."
+ },
+ "encoding": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventEncoding"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event encoding."
+ },
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event input."
+ },
+ "preview": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventPreview"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event preview."
+ },
+ "streamOptions": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Default",
+ "LowLatency"
+ ]
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The stream options."
+ },
+ "vanityUrl": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event vanity URL flag."
+ }
+ },
+ "required": [
+ "input"
+ ],
+ "description": "The Live Event properties."
+ },
+ "LiveOutputProperties": {
+ "type": "object",
+ "properties": {
+ "archiveWindowLength": {
+ "type": "string",
+ "format": "duration",
+ "description": "ISO 8601 timespan duration of the archive window length. This is duration that customer want to retain the recorded content."
+ },
+ "assetName": {
+ "type": "string",
+ "description": "The asset name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the Live Output."
+ },
+ "hls": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Hls"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The HLS configuration."
+ },
+ "manifestName": {
+ "type": "string",
+ "description": "The manifest file name."
+ },
+ "outputSnapTime": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The output snapshot time."
+ }
+ },
+ "required": [
+ "archiveWindowLength",
+ "assetName"
+ ],
+ "description": "The JSON object that contains the properties required to create a Live Output."
+ },
+ "MediaServiceProperties": {
+ "type": "object",
+ "properties": {
+ "storageAccounts": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The storage accounts for this resource."
+ }
+ },
+ "description": "Properties of the Media Services account."
+ },
+ "mediaServices_assets_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Asset name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AssetProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Asset properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "assets"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/assets"
+ },
+ "mediaServices_contentKeyPolicies_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Content Key Policy name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The properties of the Content Key Policy."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "contentKeyPolicies"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/contentKeyPolicies"
+ },
+ "mediaservices_liveEvents_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Event."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event 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": [
+ "liveEvents"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents"
+ },
+ "mediaservices_liveEvents_liveOutputs_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Output."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveOutputProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The JSON object that contains the properties required to create a Live Output."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "liveOutputs"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
+ },
+ "mediaservices_streamingEndpoints_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 24
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the StreamingEndpoint."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingEndpointProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The StreamingEndpoint 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": [
+ "streamingEndpoints"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/streamingEndpoints"
+ },
+ "mediaServices_streamingLocators_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Streaming Locator name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingLocatorProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of Streaming Locator"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "streamingLocators"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/streamingLocators"
+ },
+ "mediaServices_streamingPolicies_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Streaming Policy name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of Streaming Policy"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "streamingPolicies"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/streamingPolicies"
+ },
+ "mediaServices_transforms_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Transform name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/TransformProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A Transform."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "transforms"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/transforms"
+ },
+ "mediaServices_transforms_jobs_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-03-30-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Job name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the Job."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "jobs"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/transforms/jobs"
+ },
+ "Mp4Format": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Mp4Format"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for an output ISO MP4 file."
+ },
+ "MultiBitrateFormat": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Mp4Format"
+ },
+ {
+ "$ref": "#/definitions/TransportStreamFormat"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.MultiBitrateFormat"
+ ]
+ },
+ "outputFiles": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutputFile"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of output files to produce. Each entry in the list is a set of audio and video layer labels to be muxed together ."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for producing a collection of GOP aligned multi-bitrate files. The default behavior is to produce one output file for each video layer which is muxed together with all the audios. The exact output files produced can be controlled by specifying the outputFiles collection."
+ },
+ "NoEncryption": {
+ "type": "object",
+ "properties": {
+ "enabledProtocols": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnabledProtocols"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify which protocols are enabled"
+ }
+ },
+ "description": "Class for NoEncryption scheme"
+ },
+ "OutputFile": {
+ "type": "object",
+ "properties": {
+ "labels": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of labels that describe how the encoder should multiplex video and audio into an output file. For example, if the encoder is producing two video layers with labels v1 and v2, and one audio layer with label a1, then an array like '[v1, a1]' tells the encoder to produce an output file with the video track represented by v1 and the audio track represented by a1."
+ }
+ },
+ "description": "Represents an output file produced."
+ },
+ "Overlay": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AudioOverlay"
+ },
+ {
+ "$ref": "#/definitions/VideoOverlay"
+ }
+ ],
+ "properties": {
+ "audioGainLevel": {
+ "oneOf": [
+ {
+ "type": "number"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The gain level of audio in the overlay. The value should be in the range [0, 1.0]. The default is 1.0."
+ },
+ "end": {
+ "type": "string",
+ "format": "duration",
+ "description": "The position in the input video at which the overlay ends. The value should be in ISO 8601 duration format. For example, PT30S to end the overlay at 30 seconds in to the input video. If not specified the overlay will be applied until the end of the input video if inputLoop is true. Else, if inputLoop is false, then overlay will last as long as the duration of the overlay media."
+ },
+ "fadeInDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade in (same as PT0S)."
+ },
+ "fadeOutDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration over which the overlay fades out of the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade out (same as PT0S)."
+ },
+ "inputLabel": {
+ "type": "string",
+ "description": "The label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG or PNG formats, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats."
+ },
+ "start": {
+ "type": "string",
+ "format": "duration",
+ "description": "The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds in to the input video. If not specified the overlay starts from the beginning of the input video."
+ }
+ },
+ "description": "Base type for all overlays - image, audio or video."
+ },
+ "PngFormat": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.PngFormat"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the settings for producing PNG thumbnails."
+ },
+ "PngImage": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.PngImage"
+ ]
+ },
+ "layers": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PngLayer"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A collection of output PNG image layers to be produced by the encoder."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for producing a series of PNG images from the input video."
+ },
+ "PngLayer": {
+ "type": "object",
+ "properties": {
+ "height": {
+ "type": "string",
+ "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input."
+ },
+ "label": {
+ "type": "string",
+ "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file."
+ },
+ "width": {
+ "type": "string",
+ "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
+ }
+ },
+ "description": "Describes the settings to produce a PNG image from the input video."
+ },
+ "Preset": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AudioAnalyzerPreset"
+ },
+ {
+ "$ref": "#/definitions/BuiltInStandardEncoderPreset"
+ },
+ {
+ "$ref": "#/definitions/StandardEncoderPreset"
+ }
+ ],
+ "properties": {},
+ "description": "Base type for all Presets, which define the recipe or instructions on how the input media files should be processed."
+ },
+ "Rectangle": {
+ "type": "object",
+ "properties": {
+ "height": {
+ "type": "string",
+ "description": "The height of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
+ },
+ "left": {
+ "type": "string",
+ "description": "The number of pixels from the left-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
+ },
+ "top": {
+ "type": "string",
+ "description": "The number of pixels from the top-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
+ },
+ "width": {
+ "type": "string",
+ "description": "The width of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
+ }
+ },
+ "description": "Describes the properties of a rectangular window applied to the input media before processing it."
+ },
+ "StandardEncoderPreset": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.StandardEncoderPreset"
+ ]
+ },
+ "codecs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Codec"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of codecs to be used when encoding the input video."
+ },
+ "filters": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Filters"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding."
+ },
+ "formats": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Format"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of outputs to be produced by the encoder."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes all the settings to be used when encoding the input video with the Standard Encoder."
+ },
+ "StorageAccount": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the storage account resource. Media Services relies on tables and queues as well as blobs, so the primary storage account must be a Standard Storage account (either Microsoft.ClassicStorage or Microsoft.Storage). Blob only storage accounts can be added as secondary storage accounts."
+ },
+ "type": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Primary",
+ "Secondary"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The type of the storage account."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "The storage account details."
+ },
+ "StreamingEndpointAccessControl": {
+ "type": "object",
+ "properties": {
+ "akamai": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AkamaiAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Akamai access control"
+ },
+ "ip": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/IPAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP access control."
+ }
+ },
+ "description": "StreamingEndpoint access control definition."
+ },
+ "StreamingEndpointProperties": {
+ "type": "object",
+ "properties": {
+ "accessControl": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingEndpointAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "StreamingEndpoint access control definition."
+ },
+ "availabilitySetName": {
+ "type": "string",
+ "description": "AvailabilitySet name"
+ },
+ "cdnEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The CDN enabled flag."
+ },
+ "cdnProfile": {
+ "type": "string",
+ "description": "The CDN profile name."
+ },
+ "cdnProvider": {
+ "type": "string",
+ "description": "The CDN provider name."
+ },
+ "crossSiteAccessPolicies": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CrossSiteAccessPolicies"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The client access policy."
+ },
+ "customHostNames": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The custom host names of the StreamingEndpoint"
+ },
+ "description": {
+ "type": "string",
+ "description": "The StreamingEndpoint description."
+ },
+ "maxCacheAge": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Max cache age"
+ },
+ "scaleUnits": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of scale units."
+ }
+ },
+ "description": "The StreamingEndpoint properties."
+ },
+ "StreamingLocatorProperties": {
+ "type": "object",
+ "properties": {
+ "assetName": {
+ "type": "string",
+ "description": "Asset Name"
+ },
+ "contentKeys": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StreamingLocatorUserDefinedContentKey"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "ContentKeys used by this Streaming Locator"
+ },
+ "defaultContentKeyPolicyName": {
+ "type": "string",
+ "description": "Default ContentKeyPolicy used by this Streaming Locator"
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "EndTime of Streaming Locator"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "StartTime of Streaming Locator"
+ },
+ "streamingLocatorId": {
+ "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": "StreamingLocatorId of Streaming Locator"
+ },
+ "streamingPolicyName": {
+ "type": "string",
+ "description": "Streaming policy name used by this streaming locator. Either specify the name of streaming policy you created or use one of the predefined streaming polices. The predefined streaming policies available are: 'Predefined_DownloadOnly', 'Predefined_ClearStreamingOnly', 'Predefined_DownloadAndClearStreaming', 'Predefined_ClearKey', 'Predefined_SecureStreaming' and 'Predefined_SecureStreamingWithFairPlay'"
+ }
+ },
+ "required": [
+ "assetName",
+ "streamingPolicyName"
+ ],
+ "description": "Class to specify properties of Streaming Locator"
+ },
+ "StreamingLocatorUserDefinedContentKey": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "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": "ID of Content Key"
+ },
+ "label": {
+ "type": "string",
+ "description": "The Content Key description"
+ },
+ "value": {
+ "type": "string",
+ "description": "The Content Key secret"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "Describes the properties of a user-defined content key in the Streaming Locator"
+ },
+ "StreamingPolicyContentKey": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "Label can be used to specify Content Key when creating Streaming Locator"
+ },
+ "policyName": {
+ "type": "string",
+ "description": "Policy used by Content Key"
+ },
+ "tracks": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackSelection"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Tracks which use this content key"
+ }
+ },
+ "description": "Class to specify properties of content key"
+ },
+ "StreamingPolicyContentKeys": {
+ "type": "object",
+ "properties": {
+ "defaultKey": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DefaultKey"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of default content key for each encryption scheme"
+ },
+ "keyToTrackMappings": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StreamingPolicyContentKey"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Representing tracks needs separate content key"
+ }
+ },
+ "description": "Class to specify properties of all content keys in Streaming Policy"
+ },
+ "StreamingPolicyFairPlayConfiguration": {
+ "type": "object",
+ "properties": {
+ "allowPersistentLicense": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "All license to be persistent or not"
+ },
+ "customLicenseAcquisitionUrlTemplate": {
+ "type": "string",
+ "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys."
+ }
+ },
+ "required": [
+ "allowPersistentLicense"
+ ],
+ "description": "Class to specify configurations of FairPlay in Streaming Policy"
+ },
+ "StreamingPolicyPlayReadyConfiguration": {
+ "type": "object",
+ "properties": {
+ "customLicenseAcquisitionUrlTemplate": {
+ "type": "string",
+ "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys."
+ },
+ "playReadyCustomAttributes": {
+ "type": "string",
+ "description": "Custom attributes for PlayReady"
+ }
+ },
+ "description": "Class to specify configurations of PlayReady in Streaming Policy"
+ },
+ "StreamingPolicyProperties": {
+ "type": "object",
+ "properties": {
+ "commonEncryptionCbcs": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CommonEncryptionCbcs"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class for CommonEncryptionCbcs encryption scheme"
+ },
+ "commonEncryptionCenc": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CommonEncryptionCenc"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class for envelope encryption scheme"
+ },
+ "defaultContentKeyPolicyName": {
+ "type": "string",
+ "description": "Default ContentKey used by current Streaming Policy"
+ },
+ "envelopeEncryption": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnvelopeEncryption"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class for EnvelopeEncryption encryption scheme"
+ },
+ "noEncryption": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/NoEncryption"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class for NoEncryption scheme"
+ }
+ },
+ "description": "Class to specify properties of Streaming Policy"
+ },
+ "StreamingPolicyWidevineConfiguration": {
+ "type": "object",
+ "properties": {
+ "customLicenseAcquisitionUrlTemplate": {
+ "type": "string",
+ "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys."
+ }
+ },
+ "description": "Class to specify configurations of Widevine in Streaming Policy"
+ },
+ "TrackPropertyCondition": {
+ "type": "object",
+ "properties": {
+ "operation": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Equal"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Track property condition operation."
+ },
+ "property": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "FourCC"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Track property type."
+ },
+ "value": {
+ "type": "string",
+ "description": "Track property value"
+ }
+ },
+ "required": [
+ "operation",
+ "property"
+ ],
+ "description": "Class to specify one track property condition"
+ },
+ "TrackSelection": {
+ "type": "object",
+ "properties": {
+ "trackSelections": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackPropertyCondition"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "TrackSelections is a track property condition list which can specify track(s)"
+ }
+ },
+ "description": "Class to select a track"
+ },
+ "TransformOutput": {
+ "type": "object",
+ "properties": {
+ "onError": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "StopProcessingJob",
+ "ContinueJob"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A Transform can define more than one outputs. This property defines what the service should do when one output fails - either continue to produce other outputs, or, stop the other outputs. The default is stop."
+ },
+ "preset": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Preset"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base type for all Presets, which define the recipe or instructions on how the input media files should be processed."
+ },
+ "relativePriority": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Low",
+ "Normal",
+ "High"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Sets the relative priority of the TransformOutputs within a Transform. This sets the priority that the service uses for processing TransformOutputs. The default priority is Normal."
+ }
+ },
+ "required": [
+ "preset"
+ ],
+ "description": "Describes the properties of a TransformOutput, which are the rules to be applied while generating the desired output."
+ },
+ "TransformProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "An optional verbose description of the Transform."
+ },
+ "outputs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TransformOutput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "An array of one or more TransformOutputs that the Transform should generate."
+ }
+ },
+ "required": [
+ "outputs"
+ ],
+ "description": "A Transform."
+ },
+ "TransportStreamFormat": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.TransportStreamFormat"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for generating an MPEG-2 Transport Stream (ISO/IEC 13818-1) output video file(s)."
+ },
+ "Video": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Image"
+ },
+ {
+ "$ref": "#/definitions/H264Video"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Video"
+ ]
+ },
+ "keyFrameInterval": {
+ "type": "string",
+ "format": "duration",
+ "description": "The distance between two key frames, thereby defining a group of pictures (GOP). The value should be a non-zero integer in the range [1, 30] seconds, specified in ISO 8601 format. The default is 2 seconds (PT2S)."
+ },
+ "stretchMode": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "AutoSize",
+ "AutoFit"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the basic properties for encoding the input video."
+ },
+ "VideoAnalyzerPreset": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.VideoAnalyzerPreset"
+ ]
+ },
+ "audioInsightsOnly": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to only extract audio insights when processing a video file."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "A video analyzer preset that extracts insights (rich metadata) from both audio and video, and outputs a JSON format file."
+ },
+ "VideoOverlay": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.VideoOverlay"
+ ]
+ },
+ "cropRectangle": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Rectangle"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes the properties of a rectangular window applied to the input media before processing it."
+ },
+ "opacity": {
+ "oneOf": [
+ {
+ "type": "number"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The opacity of the overlay. This is a value in the range [0 - 1.0]. Default is 1.0 which mean the overlay is opaque."
+ },
+ "position": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Rectangle"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes the properties of a rectangular window applied to the input media before processing it."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties of a video overlay."
+ }
+ }
+}
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-preview/Microsoft.EventGrid.json b/schemas/2018-05-01-preview/Microsoft.EventGrid.json
index e839ddb622..da29e7fcca 100644
--- a/schemas/2018-05-01-preview/Microsoft.EventGrid.json
+++ b/schemas/2018-05-01-preview/Microsoft.EventGrid.json
@@ -637,4 +637,4 @@
"description": "Information about the webhook destination properties for an event subscription."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2018-05-01/subscriptionDeploymentTemplate.json b/schemas/2018-05-01/subscriptionDeploymentTemplate.json
index ad6a84d102..ddbd60c4e6 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"
},
diff --git a/schemas/2018-06-01-preview/Microsoft.Media.json b/schemas/2018-06-01-preview/Microsoft.Media.json
new file mode 100644
index 0000000000..0c2bd6e667
--- /dev/null
+++ b/schemas/2018-06-01-preview/Microsoft.Media.json
@@ -0,0 +1,4370 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.Media.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.Media",
+ "description": "Microsoft Media Resource Types",
+ "resourceDefinitions": {
+ "mediaservices": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Media Services account name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MediaServiceProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the Media Services account."
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/mediaServices_assets_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_contentKeyPolicies_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_transforms_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_streamingPolicies_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_streamingLocators_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaservices_liveEvents_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaservices_streamingEndpoints_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.Media/mediaservices"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices"
+ },
+ "mediaServices_assets": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Asset name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AssetProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Asset properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/assets"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/assets"
+ },
+ "mediaServices_contentKeyPolicies": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Content Key Policy name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The properties of the Content Key Policy."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/contentKeyPolicies"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/contentKeyPolicies"
+ },
+ "mediaservices_liveEvents": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Event."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event properties."
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/mediaservices_liveEvents_liveOutputs_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.Media/mediaservices/liveEvents"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents"
+ },
+ "mediaservices_liveEvents_liveOutputs": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Output."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveOutputProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The JSON object that contains the properties required to create a Live Output."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
+ },
+ "mediaservices_streamingEndpoints": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 24
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the StreamingEndpoint."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingEndpointProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The StreamingEndpoint 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.Media/mediaservices/streamingEndpoints"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/streamingEndpoints"
+ },
+ "mediaServices_streamingLocators": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Streaming Locator name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingLocatorProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of Streaming Locator"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/streamingLocators"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/streamingLocators"
+ },
+ "mediaServices_streamingPolicies": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Streaming Policy name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of Streaming Policy"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/streamingPolicies"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/streamingPolicies"
+ },
+ "mediaServices_transforms": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Transform name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/TransformProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A Transform."
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/mediaServices_transforms_jobs_childResource"
+ }
+ ]
+ }
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/transforms"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/transforms"
+ },
+ "mediaServices_transforms_jobs": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Job name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the Job."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/transforms/jobs"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/transforms/jobs"
+ }
+ },
+ "definitions": {
+ "AacAudio": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.AacAudio"
+ ]
+ },
+ "profile": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "AacLc",
+ "HeAacV1",
+ "HeAacV2"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The encoding profile to be used when encoding audio with AAC."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes Advanced Audio Codec (AAC) audio encoding settings."
+ },
+ "AkamaiAccessControl": {
+ "type": "object",
+ "properties": {
+ "akamaiSignatureHeaderAuthenticationKeyList": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AkamaiSignatureHeaderAuthenticationKey"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "authentication key list"
+ }
+ },
+ "description": "Akamai access control"
+ },
+ "AkamaiSignatureHeaderAuthenticationKey": {
+ "type": "object",
+ "properties": {
+ "base64Key": {
+ "type": "string",
+ "description": "authentication key"
+ },
+ "expiration": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The exact time the authentication key."
+ },
+ "identifier": {
+ "type": "string",
+ "description": "identifier of the key"
+ }
+ },
+ "description": "Akamai Signature Header authentication key."
+ },
+ "AssetProperties": {
+ "type": "object",
+ "properties": {
+ "alternateId": {
+ "type": "string",
+ "description": "The alternate ID of the Asset."
+ },
+ "container": {
+ "type": "string",
+ "description": "The name of the asset blob container."
+ },
+ "description": {
+ "type": "string",
+ "description": "The Asset description."
+ },
+ "storageAccountName": {
+ "type": "string",
+ "description": "The name of the storage account."
+ }
+ },
+ "description": "The Asset properties."
+ },
+ "Audio": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AacAudio"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Audio"
+ ]
+ },
+ "bitrate": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The bitrate, in bits per second, of the output encoded audio."
+ },
+ "channels": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of channels in the audio."
+ },
+ "samplingRate": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The sampling rate to use for encoding in hertz."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Defines the common properties for all audio codecs."
+ },
+ "AudioAnalyzerPreset": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VideoAnalyzerPreset"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.AudioAnalyzerPreset"
+ ]
+ },
+ "audioLanguage": {
+ "type": "string",
+ "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are, 'en-US', 'en-GB', 'es-ES', 'es-MX', 'fr-FR', 'it-IT', 'ja-JP', 'pt-BR', 'zh-CN'."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "The Audio Analyzer preset applies a pre-defined set of AI-based analysis operations, including speech transcription. Currently, the preset supports processing of content with a single audio track."
+ },
+ "AudioOverlay": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.AudioOverlay"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties of an audio overlay."
+ },
+ "BuiltInStandardEncoderPreset": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.BuiltInStandardEncoderPreset"
+ ]
+ },
+ "presetName": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "AdaptiveStreaming",
+ "AACGoodQualityAudio",
+ "H264MultipleBitrate1080p",
+ "H264MultipleBitrate720p",
+ "H264MultipleBitrateSD"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The built-in preset to be used for encoding videos."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "presetName"
+ ],
+ "description": "Describes a built-in preset for encoding the input video with the Standard Encoder."
+ },
+ "CbcsDrmConfiguration": {
+ "type": "object",
+ "properties": {
+ "fairPlay": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyFairPlayConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify configurations of FairPlay in Streaming Policy"
+ },
+ "playReady": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify configurations of PlayReady in Streaming Policy"
+ },
+ "widevine": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyWidevineConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify configurations of Widevine in Streaming Policy"
+ }
+ },
+ "description": "Class to specify DRM configurations of CommonEncryptionCbcs scheme in Streaming Policy"
+ },
+ "CencDrmConfiguration": {
+ "type": "object",
+ "properties": {
+ "playReady": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify configurations of PlayReady in Streaming Policy"
+ },
+ "widevine": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyWidevineConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify configurations of Widevine in Streaming Policy"
+ }
+ },
+ "description": "Class to specify DRM configurations of CommonEncryptionCenc scheme in Streaming Policy"
+ },
+ "Codec": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Audio"
+ },
+ {
+ "$ref": "#/definitions/CopyVideo"
+ },
+ {
+ "$ref": "#/definitions/Video"
+ },
+ {
+ "$ref": "#/definitions/CopyAudio"
+ }
+ ],
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "An optional label for the codec. The label can be used to control muxing behavior."
+ }
+ },
+ "description": "Describes the basic properties of all codecs."
+ },
+ "CommonEncryptionCbcs": {
+ "type": "object",
+ "properties": {
+ "clearTracks": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackSelection"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Representing which tracks should not be encrypted"
+ },
+ "contentKeys": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyContentKeys"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of all content keys in Streaming Policy"
+ },
+ "drm": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CbcsDrmConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify DRM configurations of CommonEncryptionCbcs scheme in Streaming Policy"
+ },
+ "enabledProtocols": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnabledProtocols"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify which protocols are enabled"
+ }
+ },
+ "description": "Class for CommonEncryptionCbcs encryption scheme"
+ },
+ "CommonEncryptionCenc": {
+ "type": "object",
+ "properties": {
+ "clearTracks": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackSelection"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Representing which tracks should not be encrypted"
+ },
+ "contentKeys": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyContentKeys"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of all content keys in Streaming Policy"
+ },
+ "drm": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CencDrmConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify DRM configurations of CommonEncryptionCenc scheme in Streaming Policy"
+ },
+ "enabledProtocols": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnabledProtocols"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify which protocols are enabled"
+ }
+ },
+ "description": "Class for envelope encryption scheme"
+ },
+ "ContentKeyPolicyClearKeyConfiguration": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents a configuration for non-DRM keys."
+ },
+ "ContentKeyPolicyConfiguration": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyClearKeyConfiguration"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyUnknownConfiguration"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyWidevineConfiguration"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyConfiguration"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyFairPlayConfiguration"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for Content Key Policy configuration. A derived class must be used to create a configuration."
+ },
+ "ContentKeyPolicyFairPlayConfiguration": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration"
+ ]
+ },
+ "ask": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The key that must be used as FairPlay ASk."
+ },
+ "fairPlayPfx": {
+ "type": "string",
+ "description": "The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key)."
+ },
+ "fairPlayPfxPassword": {
+ "type": "string",
+ "description": "The password encrypting FairPlay certificate in PKCS 12 (pfx) format."
+ },
+ "rentalAndLeaseKeyType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Undefined",
+ "PersistentUnlimited",
+ "PersistentLimited"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The rental and lease key type."
+ },
+ "rentalDuration": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The rental duration. Must be greater than or equal to 0."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "ask",
+ "fairPlayPfx",
+ "fairPlayPfxPassword",
+ "rentalAndLeaseKeyType",
+ "rentalDuration"
+ ],
+ "description": "Specifies a configuration for FairPlay licenses."
+ },
+ "ContentKeyPolicyOpenRestriction": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents an open restriction. License or key will be delivered on every request."
+ },
+ "ContentKeyPolicyOption": {
+ "type": "object",
+ "properties": {
+ "configuration": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for Content Key Policy configuration. A derived class must be used to create a configuration."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Policy Option description."
+ },
+ "restriction": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyRestriction"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for Content Key Policy restrictions. A derived class must be used to create a restriction."
+ }
+ },
+ "required": [
+ "configuration",
+ "restriction"
+ ],
+ "description": "Represents a policy option."
+ },
+ "ContentKeyPolicyPlayReadyConfiguration": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration"
+ ]
+ },
+ "licenses": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyLicense"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The PlayReady licenses."
+ },
+ "responseCustomData": {
+ "type": "string",
+ "description": "The custom response data."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "licenses"
+ ],
+ "description": "Specifies a configuration for PlayReady licenses."
+ },
+ "ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Specifies that the content key ID is in the PlayReady header."
+ },
+ "ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier"
+ ]
+ },
+ "keyId": {
+ "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 content key ID."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "keyId"
+ ],
+ "description": "Specifies that the content key ID is specified in the PlayReady configuration."
+ },
+ "ContentKeyPolicyPlayReadyContentKeyLocation": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for content key ID location. A derived class must be used to represent the location."
+ },
+ "ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction": {
+ "type": "object",
+ "properties": {
+ "bestEffort": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Indicates whether this restriction is enforced on a Best Effort basis."
+ },
+ "configurationData": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures the restriction control bits. Must be between 0 and 3 inclusive."
+ }
+ },
+ "required": [
+ "bestEffort",
+ "configurationData"
+ ],
+ "description": "Configures the Explicit Analog Television Output Restriction control bits. For further details see the PlayReady Compliance Rules."
+ },
+ "ContentKeyPolicyPlayReadyLicense": {
+ "type": "object",
+ "properties": {
+ "allowTestDevices": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A flag indicating whether test devices can use the license."
+ },
+ "beginDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The begin date of license"
+ },
+ "contentKeyLocation": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for content key ID location. A derived class must be used to represent the location."
+ },
+ "contentType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Unspecified",
+ "UltraVioletDownload",
+ "UltraVioletStreaming"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The PlayReady content type."
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The expiration date of license."
+ },
+ "gracePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The grace period of license."
+ },
+ "licenseType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "NonPersistent",
+ "Persistent"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The license type."
+ },
+ "playRight": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyPlayRight"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures the Play Right in the PlayReady license."
+ },
+ "relativeBeginDate": {
+ "type": "string",
+ "format": "duration",
+ "description": "The relative begin date of license."
+ },
+ "relativeExpirationDate": {
+ "type": "string",
+ "format": "duration",
+ "description": "The relative expiration date of license."
+ }
+ },
+ "required": [
+ "allowTestDevices",
+ "contentKeyLocation",
+ "contentType",
+ "licenseType"
+ ],
+ "description": "The PlayReady license"
+ },
+ "ContentKeyPolicyPlayReadyPlayRight": {
+ "type": "object",
+ "properties": {
+ "agcAndColorStripeRestriction": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive."
+ },
+ "allowPassingVideoContentToUnknownOutput": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "NotAllowed",
+ "Allowed",
+ "AllowedWithVideoConstriction"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures Unknown output handling settings of the license."
+ },
+ "analogVideoOpl": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the output protection level for compressed digital audio."
+ },
+ "compressedDigitalAudioOpl": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the output protection level for compressed digital audio."
+ },
+ "compressedDigitalVideoOpl": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the output protection level for compressed digital video."
+ },
+ "digitalVideoOnlyContentRestriction": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enables the Image Constraint For Analog Component Video Restriction in the license."
+ },
+ "explicitAnalogTelevisionOutputRestriction": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures the Explicit Analog Television Output Restriction control bits. For further details see the PlayReady Compliance Rules."
+ },
+ "firstPlayExpiration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The amount of time that the license is valid after the license is first used to play content."
+ },
+ "imageConstraintForAnalogComponentVideoRestriction": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enables the Image Constraint For Analog Component Video Restriction in the license."
+ },
+ "imageConstraintForAnalogComputerMonitorRestriction": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enables the Image Constraint For Analog Component Video Restriction in the license."
+ },
+ "scmsRestriction": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive."
+ },
+ "uncompressedDigitalAudioOpl": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the output protection level for uncompressed digital audio."
+ },
+ "uncompressedDigitalVideoOpl": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies the output protection level for uncompressed digital video."
+ }
+ },
+ "required": [
+ "allowPassingVideoContentToUnknownOutput",
+ "digitalVideoOnlyContentRestriction",
+ "imageConstraintForAnalogComponentVideoRestriction",
+ "imageConstraintForAnalogComputerMonitorRestriction"
+ ],
+ "description": "Configures the Play Right in the PlayReady license."
+ },
+ "ContentKeyPolicyProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for the Policy."
+ },
+ "options": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentKeyPolicyOption"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Key Policy options."
+ }
+ },
+ "required": [
+ "options"
+ ],
+ "description": "The properties of the Content Key Policy."
+ },
+ "ContentKeyPolicyRestriction": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyOpenRestriction"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyUnknownRestriction"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyTokenRestriction"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for Content Key Policy restrictions. A derived class must be used to create a restriction."
+ },
+ "ContentKeyPolicyRestrictionTokenKey": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicySymmetricTokenKey"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyRsaTokenKey"
+ },
+ {
+ "$ref": "#/definitions/ContentKeyPolicyX509CertificateTokenKey"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for Content Key Policy key for token validation. A derived class must be used to create a token key."
+ },
+ "ContentKeyPolicyRsaTokenKey": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyRsaTokenKey"
+ ]
+ },
+ "exponent": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The RSA Parameter exponent"
+ },
+ "modulus": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The RSA Parameter modulus"
+ }
+ },
+ "required": [
+ "@odata.type",
+ "exponent",
+ "modulus"
+ ],
+ "description": "Specifies a RSA key for token validation"
+ },
+ "ContentKeyPolicySymmetricTokenKey": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
+ ]
+ },
+ "keyValue": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The key value of the key"
+ }
+ },
+ "required": [
+ "@odata.type",
+ "keyValue"
+ ],
+ "description": "Specifies a symmetric key for token validation."
+ },
+ "ContentKeyPolicyTokenClaim": {
+ "type": "object",
+ "properties": {
+ "claimType": {
+ "type": "string",
+ "description": "Token claim type."
+ },
+ "claimValue": {
+ "type": "string",
+ "description": "Token claim value."
+ }
+ },
+ "description": "Represents a token claim."
+ },
+ "ContentKeyPolicyTokenRestriction": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
+ ]
+ },
+ "alternateVerificationKeys": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A list of alternative verification keys."
+ },
+ "audience": {
+ "type": "string",
+ "description": "The audience for the token."
+ },
+ "issuer": {
+ "type": "string",
+ "description": "The token issuer."
+ },
+ "openIdConnectDiscoveryDocument": {
+ "type": "string",
+ "description": "The OpenID connect discovery document."
+ },
+ "primaryVerificationKey": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for Content Key Policy key for token validation. A derived class must be used to create a token key."
+ },
+ "requiredClaims": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentKeyPolicyTokenClaim"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A list of required token claims."
+ },
+ "restrictionTokenType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Swt",
+ "Jwt"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The type of token."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "audience",
+ "issuer",
+ "primaryVerificationKey",
+ "restrictionTokenType"
+ ],
+ "description": "Represents a token restriction. Provided token must match these requirements for successful license or key delivery."
+ },
+ "ContentKeyPolicyUnknownConfiguration": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyUnknownConfiguration"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents a ContentKeyPolicyConfiguration that is unavailable in the current API version."
+ },
+ "ContentKeyPolicyUnknownRestriction": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyUnknownRestriction"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents a ContentKeyPolicyRestriction that is unavailable in the current API version."
+ },
+ "ContentKeyPolicyWidevineConfiguration": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration"
+ ]
+ },
+ "widevineTemplate": {
+ "type": "string",
+ "description": "The Widevine template."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "widevineTemplate"
+ ],
+ "description": "Specifies a configuration for Widevine licenses."
+ },
+ "ContentKeyPolicyX509CertificateTokenKey": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey"
+ ]
+ },
+ "rawBody": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET)"
+ }
+ },
+ "required": [
+ "@odata.type",
+ "rawBody"
+ ],
+ "description": "Specifies a certificate for token validation."
+ },
+ "CopyAudio": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.CopyAudio"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "A codec flag, which tells the encoder to copy the input audio bitstream."
+ },
+ "CopyVideo": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.CopyVideo"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "A codec flag, which tells the encoder to copy the input video bitstream without re-encoding."
+ },
+ "CrossSiteAccessPolicies": {
+ "type": "object",
+ "properties": {
+ "clientAccessPolicy": {
+ "type": "string",
+ "description": "The content of clientaccesspolicy.xml used by Silverlight."
+ },
+ "crossDomainPolicy": {
+ "type": "string",
+ "description": "The content of crossdomain.xml used by Silverlight."
+ }
+ },
+ "description": "The client access policy."
+ },
+ "DefaultKey": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "Label can be used to specify Content Key when creating a Streaming Locator"
+ },
+ "policyName": {
+ "type": "string",
+ "description": "Policy used by Default Key"
+ }
+ },
+ "description": "Class to specify properties of default content key for each encryption scheme"
+ },
+ "Deinterlace": {
+ "type": "object",
+ "properties": {
+ "mode": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Off",
+ "AutoPixelAdaptive"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The deinterlacing mode. Defaults to AutoPixelAdaptive."
+ },
+ "parity": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Auto",
+ "TopFieldFirst",
+ "BottomFieldFirst"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The field parity for de-interlacing, defaults to Auto."
+ }
+ },
+ "description": "Describes the de-interlacing settings."
+ },
+ "EnabledProtocols": {
+ "type": "object",
+ "properties": {
+ "dash": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enable DASH protocol or not"
+ },
+ "download": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enable Download protocol or not"
+ },
+ "hls": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enable HLS protocol or not"
+ },
+ "smoothStreaming": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Enable SmoothStreaming protocol or not"
+ }
+ },
+ "required": [
+ "dash",
+ "download",
+ "hls",
+ "smoothStreaming"
+ ],
+ "description": "Class to specify which protocols are enabled"
+ },
+ "EnvelopeEncryption": {
+ "type": "object",
+ "properties": {
+ "clearTracks": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackSelection"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Representing which tracks should not be encrypted"
+ },
+ "contentKeys": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyContentKeys"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of all content keys in Streaming Policy"
+ },
+ "customKeyAcquisitionUrlTemplate": {
+ "type": "string",
+ "description": "KeyAcquisitionUrlTemplate is used to point to user specified service to delivery content keys"
+ },
+ "enabledProtocols": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnabledProtocols"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify which protocols are enabled"
+ }
+ },
+ "description": "Class for EnvelopeEncryption encryption scheme"
+ },
+ "Filters": {
+ "type": "object",
+ "properties": {
+ "crop": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Rectangle"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes the properties of a rectangular window applied to the input media before processing it."
+ },
+ "deinterlace": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Deinterlace"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes the de-interlacing settings."
+ },
+ "overlays": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Overlay"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The properties of overlays to be applied to the input video. These could be audio, image or video overlays."
+ },
+ "rotation": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Auto",
+ "None",
+ "Rotate0",
+ "Rotate90",
+ "Rotate180",
+ "Rotate270"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The rotation, if any, to be applied to the input video, before it is encoded. Default is Auto."
+ }
+ },
+ "description": "Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding."
+ },
+ "Format": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ImageFormat"
+ },
+ {
+ "$ref": "#/definitions/MultiBitrateFormat"
+ }
+ ],
+ "properties": {
+ "filenamePattern": {
+ "type": "string",
+ "description": "The pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - The base name of the input video {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted macros will be collapsed and removed from the filename."
+ }
+ },
+ "description": "Base class for output."
+ },
+ "H264Layer": {
+ "type": "object",
+ "properties": {
+ "adaptiveBFrame": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether or not adaptive B-frames are to be used when encoding this layer. If not specified, the encoder will turn it on whenever the video profile permits its use."
+ },
+ "bFrames": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of B-frames to be used when encoding this layer. If not specified, the encoder chooses an appropriate number based on the video profile and level."
+ },
+ "bitrate": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The average bitrate in bits per second at which to encode the input video when generating this layer. This is a required field."
+ },
+ "bufferWindow": {
+ "type": "string",
+ "format": "duration",
+ "description": "The VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S)."
+ },
+ "entropyMode": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Cabac",
+ "Cavlc"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The entropy mode to be used for this layer. If not specified, the encoder chooses the mode that is appropriate for the profile and level."
+ },
+ "frameRate": {
+ "type": "string",
+ "description": "The frame rate (in frames per second) at which to encode this layer. The value can be in the form of M/N where M and N are integers (For example, 30000/1001), or in the form of a number (For example, 30, or 29.97). The encoder enforces constraints on allowed frame rates based on the profile and level. If it is not specified, the encoder will use the same frame rate as the input video."
+ },
+ "height": {
+ "type": "string",
+ "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input."
+ },
+ "label": {
+ "type": "string",
+ "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file."
+ },
+ "level": {
+ "type": "string",
+ "description": "Which level of the H.264 standard should be used when encoding this layer. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer."
+ },
+ "maxBitrate": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The maximum bitrate (in bits per second), at which the VBV buffer should be assumed to refill. If not specified, defaults to the same value as bitrate."
+ },
+ "profile": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Auto",
+ "Baseline",
+ "Main",
+ "High",
+ "High422",
+ "High444"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Which profile of the H.264 standard should be used when encoding this layer. Default is Auto."
+ },
+ "referenceFrames": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of reference frames to be used when encoding this layer. If not specified, the encoder determines an appropriate number based on the encoder complexity setting."
+ },
+ "slices": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of slices to be used when encoding this layer. If not specified, default is zero, which means that encoder will use a single slice for each frame."
+ },
+ "width": {
+ "type": "string",
+ "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
+ }
+ },
+ "description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer with the H.264 video codec."
+ },
+ "H264Video": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.H264Video"
+ ]
+ },
+ "complexity": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Speed",
+ "Balanced",
+ "Quality"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Tells the encoder how to choose its encoding settings. The default value is Balanced."
+ },
+ "layers": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/H264Layer"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The collection of output H.264 layers to be produced by the encoder."
+ },
+ "sceneChangeDetection": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to produce a single output video."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes all the properties for encoding a video with the H.264 codec."
+ },
+ "Hls": {
+ "type": "object",
+ "properties": {
+ "fragmentsPerTsSegment": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The amount of fragments per HTTP Live Streaming (HLS) segment."
+ }
+ },
+ "description": "The HLS configuration."
+ },
+ "Image": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JpgImage"
+ },
+ {
+ "$ref": "#/definitions/PngImage"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Image"
+ ]
+ },
+ "range": {
+ "type": "string",
+ "description": "The position in the input video at which to stop generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 to stop at the 300th frame), or a relative value (For example, 100%)."
+ },
+ "start": {
+ "type": "string",
+ "description": "The position in the input video from where to start generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), or a relative value (For example, 1%). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video."
+ },
+ "step": {
+ "type": "string",
+ "description": "The intervals at which thumbnails are generated. The value can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 seconds), or a frame count (For example, 30 for every 30 frames), or a relative value (For example, 1%)."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the basic properties for generating thumbnails from the input video"
+ },
+ "ImageFormat": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JpgFormat"
+ },
+ {
+ "$ref": "#/definitions/PngFormat"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ImageFormat"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for an output image file."
+ },
+ "IPAccessControl": {
+ "type": "object",
+ "properties": {
+ "allow": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPRange"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP allow list."
+ }
+ },
+ "description": "The IP access control."
+ },
+ "IPRange": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "The IP address."
+ },
+ "name": {
+ "type": "string",
+ "description": "The friendly name for the IP address range."
+ },
+ "subnetPrefixLength": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The subnet mask prefix length (see CIDR notation)."
+ }
+ },
+ "description": "The IP address range in the CIDR scheme."
+ },
+ "JobInput": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobInputClip"
+ },
+ {
+ "$ref": "#/definitions/JobInputs"
+ }
+ ],
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "A label that is assigned to a JobInput, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'."
+ }
+ },
+ "description": "Base class for inputs to a Job."
+ },
+ "JobInputAsset": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobInputAsset"
+ ]
+ },
+ "assetName": {
+ "type": "string",
+ "description": "The name of the input Asset."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "assetName"
+ ],
+ "description": "Represents an Asset for input into a Job."
+ },
+ "JobInputClip": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobInputAsset"
+ },
+ {
+ "$ref": "#/definitions/JobInputHttp"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobInputClip"
+ ]
+ },
+ "files": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of files. Required for JobInputHttp."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents input files for a Job."
+ },
+ "JobInputHttp": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobInputHttp"
+ ]
+ },
+ "baseUri": {
+ "type": "string",
+ "description": "Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Represents HTTPS job input."
+ },
+ "JobInputs": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobInputs"
+ ]
+ },
+ "inputs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobInput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "List of inputs to a Job."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes a list of inputs to a Job."
+ },
+ "JobOutput": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobOutputAsset"
+ }
+ ],
+ "properties": {},
+ "description": "Describes all the properties of a JobOutput."
+ },
+ "JobOutputAsset": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobOutputAsset"
+ ]
+ },
+ "assetName": {
+ "type": "string",
+ "description": "The name of the output Asset."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "assetName"
+ ],
+ "description": "Represents an Asset used as a JobOutput."
+ },
+ "JobProperties": {
+ "type": "object",
+ "properties": {
+ "correlationData": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Customer provided correlation data that will be returned in Job completed events."
+ },
+ "description": {
+ "type": "string",
+ "description": "Optional customer supplied description of the Job."
+ },
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for inputs to a Job."
+ },
+ "outputs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobOutput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The outputs for the Job."
+ },
+ "priority": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Low",
+ "Normal",
+ "High"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Priority with which the job should be processed. Higher priority jobs are processed before lower priority jobs. If not set, the default is normal."
+ }
+ },
+ "required": [
+ "input",
+ "outputs"
+ ],
+ "description": "Properties of the Job."
+ },
+ "JpgFormat": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JpgFormat"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the settings for producing JPEG thumbnails."
+ },
+ "JpgImage": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JpgImage"
+ ]
+ },
+ "layers": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JpgLayer"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A collection of output JPEG image layers to be produced by the encoder."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for producing a series of JPEG images from the input video."
+ },
+ "JpgLayer": {
+ "type": "object",
+ "properties": {
+ "height": {
+ "type": "string",
+ "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input."
+ },
+ "label": {
+ "type": "string",
+ "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file."
+ },
+ "quality": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The compression quality of the JPEG output. Range is from 0-100 and the default is 70."
+ },
+ "width": {
+ "type": "string",
+ "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
+ }
+ },
+ "description": "Describes the settings to produce a JPEG image from the input video."
+ },
+ "LiveEventEncoding": {
+ "type": "object",
+ "properties": {
+ "encodingType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "Basic"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The encoding type for Live Event."
+ },
+ "presetName": {
+ "type": "string",
+ "description": "The encoding preset name."
+ }
+ },
+ "description": "The Live Event encoding."
+ },
+ "LiveEventEndpoint": {
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "The endpoint protocol."
+ },
+ "url": {
+ "type": "string",
+ "description": "The endpoint URL."
+ }
+ },
+ "description": "The Live Event endpoint."
+ },
+ "LiveEventInput": {
+ "type": "object",
+ "properties": {
+ "accessToken": {
+ "type": "string",
+ "description": "The access token."
+ },
+ "endpoints": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LiveEventEndpoint"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The input endpoints for the Live Event."
+ },
+ "keyFrameIntervalDuration": {
+ "type": "string",
+ "description": "ISO 8601 timespan duration of the key frame interval duration."
+ },
+ "streamingProtocol": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "FragmentedMP4",
+ "RTMP"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The streaming protocol for the Live Event."
+ }
+ },
+ "required": [
+ "streamingProtocol"
+ ],
+ "description": "The Live Event input."
+ },
+ "LiveEventPreview": {
+ "type": "object",
+ "properties": {
+ "accessControl": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventPreviewAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP access control for Live Event preview."
+ },
+ "alternativeMediaId": {
+ "type": "string",
+ "description": "An Alternative Media Identifier associated with the preview url. This identifier can be used to distinguish the preview of different live events for authorization purposes in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field."
+ },
+ "endpoints": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LiveEventEndpoint"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The endpoints for preview."
+ },
+ "previewLocator": {
+ "type": "string",
+ "description": "The preview locator Guid."
+ },
+ "streamingPolicyName": {
+ "type": "string",
+ "description": "The name of streaming policy used for LiveEvent preview"
+ }
+ },
+ "description": "The Live Event preview."
+ },
+ "LiveEventPreviewAccessControl": {
+ "type": "object",
+ "properties": {
+ "ip": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/IPAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP access control."
+ }
+ },
+ "description": "The IP access control for Live Event preview."
+ },
+ "LiveEventProperties": {
+ "type": "object",
+ "properties": {
+ "crossSiteAccessPolicies": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CrossSiteAccessPolicies"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The client access policy."
+ },
+ "description": {
+ "type": "string",
+ "description": "The Live Event description."
+ },
+ "encoding": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventEncoding"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event encoding."
+ },
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event input."
+ },
+ "preview": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventPreview"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event preview."
+ },
+ "streamOptions": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Default",
+ "LowLatency"
+ ]
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The stream options."
+ },
+ "vanityUrl": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event vanity URL flag."
+ }
+ },
+ "required": [
+ "input"
+ ],
+ "description": "The Live Event properties."
+ },
+ "LiveOutputProperties": {
+ "type": "object",
+ "properties": {
+ "archiveWindowLength": {
+ "type": "string",
+ "format": "duration",
+ "description": "ISO 8601 timespan duration of the archive window length. This is duration that customer want to retain the recorded content."
+ },
+ "assetName": {
+ "type": "string",
+ "description": "The asset name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the Live Output."
+ },
+ "hls": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Hls"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The HLS configuration."
+ },
+ "manifestName": {
+ "type": "string",
+ "description": "The manifest file name."
+ },
+ "outputSnapTime": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The output snapshot time."
+ }
+ },
+ "required": [
+ "archiveWindowLength",
+ "assetName"
+ ],
+ "description": "The JSON object that contains the properties required to create a Live Output."
+ },
+ "MediaServiceProperties": {
+ "type": "object",
+ "properties": {
+ "storageAccounts": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The storage accounts for this resource."
+ }
+ },
+ "description": "Properties of the Media Services account."
+ },
+ "mediaServices_assets_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Asset name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AssetProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Asset properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "assets"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/assets"
+ },
+ "mediaServices_contentKeyPolicies_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Content Key Policy name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The properties of the Content Key Policy."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "contentKeyPolicies"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/contentKeyPolicies"
+ },
+ "mediaservices_liveEvents_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Event."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event 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": [
+ "liveEvents"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents"
+ },
+ "mediaservices_liveEvents_liveOutputs_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Output."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveOutputProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The JSON object that contains the properties required to create a Live Output."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "liveOutputs"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
+ },
+ "mediaservices_streamingEndpoints_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 24
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the StreamingEndpoint."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingEndpointProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The StreamingEndpoint 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": [
+ "streamingEndpoints"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/streamingEndpoints"
+ },
+ "mediaServices_streamingLocators_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Streaming Locator name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingLocatorProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of Streaming Locator"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "streamingLocators"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/streamingLocators"
+ },
+ "mediaServices_streamingPolicies_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Streaming Policy name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingPolicyProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of Streaming Policy"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "streamingPolicies"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/streamingPolicies"
+ },
+ "mediaServices_transforms_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Transform name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/TransformProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A Transform."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "transforms"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/transforms"
+ },
+ "mediaServices_transforms_jobs_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-06-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Job name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JobProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the Job."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "jobs"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/transforms/jobs"
+ },
+ "Mp4Format": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Mp4Format"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for an output ISO MP4 file."
+ },
+ "MultiBitrateFormat": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Mp4Format"
+ },
+ {
+ "$ref": "#/definitions/TransportStreamFormat"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.MultiBitrateFormat"
+ ]
+ },
+ "outputFiles": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutputFile"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of output files to produce. Each entry in the list is a set of audio and video layer labels to be muxed together ."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for producing a collection of GOP aligned multi-bitrate files. The default behavior is to produce one output file for each video layer which is muxed together with all the audios. The exact output files produced can be controlled by specifying the outputFiles collection."
+ },
+ "NoEncryption": {
+ "type": "object",
+ "properties": {
+ "enabledProtocols": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnabledProtocols"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify which protocols are enabled"
+ }
+ },
+ "description": "Class for NoEncryption scheme"
+ },
+ "OutputFile": {
+ "type": "object",
+ "properties": {
+ "labels": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of labels that describe how the encoder should multiplex video and audio into an output file. For example, if the encoder is producing two video layers with labels v1 and v2, and one audio layer with label a1, then an array like '[v1, a1]' tells the encoder to produce an output file with the video track represented by v1 and the audio track represented by a1."
+ }
+ },
+ "description": "Represents an output file produced."
+ },
+ "Overlay": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AudioOverlay"
+ },
+ {
+ "$ref": "#/definitions/VideoOverlay"
+ }
+ ],
+ "properties": {
+ "audioGainLevel": {
+ "oneOf": [
+ {
+ "type": "number"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The gain level of audio in the overlay. The value should be in the range [0, 1.0]. The default is 1.0."
+ },
+ "end": {
+ "type": "string",
+ "format": "duration",
+ "description": "The position in the input video at which the overlay ends. The value should be in ISO 8601 duration format. For example, PT30S to end the overlay at 30 seconds in to the input video. If not specified the overlay will be applied until the end of the input video if inputLoop is true. Else, if inputLoop is false, then overlay will last as long as the duration of the overlay media."
+ },
+ "fadeInDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade in (same as PT0S)."
+ },
+ "fadeOutDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration over which the overlay fades out of the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade out (same as PT0S)."
+ },
+ "inputLabel": {
+ "type": "string",
+ "description": "The label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG or PNG formats, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats."
+ },
+ "start": {
+ "type": "string",
+ "format": "duration",
+ "description": "The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds in to the input video. If not specified the overlay starts from the beginning of the input video."
+ }
+ },
+ "description": "Base type for all overlays - image, audio or video."
+ },
+ "PngFormat": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.PngFormat"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the settings for producing PNG thumbnails."
+ },
+ "PngImage": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.PngImage"
+ ]
+ },
+ "layers": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PngLayer"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A collection of output PNG image layers to be produced by the encoder."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for producing a series of PNG images from the input video."
+ },
+ "PngLayer": {
+ "type": "object",
+ "properties": {
+ "height": {
+ "type": "string",
+ "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input."
+ },
+ "label": {
+ "type": "string",
+ "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file."
+ },
+ "width": {
+ "type": "string",
+ "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
+ }
+ },
+ "description": "Describes the settings to produce a PNG image from the input video."
+ },
+ "Preset": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AudioAnalyzerPreset"
+ },
+ {
+ "$ref": "#/definitions/BuiltInStandardEncoderPreset"
+ },
+ {
+ "$ref": "#/definitions/StandardEncoderPreset"
+ }
+ ],
+ "properties": {},
+ "description": "Base type for all Presets, which define the recipe or instructions on how the input media files should be processed."
+ },
+ "Rectangle": {
+ "type": "object",
+ "properties": {
+ "height": {
+ "type": "string",
+ "description": "The height of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
+ },
+ "left": {
+ "type": "string",
+ "description": "The number of pixels from the left-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
+ },
+ "top": {
+ "type": "string",
+ "description": "The number of pixels from the top-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
+ },
+ "width": {
+ "type": "string",
+ "description": "The width of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
+ }
+ },
+ "description": "Describes the properties of a rectangular window applied to the input media before processing it."
+ },
+ "StandardEncoderPreset": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.StandardEncoderPreset"
+ ]
+ },
+ "codecs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Codec"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of codecs to be used when encoding the input video."
+ },
+ "filters": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Filters"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding."
+ },
+ "formats": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Format"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The list of outputs to be produced by the encoder."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes all the settings to be used when encoding the input video with the Standard Encoder."
+ },
+ "StorageAccount": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the storage account resource. Media Services relies on tables and queues as well as blobs, so the primary storage account must be a Standard Storage account (either Microsoft.ClassicStorage or Microsoft.Storage). Blob only storage accounts can be added as secondary storage accounts."
+ },
+ "type": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Primary",
+ "Secondary"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The type of the storage account."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "The storage account details."
+ },
+ "StreamingEndpointAccessControl": {
+ "type": "object",
+ "properties": {
+ "akamai": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AkamaiAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Akamai access control"
+ },
+ "ip": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/IPAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP access control."
+ }
+ },
+ "description": "StreamingEndpoint access control definition."
+ },
+ "StreamingEndpointProperties": {
+ "type": "object",
+ "properties": {
+ "accessControl": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingEndpointAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "StreamingEndpoint access control definition."
+ },
+ "availabilitySetName": {
+ "type": "string",
+ "description": "AvailabilitySet name"
+ },
+ "cdnEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The CDN enabled flag."
+ },
+ "cdnProfile": {
+ "type": "string",
+ "description": "The CDN profile name."
+ },
+ "cdnProvider": {
+ "type": "string",
+ "description": "The CDN provider name."
+ },
+ "crossSiteAccessPolicies": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CrossSiteAccessPolicies"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The client access policy."
+ },
+ "customHostNames": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The custom host names of the StreamingEndpoint"
+ },
+ "description": {
+ "type": "string",
+ "description": "The StreamingEndpoint description."
+ },
+ "maxCacheAge": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Max cache age"
+ },
+ "scaleUnits": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of scale units."
+ }
+ },
+ "description": "The StreamingEndpoint properties."
+ },
+ "StreamingLocatorContentKey": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "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": "ID of Content Key"
+ },
+ "label": {
+ "type": "string",
+ "description": "Label of Content Key"
+ },
+ "tracks": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackSelection"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Tracks which use this Content Key"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of Content Key"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "Class for content key in Streaming Locator"
+ },
+ "StreamingLocatorProperties": {
+ "type": "object",
+ "properties": {
+ "alternativeMediaId": {
+ "type": "string",
+ "description": "An Alternative Media Identifier associated with the StreamingLocator. This identifier can be used to distinguish different StreamingLocators for the same Asset for authorization purposes in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field."
+ },
+ "assetName": {
+ "type": "string",
+ "description": "Asset Name"
+ },
+ "contentKeys": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StreamingLocatorContentKey"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "ContentKeys used by this Streaming Locator"
+ },
+ "defaultContentKeyPolicyName": {
+ "type": "string",
+ "description": "Default ContentKeyPolicy used by this Streaming Locator"
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "EndTime of Streaming Locator"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "StartTime of Streaming Locator"
+ },
+ "streamingLocatorId": {
+ "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": "StreamingLocatorId of Streaming Locator"
+ },
+ "streamingPolicyName": {
+ "type": "string",
+ "description": "Streaming policy name used by this streaming locator. Either specify the name of streaming policy you created or use one of the predefined streaming polices. The predefined streaming policies available are: 'Predefined_DownloadOnly', 'Predefined_ClearStreamingOnly', 'Predefined_DownloadAndClearStreaming', 'Predefined_ClearKey', 'Predefined_SecureStreaming' and 'Predefined_SecureStreamingWithFairPlay'"
+ }
+ },
+ "required": [
+ "assetName",
+ "streamingPolicyName"
+ ],
+ "description": "Class to specify properties of Streaming Locator"
+ },
+ "StreamingPolicyContentKey": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "Label can be used to specify Content Key when creating a Streaming Locator"
+ },
+ "policyName": {
+ "type": "string",
+ "description": "Policy used by Content Key"
+ },
+ "tracks": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackSelection"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Tracks which use this content key"
+ }
+ },
+ "description": "Class to specify properties of content key"
+ },
+ "StreamingPolicyContentKeys": {
+ "type": "object",
+ "properties": {
+ "defaultKey": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/DefaultKey"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify properties of default content key for each encryption scheme"
+ },
+ "keyToTrackMappings": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StreamingPolicyContentKey"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Representing tracks needs separate content key"
+ }
+ },
+ "description": "Class to specify properties of all content keys in Streaming Policy"
+ },
+ "StreamingPolicyFairPlayConfiguration": {
+ "type": "object",
+ "properties": {
+ "allowPersistentLicense": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "All license to be persistent or not"
+ },
+ "customLicenseAcquisitionUrlTemplate": {
+ "type": "string",
+ "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys."
+ }
+ },
+ "required": [
+ "allowPersistentLicense"
+ ],
+ "description": "Class to specify configurations of FairPlay in Streaming Policy"
+ },
+ "StreamingPolicyPlayReadyConfiguration": {
+ "type": "object",
+ "properties": {
+ "customLicenseAcquisitionUrlTemplate": {
+ "type": "string",
+ "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys."
+ },
+ "playReadyCustomAttributes": {
+ "type": "string",
+ "description": "Custom attributes for PlayReady"
+ }
+ },
+ "description": "Class to specify configurations of PlayReady in Streaming Policy"
+ },
+ "StreamingPolicyProperties": {
+ "type": "object",
+ "properties": {
+ "commonEncryptionCbcs": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CommonEncryptionCbcs"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class for CommonEncryptionCbcs encryption scheme"
+ },
+ "commonEncryptionCenc": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CommonEncryptionCenc"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class for envelope encryption scheme"
+ },
+ "defaultContentKeyPolicyName": {
+ "type": "string",
+ "description": "Default ContentKey used by current Streaming Policy"
+ },
+ "envelopeEncryption": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnvelopeEncryption"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class for EnvelopeEncryption encryption scheme"
+ },
+ "noEncryption": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/NoEncryption"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class for NoEncryption scheme"
+ }
+ },
+ "description": "Class to specify properties of Streaming Policy"
+ },
+ "StreamingPolicyWidevineConfiguration": {
+ "type": "object",
+ "properties": {
+ "customLicenseAcquisitionUrlTemplate": {
+ "type": "string",
+ "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys."
+ }
+ },
+ "description": "Class to specify configurations of Widevine in Streaming Policy"
+ },
+ "TrackPropertyCondition": {
+ "type": "object",
+ "properties": {
+ "operation": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Equal"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Track property condition operation."
+ },
+ "property": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "FourCC"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Track property type."
+ },
+ "value": {
+ "type": "string",
+ "description": "Track property value"
+ }
+ },
+ "required": [
+ "operation",
+ "property"
+ ],
+ "description": "Class to specify one track property condition"
+ },
+ "TrackSelection": {
+ "type": "object",
+ "properties": {
+ "trackSelections": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackPropertyCondition"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "TrackSelections is a track property condition list which can specify track(s)"
+ }
+ },
+ "description": "Class to select a track"
+ },
+ "TransformOutput": {
+ "type": "object",
+ "properties": {
+ "onError": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "StopProcessingJob",
+ "ContinueJob"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "A Transform can define more than one outputs. This property defines what the service should do when one output fails - either continue to produce other outputs, or, stop the other outputs. The default is stop."
+ },
+ "preset": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Preset"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base type for all Presets, which define the recipe or instructions on how the input media files should be processed."
+ },
+ "relativePriority": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Low",
+ "Normal",
+ "High"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Sets the relative priority of the TransformOutputs within a Transform. This sets the priority that the service uses for processing TransformOutputs. The default priority is Normal."
+ }
+ },
+ "required": [
+ "preset"
+ ],
+ "description": "Describes the properties of a TransformOutput, which are the rules to be applied while generating the desired output."
+ },
+ "TransformProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "An optional verbose description of the Transform."
+ },
+ "outputs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TransformOutput"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "An array of one or more TransformOutputs that the Transform should generate."
+ }
+ },
+ "required": [
+ "outputs"
+ ],
+ "description": "A Transform."
+ },
+ "TransportStreamFormat": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.TransportStreamFormat"
+ ]
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties for generating an MPEG-2 Transport Stream (ISO/IEC 13818-1) output video file(s)."
+ },
+ "Video": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Image"
+ },
+ {
+ "$ref": "#/definitions/H264Video"
+ }
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Video"
+ ]
+ },
+ "keyFrameInterval": {
+ "type": "string",
+ "format": "duration",
+ "description": "The distance between two key frames, thereby defining a group of pictures (GOP). The value should be a non-zero integer in the range [1, 30] seconds, specified in ISO 8601 format. The default is 2 seconds (PT2S)."
+ },
+ "stretchMode": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "AutoSize",
+ "AutoFit"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the basic properties for encoding the input video."
+ },
+ "VideoAnalyzerPreset": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.VideoAnalyzerPreset"
+ ]
+ },
+ "audioInsightsOnly": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to only extract audio insights when processing a video file."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "A video analyzer preset that extracts insights (rich metadata) from both audio and video, and outputs a JSON format file."
+ },
+ "VideoOverlay": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.VideoOverlay"
+ ]
+ },
+ "cropRectangle": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Rectangle"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes the properties of a rectangular window applied to the input media before processing it."
+ },
+ "opacity": {
+ "oneOf": [
+ {
+ "type": "number"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The opacity of the overlay. This is a value in the range [0 - 1.0]. Default is 1.0 which mean the overlay is opaque."
+ },
+ "position": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Rectangle"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes the properties of a rectangular window applied to the input media before processing it."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes the properties of a video overlay."
+ }
+ }
+}
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-07-01/Microsoft.Media.json b/schemas/2018-07-01/Microsoft.Media.json
index 896a604ea1..78608f8c56 100644
--- a/schemas/2018-07-01/Microsoft.Media.json
+++ b/schemas/2018-07-01/Microsoft.Media.json
@@ -4,42 +4,23 @@
"title": "Microsoft.Media",
"description": "Microsoft Media Resource Types",
"resourceDefinitions": {
- "mediaServices": {
+ "mediaservices": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
- "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": "The Azure Region of the resource."
},
+ "name": {
+ "type": "string",
+ "description": "The Media Services account name."
+ },
"properties": {
"oneOf": [
{
@@ -49,48 +30,82 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The resource properties."
+ "description": "Properties of the Media Services account."
},
"resources": {
"type": "array",
"items": {
"oneOf": [
{
- "$ref": "#/definitions/mediaServices_streamingEndpoints_childResource"
+ "$ref": "#/definitions/mediaServices_accountFilters_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_assets_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_contentKeyPolicies_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_transforms_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaServices_streamingPolicies_childResource"
},
{
- "$ref": "#/definitions/mediaServices_liveEvents_childResource"
+ "$ref": "#/definitions/mediaServices_streamingLocators_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaservices_liveEvents_childResource"
+ },
+ {
+ "$ref": "#/definitions/mediaservices_streamingEndpoints_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.Media/mediaservices"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
- "description": "Microsoft.Media/mediaServices"
+ "description": "Microsoft.Media/mediaservices"
},
"mediaServices_accountFilters": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices/accountFilters"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
+ "name": {
+ "type": "string",
+ "description": "The Account Filter name"
+ },
"properties": {
"oneOf": [
{
@@ -99,35 +114,37 @@
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
+ ],
+ "description": "The Media Filter properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/accountFilters"
]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.Media/mediaServices/accountFilters"
},
"mediaServices_assets": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices/assets"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
+ "name": {
+ "type": "string",
+ "description": "The Asset name."
+ },
"properties": {
"oneOf": [
{
@@ -137,7 +154,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The resource properties."
+ "description": "The Asset properties."
},
"resources": {
"type": "array",
@@ -148,34 +165,35 @@
}
]
}
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/assets"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.Media/mediaServices/assets"
},
"mediaServices_assets_assetFilters": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices/assets/assetFilters"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
+ "name": {
+ "type": "string",
+ "description": "The Asset Filter name"
+ },
"properties": {
"oneOf": [
{
@@ -184,35 +202,37 @@
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
+ ],
+ "description": "The Media Filter properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/assets/assetFilters"
]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.Media/mediaServices/assets/assetFilters"
},
"mediaServices_contentKeyPolicies": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices/contentKeyPolicies"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
+ "name": {
+ "type": "string",
+ "description": "The Content Key Policy name."
+ },
"properties": {
"oneOf": [
{
@@ -221,61 +241,50 @@
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
+ ],
+ "description": "The properties of the Content Key Policy."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/contentKeyPolicies"
]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.Media/mediaServices/contentKeyPolicies"
},
- "mediaServices_liveEvents": {
+ "mediaservices_liveEvents": {
"type": "object",
"properties": {
- "name": {
- "oneOf": [
- {
- "type": "string",
- "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "The name of the Live Event."
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices/liveEvents"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
- "tags": {
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
"oneOf": [
{
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 32
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Resource tags."
- },
- "location": {
- "type": "string",
- "description": "The Azure Region of the resource."
+ "description": "The name of the Live Event."
},
"properties": {
"oneOf": [
@@ -293,28 +302,57 @@
"items": {
"oneOf": [
{
- "$ref": "#/definitions/mediaServices_liveEvents_liveOutputs_childResource"
+ "$ref": "#/definitions/mediaservices_liveEvents_liveOutputs_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.Media/mediaservices/liveEvents"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
- "description": "Microsoft.Media/mediaServices/liveEvents"
+ "description": "Microsoft.Media/mediaservices/liveEvents"
},
- "mediaServices_liveEvents_liveOutputs": {
+ "mediaservices_liveEvents_liveOutputs": {
"type": "object",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-01"
+ ]
+ },
"name": {
"oneOf": [
{
"type": "string",
- "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$"
+ "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 256
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
@@ -322,18 +360,6 @@
],
"description": "The name of the Live Output."
},
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices/liveEvents/liveOutputs"
- ]
- },
- "apiVersion": {
- "type": "string",
- "enum": [
- "2018-07-01"
- ]
- },
"properties": {
"oneOf": [
{
@@ -343,25 +369,43 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The Live Output properties."
+ "description": "The JSON object that contains the properties required to create a Live Output."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
- "description": "Microsoft.Media/mediaServices/liveEvents/liveOutputs"
+ "description": "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
},
- "mediaServices_streamingEndpoints": {
+ "mediaservices_streamingEndpoints": {
"type": "object",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-01"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
"name": {
"oneOf": [
{
"type": "string",
- "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$"
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 24
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
@@ -369,17 +413,16 @@
],
"description": "The name of the StreamingEndpoint."
},
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices/streamingEndpoints"
- ]
- },
- "apiVersion": {
- "type": "string",
- "enum": [
- "2018-07-01"
- ]
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingEndpointProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The StreamingEndpoint properties."
},
"tags": {
"oneOf": [
@@ -387,7 +430,8 @@
"type": "object",
"additionalProperties": {
"type": "string"
- }
+ },
+ "properties": {}
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
@@ -395,48 +439,34 @@
],
"description": "Resource tags."
},
- "location": {
+ "type": {
"type": "string",
- "description": "The Azure Region of the resource."
- },
- "properties": {
- "oneOf": [
- {
- "$ref": "#/definitions/StreamingEndpointProperties"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "The StreamingEndpoint properties."
+ "enum": [
+ "Microsoft.Media/mediaservices/streamingEndpoints"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
- "description": "Microsoft.Media/mediaServices/streamingEndpoints"
+ "description": "Microsoft.Media/mediaservices/streamingEndpoints"
},
"mediaServices_streamingLocators": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices/streamingLocators"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
+ "name": {
+ "type": "string",
+ "description": "The Streaming Locator name."
+ },
"properties": {
"oneOf": [
{
@@ -445,35 +475,37 @@
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
+ ],
+ "description": "Properties of the Streaming Locator."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/streamingLocators"
]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.Media/mediaServices/streamingLocators"
},
"mediaServices_streamingPolicies": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices/streamingPolicies"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
+ "name": {
+ "type": "string",
+ "description": "The Streaming Policy name."
+ },
"properties": {
"oneOf": [
{
@@ -482,35 +514,37 @@
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
+ ],
+ "description": "Class to specify properties of Streaming Policy"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/streamingPolicies"
]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.Media/mediaServices/streamingPolicies"
},
"mediaServices_transforms": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices/transforms"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
+ "name": {
+ "type": "string",
+ "description": "The Transform name."
+ },
"properties": {
"oneOf": [
{
@@ -520,7 +554,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The resource properties."
+ "description": "A Transform."
},
"resources": {
"type": "array",
@@ -531,34 +565,35 @@
}
]
}
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/transforms"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.Media/mediaServices/transforms"
},
"mediaServices_transforms_jobs": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.Media/mediaServices/transforms/jobs"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
+ "name": {
+ "type": "string",
+ "description": "The Job name."
+ },
"properties": {
"oneOf": [
{
@@ -568,14 +603,20 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The resource properties."
+ "description": "Properties of the Job."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/transforms/jobs"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.Media/mediaServices/transforms/jobs"
}
@@ -583,26 +624,13 @@
"definitions": {
"AacAudio": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.AacAudio"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.AacAudio"
+ ]
+ },
"profile": {
"oneOf": [
{
@@ -618,9 +646,6 @@
}
],
"description": "The encoding profile to be used when encoding audio with AAC."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
@@ -628,6 +653,27 @@
],
"description": "Describes Advanced Audio Codec (AAC) audio encoding settings."
},
+ "AbsoluteClipTime": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.AbsoluteClipTime"
+ ]
+ },
+ "time": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time position on the timeline of the input media. It is usually specified as an ISO8601 period. e.g PT30S for 30 seconds."
+ }
+ },
+ "required": [
+ "@odata.type",
+ "time"
+ ],
+ "description": "Specifies the clip time as an absolute time position in the media file. The absolute time can point to a different position depending on whether the media file starts from a timestamp of zero or not."
+ },
"AkamaiAccessControl": {
"type": "object",
"properties": {
@@ -651,10 +697,6 @@
"AkamaiSignatureHeaderAuthenticationKey": {
"type": "object",
"properties": {
- "identifier": {
- "type": "string",
- "description": "identifier of the key"
- },
"base64Key": {
"type": "string",
"description": "authentication key"
@@ -663,6 +705,10 @@
"type": "string",
"format": "date-time",
"description": "The expiration time of the authentication key."
+ },
+ "identifier": {
+ "type": "string",
+ "description": "identifier of the key"
}
},
"description": "Akamai Signature Header authentication key."
@@ -674,14 +720,14 @@
"type": "string",
"description": "The alternate ID of the Asset."
},
- "description": {
- "type": "string",
- "description": "The Asset description."
- },
"container": {
"type": "string",
"description": "The name of the asset blob container."
},
+ "description": {
+ "type": "string",
+ "description": "The Asset description."
+ },
"storageAccountName": {
"type": "string",
"description": "The name of the storage account."
@@ -693,47 +739,17 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.Audio"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/AacAudio"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.AacAudio"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/AacAudio"
}
],
"properties": {
- "channels": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Audio"
+ ]
+ },
+ "bitrate": {
"oneOf": [
{
"type": "integer"
@@ -742,9 +758,9 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The number of channels in the audio."
+ "description": "The bitrate, in bits per second, of the output encoded audio."
},
- "samplingRate": {
+ "channels": {
"oneOf": [
{
"type": "integer"
@@ -753,9 +769,9 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The sampling rate to use for encoding in hertz."
+ "description": "The number of channels in the audio."
},
- "bitrate": {
+ "samplingRate": {
"oneOf": [
{
"type": "integer"
@@ -764,10 +780,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The bitrate, in bits per second, of the output encoded audio."
- },
- "@odata.type": {
- "type": "string"
+ "description": "The sampling rate to use for encoding in hertz."
}
},
"required": [
@@ -779,52 +792,34 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.AudioAnalyzerPreset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/VideoAnalyzerPreset"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.VideoAnalyzerPreset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/VideoAnalyzerPreset"
}
],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.AudioAnalyzerPreset"
+ ]
+ },
"audioLanguage": {
"type": "string",
- "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are, 'en-US', 'en-GB', 'es-ES', 'es-MX', 'fr-FR', 'it-IT', 'ja-JP', 'pt-BR', 'zh-CN', 'de-DE', 'ar-EG', 'ru-RU', 'hi-IN'. If not specified, automatic language detection would be employed. This feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to English."
+ "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). If you know the language of your content, it is recommended that you specify it. If the language isn't specified or set to null, automatic language detection will choose the first language detected and process with the selected language for the duration of the file. It does not currently support dynamically switching between languages after the first language is detected. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to 'en-US'.\" The list of supported languages is available here: https://go.microsoft.com/fwlink/?linkid=2109463"
},
- "@odata.type": {
- "type": "string"
+ "experimentalOptions": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Dictionary containing key value pairs for parameters not exposed in the preset itself"
}
},
"required": [
@@ -834,28 +829,12 @@
},
"AudioOverlay": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.AudioOverlay"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.AudioOverlay"
+ ]
}
},
"required": [
@@ -865,26 +844,13 @@
},
"BuiltInStandardEncoderPreset": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.BuiltInStandardEncoderPreset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.BuiltInStandardEncoderPreset"
+ ]
+ },
"presetName": {
"oneOf": [
{
@@ -895,6 +861,8 @@
"H264SingleBitrate1080p",
"AdaptiveStreaming",
"AACGoodQualityAudio",
+ "ContentAwareEncodingExperimental",
+ "ContentAwareEncoding",
"H264MultipleBitrate1080p",
"H264MultipleBitrate720p",
"H264MultipleBitrateSD"
@@ -905,14 +873,11 @@
}
],
"description": "The built-in preset to be used for encoding videos."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
- "presetName",
- "@odata.type"
+ "@odata.type",
+ "presetName"
],
"description": "Describes a built-in preset for encoding the input video with the Standard Encoder."
},
@@ -928,7 +893,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "FairPlay configurations"
+ "description": "Class to specify configurations of FairPlay in Streaming Policy"
},
"playReady": {
"oneOf": [
@@ -939,7 +904,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "PlayReady configurations"
+ "description": "Class to specify configurations of PlayReady in Streaming Policy"
},
"widevine": {
"oneOf": [
@@ -950,7 +915,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Widevine configurations"
+ "description": "Class to specify configurations of Widevine in Streaming Policy"
}
},
"description": "Class to specify DRM configurations of CommonEncryptionCbcs scheme in Streaming Policy"
@@ -967,7 +932,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "PlayReady configurations"
+ "description": "Class to specify configurations of PlayReady in Streaming Policy"
},
"widevine": {
"oneOf": [
@@ -978,148 +943,48 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Widevine configurations"
+ "description": "Class to specify configurations of Widevine in Streaming Policy"
}
},
"description": "Class to specify DRM configurations of CommonEncryptionCenc scheme in Streaming Policy"
},
- "Codec": {
+ "ClipTime": {
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "Codec"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
+ "$ref": "#/definitions/AbsoluteClipTime"
+ }
+ ],
+ "properties": {},
+ "description": "Base class for specifying a clip time. Use sub classes of this class to specify the time position in the media."
+ },
+ "Codec": {
+ "type": "object",
+ "oneOf": [
{
- "allOf": [
- {
- "$ref": "#/definitions/Audio"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.Audio"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/Audio"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/CopyVideo"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.CopyVideo"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/CopyVideo"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/Video"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.Video"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/Video"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/CopyAudio"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.CopyAudio"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/CopyAudio"
}
],
"properties": {
"label": {
"type": "string",
"description": "An optional label for the codec. The label can be used to control muxing behavior."
- },
- "@odata.type": {
- "type": "string"
}
},
- "required": [
- "@odata.type"
- ],
"description": "Describes the basic properties of all codecs."
},
"CommonEncryptionCbcs": {
"type": "object",
"properties": {
- "enabledProtocols": {
- "oneOf": [
- {
- "$ref": "#/definitions/EnabledProtocols"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Representing supported protocols"
- },
"clearTracks": {
"oneOf": [
{
@@ -1143,7 +1008,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Representing default content key for each encryption scheme and separate content keys for specific tracks"
+ "description": "Class to specify properties of all content keys in Streaming Policy"
},
"drm": {
"oneOf": [
@@ -1154,14 +1019,8 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Configuration of DRMs for current encryption scheme"
- }
- },
- "description": "Class for CommonEncryptionCbcs encryption scheme"
- },
- "CommonEncryptionCenc": {
- "type": "object",
- "properties": {
+ "description": "Class to specify DRM configurations of CommonEncryptionCbcs scheme in Streaming Policy"
+ },
"enabledProtocols": {
"oneOf": [
{
@@ -1171,8 +1030,14 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Representing supported protocols"
- },
+ "description": "Class to specify which protocols are enabled"
+ }
+ },
+ "description": "Class for CommonEncryptionCbcs encryption scheme"
+ },
+ "CommonEncryptionCenc": {
+ "type": "object",
+ "properties": {
"clearTracks": {
"oneOf": [
{
@@ -1196,7 +1061,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Representing default content key for each encryption scheme and separate content keys for specific tracks"
+ "description": "Class to specify properties of all content keys in Streaming Policy"
},
"drm": {
"oneOf": [
@@ -1207,35 +1072,30 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Configuration of DRMs for CommonEncryptionCenc encryption scheme"
+ "description": "Class to specify DRM configurations of CommonEncryptionCenc scheme in Streaming Policy"
+ },
+ "enabledProtocols": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnabledProtocols"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify which protocols are enabled"
}
},
"description": "Class for envelope encryption scheme"
},
"ContentKeyPolicyClearKeyConfiguration": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
+ ]
}
},
"required": [
@@ -1247,176 +1107,62 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "ContentKeyPolicyConfiguration"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyClearKeyConfiguration"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/ContentKeyPolicyClearKeyConfiguration"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyUnknownConfiguration"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyUnknownConfiguration"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/ContentKeyPolicyUnknownConfiguration"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyWidevineConfiguration"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/ContentKeyPolicyWidevineConfiguration"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyPlayReadyConfiguration"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyConfiguration"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyFairPlayConfiguration"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
- "properties": {
- "@odata.type": {
- "type": "string"
+ "$ref": "#/definitions/ContentKeyPolicyFairPlayConfiguration"
}
- },
- "required": [
- "@odata.type"
],
+ "properties": {},
"description": "Base class for Content Key Policy configuration. A derived class must be used to create a configuration."
},
"ContentKeyPolicyFairPlayConfiguration": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
- "ask": {
+ "@odata.type": {
"type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration"
+ ]
+ },
+ "ask": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
"description": "The key that must be used as FairPlay Application Secret key."
},
+ "fairPlayPfx": {
+ "type": "string",
+ "description": "The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key)."
+ },
"fairPlayPfxPassword": {
"type": "string",
"description": "The password encrypting FairPlay certificate in PKCS 12 (pfx) format."
},
- "fairPlayPfx": {
- "type": "string",
- "description": "The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key)."
+ "offlineRentalConfiguration": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ContentKeyPolicyFairPlayOfflineRentalConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
},
"rentalAndLeaseKeyType": {
"oneOf": [
@@ -1425,6 +1171,7 @@
"enum": [
"Unknown",
"Undefined",
+ "DualExpiry",
"PersistentUnlimited",
"PersistentLimited"
]
@@ -1445,45 +1192,57 @@
}
],
"description": "The rental duration. Must be greater than or equal to 0."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
+ "@odata.type",
"ask",
- "fairPlayPfxPassword",
"fairPlayPfx",
+ "fairPlayPfxPassword",
"rentalAndLeaseKeyType",
- "rentalDuration",
- "@odata.type"
+ "rentalDuration"
],
"description": "Specifies a configuration for FairPlay licenses."
},
- "ContentKeyPolicyOpenRestriction": {
+ "ContentKeyPolicyFairPlayOfflineRentalConfiguration": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
+ "properties": {
+ "playbackDurationSeconds": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
- }
+ ],
+ "description": "Playback duration"
+ },
+ "storageDurationSeconds": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Storage duration"
}
- ],
+ },
+ "required": [
+ "playbackDurationSeconds",
+ "storageDurationSeconds"
+ ]
+ },
+ "ContentKeyPolicyOpenRestriction": {
+ "type": "object",
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
+ ]
}
},
"required": [
@@ -1494,10 +1253,6 @@
"ContentKeyPolicyOption": {
"type": "object",
"properties": {
- "name": {
- "type": "string",
- "description": "The Policy Option description."
- },
"configuration": {
"oneOf": [
{
@@ -1507,7 +1262,11 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The key delivery configuration."
+ "description": "Base class for Content Key Policy configuration. A derived class must be used to create a configuration."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Policy Option description."
},
"restriction": {
"oneOf": [
@@ -1518,7 +1277,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The requirements that must be met to deliver keys with this configuration"
+ "description": "Base class for Content Key Policy restrictions. A derived class must be used to create a restriction."
}
},
"required": [
@@ -1529,26 +1288,13 @@
},
"ContentKeyPolicyPlayReadyConfiguration": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration"
+ ]
+ },
"licenses": {
"oneOf": [
{
@@ -1566,41 +1312,22 @@
"responseCustomData": {
"type": "string",
"description": "The custom response data."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
- "licenses",
- "@odata.type"
+ "@odata.type",
+ "licenses"
],
"description": "Specifies a configuration for PlayReady licenses."
},
"ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
+ ]
}
},
"required": [
@@ -1610,26 +1337,13 @@
},
"ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier"
+ ]
+ },
"keyId": {
"oneOf": [
{
@@ -1641,14 +1355,11 @@
}
],
"description": "The content key ID."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
- "keyId",
- "@odata.type"
+ "@odata.type",
+ "keyId"
],
"description": "Specifies that the content key ID is specified in the PlayReady configuration."
},
@@ -1656,75 +1367,13 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "ContentKeyPolicyPlayReadyContentKeyLocation"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
- "properties": {
- "@odata.type": {
- "type": "string"
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier"
}
- },
- "required": [
- "@odata.type"
],
+ "properties": {},
"description": "Base class for content key ID location. A derived class must be used to represent the location."
},
"ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction": {
@@ -1778,95 +1427,94 @@
"format": "date-time",
"description": "The begin date of license"
},
- "expirationDate": {
- "type": "string",
- "format": "date-time",
- "description": "The expiration date of license."
- },
- "relativeBeginDate": {
- "type": "string",
- "description": "The relative begin date of license."
- },
- "relativeExpirationDate": {
- "type": "string",
- "description": "The relative expiration date of license."
- },
- "gracePeriod": {
- "type": "string",
- "description": "The grace period of license."
- },
- "playRight": {
+ "contentKeyLocation": {
"oneOf": [
{
- "$ref": "#/definitions/ContentKeyPolicyPlayReadyPlayRight"
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The license PlayRight"
+ "description": "Base class for content key ID location. A derived class must be used to represent the location."
},
- "licenseType": {
+ "contentType": {
"oneOf": [
{
"type": "string",
"enum": [
"Unknown",
- "NonPersistent",
- "Persistent"
+ "Unspecified",
+ "UltraVioletDownload",
+ "UltraVioletStreaming"
]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The license type."
+ "description": "The PlayReady content type."
},
- "contentKeyLocation": {
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The expiration date of license."
+ },
+ "gracePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The grace period of license."
+ },
+ "licenseType": {
"oneOf": [
{
- "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation"
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "NonPersistent",
+ "Persistent"
+ ]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The content key location."
+ "description": "The license type."
},
- "contentType": {
+ "playRight": {
"oneOf": [
{
- "type": "string",
- "enum": [
- "Unknown",
- "Unspecified",
- "UltraVioletDownload",
- "UltraVioletStreaming"
- ]
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyPlayRight"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The PlayReady content type."
- }
+ "description": "Configures the Play Right in the PlayReady license."
+ },
+ "relativeBeginDate": {
+ "type": "string",
+ "format": "duration",
+ "description": "The relative begin date of license."
+ },
+ "relativeExpirationDate": {
+ "type": "string",
+ "format": "duration",
+ "description": "The relative expiration date of license."
+ }
},
"required": [
"allowTestDevices",
- "licenseType",
"contentKeyLocation",
- "contentType"
+ "contentType",
+ "licenseType"
],
"description": "The PlayReady license"
},
"ContentKeyPolicyPlayReadyPlayRight": {
"type": "object",
"properties": {
- "firstPlayExpiration": {
- "type": "string",
- "description": "The amount of time that the license is valid after the license is first used to play content."
- },
- "scmsRestriction": {
+ "agcAndColorStripeRestriction": {
"oneOf": [
{
"type": "integer"
@@ -1875,53 +1523,59 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive."
+ "description": "Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive."
},
- "agcAndColorStripeRestriction": {
+ "allowPassingVideoContentToUnknownOutput": {
"oneOf": [
{
- "type": "integer"
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "NotAllowed",
+ "Allowed",
+ "AllowedWithVideoConstriction"
+ ]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive."
+ "description": "Configures Unknown output handling settings of the license."
},
- "explicitAnalogTelevisionOutputRestriction": {
+ "analogVideoOpl": {
"oneOf": [
{
- "$ref": "#/definitions/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction"
+ "type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Configures the Explicit Analog Television Output Restriction in the license. Configuration data must be between 0 and 3 inclusive."
+ "description": "Specifies the output protection level for compressed digital audio."
},
- "digitalVideoOnlyContentRestriction": {
+ "compressedDigitalAudioOpl": {
"oneOf": [
{
- "type": "boolean"
+ "type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Enables the Image Constraint For Analog Component Video Restriction in the license."
+ "description": "Specifies the output protection level for compressed digital audio."
},
- "imageConstraintForAnalogComponentVideoRestriction": {
+ "compressedDigitalVideoOpl": {
"oneOf": [
{
- "type": "boolean"
+ "type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Enables the Image Constraint For Analog Component Video Restriction in the license."
+ "description": "Specifies the output protection level for compressed digital video."
},
- "imageConstraintForAnalogComputerMonitorRestriction": {
+ "digitalVideoOnlyContentRestriction": {
"oneOf": [
{
"type": "boolean"
@@ -1932,46 +1586,45 @@
],
"description": "Enables the Image Constraint For Analog Component Video Restriction in the license."
},
- "allowPassingVideoContentToUnknownOutput": {
+ "explicitAnalogTelevisionOutputRestriction": {
"oneOf": [
{
- "type": "string",
- "enum": [
- "Unknown",
- "NotAllowed",
- "Allowed",
- "AllowedWithVideoConstriction"
- ]
+ "$ref": "#/definitions/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Configures Unknown output handling settings of the license."
+ "description": "Configures the Explicit Analog Television Output Restriction control bits. For further details see the PlayReady Compliance Rules."
},
- "uncompressedDigitalVideoOpl": {
+ "firstPlayExpiration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The amount of time that the license is valid after the license is first used to play content."
+ },
+ "imageConstraintForAnalogComponentVideoRestriction": {
"oneOf": [
{
- "type": "integer"
+ "type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Specifies the output protection level for uncompressed digital video."
+ "description": "Enables the Image Constraint For Analog Component Video Restriction in the license."
},
- "compressedDigitalVideoOpl": {
+ "imageConstraintForAnalogComputerMonitorRestriction": {
"oneOf": [
{
- "type": "integer"
+ "type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Specifies the output protection level for compressed digital video."
+ "description": "Enables the Image Constraint For Analog Component Video Restriction in the license."
},
- "analogVideoOpl": {
+ "scmsRestriction": {
"oneOf": [
{
"type": "integer"
@@ -1980,9 +1633,9 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Specifies the output protection level for compressed digital audio."
+ "description": "Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive."
},
- "compressedDigitalAudioOpl": {
+ "uncompressedDigitalAudioOpl": {
"oneOf": [
{
"type": "integer"
@@ -1991,9 +1644,9 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Specifies the output protection level for compressed digital audio."
+ "description": "Specifies the output protection level for uncompressed digital audio."
},
- "uncompressedDigitalAudioOpl": {
+ "uncompressedDigitalVideoOpl": {
"oneOf": [
{
"type": "integer"
@@ -2002,14 +1655,14 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Specifies the output protection level for uncompressed digital audio."
+ "description": "Specifies the output protection level for uncompressed digital video."
}
},
"required": [
+ "allowPassingVideoContentToUnknownOutput",
"digitalVideoOnlyContentRestriction",
"imageConstraintForAnalogComponentVideoRestriction",
- "imageConstraintForAnalogComputerMonitorRestriction",
- "allowPassingVideoContentToUnknownOutput"
+ "imageConstraintForAnalogComputerMonitorRestriction"
],
"description": "Configures the Play Right in the PlayReady license."
},
@@ -2044,264 +1697,100 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "ContentKeyPolicyRestriction"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyOpenRestriction"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/ContentKeyPolicyOpenRestriction"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyUnknownRestriction"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyUnknownRestriction"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/ContentKeyPolicyUnknownRestriction"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyTokenRestriction"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
- "properties": {
- "@odata.type": {
- "type": "string"
+ "$ref": "#/definitions/ContentKeyPolicyTokenRestriction"
}
- },
- "required": [
- "@odata.type"
],
+ "properties": {},
"description": "Base class for Content Key Policy restrictions. A derived class must be used to create a restriction."
},
"ContentKeyPolicyRestrictionTokenKey": {
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "ContentKeyPolicyRestrictionTokenKey"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicySymmetricTokenKey"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/ContentKeyPolicySymmetricTokenKey"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyRsaTokenKey"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyRsaTokenKey"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/ContentKeyPolicyRsaTokenKey"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/ContentKeyPolicyX509CertificateTokenKey"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
- "properties": {
- "@odata.type": {
- "type": "string"
+ "$ref": "#/definitions/ContentKeyPolicyX509CertificateTokenKey"
}
- },
- "required": [
- "@odata.type"
],
+ "properties": {},
"description": "Base class for Content Key Policy key for token validation. A derived class must be used to create a token key."
},
"ContentKeyPolicyRsaTokenKey": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyRsaTokenKey"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
- "exponent": {
+ "@odata.type": {
"type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyRsaTokenKey"
+ ]
+ },
+ "exponent": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
"description": "The RSA Parameter exponent"
},
"modulus": {
- "type": "string",
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
"description": "The RSA Parameter modulus"
}
},
"required": [
+ "@odata.type",
"exponent",
- "modulus",
- "@odata.type"
+ "modulus"
],
"description": "Specifies a RSA key for token validation"
},
"ContentKeyPolicySymmetricTokenKey": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
- "keyValue": {
+ "@odata.type": {
"type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
+ ]
+ },
+ "keyValue": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
"description": "The key value of the key"
}
},
"required": [
- "keyValue",
- "@odata.type"
+ "@odata.type",
+ "keyValue"
],
"description": "Specifies a symmetric key for token validation."
},
@@ -2321,58 +1810,49 @@
},
"ContentKeyPolicyTokenRestriction": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
- "issuer": {
- "type": "string",
- "description": "The token issuer."
- },
- "audience": {
+ "@odata.type": {
"type": "string",
- "description": "The audience for the token."
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
+ ]
},
- "primaryVerificationKey": {
+ "alternateVerificationKeys": {
"oneOf": [
{
- "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey"
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey"
+ }
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The primary verification key."
+ "description": "A list of alternative verification keys."
},
- "alternateVerificationKeys": {
+ "audience": {
+ "type": "string",
+ "description": "The audience for the token."
+ },
+ "issuer": {
+ "type": "string",
+ "description": "The token issuer."
+ },
+ "openIdConnectDiscoveryDocument": {
+ "type": "string",
+ "description": "The OpenID connect discovery document."
+ },
+ "primaryVerificationKey": {
"oneOf": [
{
- "type": "array",
- "items": {
- "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey"
- }
+ "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "A list of alternative verification keys."
+ "description": "Base class for Content Key Policy key for token validation. A derived class must be used to create a token key."
},
"requiredClaims": {
"oneOf": [
@@ -2403,48 +1883,25 @@
}
],
"description": "The type of token."
- },
- "openIdConnectDiscoveryDocument": {
- "type": "string",
- "description": "The OpenID connect discovery document."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
- "issuer",
+ "@odata.type",
"audience",
+ "issuer",
"primaryVerificationKey",
- "restrictionTokenType",
- "@odata.type"
+ "restrictionTokenType"
],
"description": "Represents a token restriction. Provided token must match these requirements for successful license or key delivery."
},
"ContentKeyPolicyUnknownConfiguration": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyUnknownConfiguration"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyUnknownConfiguration"
+ ]
}
},
"required": [
@@ -2454,28 +1911,12 @@
},
"ContentKeyPolicyUnknownRestriction": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyUnknownRestriction"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyUnknownRestriction"
+ ]
}
},
"required": [
@@ -2485,97 +1926,60 @@
},
"ContentKeyPolicyWidevineConfiguration": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration"
+ ]
+ },
"widevineTemplate": {
"type": "string",
"description": "The Widevine template."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
- "widevineTemplate",
- "@odata.type"
+ "@odata.type",
+ "widevineTemplate"
],
"description": "Specifies a configuration for Widevine licenses."
},
"ContentKeyPolicyX509CertificateTokenKey": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
- "rawBody": {
+ "@odata.type": {
"type": "string",
+ "enum": [
+ "#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey"
+ ]
+ },
+ "rawBody": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
"description": "The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET)"
}
},
"required": [
- "rawBody",
- "@odata.type"
+ "@odata.type",
+ "rawBody"
],
"description": "Specifies a certificate for token validation."
},
"CopyAudio": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.CopyAudio"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.CopyAudio"
+ ]
}
},
"required": [
@@ -2585,28 +1989,12 @@
},
"CopyVideo": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.CopyVideo"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.CopyVideo"
+ ]
}
},
"required": [
@@ -2645,36 +2033,36 @@
"Deinterlace": {
"type": "object",
"properties": {
- "parity": {
+ "mode": {
"oneOf": [
{
"type": "string",
"enum": [
- "Auto",
- "TopFieldFirst",
- "BottomFieldFirst"
+ "Off",
+ "AutoPixelAdaptive"
]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The field parity for de-interlacing, defaults to Auto."
+ "description": "The deinterlacing mode. Defaults to AutoPixelAdaptive."
},
- "mode": {
+ "parity": {
"oneOf": [
{
"type": "string",
"enum": [
- "Off",
- "AutoPixelAdaptive"
+ "Auto",
+ "TopFieldFirst",
+ "BottomFieldFirst"
]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The deinterlacing mode. Defaults to AutoPixelAdaptive."
+ "description": "The field parity for de-interlacing, defaults to Auto."
}
},
"description": "Describes the de-interlacing settings."
@@ -2682,7 +2070,7 @@
"EnabledProtocols": {
"type": "object",
"properties": {
- "download": {
+ "dash": {
"oneOf": [
{
"type": "boolean"
@@ -2691,9 +2079,9 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Enable Download protocol or not"
+ "description": "Enable DASH protocol or not"
},
- "dash": {
+ "download": {
"oneOf": [
{
"type": "boolean"
@@ -2702,7 +2090,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Enable DASH protocol or not"
+ "description": "Enable Download protocol or not"
},
"hls": {
"oneOf": [
@@ -2728,8 +2116,8 @@
}
},
"required": [
- "download",
"dash",
+ "download",
"hls",
"smoothStreaming"
],
@@ -2738,17 +2126,6 @@
"EnvelopeEncryption": {
"type": "object",
"properties": {
- "enabledProtocols": {
- "oneOf": [
- {
- "$ref": "#/definitions/EnabledProtocols"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Representing supported protocols"
- },
"clearTracks": {
"oneOf": [
{
@@ -2772,48 +2149,74 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Representing default content key for each encryption scheme and separate content keys for specific tracks"
+ "description": "Class to specify properties of all content keys in Streaming Policy"
},
"customKeyAcquisitionUrlTemplate": {
"type": "string",
- "description": "KeyAcquistionUrlTemplate is used to point to user specified service to delivery content keys"
+ "description": "Template for the URL of the custom service delivering keys to end user players. Not required when using Azure Media Services for issuing keys. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested."
+ },
+ "enabledProtocols": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/EnabledProtocols"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class to specify which protocols are enabled"
}
},
"description": "Class for EnvelopeEncryption encryption scheme"
},
- "Filters": {
+ "FaceDetectorPreset": {
"type": "object",
"properties": {
- "deinterlace": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.FaceDetectorPreset"
+ ]
+ },
+ "experimentalOptions": {
"oneOf": [
{
- "$ref": "#/definitions/Deinterlace"
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The de-interlacing settings."
+ "description": "Dictionary containing key value pairs for parameters not exposed in the preset itself"
},
- "rotation": {
+ "resolution": {
"oneOf": [
{
"type": "string",
"enum": [
- "Auto",
- "None",
- "Rotate0",
- "Rotate90",
- "Rotate180",
- "Rotate270"
+ "SourceResolution",
+ "StandardDefinition"
]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The rotation, if any, to be applied to the input video, before it is encoded. Default is Auto."
- },
+ "description": "Specifies the maximum resolution at which your video is analyzed. The default behavior is \"SourceResolution,\" which will keep the input video at its original resolution when analyzed. Using \"StandardDefinition\" will resize input videos to standard definition while preserving the appropriate aspect ratio. It will only resize if the video is of higher resolution. For example, a 1920x1080 input would be scaled to 640x360 before processing. Switching to \"StandardDefinition\" will reduce the time it takes to process high resolution video. It may also reduce the cost of using this component (see https://azure.microsoft.com/en-us/pricing/details/media-services/#analytics for details). However, faces that end up being too small in the resized video may not be detected."
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Describes all the settings to be used when analyzing a video in order to detect all the faces present."
+ },
+ "Filters": {
+ "type": "object",
+ "properties": {
"crop": {
"oneOf": [
{
@@ -2823,7 +2226,18 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The parameters for the rectangular window with which to crop the input video."
+ "description": "Describes the properties of a rectangular window applied to the input media before processing it."
+ },
+ "deinterlace": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Deinterlace"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes the de-interlacing settings."
},
"overlays": {
"oneOf": [
@@ -2838,6 +2252,25 @@
}
],
"description": "The properties of overlays to be applied to the input video. These could be audio, image or video overlays."
+ },
+ "rotation": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Auto",
+ "None",
+ "Rotate0",
+ "Rotate90",
+ "Rotate180",
+ "Rotate270"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The rotation, if any, to be applied to the input video, before it is encoded. Default is Auto."
}
},
"description": "Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding."
@@ -2845,49 +2278,49 @@
"FilterTrackPropertyCondition": {
"type": "object",
"properties": {
- "property": {
+ "operation": {
"oneOf": [
{
"type": "string",
"enum": [
- "Unknown",
- "Type",
- "Name",
- "Language",
- "FourCC",
- "Bitrate"
+ "Equal",
+ "NotEqual"
]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The track property type."
- },
- "value": {
- "type": "string",
- "description": "The track proprty value."
+ "description": "The track property condition operation."
},
- "operation": {
+ "property": {
"oneOf": [
{
"type": "string",
"enum": [
- "Equal",
- "NotEqual"
+ "Unknown",
+ "Type",
+ "Name",
+ "Language",
+ "FourCC",
+ "Bitrate"
]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The track property condition operation."
+ "description": "The track property type."
+ },
+ "value": {
+ "type": "string",
+ "description": "The track property value."
}
},
"required": [
+ "operation",
"property",
- "value",
- "operation"
+ "value"
],
"description": "The class to specify one track property condition."
},
@@ -2938,127 +2371,38 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "Format"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/ImageFormat"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ImageFormat"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/ImageFormat"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/MultiBitrateFormat"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.MultiBitrateFormat"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/MultiBitrateFormat"
}
],
"properties": {
"filenamePattern": {
"type": "string",
"description": "The pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - The base name of the input video {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted macros will be collapsed and removed from the filename."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
- "@odata.type"
+ "filenamePattern"
],
"description": "Base class for output."
},
"H264Layer": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.H264Layer"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
- "width": {
- "type": "string",
- "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
- },
- "height": {
- "type": "string",
- "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input."
- },
- "label": {
- "type": "string",
- "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file."
- },
- "bitrate": {
+ "adaptiveBFrame": {
"oneOf": [
{
- "type": "integer"
+ "type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The average bitrate in bits per second at which to encode the input video when generating this layer. This is a required field."
+ "description": "Whether or not adaptive B-frames are to be used when encoding this layer. If not specified, the encoder will turn it on whenever the video profile permits its use."
},
- "maxBitrate": {
+ "bFrames": {
"oneOf": [
{
"type": "integer"
@@ -3067,9 +2411,9 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The maximum bitrate (in bits per second), at which the VBV buffer should be assumed to refill. If not specified, defaults to the same value as bitrate."
+ "description": "The number of B-frames to be used when encoding this layer. If not specified, the encoder chooses an appropriate number based on the video profile and level."
},
- "bFrames": {
+ "bitrate": {
"oneOf": [
{
"type": "integer"
@@ -3078,33 +2422,54 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The number of B-frames to be used when encoding this layer. If not specified, the encoder chooses an appropriate number based on the video profile and level."
+ "description": "The average bitrate in bits per second at which to encode the input video when generating this layer. This is a required field."
},
- "frameRate": {
+ "bufferWindow": {
"type": "string",
- "description": "The frame rate (in frames per second) at which to encode this layer. The value can be in the form of M/N where M and N are integers (For example, 30000/1001), or in the form of a number (For example, 30, or 29.97). The encoder enforces constraints on allowed frame rates based on the profile and level. If it is not specified, the encoder will use the same frame rate as the input video."
+ "format": "duration",
+ "description": "The VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S)."
},
- "slices": {
+ "entropyMode": {
"oneOf": [
{
- "type": "integer"
+ "type": "string",
+ "enum": [
+ "Cabac",
+ "Cavlc"
+ ]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The number of slices to be used when encoding this layer. If not specified, default is zero, which means that encoder will use a single slice for each frame."
+ "description": "The entropy mode to be used for this layer. If not specified, the encoder chooses the mode that is appropriate for the profile and level."
},
- "adaptiveBFrame": {
- "oneOf": [
+ "frameRate": {
+ "type": "string",
+ "description": "The frame rate (in frames per second) at which to encode this layer. The value can be in the form of M/N where M and N are integers (For example, 30000/1001), or in the form of a number (For example, 30, or 29.97). The encoder enforces constraints on allowed frame rates based on the profile and level. If it is not specified, the encoder will use the same frame rate as the input video."
+ },
+ "height": {
+ "type": "string",
+ "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input."
+ },
+ "label": {
+ "type": "string",
+ "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file."
+ },
+ "level": {
+ "type": "string",
+ "description": "We currently support Level up to 6.2. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer."
+ },
+ "maxBitrate": {
+ "oneOf": [
{
- "type": "boolean"
+ "type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Whether or not adaptive B-frames are to be used when encoding this layer. If not specified, the encoder will turn it on whenever the video profile permits its use."
+ "description": "The maximum bitrate (in bits per second), at which the VBV buffer should be assumed to refill. If not specified, defaults to the same value as bitrate."
},
"profile": {
"oneOf": [
@@ -3123,15 +2488,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Which profile of the H.264 standard should be used when encoding this layer. Default is Auto."
- },
- "level": {
- "type": "string",
- "description": "Which level of the H.264 standard should be used when encoding this layer. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer."
- },
- "bufferWindow": {
- "type": "string",
- "description": "The VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S)."
+ "description": "We currently support Baseline, Main, High, High422, High444. Default is Auto."
},
"referenceFrames": {
"oneOf": [
@@ -3144,62 +2501,35 @@
],
"description": "The number of reference frames to be used when encoding this layer. If not specified, the encoder determines an appropriate number based on the encoder complexity setting."
},
- "entropyMode": {
+ "slices": {
"oneOf": [
{
- "type": "string",
- "enum": [
- "Cabac",
- "Cavlc"
- ]
+ "type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The entropy mode to be used for this layer. If not specified, the encoder chooses the mode that is appropriate for the profile and level."
+ "description": "The number of slices to be used when encoding this layer. If not specified, default is zero, which means that encoder will use a single slice for each frame."
},
- "@odata.type": {
- "type": "string"
+ "width": {
+ "type": "string",
+ "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
}
},
"required": [
- "@odata.type"
+ "bitrate"
],
"description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer with the H.264 video codec."
},
"H264Video": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.H264Video"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
- "sceneChangeDetection": {
- "oneOf": [
- {
- "type": "boolean"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to produce a single output video."
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.H264Video"
+ ]
},
"complexity": {
"oneOf": [
@@ -3231,8 +2561,16 @@
],
"description": "The collection of output H.264 layers to be produced by the encoder."
},
- "@odata.type": {
- "type": "string"
+ "sceneChangeDetection": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to produce a single output video."
}
},
"required": [
@@ -3261,68 +2599,23 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.Image"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/JpgImage"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JpgImage"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/JpgImage"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/PngImage"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.PngImage"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/PngImage"
}
],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Image"
+ ]
+ },
+ "range": {
+ "type": "string",
+ "description": "The position in the input video at which to stop generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 to stop at the 300th frame), or a relative value (For example, 100%)."
+ },
"start": {
"type": "string",
"description": "The position in the input video from where to start generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), or a relative value (For example, 1%). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video."
@@ -3330,17 +2623,11 @@
"step": {
"type": "string",
"description": "The intervals at which thumbnails are generated. The value can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 seconds), or a frame count (For example, 30 for every 30 frames), or a relative value (For example, 1%)."
- },
- "range": {
- "type": "string",
- "description": "The position in the input video at which to stop generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 to stop at the 300th frame), or a relative value (For example, 100%)."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
- "@odata.type"
+ "@odata.type",
+ "start"
],
"description": "Describes the basic properties for generating thumbnails from the input video"
},
@@ -3348,70 +2635,18 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.ImageFormat"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/JpgFormat"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JpgFormat"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/JpgFormat"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/PngFormat"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.PngFormat"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/PngFormat"
}
],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.ImageFormat"
+ ]
}
},
"required": [
@@ -3442,14 +2677,14 @@
"IPRange": {
"type": "object",
"properties": {
- "name": {
- "type": "string",
- "description": "The friendly name for the IP address range."
- },
"address": {
"type": "string",
"description": "The IP address."
},
+ "name": {
+ "type": "string",
+ "description": "The friendly name for the IP address range."
+ },
"subnetPrefixLength": {
"oneOf": [
{
@@ -3468,154 +2703,32 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "JobInput"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/JobInputClip"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobInputClip"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/JobInputs"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobInputs"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/JobInputHttp"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobInputHttp"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/JobInputClip"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/JobInputAsset"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobInputAsset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
- "properties": {
- "@odata.type": {
- "type": "string"
+ "$ref": "#/definitions/JobInputs"
}
- },
- "required": [
- "@odata.type"
],
+ "properties": {},
"description": "Base class for inputs to a Job."
},
"JobInputAsset": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobInputAsset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobInputAsset"
+ ]
+ },
"assetName": {
"type": "string",
"description": "The name of the input Asset."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
- "assetName",
- "@odata.type"
+ "@odata.type",
+ "assetName"
],
"description": "Represents an Asset for input into a Job."
},
@@ -3623,68 +2736,30 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobInputClip"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/JobInputAsset"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobInputAsset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/JobInputAsset"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/JobInputHttp"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobInputHttp"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/JobInputHttp"
}
],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobInputClip"
+ ]
+ },
+ "end": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ClipTime"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for specifying a clip time. Use sub classes of this class to specify the time position in the media."
+ },
"files": {
"oneOf": [
{
@@ -3697,14 +2772,22 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "List of files. Required for JobInputHttp."
+ "description": "List of files. Required for JobInputHttp. Maximum of 4000 characters each."
},
"label": {
"type": "string",
"description": "A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'."
},
- "@odata.type": {
- "type": "string"
+ "start": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/ClipTime"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Base class for specifying a clip time. Use sub classes of this class to specify the time position in the media."
}
},
"required": [
@@ -3714,32 +2797,16 @@
},
"JobInputHttp": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobInputHttp"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
- "baseUri": {
+ "@odata.type": {
"type": "string",
- "description": "Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris."
+ "enum": [
+ "#Microsoft.Media.JobInputHttp"
+ ]
},
- "@odata.type": {
- "type": "string"
+ "baseUri": {
+ "type": "string",
+ "description": "Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris. Maximum length of 4000 characters."
}
},
"required": [
@@ -3749,26 +2816,13 @@
},
"JobInputs": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobInputs"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobInputs"
+ ]
+ },
"inputs": {
"oneOf": [
{
@@ -3782,112 +2836,66 @@
}
],
"description": "List of inputs to a Job."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
"@odata.type"
],
- "description": "Describes a list of of inputs to a Job."
+ "description": "Describes a list of inputs to a Job."
},
"JobOutput": {
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "JobOutput"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/JobOutputAsset"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobOutputAsset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/JobOutputAsset"
}
],
"properties": {
"label": {
"type": "string",
"description": "A label that is assigned to a JobOutput in order to help uniquely identify it. This is useful when your Transform has more than one TransformOutput, whereby your Job has more than one JobOutput. In such cases, when you submit the Job, you will add two or more JobOutputs, in the same order as TransformOutputs in the Transform. Subsequently, when you retrieve the Job, either through events or on a GET request, you can use the label to easily identify the JobOutput. If a label is not provided, a default value of '{presetName}_{outputIndex}' will be used, where the preset name is the name of the preset in the corresponding TransformOutput and the output index is the relative index of the this JobOutput within the Job. Note that this index is the same as the relative index of the corresponding TransformOutput within its Transform."
- },
- "@odata.type": {
- "type": "string"
}
},
- "required": [
- "@odata.type"
- ],
"description": "Describes all the properties of a JobOutput."
},
"JobOutputAsset": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JobOutputAsset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JobOutputAsset"
+ ]
+ },
"assetName": {
"type": "string",
"description": "The name of the output Asset."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
- "assetName",
- "@odata.type"
+ "@odata.type",
+ "assetName"
],
"description": "Represents an Asset used as a JobOutput."
},
"JobProperties": {
"type": "object",
"properties": {
+ "correlationData": {
+ "oneOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {}
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Customer provided key, value pairs that will be returned in Job and JobOutput state events."
+ },
"description": {
"type": "string",
"description": "Optional customer supplied description of the Job."
@@ -3901,7 +2909,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The inputs for the Job."
+ "description": "Base class for inputs to a Job."
},
"outputs": {
"oneOf": [
@@ -3932,20 +2940,6 @@
}
],
"description": "Priority with which the job should be processed. Higher priority jobs are processed before lower priority jobs. If not set, the default is normal."
- },
- "correlationData": {
- "oneOf": [
- {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Customer provided correlation data that will be returned in Job and JobOutput state events."
}
},
"required": [
@@ -3956,28 +2950,12 @@
},
"JpgFormat": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JpgFormat"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JpgFormat"
+ ]
}
},
"required": [
@@ -3987,26 +2965,13 @@
},
"JpgImage": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JpgImage"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.JpgImage"
+ ]
+ },
"layers": {
"oneOf": [
{
@@ -4020,9 +2985,6 @@
}
],
"description": "A collection of output JPEG image layers to be produced by the encoder."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
@@ -4032,30 +2994,7 @@
},
"JpgLayer": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.JpgLayer"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
- "width": {
- "type": "string",
- "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
- },
"height": {
"type": "string",
"description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input."
@@ -4075,13 +3014,11 @@
],
"description": "The compression quality of the JPEG output. Range is from 0-100 and the default is 70."
},
- "@odata.type": {
- "type": "string"
+ "width": {
+ "type": "string",
+ "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
}
},
- "required": [
- "@odata.type"
- ],
"description": "Describes the settings to produce a JPEG image from the input video."
},
"LiveEventEncoding": {
@@ -4093,7 +3030,9 @@
"type": "string",
"enum": [
"None",
- "Basic"
+ "Basic",
+ "Standard",
+ "Premium1080p"
]
},
{
@@ -4126,21 +3065,6 @@
"LiveEventInput": {
"type": "object",
"properties": {
- "streamingProtocol": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "FragmentedMP4",
- "RTMP"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "The streaming protocol for the Live Event. This is specified at creation time and cannot be updated."
- },
"accessControl": {
"oneOf": [
{
@@ -4150,11 +3074,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The access control for LiveEvent Input."
- },
- "keyFrameIntervalDuration": {
- "type": "string",
- "description": "ISO 8601 timespan duration of the key frame interval duration."
+ "description": "The IP access control for Live Event Input."
},
"accessToken": {
"type": "string",
@@ -4173,6 +3093,25 @@
}
],
"description": "The input endpoints for the Live Event."
+ },
+ "keyFrameIntervalDuration": {
+ "type": "string",
+ "description": "ISO 8601 timespan duration of the key frame interval duration."
+ },
+ "streamingProtocol": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "FragmentedMP4",
+ "RTMP"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The streaming protocol for the Live Event. This is specified at creation time and cannot be updated."
}
},
"required": [
@@ -4192,7 +3131,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The IP access control properties."
+ "description": "The IP access control."
}
},
"description": "The IP access control for Live Event Input."
@@ -4200,30 +3139,34 @@
"LiveEventPreview": {
"type": "object",
"properties": {
- "endpoints": {
+ "accessControl": {
"oneOf": [
{
- "type": "array",
- "items": {
- "$ref": "#/definitions/LiveEventEndpoint"
- }
+ "$ref": "#/definitions/LiveEventPreviewAccessControl"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The endpoints for preview."
+ "description": "The IP access control for Live Event preview."
},
- "accessControl": {
+ "alternativeMediaId": {
+ "type": "string",
+ "description": "An Alternative Media Identifier associated with the StreamingLocator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field."
+ },
+ "endpoints": {
"oneOf": [
{
- "$ref": "#/definitions/LiveEventPreviewAccessControl"
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LiveEventEndpoint"
+ }
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The access control for LiveEvent preview."
+ "description": "The endpoints for preview."
},
"previewLocator": {
"type": "string",
@@ -4232,10 +3175,6 @@
"streamingPolicyName": {
"type": "string",
"description": "The name of streaming policy used for the LiveEvent preview. This value is specified at creation time and cannot be updated."
- },
- "alternativeMediaId": {
- "type": "string",
- "description": "An Alternative Media Identifier associated with the StreamingLocator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field."
}
},
"description": "The Live Event preview."
@@ -4252,7 +3191,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The IP access control properties."
+ "description": "The IP access control."
}
},
"description": "The IP access control for Live Event preview."
@@ -4260,31 +3199,20 @@
"LiveEventProperties": {
"type": "object",
"properties": {
- "description": {
- "type": "string",
- "description": "The Live Event description."
- },
- "input": {
+ "crossSiteAccessPolicies": {
"oneOf": [
{
- "$ref": "#/definitions/LiveEventInput"
+ "$ref": "#/definitions/CrossSiteAccessPolicies"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The Live Event input."
+ "description": "The client access policy."
},
- "preview": {
- "oneOf": [
- {
- "$ref": "#/definitions/LiveEventPreview"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "The Live Event preview."
+ "description": {
+ "type": "string",
+ "description": "The Live Event description."
},
"encoding": {
"oneOf": [
@@ -4297,27 +3225,27 @@
],
"description": "The Live Event encoding."
},
- "crossSiteAccessPolicies": {
+ "input": {
"oneOf": [
{
- "$ref": "#/definitions/CrossSiteAccessPolicies"
+ "$ref": "#/definitions/LiveEventInput"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The Live Event access policies."
+ "description": "The Live Event input."
},
- "vanityUrl": {
+ "preview": {
"oneOf": [
{
- "type": "boolean"
+ "$ref": "#/definitions/LiveEventPreview"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Specifies whether to use a vanity url with the Live Event. This value is specified at creation time and cannot be updated."
+ "description": "The Live Event preview."
},
"streamOptions": {
"oneOf": [
@@ -4336,6 +3264,17 @@
}
],
"description": "The options to use for the LiveEvent. This value is specified at creation time and cannot be updated."
+ },
+ "vanityUrl": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies whether to use a vanity url with the Live Event. This value is specified at creation time and cannot be updated."
}
},
"required": [
@@ -4346,21 +3285,18 @@
"LiveOutputProperties": {
"type": "object",
"properties": {
- "description": {
+ "archiveWindowLength": {
"type": "string",
- "description": "The description of the Live Output."
+ "format": "duration",
+ "description": "ISO 8601 timespan duration of the archive window length. This is duration that customer want to retain the recorded content."
},
"assetName": {
"type": "string",
"description": "The asset name."
},
- "archiveWindowLength": {
- "type": "string",
- "description": "ISO 8601 timespan duration of the archive window length. This is duration that customer want to retain the recorded content."
- },
- "manifestName": {
+ "description": {
"type": "string",
- "description": "The manifest file name. If not provided, the service will generate one automatically."
+ "description": "The description of the Live Output."
},
"hls": {
"oneOf": [
@@ -4373,6 +3309,10 @@
],
"description": "The HLS configuration."
},
+ "manifestName": {
+ "type": "string",
+ "description": "The manifest file name. If not provided, the service will generate one automatically."
+ },
"outputSnapTime": {
"oneOf": [
{
@@ -4386,35 +3326,35 @@
}
},
"required": [
- "assetName",
- "archiveWindowLength"
+ "archiveWindowLength",
+ "assetName"
],
"description": "The JSON object that contains the properties required to create a Live Output."
},
"MediaFilterProperties": {
"type": "object",
"properties": {
- "presentationTimeRange": {
+ "firstQuality": {
"oneOf": [
{
- "$ref": "#/definitions/PresentationTimeRange"
+ "$ref": "#/definitions/FirstQuality"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The presentation time range."
+ "description": "Filter First Quality"
},
- "firstQuality": {
+ "presentationTimeRange": {
"oneOf": [
{
- "$ref": "#/definitions/FirstQuality"
+ "$ref": "#/definitions/PresentationTimeRange"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The first quality."
+ "description": "The presentation time range, this is asset related and not recommended for Account Filter."
},
"tracks": {
"oneOf": [
@@ -4453,24 +3393,58 @@
},
"description": "Properties of the Media Services account."
},
- "mediaServices_assets_assetFilters_childResource": {
+ "mediaServices_accountFilters_childResource": {
"type": "object",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-01"
+ ]
+ },
"name": {
- "type": "string"
+ "type": "string",
+ "description": "The Account Filter name"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MediaFilterProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Media Filter properties."
},
"type": {
"type": "string",
"enum": [
- "assetFilters"
+ "accountFilters"
]
- },
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/accountFilters"
+ },
+ "mediaServices_assets_assetFilters_childResource": {
+ "type": "object",
+ "properties": {
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
+ "name": {
+ "type": "string",
+ "description": "The Asset Filter name"
+ },
"properties": {
"oneOf": [
{
@@ -4479,62 +3453,129 @@
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
+ ],
+ "description": "The Media Filter properties."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "assetFilters"
]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.Media/mediaServices/assets/assetFilters"
},
- "mediaServices_liveEvents_childResource": {
+ "mediaServices_assets_childResource": {
"type": "object",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-01"
+ ]
+ },
"name": {
+ "type": "string",
+ "description": "The Asset name."
+ },
+ "properties": {
"oneOf": [
{
- "type": "string",
- "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$"
+ "$ref": "#/definitions/AssetProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The name of the Live Event."
+ "description": "The Asset properties."
},
"type": {
"type": "string",
"enum": [
- "liveEvents"
+ "assets"
]
- },
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/assets"
+ },
+ "mediaServices_contentKeyPolicies_childResource": {
+ "type": "object",
+ "properties": {
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
- "tags": {
+ "name": {
+ "type": "string",
+ "description": "The Content Key Policy name."
+ },
+ "properties": {
"oneOf": [
{
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
+ "$ref": "#/definitions/ContentKeyPolicyProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Resource tags."
+ "description": "The properties of the Content Key Policy."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "contentKeyPolicies"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/contentKeyPolicies"
+ },
+ "mediaservices_liveEvents_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-01"
+ ]
},
"location": {
"type": "string",
"description": "The Azure Region of the resource."
},
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Event."
+ },
"properties": {
"oneOf": [
{
@@ -4546,33 +3587,52 @@
],
"description": "The Live Event properties."
},
- "resources": {
- "type": "array",
- "items": {
- "oneOf": [
- {
- "$ref": "#/definitions/mediaServices_liveEvents_liveOutputs_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": [
+ "liveEvents"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
- "description": "Microsoft.Media/mediaServices/liveEvents"
+ "description": "Microsoft.Media/mediaservices/liveEvents"
},
- "mediaServices_liveEvents_liveOutputs_childResource": {
+ "mediaservices_liveEvents_liveOutputs_childResource": {
"type": "object",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-01"
+ ]
+ },
"name": {
"oneOf": [
{
"type": "string",
- "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$"
+ "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 256
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
@@ -4580,121 +3640,230 @@
],
"description": "The name of the Live Output."
},
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveOutputProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The JSON object that contains the properties required to create a Live Output."
+ },
"type": {
"type": "string",
"enum": [
"liveOutputs"
]
- },
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
+ },
+ "mediaservices_streamingEndpoints_childResource": {
+ "type": "object",
+ "properties": {
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 24
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the StreamingEndpoint."
+ },
"properties": {
"oneOf": [
{
- "$ref": "#/definitions/LiveOutputProperties"
+ "$ref": "#/definitions/StreamingEndpointProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The Live Output properties."
+ "description": "The StreamingEndpoint 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": [
+ "streamingEndpoints"
+ ]
}
},
"required": [
+ "apiVersion",
"name",
- "type",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/streamingEndpoints"
+ },
+ "mediaServices_streamingLocators_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-01"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Streaming Locator name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingLocatorProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Properties of the Streaming Locator."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "streamingLocators"
+ ]
+ }
+ },
+ "required": [
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
- "description": "Microsoft.Media/mediaServices/liveEvents/liveOutputs"
+ "description": "Microsoft.Media/mediaServices/streamingLocators"
},
- "mediaServices_streamingEndpoints_childResource": {
+ "mediaServices_streamingPolicies_childResource": {
"type": "object",
"properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2018-07-01"
+ ]
+ },
"name": {
+ "type": "string",
+ "description": "The Streaming Policy name."
+ },
+ "properties": {
"oneOf": [
{
- "type": "string",
- "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$"
+ "$ref": "#/definitions/StreamingPolicyProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The name of the StreamingEndpoint."
+ "description": "Class to specify properties of Streaming Policy"
},
"type": {
"type": "string",
"enum": [
- "streamingEndpoints"
+ "streamingPolicies"
]
- },
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/streamingPolicies"
+ },
+ "mediaServices_transforms_childResource": {
+ "type": "object",
+ "properties": {
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
- "tags": {
- "oneOf": [
- {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "Resource tags."
- },
- "location": {
+ "name": {
"type": "string",
- "description": "The Azure Region of the resource."
+ "description": "The Transform name."
},
"properties": {
"oneOf": [
{
- "$ref": "#/definitions/StreamingEndpointProperties"
+ "$ref": "#/definitions/TransformProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The StreamingEndpoint properties."
+ "description": "A Transform."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "transforms"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
- "description": "Microsoft.Media/mediaServices/streamingEndpoints"
+ "description": "Microsoft.Media/mediaServices/transforms"
},
"mediaServices_transforms_jobs_childResource": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "jobs"
- ]
- },
"apiVersion": {
"type": "string",
"enum": [
"2018-07-01"
]
},
+ "name": {
+ "type": "string",
+ "description": "The Job name."
+ },
"properties": {
"oneOf": [
{
@@ -4704,41 +3873,31 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The resource properties."
+ "description": "Properties of the Job."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "jobs"
+ ]
}
},
"required": [
- "name",
- "type",
"apiVersion",
- "properties"
+ "name",
+ "properties",
+ "type"
],
"description": "Microsoft.Media/mediaServices/transforms/jobs"
},
"Mp4Format": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.Mp4Format"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Mp4Format"
+ ]
}
},
"required": [
@@ -4750,68 +3909,19 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.MultiBitrateFormat"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/Mp4Format"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.Mp4Format"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/Mp4Format"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/TransportStreamFormat"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.TransportStreamFormat"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/TransportStreamFormat"
}
],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.MultiBitrateFormat"
+ ]
+ },
"outputFiles": {
"oneOf": [
{
@@ -4825,9 +3935,6 @@
}
],
"description": "The list of output files to produce. Each entry in the list is a set of audio and video layer labels to be muxed together ."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
@@ -4847,7 +3954,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Representing supported protocols"
+ "description": "Class to specify which protocols are enabled"
}
},
"description": "Class for NoEncryption scheme"
@@ -4870,138 +3977,71 @@
"description": "The list of labels that describe how the encoder should multiplex video and audio into an output file. For example, if the encoder is producing two video layers with labels v1 and v2, and one audio layer with label a1, then an array like '[v1, a1]' tells the encoder to produce an output file with the video track represented by v1 and the audio track represented by a1."
}
},
+ "required": [
+ "labels"
+ ],
"description": "Represents an output file produced."
},
"Overlay": {
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "Overlay"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/AudioOverlay"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.AudioOverlay"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/AudioOverlay"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/VideoOverlay"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.VideoOverlay"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/VideoOverlay"
}
],
"properties": {
- "inputLabel": {
- "type": "string",
- "description": "The label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG or PNG formats, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats."
- },
- "start": {
- "type": "string",
- "description": "The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds in to the input video. If not specified the overlay starts from the beginning of the input video."
+ "audioGainLevel": {
+ "oneOf": [
+ {
+ "type": "number"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The gain level of audio in the overlay. The value should be in the range [0, 1.0]. The default is 1.0."
},
"end": {
"type": "string",
+ "format": "duration",
"description": "The position in the input video at which the overlay ends. The value should be in ISO 8601 duration format. For example, PT30S to end the overlay at 30 seconds in to the input video. If not specified the overlay will be applied until the end of the input video if inputLoop is true. Else, if inputLoop is false, then overlay will last as long as the duration of the overlay media."
},
"fadeInDuration": {
"type": "string",
+ "format": "duration",
"description": "The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade in (same as PT0S)."
},
"fadeOutDuration": {
"type": "string",
+ "format": "duration",
"description": "The duration over which the overlay fades out of the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade out (same as PT0S)."
},
- "audioGainLevel": {
- "oneOf": [
- {
- "type": "number"
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ],
- "description": "The gain level of audio in the overlay. The value should be in the range [0, 1.0]. The default is 1.0."
+ "inputLabel": {
+ "type": "string",
+ "description": "The label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG or PNG formats, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats."
},
- "@odata.type": {
- "type": "string"
+ "start": {
+ "type": "string",
+ "format": "duration",
+ "description": "The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds in to the input video. If not specified the overlay starts from the beginning of the input video."
}
},
"required": [
- "@odata.type"
+ "inputLabel"
],
"description": "Base type for all overlays - image, audio or video."
},
"PngFormat": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.PngFormat"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.PngFormat"
+ ]
}
},
"required": [
@@ -5011,26 +4051,13 @@
},
"PngImage": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.PngImage"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.PngImage"
+ ]
+ },
"layers": {
"oneOf": [
{
@@ -5044,9 +4071,6 @@
}
],
"description": "A collection of output PNG image layers to be produced by the encoder."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
@@ -5056,30 +4080,7 @@
},
"PngLayer": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.PngLayer"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
- "width": {
- "type": "string",
- "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
- },
"height": {
"type": "string",
"description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input."
@@ -5088,19 +4089,17 @@
"type": "string",
"description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file."
},
- "@odata.type": {
- "type": "string"
+ "width": {
+ "type": "string",
+ "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input."
}
},
- "required": [
- "@odata.type"
- ],
"description": "Describes the settings to produce a PNG image from the input video."
},
"PresentationTimeRange": {
"type": "object",
"properties": {
- "startTimestamp": {
+ "endTimestamp": {
"oneOf": [
{
"type": "integer"
@@ -5109,20 +4108,20 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The absolute start time boundary."
+ "description": "The absolute end time boundary."
},
- "endTimestamp": {
+ "forceEndTimestamp": {
"oneOf": [
{
- "type": "integer"
+ "type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The absolute end time boundary."
+ "description": "The indicator of forcing existing of end time stamp."
},
- "presentationWindowDuration": {
+ "liveBackoffDuration": {
"oneOf": [
{
"type": "integer"
@@ -5131,9 +4130,9 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The relative to end sliding window."
+ "description": "The relative to end right edge."
},
- "liveBackoffDuration": {
+ "presentationWindowDuration": {
"oneOf": [
{
"type": "integer"
@@ -5142,9 +4141,9 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The relative to end right edge."
+ "description": "The relative to end sliding window."
},
- "timescale": {
+ "startTimestamp": {
"oneOf": [
{
"type": "integer"
@@ -5153,130 +4152,48 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The time scale of time stamps."
+ "description": "The absolute start time boundary."
},
- "forceEndTimestamp": {
+ "timescale": {
"oneOf": [
{
- "type": "boolean"
+ "type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The indicator of forcing exsiting of end time stamp."
+ "description": "The time scale of time stamps."
}
},
- "required": [
- "startTimestamp",
- "endTimestamp",
- "presentationWindowDuration",
- "liveBackoffDuration",
- "timescale",
- "forceEndTimestamp"
- ],
"description": "The presentation time range, this is asset related and not recommended for Account Filter."
},
"Preset": {
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "Preset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/FaceDetectorPreset"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/AudioAnalyzerPreset"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.AudioAnalyzerPreset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/AudioAnalyzerPreset"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/BuiltInStandardEncoderPreset"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.BuiltInStandardEncoderPreset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/BuiltInStandardEncoderPreset"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/StandardEncoderPreset"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.StandardEncoderPreset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
- "properties": {
- "@odata.type": {
- "type": "string"
+ "$ref": "#/definitions/StandardEncoderPreset"
}
- },
- "required": [
- "@odata.type"
],
+ "properties": {},
"description": "Base type for all Presets, which define the recipe or instructions on how the input media files should be processed."
},
"Rectangle": {
"type": "object",
"properties": {
+ "height": {
+ "type": "string",
+ "description": "The height of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
+ },
"left": {
"type": "string",
"description": "The number of pixels from the left-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
@@ -5288,60 +4205,43 @@
"width": {
"type": "string",
"description": "The width of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
- },
- "height": {
- "type": "string",
- "description": "The height of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)."
}
},
"description": "Describes the properties of a rectangular window applied to the input media before processing it."
},
"StandardEncoderPreset": {
- "type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.StandardEncoderPreset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
+ "type": "object",
"properties": {
- "filters": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.StandardEncoderPreset"
+ ]
+ },
+ "codecs": {
"oneOf": [
{
- "$ref": "#/definitions/Filters"
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Codec"
+ }
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "One or more filtering operations that are applied to the input media before encoding."
+ "description": "The list of codecs to be used when encoding the input video."
},
- "codecs": {
+ "filters": {
"oneOf": [
{
- "type": "array",
- "items": {
- "$ref": "#/definitions/Codec"
- }
+ "$ref": "#/definitions/Filters"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The list of codecs to be used when encoding the input video."
+ "description": "Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding."
},
"formats": {
"oneOf": [
@@ -5356,13 +4256,12 @@
}
],
"description": "The list of outputs to be produced by the encoder."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
- "@odata.type"
+ "@odata.type",
+ "codecs",
+ "formats"
],
"description": "Describes all the settings to be used when encoding the input video with the Standard Encoder."
},
@@ -5374,10 +4273,17 @@
"description": "The ID of the storage account resource. Media Services relies on tables and queues as well as blobs, so the primary storage account must be a Standard Storage account (either Microsoft.ClassicStorage or Microsoft.Storage). Blob only storage accounts can be added as secondary storage accounts."
},
"type": {
- "type": "string",
- "enum": [
- "Primary",
- "Secondary"
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Primary",
+ "Secondary"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
],
"description": "The type of the storage account."
}
@@ -5399,7 +4305,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The access control of Akamai"
+ "description": "Akamai access control"
},
"ip": {
"oneOf": [
@@ -5410,7 +4316,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The IP access control of the StreamingEndpoint."
+ "description": "The IP access control."
}
},
"description": "StreamingEndpoint access control definition."
@@ -5418,46 +4324,50 @@
"StreamingEndpointProperties": {
"type": "object",
"properties": {
- "description": {
- "type": "string",
- "description": "The StreamingEndpoint description."
- },
- "scaleUnits": {
+ "accessControl": {
"oneOf": [
{
- "type": "integer"
+ "$ref": "#/definitions/StreamingEndpointAccessControl"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The number of scale units. Use the Scale operation to adjust this value."
+ "description": "StreamingEndpoint access control definition."
},
"availabilitySetName": {
"type": "string",
"description": "The name of the AvailabilitySet used with this StreamingEndpoint for high availability streaming. This value can only be set at creation time."
},
- "accessControl": {
+ "cdnEnabled": {
"oneOf": [
{
- "$ref": "#/definitions/StreamingEndpointAccessControl"
+ "type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The access control definition of the StreamingEndpoint."
+ "description": "The CDN enabled flag."
},
- "maxCacheAge": {
+ "cdnProfile": {
+ "type": "string",
+ "description": "The CDN profile name."
+ },
+ "cdnProvider": {
+ "type": "string",
+ "description": "The CDN provider name."
+ },
+ "crossSiteAccessPolicies": {
"oneOf": [
{
- "type": "integer"
+ "$ref": "#/definitions/CrossSiteAccessPolicies"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Max cache age"
+ "description": "The client access policy."
},
"customHostNames": {
"oneOf": [
@@ -5473,35 +4383,31 @@
],
"description": "The custom host names of the StreamingEndpoint"
},
- "cdnEnabled": {
+ "description": {
+ "type": "string",
+ "description": "The StreamingEndpoint description."
+ },
+ "maxCacheAge": {
"oneOf": [
{
- "type": "boolean"
+ "type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The CDN enabled flag."
- },
- "cdnProvider": {
- "type": "string",
- "description": "The CDN provider name."
- },
- "cdnProfile": {
- "type": "string",
- "description": "The CDN profile name."
+ "description": "Max cache age"
},
- "crossSiteAccessPolicies": {
+ "scaleUnits": {
"oneOf": [
{
- "$ref": "#/definitions/CrossSiteAccessPolicies"
+ "type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The StreamingEndpoint access policies."
+ "description": "The number of scale units. Use the Scale operation to adjust this value."
}
},
"required": [
@@ -5530,7 +4436,7 @@
},
"value": {
"type": "string",
- "description": "Value of of Content Key"
+ "description": "Value of Content Key"
}
},
"required": [
@@ -5541,57 +4447,71 @@
"StreamingLocatorProperties": {
"type": "object",
"properties": {
+ "alternativeMediaId": {
+ "type": "string",
+ "description": "Alternative Media ID of this Streaming Locator"
+ },
"assetName": {
"type": "string",
"description": "Asset Name"
},
- "startTime": {
+ "contentKeys": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StreamingLocatorContentKey"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The ContentKeys used by this Streaming Locator."
+ },
+ "defaultContentKeyPolicyName": {
"type": "string",
- "format": "date-time",
- "description": "The start time of the Streaming Locator."
+ "description": "Name of the default ContentKeyPolicy used by this Streaming Locator."
},
"endTime": {
"type": "string",
"format": "date-time",
"description": "The end time of the Streaming Locator."
},
- "streamingLocatorId": {
+ "filters": {
"oneOf": [
{
- "type": "string",
- "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The StreamingLocatorId of the Streaming Locator."
- },
- "streamingPolicyName": {
- "type": "string",
- "description": "Name of the Streaming Policy used by this Streaming Locator. Either specify the name of Streaming Policy you created or use one of the predefined Streaming Policies. The predefined Streaming Policies available are: 'Predefined_DownloadOnly', 'Predefined_ClearStreamingOnly', 'Predefined_DownloadAndClearStreaming', 'Predefined_ClearKey', 'Predefined_MultiDrmCencStreaming' and 'Predefined_MultiDrmStreaming'"
+ "description": "A list of asset or account filters which apply to this streaming locator"
},
- "defaultContentKeyPolicyName": {
+ "startTime": {
"type": "string",
- "description": "Name of the default ContentKeyPolicy used by this Streaming Locator."
+ "format": "date-time",
+ "description": "The start time of the Streaming Locator."
},
- "contentKeys": {
+ "streamingLocatorId": {
"oneOf": [
{
- "type": "array",
- "items": {
- "$ref": "#/definitions/StreamingLocatorContentKey"
- }
+ "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 ContentKeys used by this Streaming Locator."
+ "description": "The StreamingLocatorId of the Streaming Locator."
},
- "alternativeMediaId": {
+ "streamingPolicyName": {
"type": "string",
- "description": "Alternative Media ID of this Streaming Locator"
+ "description": "Name of the Streaming Policy used by this Streaming Locator. Either specify the name of Streaming Policy you created or use one of the predefined Streaming Policies. The predefined Streaming Policies available are: 'Predefined_DownloadOnly', 'Predefined_ClearStreamingOnly', 'Predefined_DownloadAndClearStreaming', 'Predefined_ClearKey', 'Predefined_MultiDrmCencStreaming' and 'Predefined_MultiDrmStreaming'"
}
},
"required": [
@@ -5640,7 +4560,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Default content key for an encryption scheme"
+ "description": "Class to specify properties of default content key for each encryption scheme"
},
"keyToTrackMappings": {
"oneOf": [
@@ -5662,10 +4582,6 @@
"StreamingPolicyFairPlayConfiguration": {
"type": "object",
"properties": {
- "customLicenseAcquisitionUrlTemplate": {
- "type": "string",
- "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys."
- },
"allowPersistentLicense": {
"oneOf": [
{
@@ -5676,6 +4592,10 @@
}
],
"description": "All license to be persistent or not"
+ },
+ "customLicenseAcquisitionUrlTemplate": {
+ "type": "string",
+ "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested."
}
},
"required": [
@@ -5688,7 +4608,7 @@
"properties": {
"customLicenseAcquisitionUrlTemplate": {
"type": "string",
- "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys."
+ "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested."
},
"playReadyCustomAttributes": {
"type": "string",
@@ -5700,20 +4620,16 @@
"StreamingPolicyProperties": {
"type": "object",
"properties": {
- "defaultContentKeyPolicyName": {
- "type": "string",
- "description": "Default ContentKey used by current Streaming Policy"
- },
- "envelopeEncryption": {
+ "commonEncryptionCbcs": {
"oneOf": [
{
- "$ref": "#/definitions/EnvelopeEncryption"
+ "$ref": "#/definitions/CommonEncryptionCbcs"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Configuration of EnvelopeEncryption"
+ "description": "Class for CommonEncryptionCbcs encryption scheme"
},
"commonEncryptionCenc": {
"oneOf": [
@@ -5724,18 +4640,22 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Configuration of CommonEncryptionCenc"
+ "description": "Class for envelope encryption scheme"
},
- "commonEncryptionCbcs": {
+ "defaultContentKeyPolicyName": {
+ "type": "string",
+ "description": "Default ContentKey used by current Streaming Policy"
+ },
+ "envelopeEncryption": {
"oneOf": [
{
- "$ref": "#/definitions/CommonEncryptionCbcs"
+ "$ref": "#/definitions/EnvelopeEncryption"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Configuration of CommonEncryptionCbcs"
+ "description": "Class for EnvelopeEncryption encryption scheme"
},
"noEncryption": {
"oneOf": [
@@ -5746,7 +4666,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Configurations of NoEncryption"
+ "description": "Class for NoEncryption scheme"
}
},
"description": "Class to specify properties of Streaming Policy"
@@ -5756,7 +4676,7 @@
"properties": {
"customLicenseAcquisitionUrlTemplate": {
"type": "string",
- "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys."
+ "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested."
}
},
"description": "Class to specify configurations of Widevine in Streaming Policy"
@@ -5764,35 +4684,35 @@
"TrackPropertyCondition": {
"type": "object",
"properties": {
- "property": {
+ "operation": {
"oneOf": [
{
"type": "string",
"enum": [
"Unknown",
- "FourCC"
+ "Equal"
]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Track property type."
+ "description": "Track property condition operation."
},
- "operation": {
+ "property": {
"oneOf": [
{
"type": "string",
"enum": [
"Unknown",
- "Equal"
+ "FourCC"
]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Track property condition operation."
+ "description": "Track property type."
},
"value": {
"type": "string",
@@ -5800,8 +4720,8 @@
}
},
"required": [
- "property",
- "operation"
+ "operation",
+ "property"
],
"description": "Class to specify one track property condition"
},
@@ -5843,32 +4763,32 @@
],
"description": "A Transform can define more than one outputs. This property defines what the service should do when one output fails - either continue to produce other outputs, or, stop the other outputs. The overall Job state will not reflect failures of outputs that are specified with 'ContinueJob'. The default is 'StopProcessingJob'."
},
- "relativePriority": {
+ "preset": {
"oneOf": [
{
- "type": "string",
- "enum": [
- "Low",
- "Normal",
- "High"
- ]
+ "$ref": "#/definitions/Preset"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Sets the relative priority of the TransformOutputs within a Transform. This sets the priority that the service uses for processing TransformOutputs. The default priority is Normal."
+ "description": "Base type for all Presets, which define the recipe or instructions on how the input media files should be processed."
},
- "preset": {
+ "relativePriority": {
"oneOf": [
{
- "$ref": "#/definitions/Preset"
+ "type": "string",
+ "enum": [
+ "Low",
+ "Normal",
+ "High"
+ ]
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "Preset that describes the operations that will be used to modify, transcode, or extract insights from the source file to generate the output."
+ "description": "Sets the relative priority of the TransformOutputs within a Transform. This sets the priority that the service uses for processing TransformOutputs. The default priority is Normal."
}
},
"required": [
@@ -5905,28 +4825,12 @@
},
"TransportStreamFormat": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.TransportStreamFormat"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
"@odata.type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.TransportStreamFormat"
+ ]
}
},
"required": [
@@ -5938,70 +4842,22 @@
"type": "object",
"oneOf": [
{
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.Video"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- },
- {
- "allOf": [
- {
- "$ref": "#/definitions/Image"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.Image"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/Image"
},
{
- "allOf": [
- {
- "$ref": "#/definitions/H264Video"
- }
- ],
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.H264Video"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
+ "$ref": "#/definitions/H264Video"
}
],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.Video"
+ ]
+ },
"keyFrameInterval": {
"type": "string",
+ "format": "duration",
"description": "The distance between two key frames, thereby defining a group of pictures (GOP). The value should be a non-zero integer in the range [1, 30] seconds, specified in ISO 8601 format. The default is 2 seconds (PT2S)."
},
"stretchMode": {
@@ -6019,9 +4875,6 @@
}
],
"description": "The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize."
- },
- "@odata.type": {
- "type": "string"
}
},
"required": [
@@ -6031,26 +4884,13 @@
},
"VideoAnalyzerPreset": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.VideoAnalyzerPreset"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.VideoAnalyzerPreset"
+ ]
+ },
"insightsToExtract": {
"oneOf": [
{
@@ -6065,10 +4905,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The type of insights to be extracted. If not set then based on the content the type will selected. If the content is audi only then only audio insights are extraced and if it is video only."
- },
- "@odata.type": {
- "type": "string"
+ "description": "Defines the type of insights that you want the service to generate. The allowed values are 'AudioInsightsOnly', 'VideoInsightsOnly', and 'AllInsights'. The default is AllInsights. If you set this to AllInsights and the input is audio only, then only audio insights are generated. Similarly if the input is video only, then only video insights are generated. It is recommended that you not use AudioInsightsOnly if you expect some of your inputs to be video only; or use VideoInsightsOnly if you expect some of your inputs to be audio only. Your Jobs in such conditions would error out."
}
},
"required": [
@@ -6078,27 +4915,14 @@
},
"VideoOverlay": {
"type": "object",
- "oneOf": [
- {
- "properties": {
- "@odata.type": {
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "#Microsoft.Media.VideoOverlay"
- ]
- },
- {
- "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
- }
- ]
- }
- }
- }
- ],
"properties": {
- "position": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.VideoOverlay"
+ ]
+ },
+ "cropRectangle": {
"oneOf": [
{
"$ref": "#/definitions/Rectangle"
@@ -6107,7 +4931,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "The location in the input video where the overlay is applied."
+ "description": "Describes the properties of a rectangular window applied to the input media before processing it."
},
"opacity": {
"oneOf": [
@@ -6120,7 +4944,7 @@
],
"description": "The opacity of the overlay. This is a value in the range [0 - 1.0]. Default is 1.0 which mean the overlay is opaque."
},
- "cropRectangle": {
+ "position": {
"oneOf": [
{
"$ref": "#/definitions/Rectangle"
@@ -6129,10 +4953,7 @@
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
- "description": "An optional rectangular window used to crop the overlay image or video."
- },
- "@odata.type": {
- "type": "string"
+ "description": "Describes the properties of a rectangular window applied to the input media before processing it."
}
},
"required": [
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/2018-09-15-preview/Microsoft.EventGrid.json b/schemas/2018-09-15-preview/Microsoft.EventGrid.json
index e63cf6b17a..3b7ba74bac 100644
--- a/schemas/2018-09-15-preview/Microsoft.EventGrid.json
+++ b/schemas/2018-09-15-preview/Microsoft.EventGrid.json
@@ -1129,4 +1129,4 @@
"description": "Information about the webhook destination properties for an event subscription."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2018-10-15/Microsoft.LabServices.json b/schemas/2018-10-15/Microsoft.LabServices.json
index f95695a4fb..61cc9db928 100644
--- a/schemas/2018-10-15/Microsoft.LabServices.json
+++ b/schemas/2018-10-15/Microsoft.LabServices.json
@@ -959,4 +959,4 @@
"description": "Lab User properties"
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-01-01/Microsoft.EventGrid.json b/schemas/2019-01-01/Microsoft.EventGrid.json
index b2a5b6eee3..ba47d3edd0 100644
--- a/schemas/2019-01-01/Microsoft.EventGrid.json
+++ b/schemas/2019-01-01/Microsoft.EventGrid.json
@@ -461,4 +461,4 @@
"description": "Information about the webhook destination properties for an event subscription."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-02-01-preview/Microsoft.EventGrid.json b/schemas/2019-02-01-preview/Microsoft.EventGrid.json
index c488d74284..6454a9b00b 100644
--- a/schemas/2019-02-01-preview/Microsoft.EventGrid.json
+++ b/schemas/2019-02-01-preview/Microsoft.EventGrid.json
@@ -1232,4 +1232,4 @@
"description": "Information about the webhook destination properties for an event subscription."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-04-01/Microsoft.Capacity.json b/schemas/2019-04-01/Microsoft.Capacity.json
index ebc7524c10..fa23b49aaf 100644
--- a/schemas/2019-04-01/Microsoft.Capacity.json
+++ b/schemas/2019-04-01/Microsoft.Capacity.json
@@ -223,4 +223,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-04-01/deploymentTemplate.json b/schemas/2019-04-01/deploymentTemplate.json
index 3e7359c0a8..5bd136a795 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" },
@@ -1456,7 +1463,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-04-15/Microsoft.Cdn.json b/schemas/2019-04-15/Microsoft.Cdn.json
index 21b9c9dfb0..c252403d24 100644
--- a/schemas/2019-04-15/Microsoft.Cdn.json
+++ b/schemas/2019-04-15/Microsoft.Cdn.json
@@ -2716,4 +2716,4 @@
"description": "Defines the parameters for the url rewrite action."
}
}
-}
\ No newline at end of file
+}
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-preview/Microsoft.Media.json b/schemas/2019-05-01-preview/Microsoft.Media.json
new file mode 100644
index 0000000000..0480554b23
--- /dev/null
+++ b/schemas/2019-05-01-preview/Microsoft.Media.json
@@ -0,0 +1,881 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2019-05-01-preview/Microsoft.Media.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.Media",
+ "description": "Microsoft Media Resource Types",
+ "resourceDefinitions": {
+ "mediaservices_liveEvents": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-05-01-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Event."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event properties."
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/mediaservices_liveEvents_liveOutputs_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.Media/mediaservices/liveEvents"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents"
+ },
+ "mediaservices_liveEvents_liveOutputs": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-05-01-preview"
+ ]
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Output."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveOutputProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The JSON object that contains the properties required to create a Live Output."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
+ },
+ "mediaservices_streamingEndpoints": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-05-01-preview"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region of the resource."
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 24
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the StreamingEndpoint."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingEndpointProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The StreamingEndpoint 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.Media/mediaservices/streamingEndpoints"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/streamingEndpoints"
+ }
+ },
+ "definitions": {
+ "AkamaiAccessControl": {
+ "type": "object",
+ "properties": {
+ "akamaiSignatureHeaderAuthenticationKeyList": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AkamaiSignatureHeaderAuthenticationKey"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "authentication key list"
+ }
+ },
+ "description": "Akamai access control"
+ },
+ "AkamaiSignatureHeaderAuthenticationKey": {
+ "type": "object",
+ "properties": {
+ "base64Key": {
+ "type": "string",
+ "description": "authentication key"
+ },
+ "expiration": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The expiration time of the authentication key."
+ },
+ "identifier": {
+ "type": "string",
+ "description": "identifier of the key"
+ }
+ },
+ "description": "Akamai Signature Header authentication key."
+ },
+ "CrossSiteAccessPolicies": {
+ "type": "object",
+ "properties": {
+ "clientAccessPolicy": {
+ "type": "string",
+ "description": "The content of clientaccesspolicy.xml used by Silverlight."
+ },
+ "crossDomainPolicy": {
+ "type": "string",
+ "description": "The content of crossdomain.xml used by Silverlight."
+ }
+ },
+ "description": "The client access policy."
+ },
+ "Hls": {
+ "type": "object",
+ "properties": {
+ "fragmentsPerTsSegment": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The amount of fragments per HTTP Live Streaming (HLS) segment."
+ }
+ },
+ "description": "The HLS configuration."
+ },
+ "IPAccessControl": {
+ "type": "object",
+ "properties": {
+ "allow": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPRange"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP allow list."
+ }
+ },
+ "description": "The IP access control."
+ },
+ "IPRange": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "The IP address."
+ },
+ "name": {
+ "type": "string",
+ "description": "The friendly name for the IP address range."
+ },
+ "subnetPrefixLength": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The subnet mask prefix length (see CIDR notation)."
+ }
+ },
+ "description": "The IP address range in the CIDR scheme."
+ },
+ "LiveEventEncoding": {
+ "type": "object",
+ "properties": {
+ "encodingType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "None",
+ "Basic",
+ "Standard",
+ "Premium1080p"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The encoding type for Live Event. This value is specified at creation time and cannot be updated."
+ },
+ "presetName": {
+ "type": "string",
+ "description": "The encoding preset name. This value is specified at creation time and cannot be updated."
+ }
+ },
+ "description": "The Live Event encoding."
+ },
+ "LiveEventEndpoint": {
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "The endpoint protocol."
+ },
+ "url": {
+ "type": "string",
+ "description": "The endpoint URL."
+ }
+ },
+ "description": "The Live Event endpoint."
+ },
+ "LiveEventInput": {
+ "type": "object",
+ "properties": {
+ "accessControl": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventInputAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP access control for Live Event Input."
+ },
+ "accessToken": {
+ "type": "string",
+ "description": "A unique identifier for a stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value."
+ },
+ "endpoints": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LiveEventEndpoint"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The input endpoints for the Live Event."
+ },
+ "keyFrameIntervalDuration": {
+ "type": "string",
+ "description": "ISO 8601 timespan duration of the key frame interval duration."
+ },
+ "streamingProtocol": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "FragmentedMP4",
+ "RTMP"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The streaming protocol for the Live Event. This is specified at creation time and cannot be updated."
+ }
+ },
+ "required": [
+ "streamingProtocol"
+ ],
+ "description": "The Live Event input."
+ },
+ "LiveEventInputAccessControl": {
+ "type": "object",
+ "properties": {
+ "ip": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/IPAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP access control."
+ }
+ },
+ "description": "The IP access control for Live Event Input."
+ },
+ "LiveEventInputTrackSelection": {
+ "type": "object",
+ "properties": {
+ "operation": {
+ "type": "string",
+ "description": "Comparing operation."
+ },
+ "property": {
+ "type": "string",
+ "description": "Property name to select."
+ },
+ "value": {
+ "type": "string",
+ "description": "Property value to select."
+ }
+ },
+ "description": "A track selection condition."
+ },
+ "LiveEventOutputTranscriptionTrack": {
+ "type": "object",
+ "properties": {
+ "trackName": {
+ "type": "string",
+ "description": "The output track name."
+ }
+ },
+ "required": [
+ "trackName"
+ ],
+ "description": "Describes a transcription track in the output of a Live Event, generated using speech-to-text transcription."
+ },
+ "LiveEventPreview": {
+ "type": "object",
+ "properties": {
+ "accessControl": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventPreviewAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP access control for Live Event preview."
+ },
+ "alternativeMediaId": {
+ "type": "string",
+ "description": "An Alternative Media Identifier associated with the StreamingLocator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field."
+ },
+ "endpoints": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LiveEventEndpoint"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The endpoints for preview."
+ },
+ "previewLocator": {
+ "type": "string",
+ "description": "The identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created."
+ },
+ "streamingPolicyName": {
+ "type": "string",
+ "description": "The name of streaming policy used for the LiveEvent preview. This value is specified at creation time and cannot be updated."
+ }
+ },
+ "description": "The Live Event preview."
+ },
+ "LiveEventPreviewAccessControl": {
+ "type": "object",
+ "properties": {
+ "ip": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/IPAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP access control."
+ }
+ },
+ "description": "The IP access control for Live Event preview."
+ },
+ "LiveEventProperties": {
+ "type": "object",
+ "properties": {
+ "crossSiteAccessPolicies": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CrossSiteAccessPolicies"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The client access policy."
+ },
+ "description": {
+ "type": "string",
+ "description": "The Live Event description."
+ },
+ "encoding": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventEncoding"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event encoding."
+ },
+ "input": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventInput"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event input."
+ },
+ "preview": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventPreview"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event preview."
+ },
+ "streamOptions": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Default",
+ "LowLatency"
+ ]
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The options to use for the LiveEvent. This value is specified at creation time and cannot be updated."
+ },
+ "transcriptions": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LiveEventTranscription"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The Live Event transcription."
+ },
+ "vanityUrl": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Specifies whether to use a vanity url with the Live Event. This value is specified at creation time and cannot be updated."
+ }
+ },
+ "required": [
+ "input"
+ ],
+ "description": "The Live Event properties."
+ },
+ "LiveEventTranscription": {
+ "type": "object",
+ "properties": {
+ "inputTrackSelection": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LiveEventInputTrackSelection"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Provides a mechanism to select the audio track in the input live feed, to which speech-to-text transcription is applied."
+ },
+ "language": {
+ "type": "string",
+ "description": "Specifies the language (locale) used for speech-to-text transcription - it should match the spoken language in the audio track. The value should be in BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are 'en-US' and 'en-GB'."
+ },
+ "outputTranscriptionTrack": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveEventOutputTranscriptionTrack"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Describes a transcription track in the output of a Live Event, generated using speech-to-text transcription."
+ }
+ },
+ "description": "Describes the transcription tracks in the output of a Live Event, generated using speech-to-text transcription."
+ },
+ "LiveOutputProperties": {
+ "type": "object",
+ "properties": {
+ "archiveWindowLength": {
+ "type": "string",
+ "format": "duration",
+ "description": "ISO 8601 timespan duration of the archive window length. This is duration that customer want to retain the recorded content."
+ },
+ "assetName": {
+ "type": "string",
+ "description": "The asset name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the Live Output."
+ },
+ "hls": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Hls"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The HLS configuration."
+ },
+ "manifestName": {
+ "type": "string",
+ "description": "The manifest file name. If not provided, the service will generate one automatically."
+ },
+ "outputSnapTime": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The output snapshot time."
+ }
+ },
+ "required": [
+ "archiveWindowLength",
+ "assetName"
+ ],
+ "description": "The JSON object that contains the properties required to create a Live Output."
+ },
+ "mediaservices_liveEvents_liveOutputs_childResource": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-05-01-preview"
+ ]
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string",
+ "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The name of the Live Output."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/LiveOutputProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The JSON object that contains the properties required to create a Live Output."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "liveOutputs"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaservices/liveEvents/liveOutputs"
+ },
+ "StreamingEndpointAccessControl": {
+ "type": "object",
+ "properties": {
+ "akamai": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AkamaiAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Akamai access control"
+ },
+ "ip": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/IPAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The IP access control."
+ }
+ },
+ "description": "StreamingEndpoint access control definition."
+ },
+ "StreamingEndpointProperties": {
+ "type": "object",
+ "properties": {
+ "accessControl": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StreamingEndpointAccessControl"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "StreamingEndpoint access control definition."
+ },
+ "availabilitySetName": {
+ "type": "string",
+ "description": "The name of the AvailabilitySet used with this StreamingEndpoint for high availability streaming. This value can only be set at creation time."
+ },
+ "cdnEnabled": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The CDN enabled flag."
+ },
+ "cdnProfile": {
+ "type": "string",
+ "description": "The CDN profile name."
+ },
+ "cdnProvider": {
+ "type": "string",
+ "description": "The CDN provider name."
+ },
+ "crossSiteAccessPolicies": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/CrossSiteAccessPolicies"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The client access policy."
+ },
+ "customHostNames": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The custom host names of the StreamingEndpoint"
+ },
+ "description": {
+ "type": "string",
+ "description": "The StreamingEndpoint description."
+ },
+ "maxCacheAge": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Max cache age"
+ },
+ "scaleUnits": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The number of scale units. Use the Scale operation to adjust this value."
+ }
+ },
+ "required": [
+ "scaleUnits"
+ ],
+ "description": "The StreamingEndpoint properties."
+ }
+ }
+}
diff --git a/schemas/2019-06-01-preview/Microsoft.Synapse.json b/schemas/2019-06-01-preview/Microsoft.Synapse.json
index 71a7213267..3413c90b51 100644
--- a/schemas/2019-06-01-preview/Microsoft.Synapse.json
+++ b/schemas/2019-06-01-preview/Microsoft.Synapse.json
@@ -4857,4 +4857,4 @@
"description": "Microsoft.Synapse/workspaces/vulnerabilityAssessments"
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-06-01/Microsoft.EventGrid.json b/schemas/2019-06-01/Microsoft.EventGrid.json
index d1a7980264..5fd65913e3 100644
--- a/schemas/2019-06-01/Microsoft.EventGrid.json
+++ b/schemas/2019-06-01/Microsoft.EventGrid.json
@@ -1028,4 +1028,4 @@
"description": "Information about the webhook destination properties for an event subscription."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-06-15-preview/Microsoft.Cdn.json b/schemas/2019-06-15-preview/Microsoft.Cdn.json
index eea8a37b5b..f0731126ab 100644
--- a/schemas/2019-06-15-preview/Microsoft.Cdn.json
+++ b/schemas/2019-06-15-preview/Microsoft.Cdn.json
@@ -3413,4 +3413,4 @@
"description": "Defines the parameters for the url rewrite action."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-06-15/Microsoft.Cdn.json b/schemas/2019-06-15/Microsoft.Cdn.json
index f788606481..bbc43ed89b 100644
--- a/schemas/2019-06-15/Microsoft.Cdn.json
+++ b/schemas/2019-06-15/Microsoft.Cdn.json
@@ -3396,4 +3396,4 @@
"description": "Defines the parameters for the url rewrite action."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-07-19-preview/Microsoft.Capacity.json b/schemas/2019-07-19-preview/Microsoft.Capacity.json
index 34c853eab9..a634dafa80 100644
--- a/schemas/2019-07-19-preview/Microsoft.Capacity.json
+++ b/schemas/2019-07-19-preview/Microsoft.Capacity.json
@@ -302,4 +302,4 @@
"description": "The SupportRequest action."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2019-09-01-preview/Microsoft.Media.json b/schemas/2019-09-01-preview/Microsoft.Media.json
new file mode 100644
index 0000000000..8bbfaba852
--- /dev/null
+++ b/schemas/2019-09-01-preview/Microsoft.Media.json
@@ -0,0 +1,211 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2019-09-01-preview/Microsoft.Media.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.Media",
+ "description": "Microsoft Media Resource Types",
+ "resourceDefinitions": {
+ "mediaServices_mediaGraphs": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2019-09-01-preview"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "The Media Graph name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MediaGraphProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Class for Media Graph properties"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Media/mediaServices/mediaGraphs"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.Media/mediaServices/mediaGraphs"
+ }
+ },
+ "definitions": {
+ "MediaGraphAssetSink": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.MediaGraphAssetSink"
+ ]
+ },
+ "assetName": {
+ "type": "string",
+ "description": "Asset name"
+ }
+ },
+ "required": [
+ "@odata.type",
+ "assetName"
+ ],
+ "description": "Asset sink"
+ },
+ "MediaGraphProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Media Graph description"
+ },
+ "sinks": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MediaGraphSink"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Media Graph sinks"
+ },
+ "sources": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MediaGraphSource"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Media Graph sources"
+ }
+ },
+ "required": [
+ "sinks",
+ "sources"
+ ],
+ "description": "Class for Media Graph properties"
+ },
+ "MediaGraphRtspSource": {
+ "type": "object",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Media.MediaGraphRtspSource"
+ ]
+ },
+ "credentials": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MediaGraphUserCredentials"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Credentials to authenticate to Media Graph sources"
+ },
+ "rtspUrl": {
+ "type": "string",
+ "description": "RTSP URL"
+ }
+ },
+ "required": [
+ "@odata.type",
+ "rtspUrl"
+ ],
+ "description": "RTSP source"
+ },
+ "MediaGraphSink": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MediaGraphAssetSink"
+ }
+ ],
+ "properties": {
+ "inputs": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Sink inputs"
+ },
+ "name": {
+ "type": "string",
+ "description": "Sink name"
+ }
+ },
+ "required": [
+ "inputs",
+ "name"
+ ],
+ "description": "Media Sink"
+ },
+ "MediaGraphSource": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MediaGraphRtspSource"
+ }
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Source name"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Media source"
+ },
+ "MediaGraphUserCredentials": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password credential"
+ },
+ "username": {
+ "type": "string",
+ "description": "User name"
+ }
+ },
+ "required": [
+ "password",
+ "username"
+ ],
+ "description": "Credentials to authenticate to Media Graph sources"
+ }
+ }
+}
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-12-31/Microsoft.Cdn.json b/schemas/2019-12-31/Microsoft.Cdn.json
index 7682054947..970d3d2126 100644
--- a/schemas/2019-12-31/Microsoft.Cdn.json
+++ b/schemas/2019-12-31/Microsoft.Cdn.json
@@ -3368,4 +3368,4 @@
"description": "Defines the parameters for the url rewrite action."
}
}
-}
\ No newline at end of file
+}
diff --git a/schemas/2020-01-01-preview/Microsoft.EventGrid.json b/schemas/2020-01-01-preview/Microsoft.EventGrid.json
index 06feacb20e..3c3efe2a74 100644
--- a/schemas/2020-01-01-preview/Microsoft.EventGrid.json
+++ b/schemas/2020-01-01-preview/Microsoft.EventGrid.json
@@ -1362,4 +1362,4 @@
"description": "Information about the webhook destination properties for an event subscription."
}
}
-}
\ 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