Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 1 addition & 85 deletions modules/desktop-virtualization/host-pool/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ This module deploys an Azure Virtual Desktop (AVD) Host Pool.
| `tokenValidityLength` | string | `'PT8H'` | | Host Pool token validity length. Usage: 'PT8H' - valid for 8 hours; 'P5D' - valid for 5 days; 'P1Y' - valid for 1 year. When not provided, the token will be valid for 8 hours. |
| `type` | string | `'Pooled'` | `[Personal, Pooled]` | Set this parameter to Personal if you would like to enable Persistent Desktop experience. Defaults to Pooled. |
| `validationEnvironment` | bool | `False` | | Validation host pools allows you to test service changes before they are deployed to production. When set to true, the Host Pool will be deployed in a validation 'ring' (environment) that receives all the new features (might be less stable). Defaults to false that stands for the stable, production-ready environment. |
| `vmTemplate` | object | `{object}` | | The necessary information for adding more VMs to this Host Pool. |
| `vmTemplate` | object | `{object}` | | The necessary information for adding more VMs to this Host Pool. The object is converted to an in-line string when handed over to the resource deployment, since that only takes strings. |

**Generated parameters**

Expand Down Expand Up @@ -133,90 +133,6 @@ roleAssignments: [
</details>
<p>

### Parameter Usage: `vmTemplate`

The below parameter object is converted to an in-line string when handed over to the resource deployment, since that only takes strings.

<details>

<summary>Parameter JSON format</summary>

```json
"vmTemplate": {
"value": {
"domain": "<yourAddsDomain>.com",
"galleryImageOffer": "office-365",
"galleryImagePublisher": "microsoftwindowsdesktop",
"galleryImageSKU": "19h2-evd-o365pp",
"imageType": "Gallery",
"imageUri": null,
"customImageId": null,
"namePrefix": "AVDv2",
"osDiskType": "StandardSSD_LRS",
"useManagedDisks": true,
"vmSize": {
"id": "Standard_D2s_v3",
"cores": 2,
"ram": 8
}
}
}
```

</details>

<details>

<summary>Bicep format</summary>

```bicep
vmTemplate: {
domain: '<yourAddsDomain>.com'
galleryImageOffer: 'office-365'
galleryImagePublisher: 'microsoftwindowsdesktop'
galleryImageSKU: '19h2-evd-o365pp'
imageType: 'Gallery'
imageUri: null
customImageId: null
namePrefix: 'AVDv2'
osDiskType: 'StandardSSD_LRS'
useManagedDisks: true
vmSize: {
id: 'Standard_D2s_v3'
cores: 2
ram: 8
}
}
```

</details>
<p>

### Parameter Usage: `customRdpProperty`

<details>

<summary>Parameter JSON format</summary>

```json
"customRdpProperty": {
"value": "audiocapturemode:i:1;audiomode:i:0;drivestoredirect:s:;redirectclipboard:i:1;redirectcomports:i:1;redirectprinters:i:1;redirectsmartcards:i:1;screen mode ID:i:2;"
}
```

</details>

<details>

<summary>Bicep format</summary>

```bicep
customRdpProperty: 'audiocapturemode:i:1;audiomode:i:0;drivestoredirect:s:;redirectclipboard:i:1;redirectcomports:i:1;redirectprinters:i:1;redirectsmartcards:i:1;screen mode ID:i:2;'
```

</details>
<p>

### Parameter Usage: `tags`

Tag names and tag values can be provided as needed. A tag can be left without a value.
Expand Down
2 changes: 1 addition & 1 deletion modules/desktop-virtualization/host-pool/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ param customRdpProperty string = 'audiocapturemode:i:1;audiomode:i:0;drivestored
@sys.description('Optional. Validation host pools allows you to test service changes before they are deployed to production. When set to true, the Host Pool will be deployed in a validation \'ring\' (environment) that receives all the new features (might be less stable). Defaults to false that stands for the stable, production-ready environment.')
param validationEnvironment bool = false

@sys.description('Optional. The necessary information for adding more VMs to this Host Pool.')
@sys.description('Optional. The necessary information for adding more VMs to this Host Pool. The object is converted to an in-line string when handed over to the resource deployment, since that only takes strings.')
param vmTemplate object = {}

@sys.description('Optional. Host Pool token validity length. Usage: \'PT8H\' - valid for 8 hours; \'P5D\' - valid for 5 days; \'P1Y\' - valid for 1 year. When not provided, the token will be valid for 8 hours.')
Expand Down
10 changes: 5 additions & 5 deletions modules/desktop-virtualization/host-pool/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.21.1.54444",
"templateHash": "14979820932920385091"
"version": "0.22.6.54827",
"templateHash": "15971169028304265471"
},
"name": "Azure Virtual Desktop (AVD) Host Pools",
"description": "This module deploys an Azure Virtual Desktop (AVD) Host Pool.",
Expand Down Expand Up @@ -100,7 +100,7 @@
"type": "object",
"defaultValue": {},
"metadata": {
"description": "Optional. The necessary information for adding more VMs to this Host Pool."
"description": "Optional. The necessary information for adding more VMs to this Host Pool. The object is converted to an in-line string when handed over to the resource deployment, since that only takes strings."
}
},
"tokenValidityLength": {
Expand Down Expand Up @@ -465,8 +465,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.21.1.54444",
"templateHash": "15758203474913146406"
"version": "0.22.6.54827",
"templateHash": "11172902539120316456"
}
},
"parameters": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,5 +84,44 @@ module testDeployment '../../main.bicep' = {
hostPoolType: 'Pooled'
friendlyName: 'My Scaling Plan'
description: 'My Scaling Plan Description'
schedules: [ {
rampUpStartTime: {
hour: 7
minute: 0
}
peakStartTime: {
hour: 9
minute: 0
}
rampDownStartTime: {
hour: 18
minute: 0
}
offPeakStartTime: {
hour: 20
minute: 0
}
name: 'weekdays_schedule'
daysOfWeek: [
'Monday'
'Tuesday'
'Wednesday'
'Thursday'
'Friday'
]
rampUpLoadBalancingAlgorithm: 'DepthFirst'
rampUpMinimumHostsPct: 20
rampUpCapacityThresholdPct: 60
peakLoadBalancingAlgorithm: 'DepthFirst'
rampDownLoadBalancingAlgorithm: 'DepthFirst'
rampDownMinimumHostsPct: 10
rampDownCapacityThresholdPct: 90
rampDownForceLogoffUsers: true
rampDownWaitTimeMinutes: 30
rampDownNotificationMessage: 'You will be logged off in 30 min. Make sure to save your work.'
rampDownStopHostsWhen: 'ZeroSessions'
offPeakLoadBalancingAlgorithm: 'DepthFirst'
}
]
}
}
183 changes: 82 additions & 101 deletions modules/desktop-virtualization/scaling-plan/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,107 +48,6 @@ This module deploys an Azure Virtual Desktop (AVD) Scaling Plan.
| `timeZone` | string | `'W. Europe Standard Time'` | | Timezone to be used for the scaling plan. |


### Parameter Usage: `schedules`

Multiple schedules can be provided as needed. If a schedule is not provided, a default schedule will be created.

```json
"schedules" : {
"value": [
{
"rampUpStartTime": {
"hour": 7,
"minute": 0
},
"peakStartTime": {
"hour": 9,
"minute": 0
},
"rampDownStartTime": {
"hour": 18,
"minute": 0
},
"offPeakStartTime": {
"hour": 20,
"minute": 0
},
"name": "weekdays_schedule",
"daysOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"rampUpLoadBalancingAlgorithm": "DepthFirst",
"rampUpMinimumHostsPct": 20,
"rampUpCapacityThresholdPct": 60,
"peakLoadBalancingAlgorithm": "DepthFirst",
"rampDownLoadBalancingAlgorithm": "DepthFirst",
"rampDownMinimumHostsPct": 10,
"rampDownCapacityThresholdPct": 90,
"rampDownForceLogoffUsers": true,
"rampDownWaitTimeMinutes": 30,
"rampDownNotificationMessage": "You will be logged off in 30 min. Make sure to save your work.",
"rampDownStopHostsWhen": "ZeroSessions",
"offPeakLoadBalancingAlgorithm": "DepthFirst"
}
]
}
```

</details>

<details>

<summary>Bicep format</summary>

```bicep
'schedules': [
{
rampUpStartTime: {
hour: 7
minute: 0
}
peakStartTime: {
hour: 9
minute: 0
}
rampDownStartTime: {
hour: 18
minute: 0
}
offPeakStartTime: {
hour: 20
minute: 0
}
name: 'weekdays_schedule'
daysOfWeek: [
'Monday'
'Tuesday'
'Wednesday'
'Thursday'
'Friday'
]
rampUpLoadBalancingAlgorithm: 'DepthFirst'
rampUpMinimumHostsPct: 20
rampUpCapacityThresholdPct: 60
peakLoadBalancingAlgorithm: 'DepthFirst'
rampDownLoadBalancingAlgorithm: 'DepthFirst'
rampDownMinimumHostsPct: 10
rampDownCapacityThresholdPct: 90
rampDownForceLogoffUsers: true
rampDownWaitTimeMinutes: 30
rampDownNotificationMessage: 'You will be logged off in 30 min. Make sure to save your work.'
rampDownStopHostsWhen: 'ZeroSessions'
offPeakLoadBalancingAlgorithm: 'DepthFirst'
}
]
```

</details>
<p>

### Parameter Usage: `tags`

Tag names and tag values can be provided as needed. A tag can be left without a value.
Expand Down Expand Up @@ -299,6 +198,46 @@ module scalingPlan './desktop-virtualization/scaling-plan/main.bicep' = {
roleDefinitionIdOrName: 'Reader'
}
]
schedules: [
{
daysOfWeek: [
'Friday'
'Monday'
'Thursday'
'Tuesday'
'Wednesday'
]
name: 'weekdays_schedule'
offPeakLoadBalancingAlgorithm: 'DepthFirst'
offPeakStartTime: {
hour: 20
minute: 0
}
peakLoadBalancingAlgorithm: 'DepthFirst'
peakStartTime: {
hour: 9
minute: 0
}
rampDownCapacityThresholdPct: 90
rampDownForceLogoffUsers: true
rampDownLoadBalancingAlgorithm: 'DepthFirst'
rampDownMinimumHostsPct: 10
rampDownNotificationMessage: 'You will be logged off in 30 min. Make sure to save your work.'
rampDownStartTime: {
hour: 18
minute: 0
}
rampDownStopHostsWhen: 'ZeroSessions'
rampDownWaitTimeMinutes: 30
rampUpCapacityThresholdPct: 60
rampUpLoadBalancingAlgorithm: 'DepthFirst'
rampUpMinimumHostsPct: 20
rampUpStartTime: {
hour: 7
minute: 0
}
}
]
tags: {
Environment: 'Non-Prod'
'hidden-title': 'This is visible in the resource name'
Expand Down Expand Up @@ -360,6 +299,48 @@ module scalingPlan './desktop-virtualization/scaling-plan/main.bicep' = {
}
]
},
"schedules": {
"value": [
{
"daysOfWeek": [
"Friday",
"Monday",
"Thursday",
"Tuesday",
"Wednesday"
],
"name": "weekdays_schedule",
"offPeakLoadBalancingAlgorithm": "DepthFirst",
"offPeakStartTime": {
"hour": 20,
"minute": 0
},
"peakLoadBalancingAlgorithm": "DepthFirst",
"peakStartTime": {
"hour": 9,
"minute": 0
},
"rampDownCapacityThresholdPct": 90,
"rampDownForceLogoffUsers": true,
"rampDownLoadBalancingAlgorithm": "DepthFirst",
"rampDownMinimumHostsPct": 10,
"rampDownNotificationMessage": "You will be logged off in 30 min. Make sure to save your work.",
"rampDownStartTime": {
"hour": 18,
"minute": 0
},
"rampDownStopHostsWhen": "ZeroSessions",
"rampDownWaitTimeMinutes": 30,
"rampUpCapacityThresholdPct": 60,
"rampUpLoadBalancingAlgorithm": "DepthFirst",
"rampUpMinimumHostsPct": 20,
"rampUpStartTime": {
"hour": 7,
"minute": 0
}
}
]
},
"tags": {
"value": {
"Environment": "Non-Prod",
Expand Down
Loading