Microsoft.DesktopVirtualization scalingPlans 2021-04-01-preview

Bicep resource definition

The scalingPlans resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DesktopVirtualization/scalingPlans resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DesktopVirtualization/scalingPlans@2021-04-01-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
    {customized property}: 'string'
    {customized property}: 'string'
    {customized property}: 'string'
    {customized property}: 'string'
  sku: {
    capacity: int
    family: 'string'
    name: 'string'
    size: 'string'
    tier: 'string'
  }
  kind: 'string'
  identity: {
    type: 'SystemAssigned'
  }
  managedBy: 'string'
  plan: {
    name: 'string'
    product: 'string'
    promotionCode: 'string'
    publisher: 'string'
    version: 'string'
  }
  properties: {
    description: 'string'
    exclusionTag: 'string'
    friendlyName: 'string'
    hostPoolReferences: [
      {
        hostPoolArmPath: 'string'
        scalingPlanEnabled: bool
      }
    ]
    hostPoolType: 'string'
    schedules: [
      {
        daysOfWeek: [
          'string'
        ]
        name: 'string'
        offPeakLoadBalancingAlgorithm: 'string'
        offPeakStartTime: 'string'
        peakLoadBalancingAlgorithm: 'string'
        peakStartTime: 'string'
        rampDownCapacityThresholdPct: int
        rampDownForceLogoffUsers: bool
        rampDownLoadBalancingAlgorithm: 'string'
        rampDownMinimumHostsPct: int
        rampDownNotificationMessage: 'string'
        rampDownStartTime: 'string'
        rampDownStopHostsWhen: 'string'
        rampDownWaitTimeMinutes: int
        rampUpCapacityThresholdPct: int
        rampUpLoadBalancingAlgorithm: 'string'
        rampUpMinimumHostsPct: int
        rampUpStartTime: 'string'
      }
    ]
    timeZone: 'string'
  }
}

Property values

scalingPlans

Name Description Value
name The resource name string (required)
location The geo-location where the resource lives string
tags Resource tags. Dictionary of tag names and values. See Tags in templates
sku ResourceModelWithAllowedPropertySetSku
kind Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. string

Constraints:
Pattern = ^[-\w\._,\(\)]+$
identity ResourceModelWithAllowedPropertySetIdentity
managedBy The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. string
plan ResourceModelWithAllowedPropertySetPlan
properties Detailed properties for scaling plan. ScalingPlanProperties

ResourceModelWithAllowedPropertySetIdentity

Name Description Value
type The identity type. 'SystemAssigned'

ResourceModelWithAllowedPropertySetPlan

Name Description Value
name A user defined name of the 3rd Party Artifact that is being procured. string (required)
product The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. string (required)
promotionCode A publisher provided promotion code as provisioned in Data Market for the said product/artifact. string
publisher The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic string (required)
version The version of the desired product/artifact. string

ScalingPlanProperties

Name Description Value
description Description of scaling plan. string
exclusionTag Exclusion tag for scaling plan. string
friendlyName User friendly name of scaling plan. string
hostPoolReferences List of ScalingHostPoolReference definitions. ScalingHostPoolReference[]
hostPoolType HostPool type for desktop. 'BYODesktop'
'Personal'
'Pooled'
schedules List of ScalingSchedule definitions. ScalingSchedule[]
timeZone Timezone of the scaling plan. string

ScalingHostPoolReference

Name Description Value
hostPoolArmPath Arm path of referenced hostpool. string
scalingPlanEnabled Is the scaling plan enabled for this hostpool. bool

ScalingSchedule

Name Description Value
daysOfWeek Set of days of the week on which this schedule is active. String array containing any of:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
name Name of the scaling schedule. string
offPeakLoadBalancingAlgorithm Load balancing algorithm for off-peak period. 'BreadthFirst'
'DepthFirst'
offPeakStartTime Starting time for off-peak period. string
peakLoadBalancingAlgorithm Load balancing algorithm for peak period. 'BreadthFirst'
'DepthFirst'
peakStartTime Starting time for peak period. string
rampDownCapacityThresholdPct Capacity threshold for ramp down period. int

Constraints:
Min value = 0
Max value = 100
rampDownForceLogoffUsers Should users be logged off forcefully from hosts. bool
rampDownLoadBalancingAlgorithm Load balancing algorithm for ramp down period. 'BreadthFirst'
'DepthFirst'
rampDownMinimumHostsPct Minimum host percentage for ramp down period. int

Constraints:
Min value = 0
Max value = 100
rampDownNotificationMessage Notification message for users during ramp down period. string
rampDownStartTime Starting time for ramp down period. string
rampDownStopHostsWhen Specifies when to stop hosts during ramp down period. 'ZeroActiveSessions'
'ZeroSessions'
rampDownWaitTimeMinutes Number of minutes to wait to stop hosts during ramp down period. int
rampUpCapacityThresholdPct Capacity threshold for ramp up period. int

Constraints:
Min value = 0
Max value = 100
rampUpLoadBalancingAlgorithm Load balancing algorithm for ramp up period. 'BreadthFirst'
'DepthFirst'
rampUpMinimumHostsPct Minimum host percentage for ramp up period. int

Constraints:
Min value = 0
Max value = 100
rampUpStartTime Starting time for ramp up period. string

ResourceModelWithAllowedPropertySetSku

Name Description Value
capacity If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. int
family If the service has different generations of hardware, for the same SKU, then that can be captured here. string
name The name of the SKU. Ex - P3. It is typically a letter+number code string (required)
size The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. string
tier This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. 'Basic'
'Free'
'Premium'
'Standard'

ARM template resource definition

The scalingPlans resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DesktopVirtualization/scalingPlans resource, add the following JSON to your template.

{
  "type": "Microsoft.DesktopVirtualization/scalingPlans",
  "apiVersion": "2021-04-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
    "{customized property}": "string",
    "{customized property}": "string",
    "{customized property}": "string",
    "{customized property}": "string"
  "sku": {
    "capacity": "int",
    "family": "string",
    "name": "string",
    "size": "string",
    "tier": "string"
  },
  "kind": "string",
  "identity": {
    "type": "SystemAssigned"
  },
  "managedBy": "string",
  "plan": {
    "name": "string",
    "product": "string",
    "promotionCode": "string",
    "publisher": "string",
    "version": "string"
  },
  "properties": {
    "description": "string",
    "exclusionTag": "string",
    "friendlyName": "string",
    "hostPoolReferences": [
      {
        "hostPoolArmPath": "string",
        "scalingPlanEnabled": "bool"
      }
    ],
    "hostPoolType": "string",
    "schedules": [
      {
        "daysOfWeek": [ "string" ],
        "name": "string",
        "offPeakLoadBalancingAlgorithm": "string",
        "offPeakStartTime": "string",
        "peakLoadBalancingAlgorithm": "string",
        "peakStartTime": "string",
        "rampDownCapacityThresholdPct": "int",
        "rampDownForceLogoffUsers": "bool",
        "rampDownLoadBalancingAlgorithm": "string",
        "rampDownMinimumHostsPct": "int",
        "rampDownNotificationMessage": "string",
        "rampDownStartTime": "string",
        "rampDownStopHostsWhen": "string",
        "rampDownWaitTimeMinutes": "int",
        "rampUpCapacityThresholdPct": "int",
        "rampUpLoadBalancingAlgorithm": "string",
        "rampUpMinimumHostsPct": "int",
        "rampUpStartTime": "string"
      }
    ],
    "timeZone": "string"
  }
}

Property values

scalingPlans

Name Description Value
type The resource type 'Microsoft.DesktopVirtualization/scalingPlans'
apiVersion The resource api version '2021-04-01-preview'
name The resource name string (required)
location The geo-location where the resource lives string
tags Resource tags. Dictionary of tag names and values. See Tags in templates
sku ResourceModelWithAllowedPropertySetSku
kind Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. string

Constraints:
Pattern = ^[-\w\._,\(\)]+$
identity ResourceModelWithAllowedPropertySetIdentity
managedBy The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. string
plan ResourceModelWithAllowedPropertySetPlan
properties Detailed properties for scaling plan. ScalingPlanProperties

ResourceModelWithAllowedPropertySetIdentity

Name Description Value
type The identity type. 'SystemAssigned'

ResourceModelWithAllowedPropertySetPlan

Name Description Value
name A user defined name of the 3rd Party Artifact that is being procured. string (required)
product The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. string (required)
promotionCode A publisher provided promotion code as provisioned in Data Market for the said product/artifact. string
publisher The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic string (required)
version The version of the desired product/artifact. string

ScalingPlanProperties

Name Description Value
description Description of scaling plan. string
exclusionTag Exclusion tag for scaling plan. string
friendlyName User friendly name of scaling plan. string
hostPoolReferences List of ScalingHostPoolReference definitions. ScalingHostPoolReference[]
hostPoolType HostPool type for desktop. 'BYODesktop'
'Personal'
'Pooled'
schedules List of ScalingSchedule definitions. ScalingSchedule[]
timeZone Timezone of the scaling plan. string

ScalingHostPoolReference

Name Description Value
hostPoolArmPath Arm path of referenced hostpool. string
scalingPlanEnabled Is the scaling plan enabled for this hostpool. bool

ScalingSchedule

Name Description Value
daysOfWeek Set of days of the week on which this schedule is active. String array containing any of:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
name Name of the scaling schedule. string
offPeakLoadBalancingAlgorithm Load balancing algorithm for off-peak period. 'BreadthFirst'
'DepthFirst'
offPeakStartTime Starting time for off-peak period. string
peakLoadBalancingAlgorithm Load balancing algorithm for peak period. 'BreadthFirst'
'DepthFirst'
peakStartTime Starting time for peak period. string
rampDownCapacityThresholdPct Capacity threshold for ramp down period. int

Constraints:
Min value = 0
Max value = 100
rampDownForceLogoffUsers Should users be logged off forcefully from hosts. bool
rampDownLoadBalancingAlgorithm Load balancing algorithm for ramp down period. 'BreadthFirst'
'DepthFirst'
rampDownMinimumHostsPct Minimum host percentage for ramp down period. int

Constraints:
Min value = 0
Max value = 100
rampDownNotificationMessage Notification message for users during ramp down period. string
rampDownStartTime Starting time for ramp down period. string
rampDownStopHostsWhen Specifies when to stop hosts during ramp down period. 'ZeroActiveSessions'
'ZeroSessions'
rampDownWaitTimeMinutes Number of minutes to wait to stop hosts during ramp down period. int
rampUpCapacityThresholdPct Capacity threshold for ramp up period. int

Constraints:
Min value = 0
Max value = 100
rampUpLoadBalancingAlgorithm Load balancing algorithm for ramp up period. 'BreadthFirst'
'DepthFirst'
rampUpMinimumHostsPct Minimum host percentage for ramp up period. int

Constraints:
Min value = 0
Max value = 100
rampUpStartTime Starting time for ramp up period. string

ResourceModelWithAllowedPropertySetSku

Name Description Value
capacity If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. int
family If the service has different generations of hardware, for the same SKU, then that can be captured here. string
name The name of the SKU. Ex - P3. It is typically a letter+number code string (required)
size The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. string
tier This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. 'Basic'
'Free'
'Premium'
'Standard'

Terraform (AzAPI provider) resource definition

The scalingPlans resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DesktopVirtualization/scalingPlans resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DesktopVirtualization/scalingPlans@2021-04-01-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
    {customized property} = "string"
    {customized property} = "string"
    {customized property} = "string"
    {customized property} = "string"
  identity {
    type = "SystemAssigned"
  }
  body = jsonencode({
    properties = {
      description = "string"
      exclusionTag = "string"
      friendlyName = "string"
      hostPoolReferences = [
        {
          hostPoolArmPath = "string"
          scalingPlanEnabled = bool
        }
      ]
      hostPoolType = "string"
      schedules = [
        {
          daysOfWeek = [
            "string"
          ]
          name = "string"
          offPeakLoadBalancingAlgorithm = "string"
          offPeakStartTime = "string"
          peakLoadBalancingAlgorithm = "string"
          peakStartTime = "string"
          rampDownCapacityThresholdPct = int
          rampDownForceLogoffUsers = bool
          rampDownLoadBalancingAlgorithm = "string"
          rampDownMinimumHostsPct = int
          rampDownNotificationMessage = "string"
          rampDownStartTime = "string"
          rampDownStopHostsWhen = "string"
          rampDownWaitTimeMinutes = int
          rampUpCapacityThresholdPct = int
          rampUpLoadBalancingAlgorithm = "string"
          rampUpMinimumHostsPct = int
          rampUpStartTime = "string"
        }
      ]
      timeZone = "string"
    }
    sku = {
      capacity = int
      family = "string"
      name = "string"
      size = "string"
      tier = "string"
    }
    kind = "string"
    managedBy = "string"
    plan = {
      name = "string"
      product = "string"
      promotionCode = "string"
      publisher = "string"
      version = "string"
    }
  })
}

Property values

scalingPlans

Name Description Value
type The resource type "Microsoft.DesktopVirtualization/scalingPlans@2021-04-01-preview"
name The resource name string (required)
location The geo-location where the resource lives string
parent_id To deploy to a resource group, use the ID of that resource group. string (required)
tags Resource tags. Dictionary of tag names and values.
sku ResourceModelWithAllowedPropertySetSku
kind Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. string

Constraints:
Pattern = ^[-\w\._,\(\)]+$
identity ResourceModelWithAllowedPropertySetIdentity
managedBy The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. string
plan ResourceModelWithAllowedPropertySetPlan
properties Detailed properties for scaling plan. ScalingPlanProperties

ResourceModelWithAllowedPropertySetIdentity

Name Description Value
type The identity type. "SystemAssigned"

ResourceModelWithAllowedPropertySetPlan

Name Description Value
name A user defined name of the 3rd Party Artifact that is being procured. string (required)
product The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. string (required)
promotionCode A publisher provided promotion code as provisioned in Data Market for the said product/artifact. string
publisher The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic string (required)
version The version of the desired product/artifact. string

ScalingPlanProperties

Name Description Value
description Description of scaling plan. string
exclusionTag Exclusion tag for scaling plan. string
friendlyName User friendly name of scaling plan. string
hostPoolReferences List of ScalingHostPoolReference definitions. ScalingHostPoolReference[]
hostPoolType HostPool type for desktop. "BYODesktop"
"Personal"
"Pooled"
schedules List of ScalingSchedule definitions. ScalingSchedule[]
timeZone Timezone of the scaling plan. string

ScalingHostPoolReference

Name Description Value
hostPoolArmPath Arm path of referenced hostpool. string
scalingPlanEnabled Is the scaling plan enabled for this hostpool. bool

ScalingSchedule

Name Description Value
daysOfWeek Set of days of the week on which this schedule is active. String array containing any of:
"Friday"
"Monday"
"Saturday"
"Sunday"
"Thursday"
"Tuesday"
"Wednesday"
name Name of the scaling schedule. string
offPeakLoadBalancingAlgorithm Load balancing algorithm for off-peak period. "BreadthFirst"
"DepthFirst"
offPeakStartTime Starting time for off-peak period. string
peakLoadBalancingAlgorithm Load balancing algorithm for peak period. "BreadthFirst"
"DepthFirst"
peakStartTime Starting time for peak period. string
rampDownCapacityThresholdPct Capacity threshold for ramp down period. int

Constraints:
Min value = 0
Max value = 100
rampDownForceLogoffUsers Should users be logged off forcefully from hosts. bool
rampDownLoadBalancingAlgorithm Load balancing algorithm for ramp down period. "BreadthFirst"
"DepthFirst"
rampDownMinimumHostsPct Minimum host percentage for ramp down period. int

Constraints:
Min value = 0
Max value = 100
rampDownNotificationMessage Notification message for users during ramp down period. string
rampDownStartTime Starting time for ramp down period. string
rampDownStopHostsWhen Specifies when to stop hosts during ramp down period. "ZeroActiveSessions"
"ZeroSessions"
rampDownWaitTimeMinutes Number of minutes to wait to stop hosts during ramp down period. int
rampUpCapacityThresholdPct Capacity threshold for ramp up period. int

Constraints:
Min value = 0
Max value = 100
rampUpLoadBalancingAlgorithm Load balancing algorithm for ramp up period. "BreadthFirst"
"DepthFirst"
rampUpMinimumHostsPct Minimum host percentage for ramp up period. int

Constraints:
Min value = 0
Max value = 100
rampUpStartTime Starting time for ramp up period. string

ResourceModelWithAllowedPropertySetSku

Name Description Value
capacity If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. int
family If the service has different generations of hardware, for the same SKU, then that can be captured here. string
name The name of the SKU. Ex - P3. It is typically a letter+number code string (required)
size The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. string
tier This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. "Basic"
"Free"
"Premium"
"Standard"