diff --git a/schemas/2019-01-23-preview/Microsoft.DesktopVirtualization.json b/schemas/2019-01-23-preview/Microsoft.DesktopVirtualization.json index 4c61e6e7f9..c86264c3cf 100644 --- a/schemas/2019-01-23-preview/Microsoft.DesktopVirtualization.json +++ b/schemas/2019-01-23-preview/Microsoft.DesktopVirtualization.json @@ -577,4 +577,4 @@ "description": "Schema for Workspace properties." } } -} \ No newline at end of file +} diff --git a/schemas/2019-09-24-preview/Microsoft.DesktopVirtualization.json b/schemas/2019-09-24-preview/Microsoft.DesktopVirtualization.json index 38068031c1..f78760c5a1 100644 --- a/schemas/2019-09-24-preview/Microsoft.DesktopVirtualization.json +++ b/schemas/2019-09-24-preview/Microsoft.DesktopVirtualization.json @@ -582,4 +582,4 @@ "description": "Schema for Workspace properties." } } -} \ No newline at end of file +} diff --git a/schemas/2019-12-10-preview/Microsoft.DesktopVirtualization.json b/schemas/2019-12-10-preview/Microsoft.DesktopVirtualization.json index 0df60bb859..ed8e72f6e5 100644 --- a/schemas/2019-12-10-preview/Microsoft.DesktopVirtualization.json +++ b/schemas/2019-12-10-preview/Microsoft.DesktopVirtualization.json @@ -582,4 +582,4 @@ "description": "Schema for Workspace properties." } } -} \ No newline at end of file +} diff --git a/schemas/2020-09-21-preview/Microsoft.DesktopVirtualization.json b/schemas/2020-09-21-preview/Microsoft.DesktopVirtualization.json index 660bd9bfae..c501d1b9a5 100644 --- a/schemas/2020-09-21-preview/Microsoft.DesktopVirtualization.json +++ b/schemas/2020-09-21-preview/Microsoft.DesktopVirtualization.json @@ -850,4 +850,4 @@ "description": "Schema for Workspace properties." } } -} \ No newline at end of file +} diff --git a/schemas/2020-10-19-preview/Microsoft.DesktopVirtualization.json b/schemas/2020-10-19-preview/Microsoft.DesktopVirtualization.json index 7ce2aa38ed..2a81e773ec 100644 --- a/schemas/2020-10-19-preview/Microsoft.DesktopVirtualization.json +++ b/schemas/2020-10-19-preview/Microsoft.DesktopVirtualization.json @@ -879,4 +879,4 @@ "description": "Schema for Workspace properties." } } -} \ No newline at end of file +} diff --git a/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json b/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json index a0253f81c2..8b5042de60 100644 --- a/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json +++ b/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json @@ -890,4 +890,4 @@ "description": "Schema for Workspace properties." } } -} \ No newline at end of file +} diff --git a/schemas/2020-11-10-preview/Microsoft.DesktopVirtualization.json b/schemas/2020-11-10-preview/Microsoft.DesktopVirtualization.json new file mode 100644 index 0000000000..d6bc437357 --- /dev/null +++ b/schemas/2020-11-10-preview/Microsoft.DesktopVirtualization.json @@ -0,0 +1,1246 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-11-10-preview/Microsoft.DesktopVirtualization.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DesktopVirtualization", + "description": "Microsoft DesktopVirtualization Resource Types", + "resourceDefinitions": { + "applicationGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-10-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the application group" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for ApplicationGroup properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/applicationGroups_applications_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.DesktopVirtualization/applicationGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/applicationGroups" + }, + "applicationGroups_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-10-preview" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the application within the specified application group" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for Application properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DesktopVirtualization/applicationGroups/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/applicationGroups/applications" + }, + "hostPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-10-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the host pool within the specified resource group" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/HostPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of HostPool." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/hostPools_msixPackages_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.DesktopVirtualization/hostPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/hostPools" + }, + "hostPools_msixPackages": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-10-preview" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 100, + "description": "The version specific package full name of the MSIX package within specified hostpool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MSIXPackageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for MSIX Package properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DesktopVirtualization/hostPools/msixPackages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/hostPools/msixPackages" + }, + "scalingPlans": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-10-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the scaling plan." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingPlanProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling plan 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.DesktopVirtualization/scalingPlans" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/scalingPlans" + }, + "workspaces": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-10-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the workspace" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WorkspaceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for Workspace 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.DesktopVirtualization/workspaces" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/workspaces" + } + }, + "definitions": { + "ApplicationGroupProperties": { + "type": "object", + "properties": { + "applicationGroupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RemoteApp", + "Desktop" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource Type of ApplicationGroup." + }, + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + }, + "hostPoolArmPath": { + "type": "string", + "description": "HostPool arm path of ApplicationGroup." + } + }, + "required": [ + "applicationGroupType", + "hostPoolArmPath" + ], + "description": "Schema for ApplicationGroup properties." + }, + "applicationGroups_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-10-preview" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the application within the specified application group" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for Application properties." + }, + "type": { + "type": "string", + "enum": [ + "applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/applicationGroups/applications" + }, + "ApplicationProperties": { + "type": "object", + "properties": { + "applicationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "InBuilt", + "MsixApplication" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource Type of Application." + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "commandLineSetting": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all." + }, + "description": { + "type": "string", + "description": "Description of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "iconIndex": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Index of the icon." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications" + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications" + }, + "showInPortal": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + } + }, + "required": [ + "commandLineSetting" + ], + "description": "Schema for Application properties." + }, + "HostPoolProperties": { + "type": "object", + "properties": { + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "hostPoolType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Personal", + "Pooled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "HostPool type for desktop." + }, + "loadBalancerType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the load balancer." + }, + "maxSessionLimit": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The max session limit of HostPool." + }, + "personalDesktopAssignmentType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Direct" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "PersonalDesktopAssignment type for HostPool." + }, + "preferredAppGroupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Desktop", + "RailApplications" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of preferred application group type, default to Desktop Application Group." + }, + "registrationInfo": { + "oneOf": [ + { + "$ref": "#/definitions/RegistrationInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents a RegistrationInfo definition." + }, + "ring": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The ring number of HostPool." + }, + "ssoadfsAuthority": { + "type": "string", + "description": "URL to customer ADFS server for signing WVD SSO certificates." + }, + "ssoClientId": { + "type": "string", + "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates." + }, + "ssoClientSecretKeyVaultPath": { + "type": "string", + "description": "Path to Azure KeyVault storing the secret used for communication to ADFS." + }, + "ssoContext": { + "type": "string", + "description": "Path to keyvault containing ssoContext secret." + }, + "ssoSecretType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SharedKey", + "Certificate", + "SharedKeyInKeyVault", + "CertificateInKeyVault" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of single sign on Secret Type." + }, + "startVMOnConnect": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag to turn on/off StartVMOnConnect feature." + }, + "validationEnvironment": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Is validation environment." + }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + } + }, + "required": [ + "hostPoolType", + "loadBalancerType", + "preferredAppGroupType" + ], + "description": "Properties of HostPool." + }, + "hostPools_msixPackages_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-10-preview" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 100, + "description": "The version specific package full name of the MSIX package within specified hostpool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MSIXPackageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for MSIX Package properties." + }, + "type": { + "type": "string", + "enum": [ + "msixPackages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/hostPools/msixPackages" + }, + "MsixPackageApplications": { + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "Package Application Id, found in appxmanifest.xml." + }, + "appUserModelID": { + "type": "string", + "description": "Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml." + }, + "description": { + "type": "string", + "description": "Description of Package Application." + }, + "friendlyName": { + "type": "string", + "description": "User friendly name." + }, + "iconImageName": { + "type": "string", + "description": "User friendly name." + }, + "rawIcon": { + "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 icon a 64 bit string as a byte array." + }, + "rawPng": { + "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 icon a 64 bit string as a byte array." + } + }, + "description": "Schema for MSIX Package Application properties." + }, + "MsixPackageDependencies": { + "type": "object", + "properties": { + "dependencyName": { + "type": "string", + "description": "Name of package dependency." + }, + "minVersion": { + "type": "string", + "description": "Dependency version required." + }, + "publisher": { + "type": "string", + "description": "Name of dependency publisher." + } + }, + "description": "Schema for MSIX Package Dependencies properties." + }, + "MSIXPackageProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. " + }, + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share." + }, + "isActive": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Make this version of the package the active one across the hostpool. " + }, + "isRegularRegistration": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how to register Package in feed." + }, + "lastUpdated": { + "type": "string", + "format": "date-time", + "description": "Date Package was last updated, found in the appxmanifest.xml. " + }, + "packageApplications": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of package applications. " + }, + "packageDependencies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of package dependencies. " + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. " + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. " + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. " + }, + "version": { + "type": "string", + "description": "Package Version found in the appxmanifest.xml. " + } + }, + "description": "Schema for MSIX Package properties." + }, + "RegistrationInfo": { + "type": "object", + "properties": { + "expirationTime": { + "type": "string", + "format": "date-time", + "description": "Expiration time of registration token." + }, + "registrationTokenOperation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "None", + "Update" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of resetting the token." + }, + "token": { + "type": "string", + "description": "The registration token base64 encoded string." + } + }, + "description": "Represents a RegistrationInfo definition." + }, + "ScalingHostPoolReference": { + "type": "object", + "properties": { + "hostPoolArmPath": { + "type": "string", + "description": "Arm path of referenced hostpool." + }, + "scalingPlanEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Is the scaling plan enabled for this hostpool." + } + }, + "description": "Scaling plan reference to hostpool." + }, + "ScalingPlanProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of scaling plan." + }, + "exclusionTag": { + "type": "string", + "description": "Exclusion tag for scaling plan." + }, + "friendlyName": { + "type": "string", + "description": "User friendly name of scaling plan." + }, + "hostPoolReferences": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingHostPoolReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of ScalingHostPoolReference definitions." + }, + "hostPoolType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Personal", + "Pooled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "HostPool type for scaling plan." + }, + "schedules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingSchedule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of ScalingSchedule definitions." + }, + "timeZone": { + "type": "string", + "description": "Timezone of the scaling plan." + } + }, + "description": "Scaling plan properties." + }, + "ScalingSchedule": { + "type": "object", + "properties": { + "daysOfWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of days of the week on which this schedule is active." + }, + "name": { + "type": "string", + "description": "Name of the scaling schedule." + }, + "offPeakLoadBalancingAlgorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BreadthFirst", + "DepthFirst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing algorithm for off-peak period." + }, + "offPeakStartTime": { + "type": "string", + "format": "date-time", + "description": "Starting time for off-peak period." + }, + "peakLoadBalancingAlgorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BreadthFirst", + "DepthFirst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing algorithm for peak period." + }, + "peakStartTime": { + "type": "string", + "format": "date-time", + "description": "Starting time for peak period." + }, + "rampDownCapacityThresholdPct": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Capacity threshold for ramp down period." + }, + "rampDownForceLogoffUsers": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Should users be logged off forcefully from hosts." + }, + "rampDownLoadBalancingAlgorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BreadthFirst", + "DepthFirst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing algorithm for ramp down period." + }, + "rampDownMinimumHostsPct": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum host percentage for ramp down period." + }, + "rampDownNotificationMessage": { + "type": "string", + "description": "Notification message for users during ramp down period." + }, + "rampDownNotificationMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of minutes to wait to stop hosts during ramp down period." + }, + "rampDownStartTime": { + "type": "string", + "format": "date-time", + "description": "Starting time for ramp down period." + }, + "rampDownStopHostsWhen": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ZeroSessions", + "ZeroActiveSessions" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies when to stop hosts during ramp down period." + }, + "rampUpAlgorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BreadthFirst", + "DepthFirst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing algorithm for ramp up period." + }, + "rampUpCapacityThresholdPct": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Capacity threshold for ramp up period." + }, + "rampUpMinimumHostPct": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum host percentage for ramp up period." + }, + "rampUpStartTime": { + "type": "string", + "format": "date-time", + "description": "Starting time for ramp up period." + } + }, + "description": "Scaling plan schedule." + }, + "WorkspaceProperties": { + "type": "object", + "properties": { + "applicationGroupReferences": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of applicationGroup resource Ids." + }, + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + } + }, + "description": "Schema for Workspace properties." + } + } +} diff --git a/schemas/2021-01-14-preview/Microsoft.DesktopVirtualization.json b/schemas/2021-01-14-preview/Microsoft.DesktopVirtualization.json new file mode 100644 index 0000000000..32b32e166c --- /dev/null +++ b/schemas/2021-01-14-preview/Microsoft.DesktopVirtualization.json @@ -0,0 +1,1246 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-01-14-preview/Microsoft.DesktopVirtualization.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DesktopVirtualization", + "description": "Microsoft DesktopVirtualization Resource Types", + "resourceDefinitions": { + "applicationGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-14-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the application group" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for ApplicationGroup properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/applicationGroups_applications_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.DesktopVirtualization/applicationGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/applicationGroups" + }, + "applicationGroups_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-14-preview" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the application within the specified application group" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for Application properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DesktopVirtualization/applicationGroups/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/applicationGroups/applications" + }, + "hostPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-14-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the host pool within the specified resource group" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/HostPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of HostPool." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/hostPools_msixPackages_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.DesktopVirtualization/hostPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/hostPools" + }, + "hostPools_msixPackages": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-14-preview" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 100, + "description": "The version specific package full name of the MSIX package within specified hostpool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MSIXPackageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for MSIX Package properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DesktopVirtualization/hostPools/msixPackages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/hostPools/msixPackages" + }, + "scalingPlans": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-14-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the scaling plan." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingPlanProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling plan 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.DesktopVirtualization/scalingPlans" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/scalingPlans" + }, + "workspaces": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-14-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the workspace" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WorkspaceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for Workspace 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.DesktopVirtualization/workspaces" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/workspaces" + } + }, + "definitions": { + "ApplicationGroupProperties": { + "type": "object", + "properties": { + "applicationGroupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RemoteApp", + "Desktop" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource Type of ApplicationGroup." + }, + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + }, + "hostPoolArmPath": { + "type": "string", + "description": "HostPool arm path of ApplicationGroup." + } + }, + "required": [ + "applicationGroupType", + "hostPoolArmPath" + ], + "description": "Schema for ApplicationGroup properties." + }, + "applicationGroups_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-14-preview" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 24, + "description": "The name of the application within the specified application group" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for Application properties." + }, + "type": { + "type": "string", + "enum": [ + "applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/applicationGroups/applications" + }, + "ApplicationProperties": { + "type": "object", + "properties": { + "applicationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "InBuilt", + "MsixApplication" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource Type of Application." + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "commandLineSetting": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all." + }, + "description": { + "type": "string", + "description": "Description of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "iconIndex": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Index of the icon." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications" + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications" + }, + "showInPortal": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + } + }, + "required": [ + "commandLineSetting" + ], + "description": "Schema for Application properties." + }, + "HostPoolProperties": { + "type": "object", + "properties": { + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "hostPoolType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Personal", + "Pooled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "HostPool type for desktop." + }, + "loadBalancerType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the load balancer." + }, + "maxSessionLimit": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The max session limit of HostPool." + }, + "personalDesktopAssignmentType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Direct" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "PersonalDesktopAssignment type for HostPool." + }, + "preferredAppGroupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Desktop", + "RailApplications" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of preferred application group type, default to Desktop Application Group." + }, + "registrationInfo": { + "oneOf": [ + { + "$ref": "#/definitions/RegistrationInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents a RegistrationInfo definition." + }, + "ring": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The ring number of HostPool." + }, + "ssoadfsAuthority": { + "type": "string", + "description": "URL to customer ADFS server for signing WVD SSO certificates." + }, + "ssoClientId": { + "type": "string", + "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates." + }, + "ssoClientSecretKeyVaultPath": { + "type": "string", + "description": "Path to Azure KeyVault storing the secret used for communication to ADFS." + }, + "ssoContext": { + "type": "string", + "description": "Path to keyvault containing ssoContext secret." + }, + "ssoSecretType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SharedKey", + "Certificate", + "SharedKeyInKeyVault", + "CertificateInKeyVault" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of single sign on Secret Type." + }, + "startVMOnConnect": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag to turn on/off StartVMOnConnect feature." + }, + "validationEnvironment": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Is validation environment." + }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + } + }, + "required": [ + "hostPoolType", + "loadBalancerType", + "preferredAppGroupType" + ], + "description": "Properties of HostPool." + }, + "hostPools_msixPackages_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-14-preview" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 100, + "description": "The version specific package full name of the MSIX package within specified hostpool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MSIXPackageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schema for MSIX Package properties." + }, + "type": { + "type": "string", + "enum": [ + "msixPackages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DesktopVirtualization/hostPools/msixPackages" + }, + "MsixPackageApplications": { + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "Package Application Id, found in appxmanifest.xml." + }, + "appUserModelID": { + "type": "string", + "description": "Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml." + }, + "description": { + "type": "string", + "description": "Description of Package Application." + }, + "friendlyName": { + "type": "string", + "description": "User friendly name." + }, + "iconImageName": { + "type": "string", + "description": "User friendly name." + }, + "rawIcon": { + "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 icon a 64 bit string as a byte array." + }, + "rawPng": { + "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 icon a 64 bit string as a byte array." + } + }, + "description": "Schema for MSIX Package Application properties." + }, + "MsixPackageDependencies": { + "type": "object", + "properties": { + "dependencyName": { + "type": "string", + "description": "Name of package dependency." + }, + "minVersion": { + "type": "string", + "description": "Dependency version required." + }, + "publisher": { + "type": "string", + "description": "Name of dependency publisher." + } + }, + "description": "Schema for MSIX Package Dependencies properties." + }, + "MSIXPackageProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. " + }, + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share." + }, + "isActive": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Make this version of the package the active one across the hostpool. " + }, + "isRegularRegistration": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how to register Package in feed." + }, + "lastUpdated": { + "type": "string", + "format": "date-time", + "description": "Date Package was last updated, found in the appxmanifest.xml. " + }, + "packageApplications": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of package applications. " + }, + "packageDependencies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of package dependencies. " + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. " + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. " + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. " + }, + "version": { + "type": "string", + "description": "Package Version found in the appxmanifest.xml. " + } + }, + "description": "Schema for MSIX Package properties." + }, + "RegistrationInfo": { + "type": "object", + "properties": { + "expirationTime": { + "type": "string", + "format": "date-time", + "description": "Expiration time of registration token." + }, + "registrationTokenOperation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "None", + "Update" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of resetting the token." + }, + "token": { + "type": "string", + "description": "The registration token base64 encoded string." + } + }, + "description": "Represents a RegistrationInfo definition." + }, + "ScalingHostPoolReference": { + "type": "object", + "properties": { + "hostPoolArmPath": { + "type": "string", + "description": "Arm path of referenced hostpool." + }, + "scalingPlanEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Is the scaling plan enabled for this hostpool." + } + }, + "description": "Scaling plan reference to hostpool." + }, + "ScalingPlanProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of scaling plan." + }, + "exclusionTag": { + "type": "string", + "description": "Exclusion tag for scaling plan." + }, + "friendlyName": { + "type": "string", + "description": "User friendly name of scaling plan." + }, + "hostPoolReferences": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingHostPoolReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of ScalingHostPoolReference definitions." + }, + "hostPoolType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Personal", + "Pooled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "HostPool type for scaling plan." + }, + "schedules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingSchedule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of ScalingSchedule definitions." + }, + "timeZone": { + "type": "string", + "description": "Timezone of the scaling plan." + } + }, + "description": "Scaling plan properties." + }, + "ScalingSchedule": { + "type": "object", + "properties": { + "daysOfWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of days of the week on which this schedule is active." + }, + "name": { + "type": "string", + "description": "Name of the scaling schedule." + }, + "offPeakLoadBalancingAlgorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BreadthFirst", + "DepthFirst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing algorithm for off-peak period." + }, + "offPeakStartTime": { + "type": "string", + "format": "date-time", + "description": "Starting time for off-peak period." + }, + "peakLoadBalancingAlgorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BreadthFirst", + "DepthFirst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing algorithm for peak period." + }, + "peakStartTime": { + "type": "string", + "format": "date-time", + "description": "Starting time for peak period." + }, + "rampDownCapacityThresholdPct": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Capacity threshold for ramp down period." + }, + "rampDownForceLogoffUsers": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Should users be logged off forcefully from hosts." + }, + "rampDownLoadBalancingAlgorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BreadthFirst", + "DepthFirst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing algorithm for ramp down period." + }, + "rampDownMinimumHostsPct": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum host percentage for ramp down period." + }, + "rampDownNotificationMessage": { + "type": "string", + "description": "Notification message for users during ramp down period." + }, + "rampDownNotificationMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of minutes to wait to stop hosts during ramp down period." + }, + "rampDownStartTime": { + "type": "string", + "format": "date-time", + "description": "Starting time for ramp down period." + }, + "rampDownStopHostsWhen": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ZeroSessions", + "ZeroActiveSessions" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies when to stop hosts during ramp down period." + }, + "rampUpAlgorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BreadthFirst", + "DepthFirst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing algorithm for ramp up period." + }, + "rampUpCapacityThresholdPct": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Capacity threshold for ramp up period." + }, + "rampUpMinimumHostPct": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum host percentage for ramp up period." + }, + "rampUpStartTime": { + "type": "string", + "format": "date-time", + "description": "Starting time for ramp up period." + } + }, + "description": "Scaling plan schedule." + }, + "WorkspaceProperties": { + "type": "object", + "properties": { + "applicationGroupReferences": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of applicationGroup resource Ids." + }, + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + } + }, + "description": "Schema for Workspace properties." + } + } +}