From 5d4c070ac4f1ba4673c230ae3f2e106bb4afe553 Mon Sep 17 00:00:00 2001 From: Dany Contreras <78437433+danycontre@users.noreply.github.com> Date: Wed, 4 Oct 2023 17:47:26 -0500 Subject: [PATCH 01/10] updates --- readme.md | 4 +- workload/arm/deploy-baseline.json | 1754 +---------------- .../deploy.bicep | 46 +- .../bicep/brownfield/scalingTool/deploy.bicep | 46 +- workload/bicep/deploy-custom-image.bicep | 64 +- .../avdInsightsMonitoring/deploy.bicep | 50 +- .../modules/avdSessionHosts/deploy.bicep | 148 +- workload/bicep/modules/identity/deploy.bicep | 54 +- 8 files changed, 312 insertions(+), 1854 deletions(-) diff --git a/readme.md b/readme.md index b618655a5..517bf5efe 100644 --- a/readme.md +++ b/readme.md @@ -29,7 +29,7 @@ As of today, we have a first reference implementation scenario that is one of th | Deployment Type | Link | |:--|:--| -| Azure portal UI |[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json) [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json)| +| Azure portal UI |[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%no-deployment-scripts%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json) [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json)| | Command line (Bicep/ARM) | [![Powershell/Azure CLI](./workload/docs/icons/powershell.png)](./workload/bicep/readme.md#avd-accelerator-baseline) | | Terraform | [![Terraform](./workload/docs/icons/terraform.png)](./workload/terraform/greenfield/readme.md) | @@ -66,7 +66,7 @@ Custom image is optimized using [Virtual Desktop Optimization Tool (VDOT)](https | Deployment Type | Link | |:--|:--| -| Azure portal UI | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Farm%2Fdeploy-custom-image.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Fportal-ui%2Fportal-ui-custom-image.json) [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Farm%2Fdeploy-custom-image.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Fportal-ui%2Fportal-ui-custom-image.json) | +| Azure portal UI | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Farm%2Fdeploy-custom-image.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-custom-image.json) [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Farm%2Fdeploy-custom-image.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-custom-image.json) | | Command line (Bicep/ARM) | [![Powershell/Azure CLI](./workload/docs/icons/powershell.png)](./workload/bicep/readme.md#optional-custom-image-build-deployment) | | Terraform | [![Terraform](./workload/docs/icons/terraform.png)](./workload/terraform/customimage) | diff --git a/workload/arm/deploy-baseline.json b/workload/arm/deploy-baseline.json index 0fe0631e1..3ea5ddeb7 100644 --- a/workload/arm/deploy-baseline.json +++ b/workload/arm/deploy-baseline.json @@ -5,7 +5,7 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "4213240222200296045" + "templateHash": "15012622430413885444" }, "name": "AVD Accelerator - Baseline Deployment", "description": "AVD Accelerator - Deployment Baseline" @@ -3369,7 +3369,7 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "6291822394343754042" + "templateHash": "16933483947927654925" } }, "parameters": { @@ -5938,317 +5938,6 @@ "[subscriptionResourceId(parameters('subscriptionId'), 'Microsoft.Resources/deployments', format('Monitoing-RG-{0}', parameters('time')))]" ] }, - { - "condition": "[parameters('deployAlaWorkspace')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('LA-Workspace-Wait-{0}', parameters('time'))]", - "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', parameters('monitoringRgName'))]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "name": { - "value": "[format('LA-Workspace-Wait-{0}', parameters('time'))]" - }, - "location": { - "value": "[parameters('location')]" - }, - "azPowerShellVersion": { - "value": "8.3.0" - }, - "cleanupPreference": { - "value": "Always" - }, - "timeout": { - "value": "PT10M" - }, - "retentionInterval": { - "value": "PT1H" - }, - "scriptContent": { - "value": " Write-Host \"Start\"\r\n Get-Date\r\n Start-Sleep -Seconds 120\r\n Write-Host \"Stop\"\r\n Get-Date\r\n " - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.17.1.54307", - "templateHash": "6119857452463366145" - } - }, - "parameters": { - "name": { - "type": "string", - "metadata": { - "description": "Required. Display name of the script to be run." - } - }, - "userAssignedIdentities": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. The ID(s) to assign to the resource." - } - }, - "location": { - "type": "string", - "defaultValue": "[resourceGroup().location]", - "metadata": { - "description": "Optional. Location for all resources." - } - }, - "kind": { - "type": "string", - "defaultValue": "AzurePowerShell", - "allowedValues": [ - "AzurePowerShell", - "AzureCLI" - ], - "metadata": { - "description": "Optional. Type of the script. AzurePowerShell, AzureCLI." - } - }, - "azPowerShellVersion": { - "type": "string", - "defaultValue": "3.0", - "metadata": { - "description": "Optional. Azure PowerShell module version to be used." - } - }, - "azCliVersion": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Azure CLI module version to be used." - } - }, - "scriptContent": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead." - } - }, - "primaryScriptUri": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead." - } - }, - "environmentVariables": { - "type": "secureObject", - "defaultValue": {}, - "metadata": { - "description": "Optional. The environment variables to pass over to the script. The list is passed as an object with a key name \"secureList\" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object." - } - }, - "supportingScriptUris": { - "type": "array", - "defaultValue": [], - "metadata": { - "description": "Optional. List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent)." - } - }, - "arguments": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Command-line arguments to pass to the script. Arguments are separated by spaces." - } - }, - "retentionInterval": { - "type": "string", - "defaultValue": "P1D", - "metadata": { - "description": "Optional. Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)." - } - }, - "runOnce": { - "type": "bool", - "defaultValue": false, - "metadata": { - "description": "Optional. When set to false, script will run every time the template is deployed. When set to true, the script will only run once." - } - }, - "cleanupPreference": { - "type": "string", - "defaultValue": "Always", - "allowedValues": [ - "Always", - "OnSuccess", - "OnExpiration" - ], - "metadata": { - "description": "Optional. The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled)." - } - }, - "containerGroupName": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed." - } - }, - "storageAccountResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account." - } - }, - "timeout": { - "type": "string", - "defaultValue": "PT1H", - "metadata": { - "description": "Optional. Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year." - } - }, - "baseTime": { - "type": "string", - "defaultValue": "[utcNow('yyyy-MM-dd-HH-mm-ss')]", - "metadata": { - "description": "Generated. Do not provide a value! This date value is used to make sure the script run every time the template is deployed." - } - }, - "lock": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, - "allowedValues": [ - "", - "CanNotDelete", - "ReadOnly" - ] - }, - "tags": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. Tags of the resource." - } - }, - "enableDefaultTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable telemetry via a Globally Unique Identifier (GUID)." - } - } - }, - "variables": { - "containerSettings": { - "containerGroupName": "[parameters('containerGroupName')]" - }, - "identityType": "[if(not(empty(parameters('userAssignedIdentities'))), 'UserAssigned', 'None')]", - "identity": "[if(not(equals(variables('identityType'), 'None')), createObject('type', variables('identityType'), 'userAssignedIdentities', if(not(empty(parameters('userAssignedIdentities'))), parameters('userAssignedIdentities'), null())), null())]" - }, - "resources": [ - { - "condition": "[parameters('enableDefaultTelemetry')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2021-04-01", - "name": "[format('pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-{0}', uniqueString(deployment().name, parameters('location')))]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [] - } - } - }, - { - "type": "Microsoft.Resources/deploymentScripts", - "apiVersion": "2020-10-01", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "tags": "[parameters('tags')]", - "identity": "[variables('identity')]", - "kind": "[parameters('kind')]", - "properties": { - "azPowerShellVersion": "[if(equals(parameters('kind'), 'AzurePowerShell'), parameters('azPowerShellVersion'), null())]", - "azCliVersion": "[if(equals(parameters('kind'), 'AzureCLI'), parameters('azCliVersion'), null())]", - "containerSettings": "[if(not(empty(parameters('containerGroupName'))), variables('containerSettings'), null())]", - "storageAccountSettings": "[if(not(empty(parameters('storageAccountResourceId'))), if(not(empty(parameters('storageAccountResourceId'))), createObject('storageAccountKey', listKeys(parameters('storageAccountResourceId'), '2019-06-01').keys[0].value, 'storageAccountName', last(split(parameters('storageAccountResourceId'), '/'))), createObject()), null())]", - "arguments": "[parameters('arguments')]", - "environmentVariables": "[if(not(empty(parameters('environmentVariables'))), parameters('environmentVariables').secureList, createArray())]", - "scriptContent": "[if(not(empty(parameters('scriptContent'))), parameters('scriptContent'), null())]", - "primaryScriptUri": "[if(not(empty(parameters('primaryScriptUri'))), parameters('primaryScriptUri'), null())]", - "supportingScriptUris": "[if(not(empty(parameters('supportingScriptUris'))), parameters('supportingScriptUris'), null())]", - "cleanupPreference": "[parameters('cleanupPreference')]", - "forceUpdateTag": "[if(parameters('runOnce'), resourceGroup().name, parameters('baseTime'))]", - "retentionInterval": "[parameters('retentionInterval')]", - "timeout": "[parameters('timeout')]" - } - }, - { - "condition": "[not(empty(parameters('lock')))]", - "type": "Microsoft.Authorization/locks", - "apiVersion": "2020-05-01", - "scope": "[format('Microsoft.Resources/deploymentScripts/{0}', parameters('name'))]", - "name": "[format('{0}-{1}-lock', parameters('name'), parameters('lock'))]", - "properties": { - "level": "[parameters('lock')]", - "notes": "[if(equals(parameters('lock'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]" - }, - "dependsOn": [ - "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - ] - } - ], - "outputs": { - "resourceId": { - "type": "string", - "metadata": { - "description": "The resource ID of the deployment script." - }, - "value": "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - }, - "resourceGroupName": { - "type": "string", - "metadata": { - "description": "The resource group the deployment script was deployed into." - }, - "value": "[resourceGroup().name]" - }, - "name": { - "type": "string", - "metadata": { - "description": "The name of the deployment script." - }, - "value": "[parameters('name')]" - }, - "location": { - "type": "string", - "metadata": { - "description": "The location the resource was deployed into." - }, - "value": "[reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01', 'full').location]" - }, - "outputs": { - "type": "object", - "metadata": { - "description": "The output of the deployment script." - }, - "value": "[if(contains(reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01'), 'outputs'), reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01').outputs, createObject())]" - } - } - } - }, - "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('monitoringRgName'))), 'Microsoft.Resources/deployments', format('LA-Workspace-{0}', parameters('time')))]" - ] - }, { "condition": "[parameters('deployCustomPolicyMonitoring')]", "type": "Microsoft.Resources/deployments", @@ -7295,7 +6984,6 @@ }, "dependsOn": [ "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('monitoringRgName'))), 'Microsoft.Resources/deployments', format('LA-Workspace-{0}', parameters('time')))]", - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('monitoringRgName'))), 'Microsoft.Resources/deployments', format('LA-Workspace-Wait-{0}', parameters('time')))]", "[subscriptionResourceId(parameters('subscriptionId'), 'Microsoft.Resources/deployments', format('Monitoing-RG-{0}', parameters('time')))]" ] }, @@ -8232,7 +7920,7 @@ } }, "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('monitoringRgName'))), 'Microsoft.Resources/deployments', format('LA-Workspace-Wait-{0}', parameters('time')))]" + "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('monitoringRgName'))), 'Microsoft.Resources/deployments', format('LA-Workspace-{0}', parameters('time')))]" ] } ], @@ -15422,7 +15110,7 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "16001375654748927393" + "templateHash": "5099184706356398037" } }, "parameters": { @@ -16201,318 +15889,6 @@ } } }, - { - "condition": "[parameters('createStorageDeployment')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('Managed-Identity-Wait-{0}', parameters('time'))]", - "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', parameters('storageObjectsRgName'))]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "name": { - "value": "[format('Managed-Identity-Wait-{0}', parameters('time'))]" - }, - "location": { - "value": "[parameters('location')]" - }, - "azPowerShellVersion": { - "value": "9.7" - }, - "cleanupPreference": { - "value": "Always" - }, - "timeout": { - "value": "PT10M" - }, - "retentionInterval": { - "value": "PT1H" - }, - "scriptContent": { - "value": " Write-Host \"Start\"\r\n Get-Date\r\n Start-Sleep -Seconds 60\r\n Write-Host \"Stop\"\r\n Get-Date\r\n " - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.17.1.54307", - "templateHash": "6119857452463366145" - } - }, - "parameters": { - "name": { - "type": "string", - "metadata": { - "description": "Required. Display name of the script to be run." - } - }, - "userAssignedIdentities": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. The ID(s) to assign to the resource." - } - }, - "location": { - "type": "string", - "defaultValue": "[resourceGroup().location]", - "metadata": { - "description": "Optional. Location for all resources." - } - }, - "kind": { - "type": "string", - "defaultValue": "AzurePowerShell", - "allowedValues": [ - "AzurePowerShell", - "AzureCLI" - ], - "metadata": { - "description": "Optional. Type of the script. AzurePowerShell, AzureCLI." - } - }, - "azPowerShellVersion": { - "type": "string", - "defaultValue": "3.0", - "metadata": { - "description": "Optional. Azure PowerShell module version to be used." - } - }, - "azCliVersion": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Azure CLI module version to be used." - } - }, - "scriptContent": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead." - } - }, - "primaryScriptUri": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead." - } - }, - "environmentVariables": { - "type": "secureObject", - "defaultValue": {}, - "metadata": { - "description": "Optional. The environment variables to pass over to the script. The list is passed as an object with a key name \"secureList\" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object." - } - }, - "supportingScriptUris": { - "type": "array", - "defaultValue": [], - "metadata": { - "description": "Optional. List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent)." - } - }, - "arguments": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Command-line arguments to pass to the script. Arguments are separated by spaces." - } - }, - "retentionInterval": { - "type": "string", - "defaultValue": "P1D", - "metadata": { - "description": "Optional. Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)." - } - }, - "runOnce": { - "type": "bool", - "defaultValue": false, - "metadata": { - "description": "Optional. When set to false, script will run every time the template is deployed. When set to true, the script will only run once." - } - }, - "cleanupPreference": { - "type": "string", - "defaultValue": "Always", - "allowedValues": [ - "Always", - "OnSuccess", - "OnExpiration" - ], - "metadata": { - "description": "Optional. The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled)." - } - }, - "containerGroupName": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed." - } - }, - "storageAccountResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account." - } - }, - "timeout": { - "type": "string", - "defaultValue": "PT1H", - "metadata": { - "description": "Optional. Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year." - } - }, - "baseTime": { - "type": "string", - "defaultValue": "[utcNow('yyyy-MM-dd-HH-mm-ss')]", - "metadata": { - "description": "Generated. Do not provide a value! This date value is used to make sure the script run every time the template is deployed." - } - }, - "lock": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, - "allowedValues": [ - "", - "CanNotDelete", - "ReadOnly" - ] - }, - "tags": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. Tags of the resource." - } - }, - "enableDefaultTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable telemetry via a Globally Unique Identifier (GUID)." - } - } - }, - "variables": { - "containerSettings": { - "containerGroupName": "[parameters('containerGroupName')]" - }, - "identityType": "[if(not(empty(parameters('userAssignedIdentities'))), 'UserAssigned', 'None')]", - "identity": "[if(not(equals(variables('identityType'), 'None')), createObject('type', variables('identityType'), 'userAssignedIdentities', if(not(empty(parameters('userAssignedIdentities'))), parameters('userAssignedIdentities'), null())), null())]" - }, - "resources": [ - { - "condition": "[parameters('enableDefaultTelemetry')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2021-04-01", - "name": "[format('pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-{0}', uniqueString(deployment().name, parameters('location')))]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [] - } - } - }, - { - "type": "Microsoft.Resources/deploymentScripts", - "apiVersion": "2020-10-01", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "tags": "[parameters('tags')]", - "identity": "[variables('identity')]", - "kind": "[parameters('kind')]", - "properties": { - "azPowerShellVersion": "[if(equals(parameters('kind'), 'AzurePowerShell'), parameters('azPowerShellVersion'), null())]", - "azCliVersion": "[if(equals(parameters('kind'), 'AzureCLI'), parameters('azCliVersion'), null())]", - "containerSettings": "[if(not(empty(parameters('containerGroupName'))), variables('containerSettings'), null())]", - "storageAccountSettings": "[if(not(empty(parameters('storageAccountResourceId'))), if(not(empty(parameters('storageAccountResourceId'))), createObject('storageAccountKey', listKeys(parameters('storageAccountResourceId'), '2019-06-01').keys[0].value, 'storageAccountName', last(split(parameters('storageAccountResourceId'), '/'))), createObject()), null())]", - "arguments": "[parameters('arguments')]", - "environmentVariables": "[if(not(empty(parameters('environmentVariables'))), parameters('environmentVariables').secureList, createArray())]", - "scriptContent": "[if(not(empty(parameters('scriptContent'))), parameters('scriptContent'), null())]", - "primaryScriptUri": "[if(not(empty(parameters('primaryScriptUri'))), parameters('primaryScriptUri'), null())]", - "supportingScriptUris": "[if(not(empty(parameters('supportingScriptUris'))), parameters('supportingScriptUris'), null())]", - "cleanupPreference": "[parameters('cleanupPreference')]", - "forceUpdateTag": "[if(parameters('runOnce'), resourceGroup().name, parameters('baseTime'))]", - "retentionInterval": "[parameters('retentionInterval')]", - "timeout": "[parameters('timeout')]" - } - }, - { - "condition": "[not(empty(parameters('lock')))]", - "type": "Microsoft.Authorization/locks", - "apiVersion": "2020-05-01", - "scope": "[format('Microsoft.Resources/deploymentScripts/{0}', parameters('name'))]", - "name": "[format('{0}-{1}-lock', parameters('name'), parameters('lock'))]", - "properties": { - "level": "[parameters('lock')]", - "notes": "[if(equals(parameters('lock'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]" - }, - "dependsOn": [ - "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - ] - } - ], - "outputs": { - "resourceId": { - "type": "string", - "metadata": { - "description": "The resource ID of the deployment script." - }, - "value": "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - }, - "resourceGroupName": { - "type": "string", - "metadata": { - "description": "The resource group the deployment script was deployed into." - }, - "value": "[resourceGroup().name]" - }, - "name": { - "type": "string", - "metadata": { - "description": "The name of the deployment script." - }, - "value": "[parameters('name')]" - }, - "location": { - "type": "string", - "metadata": { - "description": "The location the resource was deployed into." - }, - "value": "[reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01', 'full').location]" - }, - "outputs": { - "type": "object", - "metadata": { - "description": "The output of the deployment script." - }, - "value": "[if(contains(reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01'), 'outputs'), reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01').outputs, createObject())]" - } - } - } - }, - "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('serviceObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-CleanUp-{0}', parameters('time')))]", - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-Storage-{0}', parameters('time')))]" - ] - }, { "copy": { "name": "startVMonConnectRoleAssignCompute", @@ -18251,8 +17627,7 @@ } }, "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-Storage-{0}', parameters('time')))]", - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('Managed-Identity-Wait-{0}', parameters('time')))]" + "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-Storage-{0}', parameters('time')))]" ] }, { @@ -20570,7 +19945,7 @@ }, "dependsOn": [ "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('serviceObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-CleanUp-{0}', parameters('time')))]", - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('Managed-Identity-Wait-{0}', parameters('time')))]" + "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-Storage-{0}', parameters('time')))]" ] } ], @@ -43236,7 +42611,7 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "5800190286840239570" + "templateHash": "16056519774968078820" } }, "parameters": { @@ -47856,316 +47231,6 @@ } } }, - { - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('SH-Wait-{0}-{1}', parameters('batchId'), parameters('time'))]", - "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', parameters('computeObjectsRgName'))]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "name": { - "value": "[format('SH-Wait-{0}-{1}', parameters('batchId'), parameters('time'))]" - }, - "location": { - "value": "[parameters('location')]" - }, - "azPowerShellVersion": { - "value": "9.7" - }, - "cleanupPreference": { - "value": "Always" - }, - "timeout": { - "value": "PT10M" - }, - "retentionInterval": { - "value": "PT1H" - }, - "scriptContent": { - "value": " Write-Host \"Start\"\r\n Get-Date\r\n Start-Sleep -Seconds 60\r\n Write-Host \"Stop\"\r\n Get-Date\r\n " - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.17.1.54307", - "templateHash": "6119857452463366145" - } - }, - "parameters": { - "name": { - "type": "string", - "metadata": { - "description": "Required. Display name of the script to be run." - } - }, - "userAssignedIdentities": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. The ID(s) to assign to the resource." - } - }, - "location": { - "type": "string", - "defaultValue": "[resourceGroup().location]", - "metadata": { - "description": "Optional. Location for all resources." - } - }, - "kind": { - "type": "string", - "defaultValue": "AzurePowerShell", - "allowedValues": [ - "AzurePowerShell", - "AzureCLI" - ], - "metadata": { - "description": "Optional. Type of the script. AzurePowerShell, AzureCLI." - } - }, - "azPowerShellVersion": { - "type": "string", - "defaultValue": "3.0", - "metadata": { - "description": "Optional. Azure PowerShell module version to be used." - } - }, - "azCliVersion": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Azure CLI module version to be used." - } - }, - "scriptContent": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead." - } - }, - "primaryScriptUri": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead." - } - }, - "environmentVariables": { - "type": "secureObject", - "defaultValue": {}, - "metadata": { - "description": "Optional. The environment variables to pass over to the script. The list is passed as an object with a key name \"secureList\" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object." - } - }, - "supportingScriptUris": { - "type": "array", - "defaultValue": [], - "metadata": { - "description": "Optional. List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent)." - } - }, - "arguments": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Command-line arguments to pass to the script. Arguments are separated by spaces." - } - }, - "retentionInterval": { - "type": "string", - "defaultValue": "P1D", - "metadata": { - "description": "Optional. Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)." - } - }, - "runOnce": { - "type": "bool", - "defaultValue": false, - "metadata": { - "description": "Optional. When set to false, script will run every time the template is deployed. When set to true, the script will only run once." - } - }, - "cleanupPreference": { - "type": "string", - "defaultValue": "Always", - "allowedValues": [ - "Always", - "OnSuccess", - "OnExpiration" - ], - "metadata": { - "description": "Optional. The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled)." - } - }, - "containerGroupName": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed." - } - }, - "storageAccountResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account." - } - }, - "timeout": { - "type": "string", - "defaultValue": "PT1H", - "metadata": { - "description": "Optional. Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year." - } - }, - "baseTime": { - "type": "string", - "defaultValue": "[utcNow('yyyy-MM-dd-HH-mm-ss')]", - "metadata": { - "description": "Generated. Do not provide a value! This date value is used to make sure the script run every time the template is deployed." - } - }, - "lock": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, - "allowedValues": [ - "", - "CanNotDelete", - "ReadOnly" - ] - }, - "tags": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. Tags of the resource." - } - }, - "enableDefaultTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable telemetry via a Globally Unique Identifier (GUID)." - } - } - }, - "variables": { - "containerSettings": { - "containerGroupName": "[parameters('containerGroupName')]" - }, - "identityType": "[if(not(empty(parameters('userAssignedIdentities'))), 'UserAssigned', 'None')]", - "identity": "[if(not(equals(variables('identityType'), 'None')), createObject('type', variables('identityType'), 'userAssignedIdentities', if(not(empty(parameters('userAssignedIdentities'))), parameters('userAssignedIdentities'), null())), null())]" - }, - "resources": [ - { - "condition": "[parameters('enableDefaultTelemetry')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2021-04-01", - "name": "[format('pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-{0}', uniqueString(deployment().name, parameters('location')))]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [] - } - } - }, - { - "type": "Microsoft.Resources/deploymentScripts", - "apiVersion": "2020-10-01", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "tags": "[parameters('tags')]", - "identity": "[variables('identity')]", - "kind": "[parameters('kind')]", - "properties": { - "azPowerShellVersion": "[if(equals(parameters('kind'), 'AzurePowerShell'), parameters('azPowerShellVersion'), null())]", - "azCliVersion": "[if(equals(parameters('kind'), 'AzureCLI'), parameters('azCliVersion'), null())]", - "containerSettings": "[if(not(empty(parameters('containerGroupName'))), variables('containerSettings'), null())]", - "storageAccountSettings": "[if(not(empty(parameters('storageAccountResourceId'))), if(not(empty(parameters('storageAccountResourceId'))), createObject('storageAccountKey', listKeys(parameters('storageAccountResourceId'), '2019-06-01').keys[0].value, 'storageAccountName', last(split(parameters('storageAccountResourceId'), '/'))), createObject()), null())]", - "arguments": "[parameters('arguments')]", - "environmentVariables": "[if(not(empty(parameters('environmentVariables'))), parameters('environmentVariables').secureList, createArray())]", - "scriptContent": "[if(not(empty(parameters('scriptContent'))), parameters('scriptContent'), null())]", - "primaryScriptUri": "[if(not(empty(parameters('primaryScriptUri'))), parameters('primaryScriptUri'), null())]", - "supportingScriptUris": "[if(not(empty(parameters('supportingScriptUris'))), parameters('supportingScriptUris'), null())]", - "cleanupPreference": "[parameters('cleanupPreference')]", - "forceUpdateTag": "[if(parameters('runOnce'), resourceGroup().name, parameters('baseTime'))]", - "retentionInterval": "[parameters('retentionInterval')]", - "timeout": "[parameters('timeout')]" - } - }, - { - "condition": "[not(empty(parameters('lock')))]", - "type": "Microsoft.Authorization/locks", - "apiVersion": "2020-05-01", - "scope": "[format('Microsoft.Resources/deploymentScripts/{0}', parameters('name'))]", - "name": "[format('{0}-{1}-lock', parameters('name'), parameters('lock'))]", - "properties": { - "level": "[parameters('lock')]", - "notes": "[if(equals(parameters('lock'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]" - }, - "dependsOn": [ - "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - ] - } - ], - "outputs": { - "resourceId": { - "type": "string", - "metadata": { - "description": "The resource ID of the deployment script." - }, - "value": "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - }, - "resourceGroupName": { - "type": "string", - "metadata": { - "description": "The resource group the deployment script was deployed into." - }, - "value": "[resourceGroup().name]" - }, - "name": { - "type": "string", - "metadata": { - "description": "The name of the deployment script." - }, - "value": "[parameters('name')]" - }, - "location": { - "type": "string", - "metadata": { - "description": "The location the resource was deployed into." - }, - "value": "[reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01', 'full').location]" - }, - "outputs": { - "type": "object", - "metadata": { - "description": "The output of the deployment script." - }, - "value": "[if(contains(reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01'), 'outputs'), reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01').outputs, createObject())]" - } - } - } - }, - "dependsOn": [ - "sessionHosts" - ] - }, { "copy": { "name": "sessionHostsAntimalwareExtension", @@ -48385,544 +47450,18 @@ } }, "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('computeObjectsRgName'))), 'Microsoft.Resources/deployments', format('SH-Wait-{0}-{1}', parameters('batchId'), parameters('time')))]" - ] - }, - { - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('SH-Antimal-Wait-{0}-{1}', parameters('batchId'), parameters('time'))]", - "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', parameters('computeObjectsRgName'))]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "name": { - "value": "[format('SH-Antimal-Wait-{0}-{1}', parameters('batchId'), parameters('time'))]" - }, - "location": { - "value": "[parameters('location')]" - }, - "azPowerShellVersion": { - "value": "9.7" - }, - "cleanupPreference": { - "value": "Always" - }, - "timeout": { - "value": "PT10M" - }, - "retentionInterval": { - "value": "PT1H" - }, - "scriptContent": { - "value": " Write-Host \"Start\"\r\n Get-Date\r\n Start-Sleep -Seconds 60\r\n Write-Host \"Stop\"\r\n Get-Date\r\n " - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.17.1.54307", - "templateHash": "6119857452463366145" - } - }, - "parameters": { - "name": { - "type": "string", - "metadata": { - "description": "Required. Display name of the script to be run." - } - }, - "userAssignedIdentities": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. The ID(s) to assign to the resource." - } - }, - "location": { - "type": "string", - "defaultValue": "[resourceGroup().location]", - "metadata": { - "description": "Optional. Location for all resources." - } - }, - "kind": { - "type": "string", - "defaultValue": "AzurePowerShell", - "allowedValues": [ - "AzurePowerShell", - "AzureCLI" - ], - "metadata": { - "description": "Optional. Type of the script. AzurePowerShell, AzureCLI." - } - }, - "azPowerShellVersion": { - "type": "string", - "defaultValue": "3.0", - "metadata": { - "description": "Optional. Azure PowerShell module version to be used." - } - }, - "azCliVersion": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Azure CLI module version to be used." - } - }, - "scriptContent": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead." - } - }, - "primaryScriptUri": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead." - } - }, - "environmentVariables": { - "type": "secureObject", - "defaultValue": {}, - "metadata": { - "description": "Optional. The environment variables to pass over to the script. The list is passed as an object with a key name \"secureList\" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object." - } - }, - "supportingScriptUris": { - "type": "array", - "defaultValue": [], - "metadata": { - "description": "Optional. List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent)." - } - }, - "arguments": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Command-line arguments to pass to the script. Arguments are separated by spaces." - } - }, - "retentionInterval": { - "type": "string", - "defaultValue": "P1D", - "metadata": { - "description": "Optional. Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)." - } - }, - "runOnce": { - "type": "bool", - "defaultValue": false, - "metadata": { - "description": "Optional. When set to false, script will run every time the template is deployed. When set to true, the script will only run once." - } - }, - "cleanupPreference": { - "type": "string", - "defaultValue": "Always", - "allowedValues": [ - "Always", - "OnSuccess", - "OnExpiration" - ], - "metadata": { - "description": "Optional. The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled)." - } - }, - "containerGroupName": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed." - } - }, - "storageAccountResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account." - } - }, - "timeout": { - "type": "string", - "defaultValue": "PT1H", - "metadata": { - "description": "Optional. Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year." - } - }, - "baseTime": { - "type": "string", - "defaultValue": "[utcNow('yyyy-MM-dd-HH-mm-ss')]", - "metadata": { - "description": "Generated. Do not provide a value! This date value is used to make sure the script run every time the template is deployed." - } - }, - "lock": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, - "allowedValues": [ - "", - "CanNotDelete", - "ReadOnly" - ] - }, - "tags": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. Tags of the resource." - } - }, - "enableDefaultTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable telemetry via a Globally Unique Identifier (GUID)." - } - } - }, - "variables": { - "containerSettings": { - "containerGroupName": "[parameters('containerGroupName')]" - }, - "identityType": "[if(not(empty(parameters('userAssignedIdentities'))), 'UserAssigned', 'None')]", - "identity": "[if(not(equals(variables('identityType'), 'None')), createObject('type', variables('identityType'), 'userAssignedIdentities', if(not(empty(parameters('userAssignedIdentities'))), parameters('userAssignedIdentities'), null())), null())]" - }, - "resources": [ - { - "condition": "[parameters('enableDefaultTelemetry')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2021-04-01", - "name": "[format('pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-{0}', uniqueString(deployment().name, parameters('location')))]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [] - } - } - }, - { - "type": "Microsoft.Resources/deploymentScripts", - "apiVersion": "2020-10-01", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "tags": "[parameters('tags')]", - "identity": "[variables('identity')]", - "kind": "[parameters('kind')]", - "properties": { - "azPowerShellVersion": "[if(equals(parameters('kind'), 'AzurePowerShell'), parameters('azPowerShellVersion'), null())]", - "azCliVersion": "[if(equals(parameters('kind'), 'AzureCLI'), parameters('azCliVersion'), null())]", - "containerSettings": "[if(not(empty(parameters('containerGroupName'))), variables('containerSettings'), null())]", - "storageAccountSettings": "[if(not(empty(parameters('storageAccountResourceId'))), if(not(empty(parameters('storageAccountResourceId'))), createObject('storageAccountKey', listKeys(parameters('storageAccountResourceId'), '2019-06-01').keys[0].value, 'storageAccountName', last(split(parameters('storageAccountResourceId'), '/'))), createObject()), null())]", - "arguments": "[parameters('arguments')]", - "environmentVariables": "[if(not(empty(parameters('environmentVariables'))), parameters('environmentVariables').secureList, createArray())]", - "scriptContent": "[if(not(empty(parameters('scriptContent'))), parameters('scriptContent'), null())]", - "primaryScriptUri": "[if(not(empty(parameters('primaryScriptUri'))), parameters('primaryScriptUri'), null())]", - "supportingScriptUris": "[if(not(empty(parameters('supportingScriptUris'))), parameters('supportingScriptUris'), null())]", - "cleanupPreference": "[parameters('cleanupPreference')]", - "forceUpdateTag": "[if(parameters('runOnce'), resourceGroup().name, parameters('baseTime'))]", - "retentionInterval": "[parameters('retentionInterval')]", - "timeout": "[parameters('timeout')]" - } - }, - { - "condition": "[not(empty(parameters('lock')))]", - "type": "Microsoft.Authorization/locks", - "apiVersion": "2020-05-01", - "scope": "[format('Microsoft.Resources/deploymentScripts/{0}', parameters('name'))]", - "name": "[format('{0}-{1}-lock', parameters('name'), parameters('lock'))]", - "properties": { - "level": "[parameters('lock')]", - "notes": "[if(equals(parameters('lock'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]" - }, - "dependsOn": [ - "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - ] - } - ], - "outputs": { - "resourceId": { - "type": "string", - "metadata": { - "description": "The resource ID of the deployment script." - }, - "value": "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - }, - "resourceGroupName": { - "type": "string", - "metadata": { - "description": "The resource group the deployment script was deployed into." - }, - "value": "[resourceGroup().name]" - }, - "name": { - "type": "string", - "metadata": { - "description": "The name of the deployment script." - }, - "value": "[parameters('name')]" - }, - "location": { - "type": "string", - "metadata": { - "description": "The location the resource was deployed into." - }, - "value": "[reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01', 'full').location]" - }, - "outputs": { - "type": "object", - "metadata": { - "description": "The output of the deployment script." - }, - "value": "[if(contains(reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01'), 'outputs'), reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01').outputs, createObject())]" - } - } - } - }, - "dependsOn": [ - "sessionHostsAntimalwareExtension" - ] - }, - { - "copy": { - "name": "monitoring", - "count": "[length(range(1, parameters('count')))]" - }, - "condition": "[parameters('deployMonitoring')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('SH-Mon-{0}-{1}-{2}', parameters('batchId'), sub(range(1, parameters('count'))[copyIndex()], 1), parameters('time'))]", - "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', parameters('computeObjectsRgName'))]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "location": { - "value": "[parameters('location')]" - }, - "virtualMachineName": { - "value": "[format('{0}{1}', parameters('namePrefix'), padLeft(add(range(1, parameters('count'))[copyIndex()], parameters('countIndex')), 4, '0'))]" - }, - "name": { - "value": "MicrosoftMonitoringAgent" - }, - "publisher": { - "value": "Microsoft.EnterpriseCloud.Monitoring" - }, - "type": { - "value": "MicrosoftMonitoringAgent" - }, - "typeHandlerVersion": { - "value": "1.0" - }, - "autoUpgradeMinorVersion": { - "value": true - }, - "enableAutomaticUpgrade": { - "value": false - }, - "settings": { - "value": { - "workspaceId": "[if(not(empty(parameters('alaWorkspaceResourceId'))), reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', split(parameters('alaWorkspaceResourceId'), '/')[2], split(parameters('alaWorkspaceResourceId'), '/')[4]), 'Microsoft.OperationalInsights/workspaces', last(split(parameters('alaWorkspaceResourceId'), '/'))), '2021-06-01').customerId, '')]" - } - }, - "protectedSettings": { - "value": { - "workspaceKey": "[if(not(empty(parameters('alaWorkspaceResourceId'))), listKeys(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', split(parameters('alaWorkspaceResourceId'), '/')[2], split(parameters('alaWorkspaceResourceId'), '/')[4]), 'Microsoft.OperationalInsights/workspaces', last(split(parameters('alaWorkspaceResourceId'), '/'))), '2021-06-01').primarySharedKey, '')]" - } - }, - "enableDefaultTelemetry": { - "value": false - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.17.1.54307", - "templateHash": "3345220041904522099" - } - }, - "parameters": { - "virtualMachineName": { - "type": "string", - "metadata": { - "description": "Conditional. The name of the parent virtual machine that extension is provisioned for. Required if the template is used in a standalone deployment." - } - }, - "name": { - "type": "string", - "metadata": { - "description": "Required. The name of the virtual machine extension." - } - }, - "location": { - "type": "string", - "defaultValue": "[resourceGroup().location]", - "metadata": { - "description": "Optional. The location the extension is deployed to." - } - }, - "publisher": { - "type": "string", - "metadata": { - "description": "Required. The name of the extension handler publisher." - } - }, - "type": { - "type": "string", - "metadata": { - "description": "Required. Specifies the type of the extension; an example is \"CustomScriptExtension\"." - } - }, - "typeHandlerVersion": { - "type": "string", - "metadata": { - "description": "Required. Specifies the version of the script handler." - } - }, - "autoUpgradeMinorVersion": { - "type": "bool", - "metadata": { - "description": "Required. Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." - } - }, - "forceUpdateTag": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. How the extension handler should be forced to update even if the extension configuration has not changed." - } - }, - "settings": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. Any object that contains the extension specific settings." - } - }, - "protectedSettings": { - "type": "secureObject", - "defaultValue": {}, - "metadata": { - "description": "Optional. Any object that contains the extension specific protected settings." - } - }, - "supressFailures": { - "type": "bool", - "defaultValue": false, - "metadata": { - "description": "Optional. Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false." - } - }, - "enableAutomaticUpgrade": { - "type": "bool", - "metadata": { - "description": "Required. Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." - } - }, - "enableDefaultTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable telemetry via a Globally Unique Identifier (GUID)." - } - } - }, - "resources": [ - { - "condition": "[parameters('enableDefaultTelemetry')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2021-04-01", - "name": "[format('pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-{0}', uniqueString(deployment().name, parameters('location')))]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [] - } - } - }, - { - "type": "Microsoft.Compute/virtualMachines/extensions", - "apiVersion": "2022-11-01", - "name": "[format('{0}/{1}', parameters('virtualMachineName'), parameters('name'))]", - "location": "[parameters('location')]", - "properties": { - "publisher": "[parameters('publisher')]", - "type": "[parameters('type')]", - "typeHandlerVersion": "[parameters('typeHandlerVersion')]", - "autoUpgradeMinorVersion": "[parameters('autoUpgradeMinorVersion')]", - "enableAutomaticUpgrade": "[parameters('enableAutomaticUpgrade')]", - "forceUpdateTag": "[if(not(empty(parameters('forceUpdateTag'))), parameters('forceUpdateTag'), null())]", - "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", - "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", - "suppressFailures": "[parameters('supressFailures')]" - } - } - ], - "outputs": { - "name": { - "type": "string", - "metadata": { - "description": "The name of the extension." - }, - "value": "[parameters('name')]" - }, - "resourceId": { - "type": "string", - "metadata": { - "description": "The resource ID of the extension." - }, - "value": "[resourceId('Microsoft.Compute/virtualMachines/extensions', parameters('virtualMachineName'), parameters('name'))]" - }, - "resourceGroupName": { - "type": "string", - "metadata": { - "description": "The name of the Resource Group the extension was created in." - }, - "value": "[resourceGroup().name]" - }, - "location": { - "type": "string", - "metadata": { - "description": "The location the resource was deployed into." - }, - "value": "[reference(resourceId('Microsoft.Compute/virtualMachines/extensions', parameters('virtualMachineName'), parameters('name')), '2022-11-01', 'full').location]" - } - } - } - }, - "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('computeObjectsRgName'))), 'Microsoft.Resources/deployments', format('SH-Antimal-Wait-{0}-{1}', parameters('batchId'), parameters('time')))]" + "sessionHosts" ] }, { + "copy": { + "name": "monitoring", + "count": "[length(range(1, parameters('count')))]" + }, "condition": "[parameters('deployMonitoring')]", "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('SH-Mon-Wait-{0}-{1}', parameters('batchId'), parameters('time'))]", + "name": "[format('SH-Mon-{0}-{1}-{2}', parameters('batchId'), sub(range(1, parameters('count'))[copyIndex()], 1), parameters('time'))]", "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", "resourceGroup": "[format('{0}', parameters('computeObjectsRgName'))]", "properties": { @@ -48931,26 +47470,42 @@ }, "mode": "Incremental", "parameters": { - "name": { - "value": "[format('SH-Mon-Wait-{0}-{1}', parameters('batchId'), parameters('time'))]" - }, "location": { "value": "[parameters('location')]" }, - "azPowerShellVersion": { - "value": "9.7" + "virtualMachineName": { + "value": "[format('{0}{1}', parameters('namePrefix'), padLeft(add(range(1, parameters('count'))[copyIndex()], parameters('countIndex')), 4, '0'))]" }, - "cleanupPreference": { - "value": "Always" + "name": { + "value": "MicrosoftMonitoringAgent" }, - "timeout": { - "value": "PT10M" + "publisher": { + "value": "Microsoft.EnterpriseCloud.Monitoring" }, - "retentionInterval": { - "value": "PT1H" + "type": { + "value": "MicrosoftMonitoringAgent" }, - "scriptContent": { - "value": " Write-Host \"Start\"\r\n Get-Date\r\n Start-Sleep -Seconds 60\r\n Write-Host \"Stop\"\r\n Get-Date\r\n " + "typeHandlerVersion": { + "value": "1.0" + }, + "autoUpgradeMinorVersion": { + "value": true + }, + "enableAutomaticUpgrade": { + "value": false + }, + "settings": { + "value": { + "workspaceId": "[if(not(empty(parameters('alaWorkspaceResourceId'))), reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', split(parameters('alaWorkspaceResourceId'), '/')[2], split(parameters('alaWorkspaceResourceId'), '/')[4]), 'Microsoft.OperationalInsights/workspaces', last(split(parameters('alaWorkspaceResourceId'), '/'))), '2021-06-01').customerId, '')]" + } + }, + "protectedSettings": { + "value": { + "workspaceKey": "[if(not(empty(parameters('alaWorkspaceResourceId'))), listKeys(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', split(parameters('alaWorkspaceResourceId'), '/')[2], split(parameters('alaWorkspaceResourceId'), '/')[4]), 'Microsoft.OperationalInsights/workspaces', last(split(parameters('alaWorkspaceResourceId'), '/'))), '2021-06-01').primarySharedKey, '')]" + } + }, + "enableDefaultTelemetry": { + "value": false } }, "template": { @@ -48960,161 +47515,85 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "6119857452463366145" + "templateHash": "3345220041904522099" } }, "parameters": { - "name": { + "virtualMachineName": { "type": "string", "metadata": { - "description": "Required. Display name of the script to be run." + "description": "Conditional. The name of the parent virtual machine that extension is provisioned for. Required if the template is used in a standalone deployment." } }, - "userAssignedIdentities": { - "type": "object", - "defaultValue": {}, + "name": { + "type": "string", "metadata": { - "description": "Optional. The ID(s) to assign to the resource." + "description": "Required. The name of the virtual machine extension." } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { - "description": "Optional. Location for all resources." + "description": "Optional. The location the extension is deployed to." } }, - "kind": { + "publisher": { "type": "string", - "defaultValue": "AzurePowerShell", - "allowedValues": [ - "AzurePowerShell", - "AzureCLI" - ], "metadata": { - "description": "Optional. Type of the script. AzurePowerShell, AzureCLI." + "description": "Required. The name of the extension handler publisher." } }, - "azPowerShellVersion": { + "type": { "type": "string", - "defaultValue": "3.0", "metadata": { - "description": "Optional. Azure PowerShell module version to be used." + "description": "Required. Specifies the type of the extension; an example is \"CustomScriptExtension\"." } }, - "azCliVersion": { + "typeHandlerVersion": { "type": "string", - "defaultValue": "", "metadata": { - "description": "Optional. Azure CLI module version to be used." + "description": "Required. Specifies the version of the script handler." } }, - "scriptContent": { - "type": "string", - "defaultValue": "", + "autoUpgradeMinorVersion": { + "type": "bool", "metadata": { - "description": "Optional. Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead." + "description": "Required. Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." } }, - "primaryScriptUri": { + "forceUpdateTag": { "type": "string", "defaultValue": "", "metadata": { - "description": "Optional. Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead." + "description": "Optional. How the extension handler should be forced to update even if the extension configuration has not changed." } }, - "environmentVariables": { - "type": "secureObject", + "settings": { + "type": "object", "defaultValue": {}, "metadata": { - "description": "Optional. The environment variables to pass over to the script. The list is passed as an object with a key name \"secureList\" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object." - } - }, - "supportingScriptUris": { - "type": "array", - "defaultValue": [], - "metadata": { - "description": "Optional. List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent)." - } - }, - "arguments": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Command-line arguments to pass to the script. Arguments are separated by spaces." + "description": "Optional. Any object that contains the extension specific settings." } }, - "retentionInterval": { - "type": "string", - "defaultValue": "P1D", + "protectedSettings": { + "type": "secureObject", + "defaultValue": {}, "metadata": { - "description": "Optional. Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)." + "description": "Optional. Any object that contains the extension specific protected settings." } }, - "runOnce": { + "supressFailures": { "type": "bool", "defaultValue": false, "metadata": { - "description": "Optional. When set to false, script will run every time the template is deployed. When set to true, the script will only run once." - } - }, - "cleanupPreference": { - "type": "string", - "defaultValue": "Always", - "allowedValues": [ - "Always", - "OnSuccess", - "OnExpiration" - ], - "metadata": { - "description": "Optional. The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled)." - } - }, - "containerGroupName": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed." - } - }, - "storageAccountResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account." - } - }, - "timeout": { - "type": "string", - "defaultValue": "PT1H", - "metadata": { - "description": "Optional. Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year." - } - }, - "baseTime": { - "type": "string", - "defaultValue": "[utcNow('yyyy-MM-dd-HH-mm-ss')]", - "metadata": { - "description": "Generated. Do not provide a value! This date value is used to make sure the script run every time the template is deployed." + "description": "Optional. Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false." } }, - "lock": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, - "allowedValues": [ - "", - "CanNotDelete", - "ReadOnly" - ] - }, - "tags": { - "type": "object", - "defaultValue": {}, + "enableAutomaticUpgrade": { + "type": "bool", "metadata": { - "description": "Optional. Tags of the resource." + "description": "Required. Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." } }, "enableDefaultTelemetry": { @@ -49125,13 +47604,6 @@ } } }, - "variables": { - "containerSettings": { - "containerGroupName": "[parameters('containerGroupName')]" - }, - "identityType": "[if(not(empty(parameters('userAssignedIdentities'))), 'UserAssigned', 'None')]", - "identity": "[if(not(equals(variables('identityType'), 'None')), createObject('type', variables('identityType'), 'userAssignedIdentities', if(not(empty(parameters('userAssignedIdentities'))), parameters('userAssignedIdentities'), null())), null())]" - }, "resources": [ { "condition": "[parameters('enableDefaultTelemetry')]", @@ -49148,85 +47620,57 @@ } }, { - "type": "Microsoft.Resources/deploymentScripts", - "apiVersion": "2020-10-01", - "name": "[parameters('name')]", + "type": "Microsoft.Compute/virtualMachines/extensions", + "apiVersion": "2022-11-01", + "name": "[format('{0}/{1}', parameters('virtualMachineName'), parameters('name'))]", "location": "[parameters('location')]", - "tags": "[parameters('tags')]", - "identity": "[variables('identity')]", - "kind": "[parameters('kind')]", "properties": { - "azPowerShellVersion": "[if(equals(parameters('kind'), 'AzurePowerShell'), parameters('azPowerShellVersion'), null())]", - "azCliVersion": "[if(equals(parameters('kind'), 'AzureCLI'), parameters('azCliVersion'), null())]", - "containerSettings": "[if(not(empty(parameters('containerGroupName'))), variables('containerSettings'), null())]", - "storageAccountSettings": "[if(not(empty(parameters('storageAccountResourceId'))), if(not(empty(parameters('storageAccountResourceId'))), createObject('storageAccountKey', listKeys(parameters('storageAccountResourceId'), '2019-06-01').keys[0].value, 'storageAccountName', last(split(parameters('storageAccountResourceId'), '/'))), createObject()), null())]", - "arguments": "[parameters('arguments')]", - "environmentVariables": "[if(not(empty(parameters('environmentVariables'))), parameters('environmentVariables').secureList, createArray())]", - "scriptContent": "[if(not(empty(parameters('scriptContent'))), parameters('scriptContent'), null())]", - "primaryScriptUri": "[if(not(empty(parameters('primaryScriptUri'))), parameters('primaryScriptUri'), null())]", - "supportingScriptUris": "[if(not(empty(parameters('supportingScriptUris'))), parameters('supportingScriptUris'), null())]", - "cleanupPreference": "[parameters('cleanupPreference')]", - "forceUpdateTag": "[if(parameters('runOnce'), resourceGroup().name, parameters('baseTime'))]", - "retentionInterval": "[parameters('retentionInterval')]", - "timeout": "[parameters('timeout')]" + "publisher": "[parameters('publisher')]", + "type": "[parameters('type')]", + "typeHandlerVersion": "[parameters('typeHandlerVersion')]", + "autoUpgradeMinorVersion": "[parameters('autoUpgradeMinorVersion')]", + "enableAutomaticUpgrade": "[parameters('enableAutomaticUpgrade')]", + "forceUpdateTag": "[if(not(empty(parameters('forceUpdateTag'))), parameters('forceUpdateTag'), null())]", + "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", + "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", + "suppressFailures": "[parameters('supressFailures')]" } - }, - { - "condition": "[not(empty(parameters('lock')))]", - "type": "Microsoft.Authorization/locks", - "apiVersion": "2020-05-01", - "scope": "[format('Microsoft.Resources/deploymentScripts/{0}', parameters('name'))]", - "name": "[format('{0}-{1}-lock', parameters('name'), parameters('lock'))]", - "properties": { - "level": "[parameters('lock')]", - "notes": "[if(equals(parameters('lock'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]" - }, - "dependsOn": [ - "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - ] } ], "outputs": { - "resourceId": { + "name": { "type": "string", "metadata": { - "description": "The resource ID of the deployment script." + "description": "The name of the extension." }, - "value": "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" + "value": "[parameters('name')]" }, - "resourceGroupName": { + "resourceId": { "type": "string", "metadata": { - "description": "The resource group the deployment script was deployed into." + "description": "The resource ID of the extension." }, - "value": "[resourceGroup().name]" + "value": "[resourceId('Microsoft.Compute/virtualMachines/extensions', parameters('virtualMachineName'), parameters('name'))]" }, - "name": { + "resourceGroupName": { "type": "string", "metadata": { - "description": "The name of the deployment script." + "description": "The name of the Resource Group the extension was created in." }, - "value": "[parameters('name')]" + "value": "[resourceGroup().name]" }, "location": { "type": "string", "metadata": { "description": "The location the resource was deployed into." }, - "value": "[reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01', 'full').location]" - }, - "outputs": { - "type": "object", - "metadata": { - "description": "The output of the deployment script." - }, - "value": "[if(contains(reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01'), 'outputs'), reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01').outputs, createObject())]" + "value": "[reference(resourceId('Microsoft.Compute/virtualMachines/extensions', parameters('virtualMachineName'), parameters('name')), '2022-11-01', 'full').location]" } } } }, "dependsOn": [ - "monitoring" + "sessionHostsAntimalwareExtension" ] }, { @@ -49326,8 +47770,8 @@ } }, "dependsOn": [ - "sessionHosts", - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('computeObjectsRgName'))), 'Microsoft.Resources/deployments', format('SH-Mon-Wait-{0}-{1}', parameters('batchId'), parameters('time')))]" + "monitoring", + "sessionHosts" ] }, { @@ -49436,8 +47880,8 @@ }, "dependsOn": [ "configureFsLogixAvdHosts", - "sessionHosts", - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('computeObjectsRgName'))), 'Microsoft.Resources/deployments', format('SH-Mon-Wait-{0}-{1}', parameters('batchId'), parameters('time')))]" + "monitoring", + "sessionHosts" ] } ] diff --git a/workload/bicep/brownfield/autoIncreasePremiumFileShareQuota/deploy.bicep b/workload/bicep/brownfield/autoIncreasePremiumFileShareQuota/deploy.bicep index 774a246c3..03e2ca1da 100644 --- a/workload/bicep/brownfield/autoIncreasePremiumFileShareQuota/deploy.bicep +++ b/workload/bicep/brownfield/autoIncreasePremiumFileShareQuota/deploy.bicep @@ -242,29 +242,29 @@ module workspace '../../../../carml/1.3.0/Microsoft.OperationalInsights/workspac ] } -// Introduce wait after log analitics workspace creation. -module workspaceWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (enableMonitoringAlerts && empty(existingLogAnalyticsWorkspaceResourceId)) { - scope: resourceGroup(sharedServicesSubscriptionId, varResourceGroupName) - name: 'LA-Workspace-Wait-${time}' - params: { - name: 'LA-Workspace-Wait-${time}' - location: deploymentLocation - azPowerShellVersion: '8.3.0' - cleanupPreference: 'Always' - timeout: 'PT10M' - retentionInterval: 'PT1H' - scriptContent: ''' - Write-Host "Start" - Get-Date - Start-Sleep -Seconds 60 - Write-Host "Stop" - Get-Date - ''' - } - dependsOn: [ - workspace - ] -} +// // Introduce wait after log analitics workspace creation. +// module workspaceWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (enableMonitoringAlerts && empty(existingLogAnalyticsWorkspaceResourceId)) { +// scope: resourceGroup(sharedServicesSubscriptionId, varResourceGroupName) +// name: 'LA-Workspace-Wait-${time}' +// params: { +// name: 'LA-Workspace-Wait-${time}' +// location: deploymentLocation +// azPowerShellVersion: '8.3.0' +// cleanupPreference: 'Always' +// timeout: 'PT10M' +// retentionInterval: 'PT1H' +// scriptContent: ''' +// Write-Host "Start" +// Get-Date +// Start-Sleep -Seconds 60 +// Write-Host "Stop" +// Get-Date +// ''' +// } +// dependsOn: [ +// workspace +// ] +// } // Get existing automation account module automationAccount_Existing 'modules/existingAutomationAccount.bicep' = if(!(empty(existingAutomationAccountResourceId))) { diff --git a/workload/bicep/brownfield/scalingTool/deploy.bicep b/workload/bicep/brownfield/scalingTool/deploy.bicep index 5b1476ad7..ce293310c 100644 --- a/workload/bicep/brownfield/scalingTool/deploy.bicep +++ b/workload/bicep/brownfield/scalingTool/deploy.bicep @@ -226,29 +226,29 @@ module workspace '../../../../carml/1.3.0/Microsoft.OperationalInsights/workspac ] } -// Introduce wait after log analitics workspace creation. -module workspaceWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (enableMonitoringAlerts && empty(existingLogAnalyticsWorkspaceResourceId)) { - scope: resourceGroup(sharedServicesSubscriptionId, varResourceGroupName) - name: 'LA-Workspace-Wait-${time}' - params: { - name: 'LA-Workspace-Wait-${time}' - location: deploymentLocation - azPowerShellVersion: '8.3.0' - cleanupPreference: 'Always' - timeout: 'PT10M' - retentionInterval: 'PT1H' - scriptContent: ''' - Write-Host "Start" - Get-Date - Start-Sleep -Seconds 60 - Write-Host "Stop" - Get-Date - ''' - } - dependsOn: [ - workspace - ] -} +// // Introduce wait after log analitics workspace creation. +// module workspaceWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (enableMonitoringAlerts && empty(existingLogAnalyticsWorkspaceResourceId)) { +// scope: resourceGroup(sharedServicesSubscriptionId, varResourceGroupName) +// name: 'LA-Workspace-Wait-${time}' +// params: { +// name: 'LA-Workspace-Wait-${time}' +// location: deploymentLocation +// azPowerShellVersion: '8.3.0' +// cleanupPreference: 'Always' +// timeout: 'PT10M' +// retentionInterval: 'PT1H' +// scriptContent: ''' +// Write-Host "Start" +// Get-Date +// Start-Sleep -Seconds 60 +// Write-Host "Stop" +// Get-Date +// ''' +// } +// dependsOn: [ +// workspace +// ] +// } // Get existing automation account module automationAccount_Existing '../autoIncreasePremiumFileShareQuota/modules/existingAutomationAccount.bicep' = if(!(empty(existingAutomationAccountResourceId))) { diff --git a/workload/bicep/deploy-custom-image.bicep b/workload/bicep/deploy-custom-image.bicep index dadbcc83f..280ab2a35 100644 --- a/workload/bicep/deploy-custom-image.bicep +++ b/workload/bicep/deploy-custom-image.bicep @@ -772,29 +772,29 @@ module workspace '../../carml/1.3.0/Microsoft.OperationalInsights/workspaces/dep ] } -// Introduce wait after log analitics workspace creation. -module workspaceWait '../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (enableMonitoringAlerts && empty(existingLogAnalyticsWorkspaceResourceId)) { - scope: resourceGroup(sharedServicesSubId, varResourceGroupName) - name: 'LA-Workspace-Wait-${time}' - params: { - name: 'LA-Workspace-Wait-${time}' - location: deploymentLocation - azPowerShellVersion: '8.3.0' - cleanupPreference: 'Always' - timeout: 'PT10M' - retentionInterval: 'PT1H' - scriptContent: ''' - Write-Host "Start" - Get-Date - Start-Sleep -Seconds 60 - Write-Host "Stop" - Get-Date - ''' - } - dependsOn: [ - workspace - ] -} +// // Introduce wait after log analitics workspace creation. +// module workspaceWait '../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (enableMonitoringAlerts && empty(existingLogAnalyticsWorkspaceResourceId)) { +// scope: resourceGroup(sharedServicesSubId, varResourceGroupName) +// name: 'LA-Workspace-Wait-${time}' +// params: { +// name: 'LA-Workspace-Wait-${time}' +// location: deploymentLocation +// azPowerShellVersion: '8.3.0' +// cleanupPreference: 'Always' +// timeout: 'PT10M' +// retentionInterval: 'PT1H' +// scriptContent: ''' +// Write-Host "Start" +// Get-Date +// Start-Sleep -Seconds 60 +// Write-Host "Stop" +// Get-Date +// ''' +// } +// dependsOn: [ +// workspace +// ] +// } // Automation account. module automationAccount '../../carml/1.3.0/Microsoft.Automation/automationAccounts/deploy.bicep' = { @@ -854,9 +854,12 @@ module automationAccount '../../carml/1.3.0/Microsoft.Automation/automationAccou '${userAssignedManagedIdentity.outputs.resourceId}': {} } } - dependsOn: empty(existingLogAnalyticsWorkspaceResourceId) ? [ - workspaceWait - ] : [] + // dependsOn: empty(existingLogAnalyticsWorkspaceResourceId) ? [ + // workspaceWait + // ] : [] + dependsOn: [ + workspace + ] } // Automation accounts. @@ -953,7 +956,10 @@ module scheduledQueryRules '../../carml/1.3.0/Microsoft.Insights/scheduledQueryR criterias: varAlerts[i].criterias tags: enableResourceTags ? varCommonResourceTags : {} } - dependsOn: empty(existingLogAnalyticsWorkspaceResourceId) ? [ - workspaceWait - ] : [] + // dependsOn: empty(existingLogAnalyticsWorkspaceResourceId) ? [ + // workspaceWait + // ] : [] + dependsOn: [ + workspace + ] }] diff --git a/workload/bicep/modules/avdInsightsMonitoring/deploy.bicep b/workload/bicep/modules/avdInsightsMonitoring/deploy.bicep index 80da0e2ca..f0ea95398 100644 --- a/workload/bicep/modules/avdInsightsMonitoring/deploy.bicep +++ b/workload/bicep/modules/avdInsightsMonitoring/deploy.bicep @@ -78,28 +78,28 @@ module alaWorkspace '../../../../carml/1.3.0/Microsoft.OperationalInsights/works } // Introduce Wait after log analitics workspace creation. -module alaWorkspaceWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (deployAlaWorkspace) { - scope: resourceGroup('${subscriptionId}', '${monitoringRgName}') - name: 'LA-Workspace-Wait-${time}' - params: { - name: 'LA-Workspace-Wait-${time}' - location: location - azPowerShellVersion: '8.3.0' - cleanupPreference: 'Always' - timeout: 'PT10M' - retentionInterval: 'PT1H' - scriptContent: ''' - Write-Host "Start" - Get-Date - Start-Sleep -Seconds 120 - Write-Host "Stop" - Get-Date - ''' - } - dependsOn: [ - alaWorkspace - ] -} +// module alaWorkspaceWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (deployAlaWorkspace) { +// scope: resourceGroup('${subscriptionId}', '${monitoringRgName}') +// name: 'LA-Workspace-Wait-${time}' +// params: { +// name: 'LA-Workspace-Wait-${time}' +// location: location +// azPowerShellVersion: '8.3.0' +// cleanupPreference: 'Always' +// timeout: 'PT10M' +// retentionInterval: 'PT1H' +// scriptContent: ''' +// Write-Host "Start" +// Get-Date +// Start-Sleep -Seconds 120 +// Write-Host "Stop" +// Get-Date +// ''' +// } +// dependsOn: [ +// alaWorkspace +// ] +// } // Policy definitions. module deployDiagnosticsAzurePolicyForAvd './.bicep/azurePolicyMonitoring.bicep' = if (deployCustomPolicyMonitoring) { @@ -115,7 +115,8 @@ module deployDiagnosticsAzurePolicyForAvd './.bicep/azurePolicyMonitoring.bicep' networkObjectsRgName: networkObjectsRgName } dependsOn: [ - alaWorkspaceWait + // alaWorkspaceWait + alaWorkspace baselineMonitoringResourceGroup ] } @@ -132,7 +133,8 @@ module deployMonitoringEventsPerformanceSettings './.bicep/monitoringEventsPerfo tags: tags } dependsOn: [ - alaWorkspaceWait + // alaWorkspaceWait + alaWorkspace ] } diff --git a/workload/bicep/modules/avdSessionHosts/deploy.bicep b/workload/bicep/modules/avdSessionHosts/deploy.bicep index 0b9f23b1b..78ed00751 100644 --- a/workload/bicep/modules/avdSessionHosts/deploy.bicep +++ b/workload/bicep/modules/avdSessionHosts/deploy.bicep @@ -247,29 +247,29 @@ module sessionHosts '../../../../carml/1.3.0/Microsoft.Compute/virtualMachines/d ] }] -// Introduce wait for session hosts to be ready -module sessionHostsWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { - scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') - name: 'SH-Wait-${batchId}-${time}' - params: { - name: 'SH-Wait-${batchId}-${time}' - location: location - azPowerShellVersion: '9.7' - cleanupPreference: 'Always' - timeout: 'PT10M' - retentionInterval: 'PT1H' - scriptContent: ''' - Write-Host "Start" - Get-Date - Start-Sleep -Seconds 60 - Write-Host "Stop" - Get-Date - ''' - } - dependsOn: [ - sessionHosts - ] -} +// // Introduce wait for session hosts to be ready +// module sessionHostsWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { +// scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') +// name: 'SH-Wait-${batchId}-${time}' +// params: { +// name: 'SH-Wait-${batchId}-${time}' +// location: location +// azPowerShellVersion: '9.7' +// cleanupPreference: 'Always' +// timeout: 'PT10M' +// retentionInterval: 'PT1H' +// scriptContent: ''' +// Write-Host "Start" +// Get-Date +// Start-Sleep -Seconds 60 +// Write-Host "Stop" +// Get-Date +// ''' +// } +// dependsOn: [ +// sessionHosts +// ] +// } // Add antimalware extension to session host. module sessionHostsAntimalwareExtension '../../../../carml/1.3.0/Microsoft.Compute/virtualMachines/extensions/deploy.bicep' = [for i in range(1, count): { @@ -302,33 +302,34 @@ module sessionHostsAntimalwareExtension '../../../../carml/1.3.0/Microsoft.Compu enableDefaultTelemetry: false } dependsOn: [ - sessionHostsWait + // sessionHostsWait + sessionHosts ] }] // Introduce wait for antimalware extension to complete to be ready -module antimalwareExtensionWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { - scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') - name: 'SH-Antimal-Wait-${batchId}-${time}' - params: { - name: 'SH-Antimal-Wait-${batchId}-${time}' - location: location - azPowerShellVersion: '9.7' - cleanupPreference: 'Always' - timeout: 'PT10M' - retentionInterval: 'PT1H' - scriptContent: ''' - Write-Host "Start" - Get-Date - Start-Sleep -Seconds 60 - Write-Host "Stop" - Get-Date - ''' - } - dependsOn: [ - sessionHostsAntimalwareExtension - ] -} +// module antimalwareExtensionWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { +// scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') +// name: 'SH-Antimal-Wait-${batchId}-${time}' +// params: { +// name: 'SH-Antimal-Wait-${batchId}-${time}' +// location: location +// azPowerShellVersion: '9.7' +// cleanupPreference: 'Always' +// timeout: 'PT10M' +// retentionInterval: 'PT1H' +// scriptContent: ''' +// Write-Host "Start" +// Get-Date +// Start-Sleep -Seconds 60 +// Write-Host "Stop" +// Get-Date +// ''' +// } +// dependsOn: [ +// sessionHostsAntimalwareExtension +// ] +// } // Call to the ALA workspace resource alaWorkspace 'Microsoft.OperationalInsights/workspaces@2021-06-01' existing = if (!empty(alaWorkspaceResourceId) && deployMonitoring) { @@ -358,34 +359,35 @@ module monitoring '../../../../carml/1.3.0/Microsoft.Compute/virtualMachines/ext enableDefaultTelemetry: false } dependsOn: [ - antimalwareExtensionWait + // antimalwareExtensionWait + sessionHostsAntimalwareExtension alaWorkspace ] }] -// Introduce wait for antimalware extension to complete to be ready -module sessionHostsMonitoringWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (deployMonitoring) { - scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') - name: 'SH-Mon-Wait-${batchId}-${time}' - params: { - name: 'SH-Mon-Wait-${batchId}-${time}' - location: location - azPowerShellVersion: '9.7' - cleanupPreference: 'Always' - timeout: 'PT10M' - retentionInterval: 'PT1H' - scriptContent: ''' - Write-Host "Start" - Get-Date - Start-Sleep -Seconds 60 - Write-Host "Stop" - Get-Date - ''' - } - dependsOn: [ - monitoring - ] -} +// // Introduce wait for antimalware extension to complete to be ready +// module sessionHostsMonitoringWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (deployMonitoring) { +// scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') +// name: 'SH-Mon-Wait-${batchId}-${time}' +// params: { +// name: 'SH-Mon-Wait-${batchId}-${time}' +// location: location +// azPowerShellVersion: '9.7' +// cleanupPreference: 'Always' +// timeout: 'PT10M' +// retentionInterval: 'PT1H' +// scriptContent: ''' +// Write-Host "Start" +// Get-Date +// Start-Sleep -Seconds 60 +// Write-Host "Stop" +// Get-Date +// ''' +// } +// dependsOn: [ +// monitoring +// ] +// } // Add the registry keys for Fslogix. Alternatively can be enforced via GPOs module configureFsLogixAvdHosts '.bicep/configureFslogixOnSessionHosts.bicep' = [for i in range(1, count): if (createAvdFslogixDeployment) { @@ -400,7 +402,8 @@ module configureFsLogixAvdHosts '.bicep/configureFslogixOnSessionHosts.bicep' = } dependsOn: [ sessionHosts - sessionHostsMonitoringWait + // sessionHostsMonitoringWait + monitoring ] }] @@ -417,7 +420,8 @@ module addAvdHostsToHostPool '.bicep/registerSessionHostsOnHopstPool.bicep' = [f } dependsOn: [ sessionHosts - sessionHostsMonitoringWait + // sessionHostsMonitoringWait + monitoring configureFsLogixAvdHosts ] }] diff --git a/workload/bicep/modules/identity/deploy.bicep b/workload/bicep/modules/identity/deploy.bicep index bf0e18e3b..c914b2cc4 100644 --- a/workload/bicep/modules/identity/deploy.bicep +++ b/workload/bicep/modules/identity/deploy.bicep @@ -123,30 +123,30 @@ module managedIdentityCleanUp '../../../../carml/1.3.0/Microsoft.ManagedIdentity } } -// Introduce wait for management VM to be ready. -module managedIdentityWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (createStorageDeployment) { - scope: resourceGroup('${subscriptionId}', '${storageObjectsRgName}') - name: 'Managed-Identity-Wait-${time}' - params: { - name: 'Managed-Identity-Wait-${time}' - location: location - azPowerShellVersion: '9.7' - cleanupPreference: 'Always' - timeout: 'PT10M' - retentionInterval: 'PT1H' - scriptContent: ''' - Write-Host "Start" - Get-Date - Start-Sleep -Seconds 60 - Write-Host "Stop" - Get-Date - ''' - } - dependsOn: [ - managedIdentityStorage - managedIdentityCleanUp - ] -} +// // Introduce wait for management VM to be ready. +// module managedIdentityWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (createStorageDeployment) { +// scope: resourceGroup('${subscriptionId}', '${storageObjectsRgName}') +// name: 'Managed-Identity-Wait-${time}' +// params: { +// name: 'Managed-Identity-Wait-${time}' +// location: location +// azPowerShellVersion: '9.7' +// cleanupPreference: 'Always' +// timeout: 'PT10M' +// retentionInterval: 'PT1H' +// scriptContent: ''' +// Write-Host "Start" +// Get-Date +// Start-Sleep -Seconds 60 +// Write-Host "Stop" +// Get-Date +// ''' +// } +// dependsOn: [ +// managedIdentityStorage +// managedIdentityCleanUp +// ] +// } // Start VM on connect role assignments module startVMonConnectRoleAssignCompute '../../../../carml/1.3.0/Microsoft.Authorization/roleAssignments/resourceGroup/deploy.bicep' = [for computeAndServiceObjectsRg in computeAndServiceObjectsRgs: if (enableStartVmOnConnect && !deployScalingPlan) { @@ -177,7 +177,8 @@ module storageContributorRoleAssign '../../../../carml/1.3.0/Microsoft.Authoriza principalId: createStorageDeployment ? managedIdentityStorage.outputs.principalId : '' } dependsOn: [ - managedIdentityWait + // managedIdentityWait + managedIdentityStorage ] }] @@ -220,7 +221,8 @@ module cleanUpRoleAssign '../../../../carml/1.3.0/Microsoft.Authorization/roleAs principalId: (createStorageDeployment || createSessionHosts) ? managedIdentityCleanUp.outputs.principalId : '' } dependsOn: [ - managedIdentityWait + // managedIdentityWait + managedIdentityStorage ] } // From 1ece3c5f8d812bed29c0366fa018278c51738dbe Mon Sep 17 00:00:00 2001 From: Dany Contreras <78437433+danycontre@users.noreply.github.com> Date: Wed, 4 Oct 2023 18:01:28 -0500 Subject: [PATCH 02/10] updates --- workload/arm/deploy-baseline.json | 626 +----------------- .../.bicep/managementVm.bicep | 46 +- workload/bicep/modules/zeroTrust/deploy.bicep | 46 +- 3 files changed, 49 insertions(+), 669 deletions(-) diff --git a/workload/arm/deploy-baseline.json b/workload/arm/deploy-baseline.json index 3ea5ddeb7..c2aeb0eb4 100644 --- a/workload/arm/deploy-baseline.json +++ b/workload/arm/deploy-baseline.json @@ -5,7 +5,7 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "15012622430413885444" + "templateHash": "17698206946587143393" }, "name": "AVD Accelerator - Baseline Deployment", "description": "AVD Accelerator - Deployment Baseline" @@ -20038,7 +20038,7 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "12497703365980086846" + "templateHash": "3496664578163970555" } }, "parameters": { @@ -22549,316 +22549,6 @@ } } }, - { - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('ZT-Mana-Ident-Wait-{0}', parameters('time'))]", - "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', parameters('serviceObjectsRgName'))]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "name": { - "value": "[format('Managed-Idenity-Wait-{0}', parameters('time'))]" - }, - "location": { - "value": "[parameters('location')]" - }, - "azPowerShellVersion": { - "value": "8.3.0" - }, - "cleanupPreference": { - "value": "Always" - }, - "timeout": { - "value": "PT10M" - }, - "retentionInterval": { - "value": "PT1H" - }, - "scriptContent": { - "value": " Write-Host \"Start\"\r\n Get-Date\r\n Start-Sleep -Seconds 60\r\n Write-Host \"Stop\"\r\n Get-Date\r\n " - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.17.1.54307", - "templateHash": "6119857452463366145" - } - }, - "parameters": { - "name": { - "type": "string", - "metadata": { - "description": "Required. Display name of the script to be run." - } - }, - "userAssignedIdentities": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. The ID(s) to assign to the resource." - } - }, - "location": { - "type": "string", - "defaultValue": "[resourceGroup().location]", - "metadata": { - "description": "Optional. Location for all resources." - } - }, - "kind": { - "type": "string", - "defaultValue": "AzurePowerShell", - "allowedValues": [ - "AzurePowerShell", - "AzureCLI" - ], - "metadata": { - "description": "Optional. Type of the script. AzurePowerShell, AzureCLI." - } - }, - "azPowerShellVersion": { - "type": "string", - "defaultValue": "3.0", - "metadata": { - "description": "Optional. Azure PowerShell module version to be used." - } - }, - "azCliVersion": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Azure CLI module version to be used." - } - }, - "scriptContent": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead." - } - }, - "primaryScriptUri": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead." - } - }, - "environmentVariables": { - "type": "secureObject", - "defaultValue": {}, - "metadata": { - "description": "Optional. The environment variables to pass over to the script. The list is passed as an object with a key name \"secureList\" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object." - } - }, - "supportingScriptUris": { - "type": "array", - "defaultValue": [], - "metadata": { - "description": "Optional. List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent)." - } - }, - "arguments": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Command-line arguments to pass to the script. Arguments are separated by spaces." - } - }, - "retentionInterval": { - "type": "string", - "defaultValue": "P1D", - "metadata": { - "description": "Optional. Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)." - } - }, - "runOnce": { - "type": "bool", - "defaultValue": false, - "metadata": { - "description": "Optional. When set to false, script will run every time the template is deployed. When set to true, the script will only run once." - } - }, - "cleanupPreference": { - "type": "string", - "defaultValue": "Always", - "allowedValues": [ - "Always", - "OnSuccess", - "OnExpiration" - ], - "metadata": { - "description": "Optional. The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled)." - } - }, - "containerGroupName": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed." - } - }, - "storageAccountResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account." - } - }, - "timeout": { - "type": "string", - "defaultValue": "PT1H", - "metadata": { - "description": "Optional. Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year." - } - }, - "baseTime": { - "type": "string", - "defaultValue": "[utcNow('yyyy-MM-dd-HH-mm-ss')]", - "metadata": { - "description": "Generated. Do not provide a value! This date value is used to make sure the script run every time the template is deployed." - } - }, - "lock": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, - "allowedValues": [ - "", - "CanNotDelete", - "ReadOnly" - ] - }, - "tags": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. Tags of the resource." - } - }, - "enableDefaultTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable telemetry via a Globally Unique Identifier (GUID)." - } - } - }, - "variables": { - "containerSettings": { - "containerGroupName": "[parameters('containerGroupName')]" - }, - "identityType": "[if(not(empty(parameters('userAssignedIdentities'))), 'UserAssigned', 'None')]", - "identity": "[if(not(equals(variables('identityType'), 'None')), createObject('type', variables('identityType'), 'userAssignedIdentities', if(not(empty(parameters('userAssignedIdentities'))), parameters('userAssignedIdentities'), null())), null())]" - }, - "resources": [ - { - "condition": "[parameters('enableDefaultTelemetry')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2021-04-01", - "name": "[format('pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-{0}', uniqueString(deployment().name, parameters('location')))]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [] - } - } - }, - { - "type": "Microsoft.Resources/deploymentScripts", - "apiVersion": "2020-10-01", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "tags": "[parameters('tags')]", - "identity": "[variables('identity')]", - "kind": "[parameters('kind')]", - "properties": { - "azPowerShellVersion": "[if(equals(parameters('kind'), 'AzurePowerShell'), parameters('azPowerShellVersion'), null())]", - "azCliVersion": "[if(equals(parameters('kind'), 'AzureCLI'), parameters('azCliVersion'), null())]", - "containerSettings": "[if(not(empty(parameters('containerGroupName'))), variables('containerSettings'), null())]", - "storageAccountSettings": "[if(not(empty(parameters('storageAccountResourceId'))), if(not(empty(parameters('storageAccountResourceId'))), createObject('storageAccountKey', listKeys(parameters('storageAccountResourceId'), '2019-06-01').keys[0].value, 'storageAccountName', last(split(parameters('storageAccountResourceId'), '/'))), createObject()), null())]", - "arguments": "[parameters('arguments')]", - "environmentVariables": "[if(not(empty(parameters('environmentVariables'))), parameters('environmentVariables').secureList, createArray())]", - "scriptContent": "[if(not(empty(parameters('scriptContent'))), parameters('scriptContent'), null())]", - "primaryScriptUri": "[if(not(empty(parameters('primaryScriptUri'))), parameters('primaryScriptUri'), null())]", - "supportingScriptUris": "[if(not(empty(parameters('supportingScriptUris'))), parameters('supportingScriptUris'), null())]", - "cleanupPreference": "[parameters('cleanupPreference')]", - "forceUpdateTag": "[if(parameters('runOnce'), resourceGroup().name, parameters('baseTime'))]", - "retentionInterval": "[parameters('retentionInterval')]", - "timeout": "[parameters('timeout')]" - } - }, - { - "condition": "[not(empty(parameters('lock')))]", - "type": "Microsoft.Authorization/locks", - "apiVersion": "2020-05-01", - "scope": "[format('Microsoft.Resources/deploymentScripts/{0}', parameters('name'))]", - "name": "[format('{0}-{1}-lock', parameters('name'), parameters('lock'))]", - "properties": { - "level": "[parameters('lock')]", - "notes": "[if(equals(parameters('lock'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]" - }, - "dependsOn": [ - "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - ] - } - ], - "outputs": { - "resourceId": { - "type": "string", - "metadata": { - "description": "The resource ID of the deployment script." - }, - "value": "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - }, - "resourceGroupName": { - "type": "string", - "metadata": { - "description": "The resource group the deployment script was deployed into." - }, - "value": "[resourceGroup().name]" - }, - "name": { - "type": "string", - "metadata": { - "description": "The name of the deployment script." - }, - "value": "[parameters('name')]" - }, - "location": { - "type": "string", - "metadata": { - "description": "The location the resource was deployed into." - }, - "value": "[reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01', 'full').location]" - }, - "outputs": { - "type": "object", - "metadata": { - "description": "The output of the deployment script." - }, - "value": "[if(contains(reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01'), 'outputs'), reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01').outputs, createObject())]" - } - } - } - }, - "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('serviceObjectsRgName'))), 'Microsoft.Resources/deployments', format('ZT-Managed-ID-{0}', parameters('time')))]" - ] - }, { "condition": "[parameters('diskZeroTrust')]", "type": "Microsoft.Resources/deployments", @@ -28797,7 +28487,7 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "2907237861517290313" + "templateHash": "17937321267427196891" } }, "parameters": { @@ -33300,316 +32990,6 @@ } } } - }, - { - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('MGMT-VM-Wait-{0}', parameters('time'))]", - "subscriptionId": "[format('{0}', parameters('workloadSubsId'))]", - "resourceGroup": "[format('{0}', parameters('serviceObjectsRgName'))]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "name": { - "value": "[format('MGMT-VM-Wait-{0}', parameters('time'))]" - }, - "location": { - "value": "[parameters('location')]" - }, - "azPowerShellVersion": { - "value": "8.3.0" - }, - "cleanupPreference": { - "value": "Always" - }, - "timeout": { - "value": "PT10M" - }, - "retentionInterval": { - "value": "PT1H" - }, - "scriptContent": { - "value": " Write-Host \"Start\"\r\n Get-Date\r\n Start-Sleep -Seconds 120\r\n Write-Host \"Stop\"\r\n Get-Date\r\n " - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.17.1.54307", - "templateHash": "6119857452463366145" - } - }, - "parameters": { - "name": { - "type": "string", - "metadata": { - "description": "Required. Display name of the script to be run." - } - }, - "userAssignedIdentities": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. The ID(s) to assign to the resource." - } - }, - "location": { - "type": "string", - "defaultValue": "[resourceGroup().location]", - "metadata": { - "description": "Optional. Location for all resources." - } - }, - "kind": { - "type": "string", - "defaultValue": "AzurePowerShell", - "allowedValues": [ - "AzurePowerShell", - "AzureCLI" - ], - "metadata": { - "description": "Optional. Type of the script. AzurePowerShell, AzureCLI." - } - }, - "azPowerShellVersion": { - "type": "string", - "defaultValue": "3.0", - "metadata": { - "description": "Optional. Azure PowerShell module version to be used." - } - }, - "azCliVersion": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Azure CLI module version to be used." - } - }, - "scriptContent": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead." - } - }, - "primaryScriptUri": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead." - } - }, - "environmentVariables": { - "type": "secureObject", - "defaultValue": {}, - "metadata": { - "description": "Optional. The environment variables to pass over to the script. The list is passed as an object with a key name \"secureList\" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object." - } - }, - "supportingScriptUris": { - "type": "array", - "defaultValue": [], - "metadata": { - "description": "Optional. List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent)." - } - }, - "arguments": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Command-line arguments to pass to the script. Arguments are separated by spaces." - } - }, - "retentionInterval": { - "type": "string", - "defaultValue": "P1D", - "metadata": { - "description": "Optional. Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)." - } - }, - "runOnce": { - "type": "bool", - "defaultValue": false, - "metadata": { - "description": "Optional. When set to false, script will run every time the template is deployed. When set to true, the script will only run once." - } - }, - "cleanupPreference": { - "type": "string", - "defaultValue": "Always", - "allowedValues": [ - "Always", - "OnSuccess", - "OnExpiration" - ], - "metadata": { - "description": "Optional. The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled)." - } - }, - "containerGroupName": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed." - } - }, - "storageAccountResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account." - } - }, - "timeout": { - "type": "string", - "defaultValue": "PT1H", - "metadata": { - "description": "Optional. Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year." - } - }, - "baseTime": { - "type": "string", - "defaultValue": "[utcNow('yyyy-MM-dd-HH-mm-ss')]", - "metadata": { - "description": "Generated. Do not provide a value! This date value is used to make sure the script run every time the template is deployed." - } - }, - "lock": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, - "allowedValues": [ - "", - "CanNotDelete", - "ReadOnly" - ] - }, - "tags": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. Tags of the resource." - } - }, - "enableDefaultTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable telemetry via a Globally Unique Identifier (GUID)." - } - } - }, - "variables": { - "containerSettings": { - "containerGroupName": "[parameters('containerGroupName')]" - }, - "identityType": "[if(not(empty(parameters('userAssignedIdentities'))), 'UserAssigned', 'None')]", - "identity": "[if(not(equals(variables('identityType'), 'None')), createObject('type', variables('identityType'), 'userAssignedIdentities', if(not(empty(parameters('userAssignedIdentities'))), parameters('userAssignedIdentities'), null())), null())]" - }, - "resources": [ - { - "condition": "[parameters('enableDefaultTelemetry')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2021-04-01", - "name": "[format('pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-{0}', uniqueString(deployment().name, parameters('location')))]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [] - } - } - }, - { - "type": "Microsoft.Resources/deploymentScripts", - "apiVersion": "2020-10-01", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "tags": "[parameters('tags')]", - "identity": "[variables('identity')]", - "kind": "[parameters('kind')]", - "properties": { - "azPowerShellVersion": "[if(equals(parameters('kind'), 'AzurePowerShell'), parameters('azPowerShellVersion'), null())]", - "azCliVersion": "[if(equals(parameters('kind'), 'AzureCLI'), parameters('azCliVersion'), null())]", - "containerSettings": "[if(not(empty(parameters('containerGroupName'))), variables('containerSettings'), null())]", - "storageAccountSettings": "[if(not(empty(parameters('storageAccountResourceId'))), if(not(empty(parameters('storageAccountResourceId'))), createObject('storageAccountKey', listKeys(parameters('storageAccountResourceId'), '2019-06-01').keys[0].value, 'storageAccountName', last(split(parameters('storageAccountResourceId'), '/'))), createObject()), null())]", - "arguments": "[parameters('arguments')]", - "environmentVariables": "[if(not(empty(parameters('environmentVariables'))), parameters('environmentVariables').secureList, createArray())]", - "scriptContent": "[if(not(empty(parameters('scriptContent'))), parameters('scriptContent'), null())]", - "primaryScriptUri": "[if(not(empty(parameters('primaryScriptUri'))), parameters('primaryScriptUri'), null())]", - "supportingScriptUris": "[if(not(empty(parameters('supportingScriptUris'))), parameters('supportingScriptUris'), null())]", - "cleanupPreference": "[parameters('cleanupPreference')]", - "forceUpdateTag": "[if(parameters('runOnce'), resourceGroup().name, parameters('baseTime'))]", - "retentionInterval": "[parameters('retentionInterval')]", - "timeout": "[parameters('timeout')]" - } - }, - { - "condition": "[not(empty(parameters('lock')))]", - "type": "Microsoft.Authorization/locks", - "apiVersion": "2020-05-01", - "scope": "[format('Microsoft.Resources/deploymentScripts/{0}', parameters('name'))]", - "name": "[format('{0}-{1}-lock', parameters('name'), parameters('lock'))]", - "properties": { - "level": "[parameters('lock')]", - "notes": "[if(equals(parameters('lock'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]" - }, - "dependsOn": [ - "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - ] - } - ], - "outputs": { - "resourceId": { - "type": "string", - "metadata": { - "description": "The resource ID of the deployment script." - }, - "value": "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - }, - "resourceGroupName": { - "type": "string", - "metadata": { - "description": "The resource group the deployment script was deployed into." - }, - "value": "[resourceGroup().name]" - }, - "name": { - "type": "string", - "metadata": { - "description": "The name of the deployment script." - }, - "value": "[parameters('name')]" - }, - "location": { - "type": "string", - "metadata": { - "description": "The location the resource was deployed into." - }, - "value": "[reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01', 'full').location]" - }, - "outputs": { - "type": "object", - "metadata": { - "description": "The output of the deployment script." - }, - "value": "[if(contains(reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01'), 'outputs'), reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01').outputs, createObject())]" - } - } - } - }, - "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('workloadSubsId')), format('{0}', parameters('serviceObjectsRgName'))), 'Microsoft.Resources/deployments', format('MGMT-VM-{0}', parameters('time')))]" - ] } ] } diff --git a/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep b/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep index 928b57a20..e7ee4e5a8 100644 --- a/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep +++ b/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep @@ -183,29 +183,29 @@ module managementVm '../../../../../carml/1.3.0/Microsoft.Compute/virtualMachine ] } -// Introduce wait for management VM to be ready. -module managementVmWait '../../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { - scope: resourceGroup('${workloadSubsId}', '${serviceObjectsRgName}') - name: 'MGMT-VM-Wait-${time}' - params: { - name: 'MGMT-VM-Wait-${time}' - location: location - azPowerShellVersion: '8.3.0' - cleanupPreference: 'Always' - timeout: 'PT10M' - retentionInterval: 'PT1H' - scriptContent: ''' - Write-Host "Start" - Get-Date - Start-Sleep -Seconds 120 - Write-Host "Stop" - Get-Date - ''' - } - dependsOn: [ - managementVm - ] -} +// // Introduce wait for management VM to be ready. +// module managementVmWait '../../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { +// scope: resourceGroup('${workloadSubsId}', '${serviceObjectsRgName}') +// name: 'MGMT-VM-Wait-${time}' +// params: { +// name: 'MGMT-VM-Wait-${time}' +// location: location +// azPowerShellVersion: '8.3.0' +// cleanupPreference: 'Always' +// timeout: 'PT10M' +// retentionInterval: 'PT1H' +// scriptContent: ''' +// Write-Host "Start" +// Get-Date +// Start-Sleep -Seconds 120 +// Write-Host "Stop" +// Get-Date +// ''' +// } +// dependsOn: [ +// managementVm +// ] +// } // =========== // // Outputs // diff --git a/workload/bicep/modules/zeroTrust/deploy.bicep b/workload/bicep/modules/zeroTrust/deploy.bicep index bee01d202..f90c98858 100644 --- a/workload/bicep/modules/zeroTrust/deploy.bicep +++ b/workload/bicep/modules/zeroTrust/deploy.bicep @@ -195,29 +195,29 @@ module ztManagedIdentity '../../../../carml/1.3.0/Microsoft.ManagedIdentity/user ] } -// Introduce wait for managed identity to be ready. -module ztManagedIdentityWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { - scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') - name: 'ZT-Mana-Ident-Wait-${time}' - params: { - name: 'Managed-Idenity-Wait-${time}' - location: location - azPowerShellVersion: '8.3.0' - cleanupPreference: 'Always' - timeout: 'PT10M' - retentionInterval: 'PT1H' - scriptContent: ''' - Write-Host "Start" - Get-Date - Start-Sleep -Seconds 60 - Write-Host "Stop" - Get-Date - ''' - } - dependsOn: [ - ztManagedIdentity - ] - } +// // Introduce wait for managed identity to be ready. +// module ztManagedIdentityWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { +// scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') +// name: 'ZT-Mana-Ident-Wait-${time}' +// params: { +// name: 'Managed-Idenity-Wait-${time}' +// location: location +// azPowerShellVersion: '8.3.0' +// cleanupPreference: 'Always' +// timeout: 'PT10M' +// retentionInterval: 'PT1H' +// scriptContent: ''' +// Write-Host "Start" +// Get-Date +// Start-Sleep -Seconds 60 +// Write-Host "Stop" +// Get-Date +// ''' +// } +// dependsOn: [ +// ztManagedIdentity +// ] +// } // Role Assignment for Zero Trust. module ztRoleAssignment '../../../../carml/1.3.0/Microsoft.Authorization/roleAssignments/resourceGroup/deploy.bicep' = if (diskZeroTrust) { From de5203b1f9aedf1b109d5420a66b988f723c7410 Mon Sep 17 00:00:00 2001 From: Dany Contreras <78437433+danycontre@users.noreply.github.com> Date: Wed, 4 Oct 2023 20:52:11 -0500 Subject: [PATCH 03/10] updates --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 517bf5efe..bb1e318c9 100644 --- a/readme.md +++ b/readme.md @@ -29,7 +29,7 @@ As of today, we have a first reference implementation scenario that is one of th | Deployment Type | Link | |:--|:--| -| Azure portal UI |[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%no-deployment-scripts%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json) [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json)| +| Azure portal UI |[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json) [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json)| | Command line (Bicep/ARM) | [![Powershell/Azure CLI](./workload/docs/icons/powershell.png)](./workload/bicep/readme.md#avd-accelerator-baseline) | | Terraform | [![Terraform](./workload/docs/icons/terraform.png)](./workload/terraform/greenfield/readme.md) | From e062e92640372785437f2be8a7d08fc0d5bde823 Mon Sep 17 00:00:00 2001 From: Dany Contreras <78437433+danycontre@users.noreply.github.com> Date: Wed, 4 Oct 2023 21:06:27 -0500 Subject: [PATCH 04/10] updates --- ...ployAutoIncreasePremiumFileShareQuota.json | 313 +--- .../arm/brownfield/deployScalingTool.json | 592 ++------ workload/arm/deploy-baseline.json | 1311 +++-------------- .../deploy.bicep | 24 - .../bicep/brownfield/scalingTool/deploy.bicep | 24 - workload/bicep/deploy-baseline.bicep | 33 +- workload/bicep/deploy-custom-image.bicep | 38 +- .../avdInsightsMonitoring/deploy.bicep | 26 - .../.bicep/cleanUpRgDeployments.bicep | 41 - .../modules/avdSessionHosts/deploy.bicep | 406 +++-- workload/bicep/modules/identity/deploy.bicep | 64 - .../deploy.bicep | 66 - .../.bicep/managementVm.bicep | 24 - workload/bicep/modules/zeroTrust/deploy.bicep | 53 +- workload/docs/deploy-baseline.md | 1 - workload/docs/resource-naming.md | 7 - .../postDeploymentTempResuorcesCleanUp.ps1 | 72 - 17 files changed, 527 insertions(+), 2568 deletions(-) delete mode 100644 workload/bicep/modules/avdSessionHosts/.bicep/cleanUpRgDeployments.bicep delete mode 100644 workload/bicep/modules/postDeploymentTempResourcesCleanUp/deploy.bicep delete mode 100644 workload/scripts/postDeploymentTempResuorcesCleanUp.ps1 diff --git a/workload/arm/brownfield/deployAutoIncreasePremiumFileShareQuota.json b/workload/arm/brownfield/deployAutoIncreasePremiumFileShareQuota.json index 2e40b6edf..d1d8905d4 100644 --- a/workload/arm/brownfield/deployAutoIncreasePremiumFileShareQuota.json +++ b/workload/arm/brownfield/deployAutoIncreasePremiumFileShareQuota.json @@ -5,7 +5,7 @@ "_generator": { "name": "bicep", "version": "0.21.1.54444", - "templateHash": "14199085282161303395" + "templateHash": "16017679103062296913" } }, "parameters": { @@ -2986,317 +2986,6 @@ "[subscriptionResourceId(parameters('sharedServicesSubscriptionId'), 'Microsoft.Resources/deployments', format('RG-{0}', parameters('time')))]" ] }, - { - "condition": "[and(parameters('enableMonitoringAlerts'), empty(parameters('existingLogAnalyticsWorkspaceResourceId')))]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('LA-Workspace-Wait-{0}', parameters('time'))]", - "subscriptionId": "[parameters('sharedServicesSubscriptionId')]", - "resourceGroup": "[variables('varResourceGroupName')]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "name": { - "value": "[format('LA-Workspace-Wait-{0}', parameters('time'))]" - }, - "location": { - "value": "[parameters('deploymentLocation')]" - }, - "azPowerShellVersion": { - "value": "8.3.0" - }, - "cleanupPreference": { - "value": "Always" - }, - "timeout": { - "value": "PT10M" - }, - "retentionInterval": { - "value": "PT1H" - }, - "scriptContent": { - "value": " Write-Host \"Start\"\r\n Get-Date\r\n Start-Sleep -Seconds 60\r\n Write-Host \"Stop\"\r\n Get-Date\r\n " - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "8145106657487286483" - } - }, - "parameters": { - "name": { - "type": "string", - "metadata": { - "description": "Required. Display name of the script to be run." - } - }, - "userAssignedIdentities": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. The ID(s) to assign to the resource." - } - }, - "location": { - "type": "string", - "defaultValue": "[resourceGroup().location]", - "metadata": { - "description": "Optional. Location for all resources." - } - }, - "kind": { - "type": "string", - "defaultValue": "AzurePowerShell", - "allowedValues": [ - "AzurePowerShell", - "AzureCLI" - ], - "metadata": { - "description": "Optional. Type of the script. AzurePowerShell, AzureCLI." - } - }, - "azPowerShellVersion": { - "type": "string", - "defaultValue": "3.0", - "metadata": { - "description": "Optional. Azure PowerShell module version to be used." - } - }, - "azCliVersion": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Azure CLI module version to be used." - } - }, - "scriptContent": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead." - } - }, - "primaryScriptUri": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead." - } - }, - "environmentVariables": { - "type": "secureObject", - "defaultValue": {}, - "metadata": { - "description": "Optional. The environment variables to pass over to the script. The list is passed as an object with a key name \"secureList\" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object." - } - }, - "supportingScriptUris": { - "type": "array", - "defaultValue": [], - "metadata": { - "description": "Optional. List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent)." - } - }, - "arguments": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Command-line arguments to pass to the script. Arguments are separated by spaces." - } - }, - "retentionInterval": { - "type": "string", - "defaultValue": "P1D", - "metadata": { - "description": "Optional. Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)." - } - }, - "runOnce": { - "type": "bool", - "defaultValue": false, - "metadata": { - "description": "Optional. When set to false, script will run every time the template is deployed. When set to true, the script will only run once." - } - }, - "cleanupPreference": { - "type": "string", - "defaultValue": "Always", - "allowedValues": [ - "Always", - "OnSuccess", - "OnExpiration" - ], - "metadata": { - "description": "Optional. The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled)." - } - }, - "containerGroupName": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed." - } - }, - "storageAccountResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account." - } - }, - "timeout": { - "type": "string", - "defaultValue": "PT1H", - "metadata": { - "description": "Optional. Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year." - } - }, - "baseTime": { - "type": "string", - "defaultValue": "[utcNow('yyyy-MM-dd-HH-mm-ss')]", - "metadata": { - "description": "Generated. Do not provide a value! This date value is used to make sure the script run every time the template is deployed." - } - }, - "lock": { - "type": "string", - "defaultValue": "", - "allowedValues": [ - "", - "CanNotDelete", - "ReadOnly" - ], - "metadata": { - "description": "Optional. Specify the type of lock." - } - }, - "tags": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. Tags of the resource." - } - }, - "enableDefaultTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable telemetry via a Globally Unique Identifier (GUID)." - } - } - }, - "variables": { - "containerSettings": { - "containerGroupName": "[parameters('containerGroupName')]" - }, - "identityType": "[if(not(empty(parameters('userAssignedIdentities'))), 'UserAssigned', 'None')]", - "identity": "[if(not(equals(variables('identityType'), 'None')), createObject('type', variables('identityType'), 'userAssignedIdentities', if(not(empty(parameters('userAssignedIdentities'))), parameters('userAssignedIdentities'), null())), null())]" - }, - "resources": [ - { - "condition": "[parameters('enableDefaultTelemetry')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2021-04-01", - "name": "[format('pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-{0}', uniqueString(deployment().name, parameters('location')))]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [] - } - } - }, - { - "type": "Microsoft.Resources/deploymentScripts", - "apiVersion": "2020-10-01", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "tags": "[parameters('tags')]", - "identity": "[variables('identity')]", - "kind": "[parameters('kind')]", - "properties": { - "azPowerShellVersion": "[if(equals(parameters('kind'), 'AzurePowerShell'), parameters('azPowerShellVersion'), null())]", - "azCliVersion": "[if(equals(parameters('kind'), 'AzureCLI'), parameters('azCliVersion'), null())]", - "containerSettings": "[if(not(empty(parameters('containerGroupName'))), variables('containerSettings'), null())]", - "storageAccountSettings": "[if(not(empty(parameters('storageAccountResourceId'))), if(not(empty(parameters('storageAccountResourceId'))), createObject('storageAccountKey', listKeys(parameters('storageAccountResourceId'), '2019-06-01').keys[0].value, 'storageAccountName', last(split(parameters('storageAccountResourceId'), '/'))), createObject()), null())]", - "arguments": "[parameters('arguments')]", - "environmentVariables": "[if(not(empty(parameters('environmentVariables'))), parameters('environmentVariables').secureList, createArray())]", - "scriptContent": "[if(not(empty(parameters('scriptContent'))), parameters('scriptContent'), null())]", - "primaryScriptUri": "[if(not(empty(parameters('primaryScriptUri'))), parameters('primaryScriptUri'), null())]", - "supportingScriptUris": "[if(not(empty(parameters('supportingScriptUris'))), parameters('supportingScriptUris'), null())]", - "cleanupPreference": "[parameters('cleanupPreference')]", - "forceUpdateTag": "[if(parameters('runOnce'), resourceGroup().name, parameters('baseTime'))]", - "retentionInterval": "[parameters('retentionInterval')]", - "timeout": "[parameters('timeout')]" - } - }, - { - "condition": "[not(empty(parameters('lock')))]", - "type": "Microsoft.Authorization/locks", - "apiVersion": "2020-05-01", - "scope": "[format('Microsoft.Resources/deploymentScripts/{0}', parameters('name'))]", - "name": "[format('{0}-{1}-lock', parameters('name'), parameters('lock'))]", - "properties": { - "level": "[parameters('lock')]", - "notes": "[if(equals(parameters('lock'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]" - }, - "dependsOn": [ - "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - ] - } - ], - "outputs": { - "resourceId": { - "type": "string", - "metadata": { - "description": "The resource ID of the deployment script." - }, - "value": "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - }, - "resourceGroupName": { - "type": "string", - "metadata": { - "description": "The resource group the deployment script was deployed into." - }, - "value": "[resourceGroup().name]" - }, - "name": { - "type": "string", - "metadata": { - "description": "The name of the deployment script." - }, - "value": "[parameters('name')]" - }, - "location": { - "type": "string", - "metadata": { - "description": "The location the resource was deployed into." - }, - "value": "[reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01', 'full').location]" - }, - "outputs": { - "type": "object", - "metadata": { - "description": "The output of the deployment script." - }, - "value": "[if(contains(reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01'), 'outputs'), reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01').outputs, createObject())]" - } - } - } - }, - "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varResourceGroupName')), 'Microsoft.Resources/deployments', format('LA-Workspace-{0}', parameters('time')))]" - ] - }, { "condition": "[not(empty(parameters('existingAutomationAccountResourceId')))]", "type": "Microsoft.Resources/deployments", diff --git a/workload/arm/brownfield/deployScalingTool.json b/workload/arm/brownfield/deployScalingTool.json index dbf633272..f8c54d8a7 100644 --- a/workload/arm/brownfield/deployScalingTool.json +++ b/workload/arm/brownfield/deployScalingTool.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "11710671189513351160" + "version": "0.21.1.54444", + "templateHash": "1651383237817428537" } }, "parameters": { @@ -41,7 +41,7 @@ "type": "string", "defaultValue": "Contoso-CC", "metadata": { - "description": "Optional. Cost center of owner team. (Defualt: Contoso-CC)" + "description": "Optional. Cost center of owner team. (Default: Contoso-CC)" } }, "criticalityCustomTag": { @@ -54,16 +54,16 @@ "criticalityTag": { "type": "string", "defaultValue": "Low", - "metadata": { - "description": "Optional. criticality of each workload. (Default: Low)" - }, "allowedValues": [ "Low", "Medium", "High", "Mission-critical", "custom" - ] + ], + "metadata": { + "description": "Optional. criticality of each workload. (Default: Low)" + } }, "customNaming": { "type": "bool", @@ -75,16 +75,16 @@ "dataClassificationTag": { "type": "string", "defaultValue": "Non-business", - "metadata": { - "description": "Optional. Sensitivity of data hosted (Default: Non-business)" - }, "allowedValues": [ "Non-business", "Public", "General", "Confidential", "Highly confidential" - ] + ], + "metadata": { + "description": "Optional. Sensitivity of data hosted (Default: Non-business)" + } }, "departmentTag": { "type": "string", @@ -131,14 +131,14 @@ "environmentTag": { "type": "string", "defaultValue": "Dev", - "metadata": { - "description": "Optional. Deployment environment of the application, workload. (Default: Dev)" - }, "allowedValues": [ "Prod", "Dev", "Staging" - ] + ], + "metadata": { + "description": "Optional. Deployment environment of the application, workload. (Default: Dev)" + } }, "existingAutomationAccountResourceId": { "type": "string", @@ -198,10 +198,10 @@ "resourceGroupCustomName": { "type": "string", "defaultValue": "rg-avd-shared", + "maxLength": 90, "metadata": { "description": "Optional. Custom name for Resource Group. (Default: rg-avd-use2-shared-services)" - }, - "maxLength": 90 + } }, "sessionHostsResourceGroupName": { "type": "string", @@ -551,7 +551,7 @@ { "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('Resource-Group-{0}', parameters('time'))]", + "name": "[format('RG-{0}', parameters('time'))]", "subscriptionId": "[parameters('sharedServicesSubscriptionId')]", "location": "[deployment().location]", "properties": { @@ -574,8 +574,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "5633885625559620564" + "version": "0.21.1.54444", + "templateHash": "16305048561599990873" } }, "parameters": { @@ -595,14 +595,14 @@ "lock": { "type": "string", "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, "allowedValues": [ "", "CanNotDelete", "ReadOnly" - ] + ], + "metadata": { + "description": "Optional. Specify the type of lock." + } }, "roleAssignments": { "type": "array", @@ -683,8 +683,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "9812260853981246180" + "version": "0.21.1.54444", + "templateHash": "6750369994052504038" } }, "parameters": { @@ -697,13 +697,13 @@ }, "level": { "type": "string", - "metadata": { - "description": "Required. Set lock level." - }, "allowedValues": [ "CanNotDelete", "ReadOnly" - ] + ], + "metadata": { + "description": "Required. Set lock level." + } }, "notes": { "type": "string", @@ -813,8 +813,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "11153449749419185622" + "version": "0.21.1.54444", + "templateHash": "1146156557420886689" } }, "parameters": { @@ -1143,7 +1143,7 @@ "condition": "[and(parameters('enableMonitoringAlerts'), empty(parameters('existingLogAnalyticsWorkspaceResourceId')))]", "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('Log-Analytics-Workspace-{0}', parameters('time'))]", + "name": "[format('LA-Workspace-{0}', parameters('time'))]", "subscriptionId": "[parameters('sharedServicesSubscriptionId')]", "resourceGroup": "[variables('varResourceGroupName')]", "properties": { @@ -1172,8 +1172,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "17656666052247098911" + "version": "0.21.1.54444", + "templateHash": "1156178304169403377" } }, "parameters": { @@ -1262,8 +1262,8 @@ "dataRetention": { "type": "int", "defaultValue": 365, - "maxValue": 730, "minValue": 0, + "maxValue": 730, "metadata": { "description": "Optional. Number of days data will be retained for." } @@ -1322,8 +1322,8 @@ "diagnosticLogsRetentionInDays": { "type": "int", "defaultValue": 365, - "maxValue": 365, "minValue": 0, + "maxValue": 365, "metadata": { "description": "Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely." } @@ -1366,14 +1366,14 @@ "lock": { "type": "string", "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, "allowedValues": [ "", "CanNotDelete", "ReadOnly" - ] + ], + "metadata": { + "description": "Optional. Specify the type of lock." + } }, "roleAssignments": { "type": "array", @@ -1566,8 +1566,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "11072840145105211426" + "version": "0.21.1.54444", + "templateHash": "13379431903908500265" } }, "parameters": { @@ -1710,8 +1710,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "1910654083211710276" + "version": "0.21.1.54444", + "templateHash": "18035599797024630806" } }, "parameters": { @@ -1844,8 +1844,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "10886725735622529375" + "version": "0.21.1.54444", + "templateHash": "15194527127560537713" } }, "parameters": { @@ -1979,8 +1979,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "7339664764266649587" + "version": "0.21.1.54444", + "templateHash": "14867461711977977980" } }, "parameters": { @@ -2151,15 +2151,15 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "3314778664153070065" + "version": "0.21.1.54444", + "templateHash": "1856549003153181310" } }, "parameters": { "name": { "type": "string", - "maxLength": 63, "minLength": 4, + "maxLength": 63, "metadata": { "description": "Required. The data export rule name." } @@ -2298,8 +2298,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "11431006553018849947" + "version": "0.21.1.54444", + "templateHash": "3069063252346343891" } }, "parameters": { @@ -2525,8 +2525,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "18444272838380580196" + "version": "0.21.1.54444", + "templateHash": "15607599815412583880" } }, "parameters": { @@ -2570,8 +2570,8 @@ "retentionInDays": { "type": "int", "defaultValue": -1, - "maxValue": 730, "minValue": -1, + "maxValue": 730, "metadata": { "description": "Optional. The table retention in days, between 4 and 730. Setting this property to -1 will default to the workspace retention." } @@ -2593,8 +2593,8 @@ "totalRetentionInDays": { "type": "int", "defaultValue": -1, - "maxValue": 2555, "minValue": -1, + "maxValue": 2555, "metadata": { "description": "Optional. The table total retention in days, between 4 and 2555. Setting this property to -1 will default to table retention." } @@ -2694,8 +2694,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "13983506370486161923" + "version": "0.21.1.54444", + "templateHash": "15387093705469323985" } }, "parameters": { @@ -2845,8 +2845,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "12619724914463621505" + "version": "0.21.1.54444", + "templateHash": "3735355062180278453" } }, "parameters": { @@ -3015,322 +3015,14 @@ } }, "dependsOn": [ - "[subscriptionResourceId(parameters('sharedServicesSubscriptionId'), 'Microsoft.Resources/deployments', format('Resource-Group-{0}', parameters('time')))]" - ] - }, - { - "condition": "[and(parameters('enableMonitoringAlerts'), empty(parameters('existingLogAnalyticsWorkspaceResourceId')))]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('Log-Analytics-Workspace-Wait-{0}', parameters('time'))]", - "subscriptionId": "[parameters('sharedServicesSubscriptionId')]", - "resourceGroup": "[variables('varResourceGroupName')]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "name": { - "value": "[format('Log-Analytics-Workspace-Wait-{0}', parameters('time'))]" - }, - "location": { - "value": "[parameters('deploymentLocation')]" - }, - "azPowerShellVersion": { - "value": "8.3.0" - }, - "cleanupPreference": { - "value": "Always" - }, - "timeout": { - "value": "PT10M" - }, - "scriptContent": { - "value": " Write-Host \"Start\"\r\n Get-Date\r\n Start-Sleep -Seconds 60\r\n Write-Host \"Stop\"\r\n Get-Date\r\n " - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "5032871535674616411" - } - }, - "parameters": { - "name": { - "type": "string", - "metadata": { - "description": "Required. Display name of the script to be run." - } - }, - "userAssignedIdentities": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. The ID(s) to assign to the resource." - } - }, - "location": { - "type": "string", - "defaultValue": "[resourceGroup().location]", - "metadata": { - "description": "Optional. Location for all resources." - } - }, - "kind": { - "type": "string", - "defaultValue": "AzurePowerShell", - "allowedValues": [ - "AzurePowerShell", - "AzureCLI" - ], - "metadata": { - "description": "Optional. Type of the script. AzurePowerShell, AzureCLI." - } - }, - "azPowerShellVersion": { - "type": "string", - "defaultValue": "3.0", - "metadata": { - "description": "Optional. Azure PowerShell module version to be used." - } - }, - "azCliVersion": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Azure CLI module version to be used." - } - }, - "scriptContent": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead." - } - }, - "primaryScriptUri": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead." - } - }, - "environmentVariables": { - "type": "secureObject", - "defaultValue": {}, - "metadata": { - "description": "Optional. The environment variables to pass over to the script. The list is passed as an object with a key name \"secureList\" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object." - } - }, - "supportingScriptUris": { - "type": "array", - "defaultValue": [], - "metadata": { - "description": "Optional. List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent)." - } - }, - "arguments": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Command-line arguments to pass to the script. Arguments are separated by spaces." - } - }, - "retentionInterval": { - "type": "string", - "defaultValue": "P1D", - "metadata": { - "description": "Optional. Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)." - } - }, - "runOnce": { - "type": "bool", - "defaultValue": false, - "metadata": { - "description": "Optional. When set to false, script will run every time the template is deployed. When set to true, the script will only run once." - } - }, - "cleanupPreference": { - "type": "string", - "defaultValue": "Always", - "allowedValues": [ - "Always", - "OnSuccess", - "OnExpiration" - ], - "metadata": { - "description": "Optional. The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled)." - } - }, - "containerGroupName": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed." - } - }, - "storageAccountResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account." - } - }, - "timeout": { - "type": "string", - "defaultValue": "PT1H", - "metadata": { - "description": "Optional. Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year." - } - }, - "baseTime": { - "type": "string", - "defaultValue": "[utcNow('yyyy-MM-dd-HH-mm-ss')]", - "metadata": { - "description": "Generated. Do not provide a value! This date value is used to make sure the script run every time the template is deployed." - } - }, - "lock": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, - "allowedValues": [ - "", - "CanNotDelete", - "ReadOnly" - ] - }, - "tags": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. Tags of the resource." - } - }, - "enableDefaultTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable telemetry via a Globally Unique Identifier (GUID)." - } - } - }, - "variables": { - "containerSettings": { - "containerGroupName": "[parameters('containerGroupName')]" - }, - "identityType": "[if(not(empty(parameters('userAssignedIdentities'))), 'UserAssigned', 'None')]", - "identity": "[if(not(equals(variables('identityType'), 'None')), createObject('type', variables('identityType'), 'userAssignedIdentities', if(not(empty(parameters('userAssignedIdentities'))), parameters('userAssignedIdentities'), null())), null())]" - }, - "resources": [ - { - "condition": "[parameters('enableDefaultTelemetry')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2021-04-01", - "name": "[format('pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-{0}', uniqueString(deployment().name, parameters('location')))]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [] - } - } - }, - { - "type": "Microsoft.Resources/deploymentScripts", - "apiVersion": "2020-10-01", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "tags": "[parameters('tags')]", - "identity": "[variables('identity')]", - "kind": "[parameters('kind')]", - "properties": { - "azPowerShellVersion": "[if(equals(parameters('kind'), 'AzurePowerShell'), parameters('azPowerShellVersion'), null())]", - "azCliVersion": "[if(equals(parameters('kind'), 'AzureCLI'), parameters('azCliVersion'), null())]", - "containerSettings": "[if(not(empty(parameters('containerGroupName'))), variables('containerSettings'), null())]", - "storageAccountSettings": "[if(not(empty(parameters('storageAccountResourceId'))), if(not(empty(parameters('storageAccountResourceId'))), createObject('storageAccountKey', listKeys(parameters('storageAccountResourceId'), '2019-06-01').keys[0].value, 'storageAccountName', last(split(parameters('storageAccountResourceId'), '/'))), createObject()), null())]", - "arguments": "[parameters('arguments')]", - "environmentVariables": "[if(not(empty(parameters('environmentVariables'))), parameters('environmentVariables').secureList, createArray())]", - "scriptContent": "[if(not(empty(parameters('scriptContent'))), parameters('scriptContent'), null())]", - "primaryScriptUri": "[if(not(empty(parameters('primaryScriptUri'))), parameters('primaryScriptUri'), null())]", - "supportingScriptUris": "[if(not(empty(parameters('supportingScriptUris'))), parameters('supportingScriptUris'), null())]", - "cleanupPreference": "[parameters('cleanupPreference')]", - "forceUpdateTag": "[if(parameters('runOnce'), resourceGroup().name, parameters('baseTime'))]", - "retentionInterval": "[parameters('retentionInterval')]", - "timeout": "[parameters('timeout')]" - } - }, - { - "condition": "[not(empty(parameters('lock')))]", - "type": "Microsoft.Authorization/locks", - "apiVersion": "2020-05-01", - "scope": "[format('Microsoft.Resources/deploymentScripts/{0}', parameters('name'))]", - "name": "[format('{0}-{1}-lock', parameters('name'), parameters('lock'))]", - "properties": { - "level": "[parameters('lock')]", - "notes": "[if(equals(parameters('lock'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]" - }, - "dependsOn": [ - "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - ] - } - ], - "outputs": { - "resourceId": { - "type": "string", - "metadata": { - "description": "The resource ID of the deployment script." - }, - "value": "[resourceId('Microsoft.Resources/deploymentScripts', parameters('name'))]" - }, - "resourceGroupName": { - "type": "string", - "metadata": { - "description": "The resource group the deployment script was deployed into." - }, - "value": "[resourceGroup().name]" - }, - "name": { - "type": "string", - "metadata": { - "description": "The name of the deployment script." - }, - "value": "[parameters('name')]" - }, - "location": { - "type": "string", - "metadata": { - "description": "The location the resource was deployed into." - }, - "value": "[reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01', 'full').location]" - }, - "outputs": { - "type": "object", - "metadata": { - "description": "The output of the deployment script." - }, - "value": "[if(contains(reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01'), 'outputs'), reference(resourceId('Microsoft.Resources/deploymentScripts', parameters('name')), '2020-10-01').outputs, createObject())]" - } - } - } - }, - "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varResourceGroupName')), 'Microsoft.Resources/deployments', format('Log-Analytics-Workspace-{0}', parameters('time')))]" + "[subscriptionResourceId(parameters('sharedServicesSubscriptionId'), 'Microsoft.Resources/deployments', format('RG-{0}', parameters('time')))]" ] }, { "condition": "[not(empty(parameters('existingAutomationAccountResourceId')))]", "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('Existing_Automation-Account-{0}', parameters('time'))]", + "name": "[format('Existing-AA-{0}', parameters('time'))]", "subscriptionId": "[parameters('sharedServicesSubscriptionId')]", "resourceGroup": "[variables('varAutomationAccountScope')]", "properties": { @@ -3349,8 +3041,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "2451911312764097763" + "version": "0.21.1.54444", + "templateHash": "17316527543296696046" } }, "parameters": { @@ -3379,7 +3071,7 @@ { "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('Automation-Account-{0}', parameters('time'))]", + "name": "[format('AA-{0}', parameters('time'))]", "subscriptionId": "[parameters('sharedServicesSubscriptionId')]", "resourceGroup": "[variables('varAutomationAccountScope')]", "properties": { @@ -3397,8 +3089,8 @@ "diagnosticLogsRetentionInDays": { "value": 30 }, - "diagnosticWorkspaceId": "[if(empty(parameters('existingLogAnalyticsWorkspaceResourceId')), createObject('value', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varResourceGroupName')), 'Microsoft.Resources/deployments', format('Log-Analytics-Workspace-{0}', parameters('time'))), '2022-09-01').outputs.resourceId.value), createObject('value', parameters('existingLogAnalyticsWorkspaceResourceId')))]", - "name": "[if(empty(parameters('existingAutomationAccountResourceId')), createObject('value', variables('varAutomationAccountName')), createObject('value', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('Existing_Automation-Account-{0}', parameters('time'))), '2022-09-01').outputs.name.value))]", + "diagnosticWorkspaceId": "[if(empty(parameters('existingLogAnalyticsWorkspaceResourceId')), createObject('value', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varResourceGroupName')), 'Microsoft.Resources/deployments', format('LA-Workspace-{0}', parameters('time'))), '2022-09-01').outputs.resourceId.value), createObject('value', parameters('existingLogAnalyticsWorkspaceResourceId')))]", + "name": "[if(empty(parameters('existingAutomationAccountResourceId')), createObject('value', variables('varAutomationAccountName')), createObject('value', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('Existing-AA-{0}', parameters('time'))), '2022-09-01').outputs.name.value))]", "jobSchedules": { "value": [ { @@ -3473,8 +3165,8 @@ } ] }, - "skuName": "[if(empty(parameters('existingAutomationAccountResourceId')), createObject('value', 'Free'), createObject('value', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('Existing_Automation-Account-{0}', parameters('time'))), '2022-09-01').outputs.properties.value.sku.name))]", - "tags": "[if(not(empty(parameters('existingAutomationAccountResourceId'))), createObject('value', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('Existing_Automation-Account-{0}', parameters('time'))), '2022-09-01').outputs.tags.value), if(parameters('enableResourceTags'), createObject('value', variables('varCommonResourceTags')), createObject('value', createObject())))]", + "skuName": "[if(empty(parameters('existingAutomationAccountResourceId')), createObject('value', 'Free'), createObject('value', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('Existing-AA-{0}', parameters('time'))), '2022-09-01').outputs.properties.value.sku.name))]", + "tags": "[if(not(empty(parameters('existingAutomationAccountResourceId'))), createObject('value', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('Existing-AA-{0}', parameters('time'))), '2022-09-01').outputs.tags.value), if(parameters('enableResourceTags'), createObject('value', variables('varCommonResourceTags')), createObject('value', createObject())))]", "systemAssignedIdentity": { "value": true } @@ -3485,8 +3177,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "17382893164201981005" + "version": "0.21.1.54444", + "templateHash": "3330372472596925837" } }, "parameters": { @@ -3627,11 +3319,11 @@ "diagnosticLogsRetentionInDays": { "type": "int", "defaultValue": 365, + "minValue": 0, + "maxValue": 365, "metadata": { "description": "Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely." - }, - "maxValue": 365, - "minValue": 0 + } }, "diagnosticStorageAccountId": { "type": "string", @@ -3678,14 +3370,14 @@ "lock": { "type": "string", "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, "allowedValues": [ "", "CanNotDelete", "ReadOnly" - ] + ], + "metadata": { + "description": "Optional. Specify the type of lock." + } }, "roleAssignments": { "type": "array", @@ -3750,11 +3442,7 @@ "count": "[length(filter(parameters('diagnosticLogCategoriesToEnable'), lambda('item', not(equals(lambdaVariables('item'), 'allLogs')))))]", "input": { "category": "[filter(parameters('diagnosticLogCategoriesToEnable'), lambda('item', not(equals(lambdaVariables('item'), 'allLogs'))))[copyIndex('diagnosticsLogsSpecified')]]", - "enabled": true, - "retentionPolicy": { - "enabled": true, - "days": "[parameters('diagnosticLogsRetentionInDays')]" - } + "enabled": true } }, { @@ -3763,16 +3451,12 @@ "input": { "category": "[parameters('diagnosticMetricsToEnable')[copyIndex('diagnosticsMetrics')]]", "timeGrain": null, - "enabled": true, - "retentionPolicy": { - "enabled": true, - "days": "[parameters('diagnosticLogsRetentionInDays')]" - } + "enabled": true } } ], "enableReferencedModulesTelemetry": false, - "diagnosticsLogs": "[if(contains(parameters('diagnosticLogCategoriesToEnable'), 'allLogs'), createArray(createObject('categoryGroup', 'allLogs', 'enabled', true(), 'retentionPolicy', createObject('enabled', true(), 'days', parameters('diagnosticLogsRetentionInDays')))), variables('diagnosticsLogsSpecified'))]", + "diagnosticsLogs": "[if(contains(parameters('diagnosticLogCategoriesToEnable'), 'allLogs'), createArray(createObject('categoryGroup', 'allLogs', 'enabled', true())), variables('diagnosticsLogsSpecified'))]", "identityType": "[if(parameters('systemAssignedIdentity'), if(not(empty(parameters('userAssignedIdentities'))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(parameters('userAssignedIdentities'))), 'UserAssigned', 'None'))]", "identity": "[if(not(equals(variables('identityType'), 'None')), createObject('type', variables('identityType'), 'userAssignedIdentities', if(not(empty(parameters('userAssignedIdentities'))), parameters('userAssignedIdentities'), null())), null())]" }, @@ -3881,8 +3565,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "6029770799843890344" + "version": "0.21.1.54444", + "templateHash": "17170735581525169641" } }, "parameters": { @@ -4035,8 +3719,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "9071198861930234993" + "version": "0.21.1.54444", + "templateHash": "5479295006707878833" } }, "parameters": { @@ -4079,9 +3763,6 @@ "frequency": { "type": "string", "defaultValue": "OneTime", - "metadata": { - "description": "Optional. The frequency of the schedule." - }, "allowedValues": [ "Day", "Hour", @@ -4089,7 +3770,10 @@ "Month", "OneTime", "Week" - ] + ], + "metadata": { + "description": "Optional. The frequency of the schedule." + } }, "interval": { "type": "int", @@ -4228,8 +3912,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "12776542730233712799" + "version": "0.21.1.54444", + "templateHash": "17442703444396836746" } }, "parameters": { @@ -4247,16 +3931,16 @@ }, "type": { "type": "string", - "metadata": { - "description": "Required. The type of the runbook." - }, "allowedValues": [ "Graph", "GraphPowerShell", "GraphPowerShellWorkflow", "PowerShell", "PowerShellWorkflow" - ] + ], + "metadata": { + "description": "Required. The type of the runbook." + } }, "description": { "type": "string", @@ -4430,8 +4114,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "10564026705976903954" + "version": "0.21.1.54444", + "templateHash": "16872455273402734811" } }, "parameters": { @@ -4579,8 +4263,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "10485683485216622133" + "version": "0.21.1.54444", + "templateHash": "15739346377207105668" } }, "parameters": { @@ -4714,8 +4398,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "1910654083211710276" + "version": "0.21.1.54444", + "templateHash": "18035599797024630806" } }, "parameters": { @@ -4853,8 +4537,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "13983506370486161923" + "version": "0.21.1.54444", + "templateHash": "15387093705469323985" } }, "parameters": { @@ -5036,8 +4720,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "8546684199978548257" + "version": "0.21.1.54444", + "templateHash": "5587147182178326997" } }, "parameters": { @@ -5507,8 +5191,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "6190814122913989119" + "version": "0.21.1.54444", + "templateHash": "14559775667395480629" } }, "parameters": { @@ -5574,14 +5258,14 @@ "lock": { "type": "string", "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, "allowedValues": [ "", "CanNotDelete", "ReadOnly" - ] + ], + "metadata": { + "description": "Optional. Specify the type of lock." + } }, "roleAssignments": { "type": "array", @@ -5704,8 +5388,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "14237990210174167995" + "version": "0.21.1.54444", + "templateHash": "10817246518679375966" } }, "parameters": { @@ -5717,8 +5401,8 @@ }, "privateDNSResourceIds": { "type": "array", - "maxLength": 5, "minLength": 1, + "maxLength": 5, "metadata": { "description": "Required. Array of private DNS zone resource IDs. A DNS zone group can support up to 5 DNS zones." } @@ -5839,8 +5523,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "5679997820891604517" + "version": "0.21.1.54444", + "templateHash": "13032708393704093995" } }, "parameters": { @@ -6053,8 +5737,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "2540427780836869322" + "version": "0.21.1.54444", + "templateHash": "10676519467876912979" } }, "parameters": { @@ -6212,8 +5896,8 @@ } }, "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('Existing_Automation-Account-{0}', parameters('time')))]", - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varResourceGroupName')), 'Microsoft.Resources/deployments', format('Log-Analytics-Workspace-{0}', parameters('time')))]" + "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('Existing-AA-{0}', parameters('time')))]", + "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varResourceGroupName')), 'Microsoft.Resources/deployments', format('LA-Workspace-{0}', parameters('time')))]" ] }, { @@ -6232,7 +5916,7 @@ "mode": "Incremental", "parameters": { "principalId": { - "value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('Automation-Account-{0}', parameters('time'))), '2022-09-01').outputs.systemAssignedPrincipalId.value]" + "value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('AA-{0}', parameters('time'))), '2022-09-01').outputs.systemAssignedPrincipalId.value]" }, "roleDefinitionIdOrName": { "value": "Desktop Virtualization Power On Off Contributor" @@ -6244,8 +5928,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "4231849657270221795" + "version": "0.21.1.54444", + "templateHash": "17317977123822737513" } }, "parameters": { @@ -6794,7 +6478,7 @@ } }, "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('Automation-Account-{0}', parameters('time')))]" + "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varAutomationAccountScope')), 'Microsoft.Resources/deployments', format('AA-{0}', parameters('time')))]" ] }, { @@ -6839,8 +6523,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "1801949816843987262" + "version": "0.21.1.54444", + "templateHash": "6773203042735005838" } }, "parameters": { @@ -7032,8 +6716,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "14454452188832949335" + "version": "0.21.1.54444", + "templateHash": "2628891413283540922" } }, "parameters": { @@ -7310,7 +6994,7 @@ } }, "dependsOn": [ - "[subscriptionResourceId(parameters('sharedServicesSubscriptionId'), 'Microsoft.Resources/deployments', format('Resource-Group-{0}', parameters('time')))]" + "[subscriptionResourceId(parameters('sharedServicesSubscriptionId'), 'Microsoft.Resources/deployments', format('RG-{0}', parameters('time')))]" ] }, { @@ -7321,7 +7005,7 @@ "condition": "[parameters('enableMonitoringAlerts')]", "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('Scheduled-Query-Rule-{0}-{1}', range(0, length(variables('varAlerts')))[copyIndex()], parameters('time'))]", + "name": "[format('Sche-Query-Rule-{0}-{1}', range(0, length(variables('varAlerts')))[copyIndex()], parameters('time'))]", "subscriptionId": "[parameters('sharedServicesSubscriptionId')]", "resourceGroup": "[variables('varResourceGroupName')]", "properties": { @@ -7357,7 +7041,7 @@ "roleAssignments": { "value": [] }, - "scopes": "[if(empty(parameters('existingLogAnalyticsWorkspaceResourceId')), createObject('value', createArray(reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varResourceGroupName')), 'Microsoft.Resources/deployments', format('Log-Analytics-Workspace-{0}', parameters('time'))), '2022-09-01').outputs.resourceId.value)), createObject('value', createArray(parameters('existingLogAnalyticsWorkspaceResourceId'))))]", + "scopes": "[if(empty(parameters('existingLogAnalyticsWorkspaceResourceId')), createObject('value', createArray(reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varResourceGroupName')), 'Microsoft.Resources/deployments', format('LA-Workspace-{0}', parameters('time'))), '2022-09-01').outputs.resourceId.value)), createObject('value', createArray(parameters('existingLogAnalyticsWorkspaceResourceId'))))]", "severity": { "value": "[variables('varAlerts')[range(0, length(variables('varAlerts')))[copyIndex()]].severity]" }, @@ -7379,8 +7063,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "4869517801244614046" + "version": "0.21.1.54444", + "templateHash": "3364210327753707174" } }, "parameters": { @@ -7602,8 +7286,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.16.2.56959", - "templateHash": "12524426472999369584" + "version": "0.21.1.54444", + "templateHash": "15352642791797157407" } }, "parameters": { @@ -7881,7 +7565,7 @@ }, "dependsOn": [ "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varResourceGroupName')), 'Microsoft.Resources/deployments', format('Action-Group-{0}', parameters('time')))]", - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varResourceGroupName')), 'Microsoft.Resources/deployments', format('Log-Analytics-Workspace-{0}', parameters('time')))]" + "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sharedServicesSubscriptionId'), variables('varResourceGroupName')), 'Microsoft.Resources/deployments', format('LA-Workspace-{0}', parameters('time')))]" ] } ] diff --git a/workload/arm/deploy-baseline.json b/workload/arm/deploy-baseline.json index c2aeb0eb4..14ab2a87d 100644 --- a/workload/arm/deploy-baseline.json +++ b/workload/arm/deploy-baseline.json @@ -5,7 +5,7 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "17698206946587143393" + "templateHash": "6111832751492244000" }, "name": "AVD Accelerator - Baseline Deployment", "description": "AVD Accelerator - Deployment Baseline" @@ -1250,7 +1250,6 @@ "varSessionHostNamePrefix": "[if(parameters('avdUseCustomNaming'), parameters('avdSessionHostCustomNamePrefix'), format('vm{0}{1}{2}', variables('varDeploymentPrefixLowercase'), variables('varDeploymentEnvironmentComputeStorage'), variables('varSessionHostLocationAcronym')))]", "varAvsetNamePrefix": "[if(parameters('avdUseCustomNaming'), format('{0}-{1}', parameters('avsetCustomNamePrefix'), variables('varComputeStorageResourcesNamingStandard')), format('avail-{0}', variables('varComputeStorageResourcesNamingStandard')))]", "varStorageManagedIdentityName": "[format('id-storage-{0}-001', variables('varComputeStorageResourcesNamingStandard'))]", - "varCleanUpManagedIdentityName": "[format('id-cleanup-{0}-001', variables('varComputeStorageResourcesNamingStandard'))]", "varFslogixFileShareName": "[if(parameters('avdUseCustomNaming'), parameters('fslogixFileShareCustomName'), format('fslogix-pc-{0}-{1}-{2}-001', variables('varDeploymentPrefixLowercase'), variables('varDeploymentEnvironmentLowercase'), variables('varSessionHostLocationAcronym')))]", "varMsixFileShareName": "[if(parameters('avdUseCustomNaming'), parameters('msixFileShareCustomName'), format('msix-pc-{0}-{1}-{2}-001', variables('varDeploymentPrefixLowercase'), variables('varDeploymentEnvironmentLowercase'), variables('varSessionHostLocationAcronym')))]", "varFslogixStorageName": "[if(parameters('avdUseCustomNaming'), format('{0}fsl{1}{2}{3}', parameters('storageAccountPrefixCustomName'), variables('varDeploymentPrefixLowercase'), variables('varDeploymentEnvironmentComputeStorage'), variables('varNamingUniqueStringThreeChar')), format('stfsl{0}{1}{2}', variables('varDeploymentPrefixLowercase'), variables('varDeploymentEnvironmentComputeStorage'), variables('varNamingUniqueStringThreeChar')))]", @@ -15080,15 +15079,9 @@ "deployScalingPlan": { "value": "[parameters('avdDeployScalingPlan')]" }, - "createSessionHosts": { - "value": "[parameters('avdDeploySessionHosts')]" - }, "storageManagedIdentityName": { "value": "[variables('varStorageManagedIdentityName')]" }, - "cleanUpManagedIdentityName": { - "value": "[variables('varCleanUpManagedIdentityName')]" - }, "enableStartVmOnConnect": { "value": "[parameters('avdStartVmOnConnect')]" }, @@ -15110,7 +15103,7 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "5099184706356398037" + "templateHash": "1624257649627869495" } }, "parameters": { @@ -15180,24 +15173,12 @@ "description": "Storage managed identity name." } }, - "cleanUpManagedIdentityName": { - "type": "string", - "metadata": { - "description": "Clean up managed identity name." - } - }, "createStorageDeployment": { "type": "bool", "metadata": { "description": "Deploy Storage setup." } }, - "createSessionHosts": { - "type": "bool", - "metadata": { - "description": "Deploy Storage setup." - } - }, "tags": { "type": "object", "metadata": { @@ -15229,10 +15210,6 @@ "id": "40c5ff49-9181-41f8-ae61-143b0e78555e", "name": "Desktop Virtualization Power On Off Contributor" }, - "varContributorRole": { - "id": "b24988ac-6180-42a0-ab88-20f7382dd24c", - "name": "Contributor" - }, "computeAndServiceObjectsRgs": [ { "name": "ServiceObjects", @@ -15395,1075 +15372,179 @@ }, "principalType": "[if(contains(parameters('roleAssignments')[copyIndex()], 'principalType'), createObject('value', parameters('roleAssignments')[copyIndex()].principalType), createObject('value', ''))]", "roleDefinitionIdOrName": { - "value": "[parameters('roleAssignments')[copyIndex()].roleDefinitionIdOrName]" - }, - "condition": "[if(contains(parameters('roleAssignments')[copyIndex()], 'condition'), createObject('value', parameters('roleAssignments')[copyIndex()].condition), createObject('value', ''))]", - "delegatedManagedIdentityResourceId": "[if(contains(parameters('roleAssignments')[copyIndex()], 'delegatedManagedIdentityResourceId'), createObject('value', parameters('roleAssignments')[copyIndex()].delegatedManagedIdentityResourceId), createObject('value', ''))]", - "resourceId": { - "value": "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name'))]" - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.17.1.54307", - "templateHash": "8490200634198428200" - } - }, - "parameters": { - "principalIds": { - "type": "array", - "metadata": { - "description": "Required. The IDs of the principals to assign the role to." - } - }, - "roleDefinitionIdOrName": { - "type": "string", - "metadata": { - "description": "Required. The name of the role to assign. If it cannot be found you can specify the role definition ID instead." - } - }, - "resourceId": { - "type": "string", - "metadata": { - "description": "Required. The resource ID of the resource to apply the role assignment to." - } - }, - "principalType": { - "type": "string", - "defaultValue": "", - "allowedValues": [ - "ServicePrincipal", - "Group", - "User", - "ForeignGroup", - "Device", - "" - ], - "metadata": { - "description": "Optional. The principal type of the assigned principal ID." - } - }, - "description": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The description of the role assignment." - } - }, - "condition": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase \"foo_storage_container\"." - } - }, - "conditionVersion": { - "type": "string", - "defaultValue": "2.0", - "allowedValues": [ - "2.0" - ], - "metadata": { - "description": "Optional. Version of the condition." - } - }, - "delegatedManagedIdentityResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Id of the delegated managed identity resource." - } - } - }, - "variables": { - "builtInRoleNames": { - "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", - "Log Analytics Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '92aaf0da-9dab-42b6-94a3-d43ce8d16293')]", - "Log Analytics Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '73c42c96-874c-492b-b04d-ab87d138a893')]", - "Managed Application Contributor Role": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '641177b8-a67a-45b9-a033-47bc880bb21e')]", - "Managed Application Operator Role": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'c7393b34-138c-406f-901b-d8cf2b17e6ae')]", - "Managed Applications Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b9331d33-8a36-4f8c-b097-4f54124fdb44')]", - "Managed Identity Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'e40ec5ca-96e0-45a2-b4ff-59039f2c2b59')]", - "Managed Identity Operator": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'f1a07417-d97a-45cb-824c-7a7467783830')]", - "Monitoring Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '749f88d5-cbae-40b8-bcfc-e573ddc772fa')]", - "Monitoring Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '43d0d8ad-25c7-4714-9337-8ba259a9fe05')]", - "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]", - "Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]", - "Resource Policy Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '36243c78-bf99-498c-9df9-86d9f8d28608')]", - "Role Based Access Control Administrator (Preview)": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'f58310d9-a9f6-439a-9e8d-f62e7b41a168')]", - "User Access Administrator": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9')]" - } - }, - "resources": [ - { - "copy": { - "name": "roleAssignment", - "count": "[length(parameters('principalIds'))]" - }, - "type": "Microsoft.Authorization/roleAssignments", - "apiVersion": "2022-04-01", - "scope": "[format('Microsoft.ManagedIdentity/userAssignedIdentities/{0}', last(split(parameters('resourceId'), '/')))]", - "name": "[guid(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', last(split(parameters('resourceId'), '/'))), parameters('principalIds')[copyIndex()], parameters('roleDefinitionIdOrName'))]", - "properties": { - "description": "[parameters('description')]", - "roleDefinitionId": "[if(contains(variables('builtInRoleNames'), parameters('roleDefinitionIdOrName')), variables('builtInRoleNames')[parameters('roleDefinitionIdOrName')], parameters('roleDefinitionIdOrName'))]", - "principalId": "[parameters('principalIds')[copyIndex()]]", - "principalType": "[if(not(empty(parameters('principalType'))), parameters('principalType'), null())]", - "condition": "[if(not(empty(parameters('condition'))), parameters('condition'), null())]", - "conditionVersion": "[if(and(not(empty(parameters('conditionVersion'))), not(empty(parameters('condition')))), parameters('conditionVersion'), null())]", - "delegatedManagedIdentityResourceId": "[if(not(empty(parameters('delegatedManagedIdentityResourceId'))), parameters('delegatedManagedIdentityResourceId'), null())]" - } - } - ] - } - }, - "dependsOn": [ - "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name'))]" - ] - } - ], - "outputs": { - "name": { - "type": "string", - "metadata": { - "description": "The name of the user assigned identity." - }, - "value": "[parameters('name')]" - }, - "resourceId": { - "type": "string", - "metadata": { - "description": "The resource ID of the user assigned identity." - }, - "value": "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name'))]" - }, - "principalId": { - "type": "string", - "metadata": { - "description": "The principal ID of the user assigned identity." - }, - "value": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name')), '2018-11-30').principalId]" - }, - "clientId": { - "type": "string", - "metadata": { - "description": "The resource ID of the user assigned identity" - }, - "value": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name')), '2018-11-30').clientId]" - }, - "resourceGroupName": { - "type": "string", - "metadata": { - "description": "The resource group the user assigned identity was deployed into." - }, - "value": "[resourceGroup().name]" - }, - "location": { - "type": "string", - "metadata": { - "description": "The location the resource was deployed into." - }, - "value": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name')), '2018-11-30', 'full').location]" - } - } - } - } - }, - { - "condition": "[or(parameters('createStorageDeployment'), parameters('createSessionHosts'))]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('MI-CleanUp-{0}', parameters('time'))]", - "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', parameters('serviceObjectsRgName'))]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "name": { - "value": "[parameters('cleanUpManagedIdentityName')]" - }, - "location": { - "value": "[parameters('location')]" - }, - "tags": { - "value": "[parameters('tags')]" - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.17.1.54307", - "templateHash": "15136491551081535379" - } - }, - "parameters": { - "name": { - "type": "string", - "defaultValue": "[guid(resourceGroup().id)]", - "metadata": { - "description": "Optional. Name of the User Assigned Identity." - } - }, - "location": { - "type": "string", - "defaultValue": "[resourceGroup().location]", - "metadata": { - "description": "Optional. Location for all resources." - } - }, - "lock": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Specify the type of lock." - }, - "allowedValues": [ - "", - "CanNotDelete", - "ReadOnly" - ] - }, - "roleAssignments": { - "type": "array", - "defaultValue": [], - "metadata": { - "description": "Optional. Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'." - } - }, - "tags": { - "type": "object", - "defaultValue": {}, - "metadata": { - "description": "Optional. Tags of the resource." - } - }, - "enableDefaultTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable telemetry via a Globally Unique Identifier (GUID)." - } - } - }, - "resources": [ - { - "condition": "[parameters('enableDefaultTelemetry')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2021-04-01", - "name": "[format('pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-{0}', uniqueString(deployment().name, parameters('location')))]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [] - } - } - }, - { - "type": "Microsoft.ManagedIdentity/userAssignedIdentities", - "apiVersion": "2018-11-30", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "tags": "[parameters('tags')]" - }, - { - "condition": "[not(empty(parameters('lock')))]", - "type": "Microsoft.Authorization/locks", - "apiVersion": "2020-05-01", - "scope": "[format('Microsoft.ManagedIdentity/userAssignedIdentities/{0}', parameters('name'))]", - "name": "[format('{0}-{1}-lock', parameters('name'), parameters('lock'))]", - "properties": { - "level": "[parameters('lock')]", - "notes": "[if(equals(parameters('lock'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]" - }, - "dependsOn": [ - "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name'))]" - ] - }, - { - "copy": { - "name": "userMsi_roleAssignments", - "count": "[length(parameters('roleAssignments'))]" - }, - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('{0}-UserMSI-Rbac-{1}', uniqueString(deployment().name, parameters('location')), copyIndex())]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "description": "[if(contains(parameters('roleAssignments')[copyIndex()], 'description'), createObject('value', parameters('roleAssignments')[copyIndex()].description), createObject('value', ''))]", - "principalIds": { - "value": "[parameters('roleAssignments')[copyIndex()].principalIds]" - }, - "principalType": "[if(contains(parameters('roleAssignments')[copyIndex()], 'principalType'), createObject('value', parameters('roleAssignments')[copyIndex()].principalType), createObject('value', ''))]", - "roleDefinitionIdOrName": { - "value": "[parameters('roleAssignments')[copyIndex()].roleDefinitionIdOrName]" - }, - "condition": "[if(contains(parameters('roleAssignments')[copyIndex()], 'condition'), createObject('value', parameters('roleAssignments')[copyIndex()].condition), createObject('value', ''))]", - "delegatedManagedIdentityResourceId": "[if(contains(parameters('roleAssignments')[copyIndex()], 'delegatedManagedIdentityResourceId'), createObject('value', parameters('roleAssignments')[copyIndex()].delegatedManagedIdentityResourceId), createObject('value', ''))]", - "resourceId": { - "value": "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name'))]" - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.17.1.54307", - "templateHash": "8490200634198428200" - } - }, - "parameters": { - "principalIds": { - "type": "array", - "metadata": { - "description": "Required. The IDs of the principals to assign the role to." - } - }, - "roleDefinitionIdOrName": { - "type": "string", - "metadata": { - "description": "Required. The name of the role to assign. If it cannot be found you can specify the role definition ID instead." - } - }, - "resourceId": { - "type": "string", - "metadata": { - "description": "Required. The resource ID of the resource to apply the role assignment to." - } - }, - "principalType": { - "type": "string", - "defaultValue": "", - "allowedValues": [ - "ServicePrincipal", - "Group", - "User", - "ForeignGroup", - "Device", - "" - ], - "metadata": { - "description": "Optional. The principal type of the assigned principal ID." - } - }, - "description": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The description of the role assignment." - } - }, - "condition": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase \"foo_storage_container\"." - } - }, - "conditionVersion": { - "type": "string", - "defaultValue": "2.0", - "allowedValues": [ - "2.0" - ], - "metadata": { - "description": "Optional. Version of the condition." - } - }, - "delegatedManagedIdentityResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. Id of the delegated managed identity resource." - } - } - }, - "variables": { - "builtInRoleNames": { - "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", - "Log Analytics Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '92aaf0da-9dab-42b6-94a3-d43ce8d16293')]", - "Log Analytics Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '73c42c96-874c-492b-b04d-ab87d138a893')]", - "Managed Application Contributor Role": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '641177b8-a67a-45b9-a033-47bc880bb21e')]", - "Managed Application Operator Role": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'c7393b34-138c-406f-901b-d8cf2b17e6ae')]", - "Managed Applications Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b9331d33-8a36-4f8c-b097-4f54124fdb44')]", - "Managed Identity Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'e40ec5ca-96e0-45a2-b4ff-59039f2c2b59')]", - "Managed Identity Operator": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'f1a07417-d97a-45cb-824c-7a7467783830')]", - "Monitoring Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '749f88d5-cbae-40b8-bcfc-e573ddc772fa')]", - "Monitoring Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '43d0d8ad-25c7-4714-9337-8ba259a9fe05')]", - "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]", - "Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]", - "Resource Policy Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '36243c78-bf99-498c-9df9-86d9f8d28608')]", - "Role Based Access Control Administrator (Preview)": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'f58310d9-a9f6-439a-9e8d-f62e7b41a168')]", - "User Access Administrator": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9')]" - } - }, - "resources": [ - { - "copy": { - "name": "roleAssignment", - "count": "[length(parameters('principalIds'))]" - }, - "type": "Microsoft.Authorization/roleAssignments", - "apiVersion": "2022-04-01", - "scope": "[format('Microsoft.ManagedIdentity/userAssignedIdentities/{0}', last(split(parameters('resourceId'), '/')))]", - "name": "[guid(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', last(split(parameters('resourceId'), '/'))), parameters('principalIds')[copyIndex()], parameters('roleDefinitionIdOrName'))]", - "properties": { - "description": "[parameters('description')]", - "roleDefinitionId": "[if(contains(variables('builtInRoleNames'), parameters('roleDefinitionIdOrName')), variables('builtInRoleNames')[parameters('roleDefinitionIdOrName')], parameters('roleDefinitionIdOrName'))]", - "principalId": "[parameters('principalIds')[copyIndex()]]", - "principalType": "[if(not(empty(parameters('principalType'))), parameters('principalType'), null())]", - "condition": "[if(not(empty(parameters('condition'))), parameters('condition'), null())]", - "conditionVersion": "[if(and(not(empty(parameters('conditionVersion'))), not(empty(parameters('condition')))), parameters('conditionVersion'), null())]", - "delegatedManagedIdentityResourceId": "[if(not(empty(parameters('delegatedManagedIdentityResourceId'))), parameters('delegatedManagedIdentityResourceId'), null())]" - } - } - ] - } - }, - "dependsOn": [ - "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name'))]" - ] - } - ], - "outputs": { - "name": { - "type": "string", - "metadata": { - "description": "The name of the user assigned identity." - }, - "value": "[parameters('name')]" - }, - "resourceId": { - "type": "string", - "metadata": { - "description": "The resource ID of the user assigned identity." - }, - "value": "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name'))]" - }, - "principalId": { - "type": "string", - "metadata": { - "description": "The principal ID of the user assigned identity." - }, - "value": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name')), '2018-11-30').principalId]" - }, - "clientId": { - "type": "string", - "metadata": { - "description": "The resource ID of the user assigned identity" - }, - "value": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name')), '2018-11-30').clientId]" - }, - "resourceGroupName": { - "type": "string", - "metadata": { - "description": "The resource group the user assigned identity was deployed into." - }, - "value": "[resourceGroup().name]" - }, - "location": { - "type": "string", - "metadata": { - "description": "The location the resource was deployed into." - }, - "value": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name')), '2018-11-30', 'full').location]" - } - } - } - } - }, - { - "copy": { - "name": "startVMonConnectRoleAssignCompute", - "count": "[length(variables('computeAndServiceObjectsRgs'))]" - }, - "condition": "[and(parameters('enableStartVmOnConnect'), not(parameters('deployScalingPlan')))]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2022-09-01", - "name": "[format('StartOnCon-RolAssign-{0}-{1}', variables('computeAndServiceObjectsRgs')[copyIndex()].name, parameters('time'))]", - "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', variables('computeAndServiceObjectsRgs')[copyIndex()].rgName)]", - "properties": { - "expressionEvaluationOptions": { - "scope": "inner" - }, - "mode": "Incremental", - "parameters": { - "roleDefinitionIdOrName": { - "value": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/{1}', parameters('subscriptionId'), variables('varDesktopVirtualizationPowerOnContributorRole').id)]" - }, - "principalId": { - "value": "[parameters('avdEnterpriseObjectId')]" - } - }, - "template": { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "metadata": { - "_generator": { - "name": "bicep", - "version": "0.17.1.54307", - "templateHash": "10569201387143117913" - } - }, - "parameters": { - "roleDefinitionIdOrName": { - "type": "string", - "metadata": { - "description": "Required. You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'." - } - }, - "principalId": { - "type": "string", - "metadata": { - "description": "Required. The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity)." - } - }, - "resourceGroupName": { - "type": "string", - "defaultValue": "[resourceGroup().name]", - "metadata": { - "description": "Optional. Name of the Resource Group to assign the RBAC role to. If not provided, will use the current scope for deployment." - } - }, - "subscriptionId": { - "type": "string", - "defaultValue": "[subscription().subscriptionId]", - "metadata": { - "description": "Optional. Subscription ID of the subscription to assign the RBAC role to. If not provided, will use the current scope for deployment." - } - }, - "description": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The description of the role assignment." - } - }, - "delegatedManagedIdentityResourceId": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. ID of the delegated managed identity resource." - } - }, - "condition": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "Optional. The conditions on the role assignment. This limits the resources it can be assigned to." - } - }, - "conditionVersion": { - "type": "string", - "defaultValue": "2.0", - "allowedValues": [ - "2.0" - ], - "metadata": { - "description": "Optional. Version of the condition. Currently accepted value is \"2.0\"." - } - }, - "principalType": { - "type": "string", - "defaultValue": "", - "allowedValues": [ - "ServicePrincipal", - "Group", - "User", - "ForeignGroup", - "Device", - "" - ], - "metadata": { - "description": "Optional. The principal type of the assigned principal ID." - } - }, - "enableDefaultTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable telemetry via a Globally Unique Identifier (GUID)." - } - } - }, - "variables": { - "builtInRoleNames": { - "Access Review Operator Service Role": "/providers/Microsoft.Authorization/roleDefinitions/76cc9ee4-d5d3-4a45-a930-26add3d73475", - "AcrDelete": "/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11", - "AcrImageSigner": "/providers/Microsoft.Authorization/roleDefinitions/6cef56e8-d556-48e5-a04f-b8e64114680f", - "AcrPull": "/providers/Microsoft.Authorization/roleDefinitions/7f951dda-4ed3-4680-a7ca-43fe172d538d", - "AcrPush": "/providers/Microsoft.Authorization/roleDefinitions/8311e382-0749-4cb8-b61a-304f252e45ec", - "AcrQuarantineReader": "/providers/Microsoft.Authorization/roleDefinitions/cdda3590-29a3-44f6-95f2-9f980659eb04", - "AcrQuarantineWriter": "/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", - "AgFood Platform Sensor Partner Contributor": "/providers/Microsoft.Authorization/roleDefinitions/6b77f0a0-0d89-41cc-acd1-579c22c17a67", - "AgFood Platform Service Admin": "/providers/Microsoft.Authorization/roleDefinitions/f8da80de-1ff9-4747-ad80-a19b7f6079e3", - "AgFood Platform Service Contributor": "/providers/Microsoft.Authorization/roleDefinitions/8508508a-4469-4e45-963b-2518ee0bb728", - "AgFood Platform Service Reader": "/providers/Microsoft.Authorization/roleDefinitions/7ec7ccdc-f61e-41fe-9aaf-980df0a44eba", - "AnyBuild Builder": "/providers/Microsoft.Authorization/roleDefinitions/a2138dac-4907-4679-a376-736901ed8ad8", - "API Management Developer Portal Content Editor": "/providers/Microsoft.Authorization/roleDefinitions/c031e6a8-4391-4de0-8d69-4706a7ed3729", - "API Management Service Contributor": "/providers/Microsoft.Authorization/roleDefinitions/312a565d-c81f-4fd8-895a-4e21e48d571c", - "API Management Service Operator Role": "/providers/Microsoft.Authorization/roleDefinitions/e022efe7-f5ba-4159-bbe4-b44f577e9b61", - "API Management Service Reader Role": "/providers/Microsoft.Authorization/roleDefinitions/71522526-b88f-4d52-b57f-d31fc3546d0d", - "App Configuration Data Owner": "/providers/Microsoft.Authorization/roleDefinitions/5ae67dd6-50cb-40e7-96ff-dc2bfa4b606b", - "App Configuration Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/516239f1-63e1-4d78-a4de-a74fb236a071", - "Application Group Contributor": "/providers/Microsoft.Authorization/roleDefinitions/ca6382a4-1721-4bcf-a114-ff0c70227b6b", - "Application Insights Component Contributor": "/providers/Microsoft.Authorization/roleDefinitions/ae349356-3a1b-4a5e-921d-050484c6347e", - "Application Insights Snapshot Debugger": "/providers/Microsoft.Authorization/roleDefinitions/08954f03-6346-4c2e-81c0-ec3a5cfae23b", - "Attestation Contributor": "/providers/Microsoft.Authorization/roleDefinitions/bbf86eb8-f7b4-4cce-96e4-18cddf81d86e", - "Attestation Reader": "/providers/Microsoft.Authorization/roleDefinitions/fd1bd22b-8476-40bc-a0bc-69b95687b9f3", - "Automation Contributor": "/providers/Microsoft.Authorization/roleDefinitions/f353d9bd-d4a6-484e-a77a-8050b599b867", - "Automation Job Operator": "/providers/Microsoft.Authorization/roleDefinitions/4fe576fe-1146-4730-92eb-48519fa6bf9f", - "Automation Operator": "/providers/Microsoft.Authorization/roleDefinitions/d3881f73-407a-4167-8283-e981cbba0404", - "Automation Runbook Operator": "/providers/Microsoft.Authorization/roleDefinitions/5fb5aef8-1081-4b8e-bb16-9d5d0385bab5", - "Autonomous Development Platform Data Contributor (Preview)": "/providers/Microsoft.Authorization/roleDefinitions/b8b15564-4fa6-4a59-ab12-03e1d9594795", - "Autonomous Development Platform Data Owner (Preview)": "/providers/Microsoft.Authorization/roleDefinitions/27f8b550-c507-4db9-86f2-f4b8e816d59d", - "Autonomous Development Platform Data Reader (Preview)": "/providers/Microsoft.Authorization/roleDefinitions/d63b75f7-47ea-4f27-92ac-e0d173aaf093", - "Avere Contributor": "/providers/Microsoft.Authorization/roleDefinitions/4f8fab4f-1852-4a58-a46a-8eaf358af14a", - "Avere Operator": "/providers/Microsoft.Authorization/roleDefinitions/c025889f-8102-4ebf-b32c-fc0c6f0c6bd9", - "Azure Arc Enabled Kubernetes Cluster User Role": "/providers/Microsoft.Authorization/roleDefinitions/00493d72-78f6-4148-b6c5-d3ce8e4799dd", - "Azure Arc Kubernetes Admin": "/providers/Microsoft.Authorization/roleDefinitions/dffb1e0c-446f-4dde-a09f-99eb5cc68b96", - "Azure Arc Kubernetes Cluster Admin": "/providers/Microsoft.Authorization/roleDefinitions/8393591c-06b9-48a2-a542-1bd6b377f6a2", - "Azure Arc Kubernetes Viewer": "/providers/Microsoft.Authorization/roleDefinitions/63f0a09d-1495-4db4-a681-037d84835eb4", - "Azure Arc Kubernetes Writer": "/providers/Microsoft.Authorization/roleDefinitions/5b999177-9696-4545-85c7-50de3797e5a1", - "Azure Arc ScVmm Administrator role": "/providers/Microsoft.Authorization/roleDefinitions/a92dfd61-77f9-4aec-a531-19858b406c87", - "Azure Arc ScVmm Private Cloud User": "/providers/Microsoft.Authorization/roleDefinitions/c0781e91-8102-4553-8951-97c6d4243cda", - "Azure Arc ScVmm Private Clouds Onboarding": "/providers/Microsoft.Authorization/roleDefinitions/6aac74c4-6311-40d2-bbdd-7d01e7c6e3a9", - "Azure Arc ScVmm VM Contributor": "/providers/Microsoft.Authorization/roleDefinitions/e582369a-e17b-42a5-b10c-874c387c530b", - "Azure Arc VMware Administrator role ": "/providers/Microsoft.Authorization/roleDefinitions/ddc140ed-e463-4246-9145-7c664192013f", - "Azure Arc VMware Private Cloud User": "/providers/Microsoft.Authorization/roleDefinitions/ce551c02-7c42-47e0-9deb-e3b6fc3a9a83", - "Azure Arc VMware Private Clouds Onboarding": "/providers/Microsoft.Authorization/roleDefinitions/67d33e57-3129-45e6-bb0b-7cc522f762fa", - "Azure Arc VMware VM Contributor": "/providers/Microsoft.Authorization/roleDefinitions/b748a06d-6150-4f8a-aaa9-ce3940cd96cb", - "Azure Center for SAP solutions administrator": "/providers/Microsoft.Authorization/roleDefinitions/7b0c7e81-271f-4c71-90bf-e30bdfdbc2f7", - "Azure Center for SAP solutions Management role": "/providers/Microsoft.Authorization/roleDefinitions/6d949e1d-41e2-46e3-8920-c6e4f31a8310", - "Azure Center for SAP solutions reader": "/providers/Microsoft.Authorization/roleDefinitions/05352d14-a920-4328-a0de-4cbe7430e26b", - "Azure Center for SAP solutions service role": "/providers/Microsoft.Authorization/roleDefinitions/aabbc5dd-1af0-458b-a942-81af88f9c138", - "Azure Center for SAP solutions Service role for management": "/providers/Microsoft.Authorization/roleDefinitions/0105a6b0-4bb9-43d2-982a-12806f9faddb", - "Azure Connected Machine Onboarding": "/providers/Microsoft.Authorization/roleDefinitions/b64e21ea-ac4e-4cdf-9dc9-5b892992bee7", - "Azure Connected Machine Resource Administrator": "/providers/Microsoft.Authorization/roleDefinitions/cd570a14-e51a-42ad-bac8-bafd67325302", - "Azure Connected Machine Resource Manager": "/providers/Microsoft.Authorization/roleDefinitions/f5819b54-e033-4d82-ac66-4fec3cbf3f4c", - "Azure Connected SQL Server Onboarding": "/providers/Microsoft.Authorization/roleDefinitions/e8113dce-c529-4d33-91fa-e9b972617508", - "Azure Digital Twins Data Owner": "/providers/Microsoft.Authorization/roleDefinitions/bcd981a7-7f74-457b-83e1-cceb9e632ffe", - "Azure Digital Twins Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/d57506d4-4c8d-48b1-8587-93c323f6a5a3", - "Azure Event Hubs Data Owner": "/providers/Microsoft.Authorization/roleDefinitions/f526a384-b230-433a-b45c-95f59c4a2dec", - "Azure Event Hubs Data Receiver": "/providers/Microsoft.Authorization/roleDefinitions/a638d3c7-ab3a-418d-83e6-5f17a39d4fde", - "Azure Event Hubs Data Sender": "/providers/Microsoft.Authorization/roleDefinitions/2b629674-e913-4c01-ae53-ef4638d8f975", - "Azure Extension for SQL Server Deployment": "/providers/Microsoft.Authorization/roleDefinitions/7392c568-9289-4bde-aaaa-b7131215889d", - "Azure Front Door Domain Contributor": "/providers/Microsoft.Authorization/roleDefinitions/0ab34830-df19-4f8c-b84e-aa85b8afa6e8", - "Azure Front Door Domain Reader": "/providers/Microsoft.Authorization/roleDefinitions/0f99d363-226e-4dca-9920-b807cf8e1a5f", - "Azure Front Door Secret Contributor": "/providers/Microsoft.Authorization/roleDefinitions/3f2eb865-5811-4578-b90a-6fc6fa0df8e5", - "Azure Front Door Secret Reader": "/providers/Microsoft.Authorization/roleDefinitions/0db238c4-885e-4c4f-a933-aa2cef684fca", - "Azure Kubernetes Fleet Manager Contributor Role": "/providers/Microsoft.Authorization/roleDefinitions/63bb64ad-9799-4770-b5c3-24ed299a07bf", - "Azure Kubernetes Fleet Manager RBAC Admin": "/providers/Microsoft.Authorization/roleDefinitions/434fb43a-c01c-447e-9f67-c3ad923cfaba", - "Azure Kubernetes Fleet Manager RBAC Cluster Admin": "/providers/Microsoft.Authorization/roleDefinitions/18ab4d3d-a1bf-4477-8ad9-8359bc988f69", - "Azure Kubernetes Fleet Manager RBAC Reader": "/providers/Microsoft.Authorization/roleDefinitions/30b27cfc-9c84-438e-b0ce-70e35255df80", - "Azure Kubernetes Fleet Manager RBAC Writer": "/providers/Microsoft.Authorization/roleDefinitions/5af6afb3-c06c-4fa4-8848-71a8aee05683", - "Azure Kubernetes Service Cluster Admin Role": "/providers/Microsoft.Authorization/roleDefinitions/0ab0b1a8-8aac-4efd-b8c2-3ee1fb270be8", - "Azure Kubernetes Service Cluster Monitoring User": "/providers/Microsoft.Authorization/roleDefinitions/1afdec4b-e479-420e-99e7-f82237c7c5e6", - "Azure Kubernetes Service Cluster User Role": "/providers/Microsoft.Authorization/roleDefinitions/4abbcc35-e782-43d8-92c5-2d3f1bd2253f", - "Azure Kubernetes Service Contributor Role": "/providers/Microsoft.Authorization/roleDefinitions/ed7f3fbd-7b88-4dd4-9017-9adb7ce333f8", - "Azure Kubernetes Service Policy Add-on Deployment": "/providers/Microsoft.Authorization/roleDefinitions/18ed5180-3e48-46fd-8541-4ea054d57064", - "Azure Kubernetes Service RBAC Admin": "/providers/Microsoft.Authorization/roleDefinitions/3498e952-d568-435e-9b2c-8d77e338d7f7", - "Azure Kubernetes Service RBAC Cluster Admin": "/providers/Microsoft.Authorization/roleDefinitions/b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b", - "Azure Kubernetes Service RBAC Reader": "/providers/Microsoft.Authorization/roleDefinitions/7f6c6a51-bcf8-42ba-9220-52d62157d7db", - "Azure Kubernetes Service RBAC Writer": "/providers/Microsoft.Authorization/roleDefinitions/a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb", - "Azure Maps Contributor": "/providers/Microsoft.Authorization/roleDefinitions/dba33070-676a-4fb0-87fa-064dc56ff7fb", - "Azure Maps Data Contributor": "/providers/Microsoft.Authorization/roleDefinitions/8f5e0ce6-4f7b-4dcf-bddf-e6f48634a204", - "Azure Maps Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/423170ca-a8f6-4b0f-8487-9e4eb8f49bfa", - "Azure Maps Search and Render Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/6be48352-4f82-47c9-ad5e-0acacefdb005", - "Azure Relay Listener": "/providers/Microsoft.Authorization/roleDefinitions/26e0b698-aa6d-4085-9386-aadae190014d", - "Azure Relay Owner": "/providers/Microsoft.Authorization/roleDefinitions/2787bf04-f1f5-4bfe-8383-c8a24483ee38", - "Azure Relay Sender": "/providers/Microsoft.Authorization/roleDefinitions/26baccc8-eea7-41f1-98f4-1762cc7f685d", - "Azure Service Bus Data Owner": "/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419", - "Azure Service Bus Data Receiver": "/providers/Microsoft.Authorization/roleDefinitions/4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0", - "Azure Service Bus Data Sender": "/providers/Microsoft.Authorization/roleDefinitions/69a216fc-b8fb-44d8-bc22-1f3c2cd27a39", - "Azure Spring Apps Connect Role": "/providers/Microsoft.Authorization/roleDefinitions/80558df3-64f9-4c0f-b32d-e5094b036b0b", - "Azure Spring Apps Remote Debugging Role": "/providers/Microsoft.Authorization/roleDefinitions/a99b0159-1064-4c22-a57b-c9b3caa1c054", - "Azure Spring Cloud Config Server Contributor": "/providers/Microsoft.Authorization/roleDefinitions/a06f5c24-21a7-4e1a-aa2b-f19eb6684f5b", - "Azure Spring Cloud Config Server Reader": "/providers/Microsoft.Authorization/roleDefinitions/d04c6db6-4947-4782-9e91-30a88feb7be7", - "Azure Spring Cloud Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/b5537268-8956-4941-a8f0-646150406f0c", - "Azure Spring Cloud Service Registry Contributor": "/providers/Microsoft.Authorization/roleDefinitions/f5880b48-c26d-48be-b172-7927bfa1c8f1", - "Azure Spring Cloud Service Registry Reader": "/providers/Microsoft.Authorization/roleDefinitions/cff1b556-2399-4e7e-856d-a8f754be7b65", - "Azure Stack HCI registration role": "/providers/Microsoft.Authorization/roleDefinitions/bda0d508-adf1-4af0-9c28-88919fc3ae06", - "Azure Stack Registration Owner": "/providers/Microsoft.Authorization/roleDefinitions/6f12a6df-dd06-4f3e-bcb1-ce8be600526a", - "Azure Traffic Controller Configuration Manager": "/providers/Microsoft.Authorization/roleDefinitions/fbc52c3f-28ad-4303-a892-8a056630b8f1", - "Azure Usage Billing Data Sender": "/providers/Microsoft.Authorization/roleDefinitions/f0310ce6-e953-4cf8-b892-fb1c87eaf7f6", - "Azure VM Managed identities restore Contributor": "/providers/Microsoft.Authorization/roleDefinitions/6ae96244-5829-4925-a7d3-5975537d91dd", - "AzureML Compute Operator": "/providers/Microsoft.Authorization/roleDefinitions/e503ece1-11d0-4e8e-8e2c-7a6c3bf38815", - "AzureML Data Scientist": "/providers/Microsoft.Authorization/roleDefinitions/f6c7c914-8db3-469d-8ca1-694a8f32e121", - "AzureML Metrics Writer (preview)": "/providers/Microsoft.Authorization/roleDefinitions/635dd51f-9968-44d3-b7fb-6d9a6bd613ae", - "AzureML Registry User": "/providers/Microsoft.Authorization/roleDefinitions/1823dd4f-9b8c-4ab6-ab4e-7397a3684615", - "Backup Contributor": "/providers/Microsoft.Authorization/roleDefinitions/5e467623-bb1f-42f4-a55d-6e525e11384b", - "Backup Operator": "/providers/Microsoft.Authorization/roleDefinitions/00c29273-979b-4161-815c-10b084fb9324", - "Backup Reader": "/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912", - "Bayer Ag Powered Services CWUM Solution User Role": "/providers/Microsoft.Authorization/roleDefinitions/a9b99099-ead7-47db-8fcf-072597a61dfa", - "Bayer Ag Powered Services GDU Solution": "/providers/Microsoft.Authorization/roleDefinitions/c4bc862a-3b64-4a35-a021-a380c159b042", - "Bayer Ag Powered Services Imagery Solution": "/providers/Microsoft.Authorization/roleDefinitions/ef29765d-0d37-4119-a4f8-f9f9902c9588", - "Billing Reader": "/providers/Microsoft.Authorization/roleDefinitions/fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64", - "BizTalk Contributor": "/providers/Microsoft.Authorization/roleDefinitions/5e3c6656-6cfa-4708-81fe-0de47ac73342", - "Blockchain Member Node Access (Preview)": "/providers/Microsoft.Authorization/roleDefinitions/31a002a1-acaf-453e-8a5b-297c9ca1ea24", - "Blueprint Contributor": "/providers/Microsoft.Authorization/roleDefinitions/41077137-e803-4205-871c-5a86e6a753b4", - "Blueprint Operator": "/providers/Microsoft.Authorization/roleDefinitions/437d2ced-4a38-4302-8479-ed2bcb43d090", - "CDN Endpoint Contributor": "/providers/Microsoft.Authorization/roleDefinitions/426e0c7f-0c7e-4658-b36f-ff54d6c29b45", - "CDN Endpoint Reader": "/providers/Microsoft.Authorization/roleDefinitions/871e35f6-b5c1-49cc-a043-bde969a0f2cd", - "CDN Profile Contributor": "/providers/Microsoft.Authorization/roleDefinitions/ec156ff8-a8d1-4d15-830c-5b80698ca432", - "CDN Profile Reader": "/providers/Microsoft.Authorization/roleDefinitions/8f96442b-4075-438f-813d-ad51ab4019af", - "Chamber Admin": "/providers/Microsoft.Authorization/roleDefinitions/4e9b8407-af2e-495b-ae54-bb60a55b1b5a", - "Chamber User": "/providers/Microsoft.Authorization/roleDefinitions/4447db05-44ed-4da3-ae60-6cbece780e32", - "Classic Network Contributor": "/providers/Microsoft.Authorization/roleDefinitions/b34d265f-36f7-4a0d-a4d4-e158ca92e90f", - "Classic Storage Account Contributor": "/providers/Microsoft.Authorization/roleDefinitions/86e8f5dc-a6e9-4c67-9d15-de283e8eac25", - "Classic Storage Account Key Operator Service Role": "/providers/Microsoft.Authorization/roleDefinitions/985d6b00-f706-48f5-a6fe-d0ca12fb668d", - "Classic Virtual Machine Contributor": "/providers/Microsoft.Authorization/roleDefinitions/d73bb868-a0df-4d4d-bd69-98a00b01fccb", - "ClearDB MySQL DB Contributor": "/providers/Microsoft.Authorization/roleDefinitions/9106cda0-8a86-4e81-b686-29a22c54effe", - "Code Signing Certificate Profile Signer": "/providers/Microsoft.Authorization/roleDefinitions/2837e146-70d7-4cfd-ad55-7efa6464f958", - "Code Signing Identity Verifier": "/providers/Microsoft.Authorization/roleDefinitions/4339b7cf-9826-4e41-b4ed-c7f4505dac08", - "Cognitive Services Contributor": "/providers/Microsoft.Authorization/roleDefinitions/25fbc0a9-bd7c-42a3-aa1a-3b75d497ee68", - "Cognitive Services Custom Vision Contributor": "/providers/Microsoft.Authorization/roleDefinitions/c1ff6cc2-c111-46fe-8896-e0ef812ad9f3", - "Cognitive Services Custom Vision Deployment": "/providers/Microsoft.Authorization/roleDefinitions/5c4089e1-6d96-4d2f-b296-c1bc7137275f", - "Cognitive Services Custom Vision Labeler": "/providers/Microsoft.Authorization/roleDefinitions/88424f51-ebe7-446f-bc41-7fa16989e96c", - "Cognitive Services Custom Vision Reader": "/providers/Microsoft.Authorization/roleDefinitions/93586559-c37d-4a6b-ba08-b9f0940c2d73", - "Cognitive Services Custom Vision Trainer": "/providers/Microsoft.Authorization/roleDefinitions/0a5ae4ab-0d65-4eeb-be61-29fc9b54394b", - "Cognitive Services Data Reader (Preview)": "/providers/Microsoft.Authorization/roleDefinitions/b59867f0-fa02-499b-be73-45a86b5b3e1c", - "Cognitive Services Face Recognizer": "/providers/Microsoft.Authorization/roleDefinitions/9894cab4-e18a-44aa-828b-cb588cd6f2d7", - "Cognitive Services Immersive Reader User": "/providers/Microsoft.Authorization/roleDefinitions/b2de6794-95db-4659-8781-7e080d3f2b9d", - "Cognitive Services Language Owner": "/providers/Microsoft.Authorization/roleDefinitions/f07febfe-79bc-46b1-8b37-790e26e6e498", - "Cognitive Services Language Reader": "/providers/Microsoft.Authorization/roleDefinitions/7628b7b8-a8b2-4cdc-b46f-e9b35248918e", - "Cognitive Services Language Writer": "/providers/Microsoft.Authorization/roleDefinitions/f2310ca1-dc64-4889-bb49-c8e0fa3d47a8", - "Cognitive Services LUIS Owner": "/providers/Microsoft.Authorization/roleDefinitions/f72c8140-2111-481c-87ff-72b910f6e3f8", - "Cognitive Services LUIS Reader": "/providers/Microsoft.Authorization/roleDefinitions/18e81cdc-4e98-4e29-a639-e7d10c5a6226", - "Cognitive Services LUIS Writer": "/providers/Microsoft.Authorization/roleDefinitions/6322a993-d5c9-4bed-b113-e49bbea25b27", - "Cognitive Services Metrics Advisor Administrator": "/providers/Microsoft.Authorization/roleDefinitions/cb43c632-a144-4ec5-977c-e80c4affc34a", - "Cognitive Services Metrics Advisor User": "/providers/Microsoft.Authorization/roleDefinitions/3b20f47b-3825-43cb-8114-4bd2201156a8", - "Cognitive Services OpenAI Contributor": "/providers/Microsoft.Authorization/roleDefinitions/a001fd3d-188f-4b5d-821b-7da978bf7442", - "Cognitive Services OpenAI User": "/providers/Microsoft.Authorization/roleDefinitions/5e0bd9bd-7b93-4f28-af87-19fc36ad61bd", - "Cognitive Services QnA Maker Editor": "/providers/Microsoft.Authorization/roleDefinitions/f4cc2bf9-21be-47a1-bdf1-5c5804381025", - "Cognitive Services QnA Maker Reader": "/providers/Microsoft.Authorization/roleDefinitions/466ccd10-b268-4a11-b098-b4849f024126", - "Cognitive Services Speech Contributor": "/providers/Microsoft.Authorization/roleDefinitions/0e75ca1e-0464-4b4d-8b93-68208a576181", - "Cognitive Services Speech User": "/providers/Microsoft.Authorization/roleDefinitions/f2dc8367-1007-4938-bd23-fe263f013447", - "Cognitive Services User": "/providers/Microsoft.Authorization/roleDefinitions/a97b65f3-24c7-4388-baec-2e87135dc908", - "Collaborative Data Contributor": "/providers/Microsoft.Authorization/roleDefinitions/daa9e50b-21df-454c-94a6-a8050adab352", - "Collaborative Runtime Operator": "/providers/Microsoft.Authorization/roleDefinitions/7a6f0e70-c033-4fb1-828c-08514e5f4102", - "Compute Gallery Sharing Admin": "/providers/Microsoft.Authorization/roleDefinitions/1ef6a3be-d0ac-425d-8c01-acb62866290b", - "ContainerApp Reader": "/providers/Microsoft.Authorization/roleDefinitions/ad2dd5fb-cd4b-4fd4-a9b6-4fed3630980b", - "Contributor": "/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c", - "Cosmos DB Account Reader Role": "/providers/Microsoft.Authorization/roleDefinitions/fbdf93bf-df7d-467e-a4d2-9458aa1360c8", - "Cosmos DB Operator": "/providers/Microsoft.Authorization/roleDefinitions/230815da-be43-4aae-9cb4-875f7bd000aa", - "CosmosBackupOperator": "/providers/Microsoft.Authorization/roleDefinitions/db7b14f2-5adf-42da-9f96-f2ee17bab5cb", - "CosmosRestoreOperator": "/providers/Microsoft.Authorization/roleDefinitions/5432c526-bc82-444a-b7ba-57c5b0b5b34f", - "Cost Management Contributor": "/providers/Microsoft.Authorization/roleDefinitions/434105ed-43f6-45c7-a02f-909b2ba83430", - "Cost Management Reader": "/providers/Microsoft.Authorization/roleDefinitions/72fafb9e-0641-4937-9268-a91bfd8191a3", - "Data Box Contributor": "/providers/Microsoft.Authorization/roleDefinitions/add466c9-e687-43fc-8d98-dfcf8d720be5", - "Data Box Reader": "/providers/Microsoft.Authorization/roleDefinitions/028f4ed7-e2a9-465e-a8f4-9c0ffdfdc027", - "Data Factory Contributor": "/providers/Microsoft.Authorization/roleDefinitions/673868aa-7521-48a0-acc6-0f60742d39f5", - "Data Labeling - Labeler": "/providers/Microsoft.Authorization/roleDefinitions/c6decf44-fd0a-444c-a844-d653c394e7ab", - "Data Lake Analytics Developer": "/providers/Microsoft.Authorization/roleDefinitions/47b7735b-770e-4598-a7da-8b91488b4c88", - "Data Operator for Managed Disks": "/providers/Microsoft.Authorization/roleDefinitions/959f8984-c045-4866-89c7-12bf9737be2e", - "Data Purger": "/providers/Microsoft.Authorization/roleDefinitions/150f5e0c-0603-4f03-8c7f-cf70034c4e90", - "Deployment Environments User": "/providers/Microsoft.Authorization/roleDefinitions/18e40d4e-8d2e-438d-97e1-9528336e149c", - "Desktop Virtualization Application Group Contributor": "/providers/Microsoft.Authorization/roleDefinitions/86240b0e-9422-4c43-887b-b61143f32ba8", - "Desktop Virtualization Application Group Reader": "/providers/Microsoft.Authorization/roleDefinitions/aebf23d0-b568-4e86-b8f9-fe83a2c6ab55", - "Desktop Virtualization Contributor": "/providers/Microsoft.Authorization/roleDefinitions/082f0a83-3be5-4ba1-904c-961cca79b387", - "Desktop Virtualization Host Pool Contributor": "/providers/Microsoft.Authorization/roleDefinitions/e307426c-f9b6-4e81-87de-d99efb3c32bc", - "Desktop Virtualization Host Pool Reader": "/providers/Microsoft.Authorization/roleDefinitions/ceadfde2-b300-400a-ab7b-6143895aa822", - "Desktop Virtualization Power On Contributor": "/providers/Microsoft.Authorization/roleDefinitions/489581de-a3bd-480d-9518-53dea7416b33", - "Desktop Virtualization Power On Off Contributor": "/providers/Microsoft.Authorization/roleDefinitions/40c5ff49-9181-41f8-ae61-143b0e78555e", - "Desktop Virtualization Reader": "/providers/Microsoft.Authorization/roleDefinitions/49a72310-ab8d-41df-bbb0-79b649203868", - "Desktop Virtualization Session Host Operator": "/providers/Microsoft.Authorization/roleDefinitions/2ad6aaab-ead9-4eaa-8ac5-da422f562408", - "Desktop Virtualization User": "/providers/Microsoft.Authorization/roleDefinitions/1d18fff3-a72a-46b5-b4a9-0b38a3cd7e63", - "Desktop Virtualization User Session Operator": "/providers/Microsoft.Authorization/roleDefinitions/ea4bfff8-7fb4-485a-aadd-d4129a0ffaa6", - "Desktop Virtualization Virtual Machine Contributor": "/providers/Microsoft.Authorization/roleDefinitions/a959dbd1-f747-45e3-8ba6-dd80f235f97c", - "Desktop Virtualization Workspace Contributor": "/providers/Microsoft.Authorization/roleDefinitions/21efdde3-836f-432b-bf3d-3e8e734d4b2b", - "Desktop Virtualization Workspace Reader": "/providers/Microsoft.Authorization/roleDefinitions/0fa44ee9-7a7d-466b-9bb2-2bf446b1204d", - "DevCenter Dev Box User": "/providers/Microsoft.Authorization/roleDefinitions/45d50f46-0b78-4001-a660-4198cbe8cd05", - "DevCenter Project Admin": "/providers/Microsoft.Authorization/roleDefinitions/331c37c6-af14-46d9-b9f4-e1909e1b95a0", - "Device Provisioning Service Data Contributor": "/providers/Microsoft.Authorization/roleDefinitions/dfce44e4-17b7-4bd1-a6d1-04996ec95633", - "Device Provisioning Service Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/10745317-c249-44a1-a5ce-3a4353c0bbd8", - "Device Update Administrator": "/providers/Microsoft.Authorization/roleDefinitions/02ca0879-e8e4-47a5-a61e-5c618b76e64a", - "Device Update Content Administrator": "/providers/Microsoft.Authorization/roleDefinitions/0378884a-3af5-44ab-8323-f5b22f9f3c98", - "Device Update Content Reader": "/providers/Microsoft.Authorization/roleDefinitions/d1ee9a80-8b14-47f0-bdc2-f4a351625a7b", - "Device Update Deployments Administrator": "/providers/Microsoft.Authorization/roleDefinitions/e4237640-0e3d-4a46-8fda-70bc94856432", - "Device Update Deployments Reader": "/providers/Microsoft.Authorization/roleDefinitions/49e2f5d2-7741-4835-8efa-19e1fe35e47f", - "Device Update Reader": "/providers/Microsoft.Authorization/roleDefinitions/e9dba6fb-3d52-4cf0-bce3-f06ce71b9e0f", - "DevTest Labs User": "/providers/Microsoft.Authorization/roleDefinitions/76283e04-6283-4c54-8f91-bcf1374a3c64", - "DICOM Data Owner": "/providers/Microsoft.Authorization/roleDefinitions/58a3b984-7adf-4c20-983a-32417c86fbc8", - "DICOM Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/e89c7a3c-2f64-4fa1-a847-3e4c9ba4283a", - "Disk Backup Reader": "/providers/Microsoft.Authorization/roleDefinitions/3e5e47e6-65f7-47ef-90b5-e5dd4d455f24", - "Disk Pool Operator": "/providers/Microsoft.Authorization/roleDefinitions/60fc6e62-5479-42d4-8bf4-67625fcc2840", - "Disk Restore Operator": "/providers/Microsoft.Authorization/roleDefinitions/b50d9833-a0cb-478e-945f-707fcc997c13", - "Disk Snapshot Contributor": "/providers/Microsoft.Authorization/roleDefinitions/7efff54f-a5b4-42b5-a1c5-5411624893ce", - "DNS Resolver Contributor": "/providers/Microsoft.Authorization/roleDefinitions/0f2ebee7-ffd4-4fc0-b3b7-664099fdad5d", - "DNS Zone Contributor": "/providers/Microsoft.Authorization/roleDefinitions/befefa01-2a29-4197-83a8-272ff33ce314", - "DocumentDB Account Contributor": "/providers/Microsoft.Authorization/roleDefinitions/5bd9cd88-fe45-4216-938b-f97437e15450", - "Domain Services Contributor": "/providers/Microsoft.Authorization/roleDefinitions/eeaeda52-9324-47f6-8069-5d5bade478b2", - "Domain Services Reader": "/providers/Microsoft.Authorization/roleDefinitions/361898ef-9ed1-48c2-849c-a832951106bb", - "Elastic SAN Owner": "/providers/Microsoft.Authorization/roleDefinitions/80dcbedb-47ef-405d-95bd-188a1b4ac406", - "Elastic SAN Reader": "/providers/Microsoft.Authorization/roleDefinitions/af6a70f8-3c9f-4105-acf1-d719e9fca4ca", - "Elastic SAN Volume Group Owner": "/providers/Microsoft.Authorization/roleDefinitions/a8281131-f312-4f34-8d98-ae12be9f0d23", - "EventGrid Contributor": "/providers/Microsoft.Authorization/roleDefinitions/1e241071-0855-49ea-94dc-649edcd759de", - "EventGrid Data Sender": "/providers/Microsoft.Authorization/roleDefinitions/d5a91429-5739-47e2-a06b-3470a27159e7", - "EventGrid EventSubscription Contributor": "/providers/Microsoft.Authorization/roleDefinitions/428e0ff0-5e57-4d9c-a221-2c70d0e0a443", - "EventGrid EventSubscription Reader": "/providers/Microsoft.Authorization/roleDefinitions/2414bbcf-6497-4faf-8c65-045460748405", - "Experimentation Administrator": "/providers/Microsoft.Authorization/roleDefinitions/7f646f1b-fa08-80eb-a33b-edd6ce5c915c", - "Experimentation Contributor": "/providers/Microsoft.Authorization/roleDefinitions/7f646f1b-fa08-80eb-a22b-edd6ce5c915c", - "Experimentation Metric Contributor": "/providers/Microsoft.Authorization/roleDefinitions/6188b7c9-7d01-4f99-a59f-c88b630326c0", - "Experimentation Reader": "/providers/Microsoft.Authorization/roleDefinitions/49632ef5-d9ac-41f4-b8e7-bbe587fa74a1", - "FHIR Data Contributor": "/providers/Microsoft.Authorization/roleDefinitions/5a1fc7df-4bf1-4951-a576-89034ee01acd", - "FHIR Data Converter": "/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24", - "FHIR Data Exporter": "/providers/Microsoft.Authorization/roleDefinitions/3db33094-8700-4567-8da5-1501d4e7e843", - "FHIR Data Importer": "/providers/Microsoft.Authorization/roleDefinitions/4465e953-8ced-4406-a58e-0f6e3f3b530b", - "FHIR Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/4c8d0bbc-75d3-4935-991f-5f3c56d81508", - "FHIR Data Writer": "/providers/Microsoft.Authorization/roleDefinitions/3f88fce4-5892-4214-ae73-ba5294559913", - "FHIR SMART User": "/providers/Microsoft.Authorization/roleDefinitions/4ba50f17-9666-485c-a643-ff00808643f0", - "Grafana Admin": "/providers/Microsoft.Authorization/roleDefinitions/22926164-76b3-42b3-bc55-97df8dab3e41", - "Grafana Editor": "/providers/Microsoft.Authorization/roleDefinitions/a79a5197-3a5c-4973-a920-486035ffd60f", - "Grafana Viewer": "/providers/Microsoft.Authorization/roleDefinitions/60921a7e-fef1-4a43-9b16-a26c52ad4769", - "Graph Owner": "/providers/Microsoft.Authorization/roleDefinitions/b60367af-1334-4454-b71e-769d9a4f83d9", - "Guest Configuration Resource Contributor": "/providers/Microsoft.Authorization/roleDefinitions/088ab73d-1256-47ae-bea9-9de8e7131f31", - "HDInsight Cluster Operator": "/providers/Microsoft.Authorization/roleDefinitions/61ed4efc-fab3-44fd-b111-e24485cc132a", - "HDInsight Domain Services Contributor": "/providers/Microsoft.Authorization/roleDefinitions/8d8d5a11-05d3-4bda-a417-a08778121c7c", - "Hierarchy Settings Administrator": "/providers/Microsoft.Authorization/roleDefinitions/350f8d15-c687-4448-8ae1-157740a3936d", - "Hybrid Server Onboarding": "/providers/Microsoft.Authorization/roleDefinitions/5d1e5ee4-7c68-4a71-ac8b-0739630a3dfb", - "Hybrid Server Resource Administrator": "/providers/Microsoft.Authorization/roleDefinitions/48b40c6e-82e0-4eb3-90d5-19e40f49b624", - "Impact Reader": "/providers/Microsoft.Authorization/roleDefinitions/68ff5d27-c7f5-4fa9-a21c-785d0df7bd9e", - "Impact Reporter": "/providers/Microsoft.Authorization/roleDefinitions/36e80216-a7e8-4f42-a7e1-f12c98cbaf8a", - "Integration Service Environment Contributor": "/providers/Microsoft.Authorization/roleDefinitions/a41e2c5b-bd99-4a07-88f4-9bf657a760b8", - "Integration Service Environment Developer": "/providers/Microsoft.Authorization/roleDefinitions/c7aa55d3-1abb-444a-a5ca-5e51e485d6ec", - "Intelligent Systems Account Contributor": "/providers/Microsoft.Authorization/roleDefinitions/03a6d094-3444-4b3d-88af-7477090a9e5e", - "IoT Hub Data Contributor": "/providers/Microsoft.Authorization/roleDefinitions/4fc6c259-987e-4a07-842e-c321cc9d413f", - "IoT Hub Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/b447c946-2db7-41ec-983d-d8bf3b1c77e3", - "IoT Hub Registry Contributor": "/providers/Microsoft.Authorization/roleDefinitions/4ea46cd5-c1b2-4a8e-910b-273211f9ce47", - "IoT Hub Twin Contributor": "/providers/Microsoft.Authorization/roleDefinitions/494bdba2-168f-4f31-a0a1-191d2f7c028c", - "Key Vault Administrator": "/providers/Microsoft.Authorization/roleDefinitions/00482a5a-887f-4fb3-b363-3b7fe8e74483", - "Key Vault Certificates Officer": "/providers/Microsoft.Authorization/roleDefinitions/a4417e6f-fecd-4de8-b567-7b0420556985", - "Key Vault Contributor": "/providers/Microsoft.Authorization/roleDefinitions/f25e0fa2-a7c8-4377-a976-54943a77a395", - "Key Vault Crypto Officer": "/providers/Microsoft.Authorization/roleDefinitions/14b46e9e-c2b7-41b4-b07b-48a6ebf60603", - "Key Vault Crypto Service Encryption User": "/providers/Microsoft.Authorization/roleDefinitions/e147488a-f6f5-4113-8e2d-b22465e65bf6", - "Key Vault Crypto User": "/providers/Microsoft.Authorization/roleDefinitions/12338af0-0e69-4776-bea7-57ae8d297424", - "Key Vault Reader": "/providers/Microsoft.Authorization/roleDefinitions/21090545-7ca7-4776-b22c-e363652d74d2", - "Key Vault Secrets Officer": "/providers/Microsoft.Authorization/roleDefinitions/b86a8fe4-44ce-4948-aee5-eccb2c155cd7", - "Key Vault Secrets User": "/providers/Microsoft.Authorization/roleDefinitions/4633458b-17de-408a-b874-0445c86b69e6", - "Knowledge Consumer": "/providers/Microsoft.Authorization/roleDefinitions/ee361c5d-f7b5-4119-b4b6-892157c8f64c", - "Kubernetes Agentless Operator": "/providers/Microsoft.Authorization/roleDefinitions/d5a2ae44-610b-4500-93be-660a0c5f5ca6", - "Kubernetes Cluster - Azure Arc Onboarding": "/providers/Microsoft.Authorization/roleDefinitions/34e09817-6cbe-4d01-b1a2-e0eac5743d41", - "Kubernetes Extension Contributor": "/providers/Microsoft.Authorization/roleDefinitions/85cb6faf-e071-4c9b-8136-154b5a04f717", - "Kubernetes Namespace User": "/providers/Microsoft.Authorization/roleDefinitions/ba79058c-0414-4a34-9e42-c3399d80cd5a", - "Lab Assistant": "/providers/Microsoft.Authorization/roleDefinitions/ce40b423-cede-4313-a93f-9b28290b72e1", - "Lab Contributor": "/providers/Microsoft.Authorization/roleDefinitions/5daaa2af-1fe8-407c-9122-bba179798270", - "Lab Creator": "/providers/Microsoft.Authorization/roleDefinitions/b97fb8bc-a8b2-4522-a38b-dd33c7e65ead", - "Lab Operator": "/providers/Microsoft.Authorization/roleDefinitions/a36e6959-b6be-4b12-8e9f-ef4b474d304d", - "Lab Services Contributor": "/providers/Microsoft.Authorization/roleDefinitions/f69b8690-cc87-41d6-b77a-a4bc3c0a966f", - "Lab Services Reader": "/providers/Microsoft.Authorization/roleDefinitions/2a5c394f-5eb7-4d4f-9c8e-e8eae39faebc", - "Load Test Contributor": "/providers/Microsoft.Authorization/roleDefinitions/749a398d-560b-491b-bb21-08924219302e", - "Load Test Owner": "/providers/Microsoft.Authorization/roleDefinitions/45bb0b16-2f0c-4e78-afaa-a07599b003f6", - "Load Test Reader": "/providers/Microsoft.Authorization/roleDefinitions/3ae3fb29-0000-4ccd-bf80-542e7b26e081", - "LocalNGFirewallAdministrator role": "/providers/Microsoft.Authorization/roleDefinitions/a8835c7d-b5cb-47fa-b6f0-65ea10ce07a2", - "LocalRulestacksAdministrator role": "/providers/Microsoft.Authorization/roleDefinitions/bfc3b73d-c6ff-45eb-9a5f-40298295bf20", - "Log Analytics Contributor": "/providers/Microsoft.Authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293", - "Log Analytics Reader": "/providers/Microsoft.Authorization/roleDefinitions/73c42c96-874c-492b-b04d-ab87d138a893", - "Logic App Contributor": "/providers/Microsoft.Authorization/roleDefinitions/87a39d53-fc1b-424a-814c-f7e04687dc9e", - "Logic App Operator": "/providers/Microsoft.Authorization/roleDefinitions/515c2055-d9d4-4321-b1b9-bd0c9a0f79fe", - "Managed Application Contributor Role": "/providers/Microsoft.Authorization/roleDefinitions/641177b8-a67a-45b9-a033-47bc880bb21e", - "Managed Application Operator Role": "/providers/Microsoft.Authorization/roleDefinitions/c7393b34-138c-406f-901b-d8cf2b17e6ae", - "Managed Applications Reader": "/providers/Microsoft.Authorization/roleDefinitions/b9331d33-8a36-4f8c-b097-4f54124fdb44", - "Managed HSM contributor": "/providers/Microsoft.Authorization/roleDefinitions/18500a29-7fe2-46b2-a342-b16a415e101d", - "Managed Identity Contributor": "/providers/Microsoft.Authorization/roleDefinitions/e40ec5ca-96e0-45a2-b4ff-59039f2c2b59", - "Managed Identity Operator": "/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830", - "Managed Services Registration assignment Delete Role": "/providers/Microsoft.Authorization/roleDefinitions/91c1777a-f3dc-4fae-b103-61d183457e46", - "Management Group Contributor": "/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c", - "Management Group Reader": "/providers/Microsoft.Authorization/roleDefinitions/ac63b705-f282-497d-ac71-919bf39d939d", - "Media Services Account Administrator": "/providers/Microsoft.Authorization/roleDefinitions/054126f8-9a2b-4f1c-a9ad-eca461f08466", - "Media Services Live Events Administrator": "/providers/Microsoft.Authorization/roleDefinitions/532bc159-b25e-42c0-969e-a1d439f60d77", - "Media Services Media Operator": "/providers/Microsoft.Authorization/roleDefinitions/e4395492-1534-4db2-bedf-88c14621589c", - "Media Services Policy Administrator": "/providers/Microsoft.Authorization/roleDefinitions/c4bba371-dacd-4a26-b320-7250bca963ae", - "Media Services Streaming Endpoints Administrator": "/providers/Microsoft.Authorization/roleDefinitions/99dba123-b5fe-44d5-874c-ced7199a5804", - "Microsoft Sentinel Automation Contributor": "/providers/Microsoft.Authorization/roleDefinitions/f4c81013-99ee-4d62-a7ee-b3f1f648599a", - "Microsoft Sentinel Contributor": "/providers/Microsoft.Authorization/roleDefinitions/ab8e14d6-4a74-4a29-9ba8-549422addade", - "Microsoft Sentinel Playbook Operator": "/providers/Microsoft.Authorization/roleDefinitions/51d6186e-6489-4900-b93f-92e23144cca5", - "Microsoft Sentinel Reader": "/providers/Microsoft.Authorization/roleDefinitions/8d289c81-5878-46d4-8554-54e1e3d8b5cb", - "Microsoft Sentinel Responder": "/providers/Microsoft.Authorization/roleDefinitions/3e150937-b8fe-4cfb-8069-0eaf05ecd056", - "Microsoft.Kubernetes connected cluster role": "/providers/Microsoft.Authorization/roleDefinitions/5548b2cf-c94c-4228-90ba-30851930a12f", - "Monitoring Contributor": "/providers/Microsoft.Authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa", - "Monitoring Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/b0d8363b-8ddd-447d-831f-62ca05bff136", - "Monitoring Metrics Publisher": "/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb", - "Monitoring Reader": "/providers/Microsoft.Authorization/roleDefinitions/43d0d8ad-25c7-4714-9337-8ba259a9fe05", - "MySQL Backup And Export Operator": "/providers/Microsoft.Authorization/roleDefinitions/d18ad5f3-1baf-4119-b49b-d944edb1f9d0", - "Network Contributor": "/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7", - "New Relic APM Account Contributor": "/providers/Microsoft.Authorization/roleDefinitions/5d28c62d-5b37-4476-8438-e587778df237", - "Object Anchors Account Owner": "/providers/Microsoft.Authorization/roleDefinitions/ca0835dd-bacc-42dd-8ed2-ed5e7230d15b", - "Object Anchors Account Reader": "/providers/Microsoft.Authorization/roleDefinitions/4a167cdf-cb95-4554-9203-2347fe489bd9", - "Object Understanding Account Owner": "/providers/Microsoft.Authorization/roleDefinitions/4dd61c23-6743-42fe-a388-d8bdd41cb745", - "Object Understanding Account Reader": "/providers/Microsoft.Authorization/roleDefinitions/d18777c0-1514-4662-8490-608db7d334b6", - "Owner": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635", - "PlayFab Contributor": "/providers/Microsoft.Authorization/roleDefinitions/0c8b84dc-067c-4039-9615-fa1a4b77c726", - "PlayFab Reader": "/providers/Microsoft.Authorization/roleDefinitions/a9a19cc5-31f4-447c-901f-56c0bb18fcaf", - "Policy Insights Data Writer (Preview)": "/providers/Microsoft.Authorization/roleDefinitions/66bb4e9e-b016-4a94-8249-4c0511c2be84", - "Private DNS Zone Contributor": "/providers/Microsoft.Authorization/roleDefinitions/b12aa53e-6015-4669-85d0-8515ebb3ae7f", - "Project Babylon Data Curator": "/providers/Microsoft.Authorization/roleDefinitions/9ef4ef9c-a049-46b0-82ab-dd8ac094c889", - "Project Babylon Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/c8d896ba-346d-4f50-bc1d-7d1c84130446", - "Project Babylon Data Source Administrator": "/providers/Microsoft.Authorization/roleDefinitions/05b7651b-dc44-475e-b74d-df3db49fae0f", - "Purview role 1 (Deprecated)": "/providers/Microsoft.Authorization/roleDefinitions/8a3c2885-9b38-4fd2-9d99-91af537c1347", - "Purview role 2 (Deprecated)": "/providers/Microsoft.Authorization/roleDefinitions/200bba9e-f0c8-430f-892b-6f0794863803", - "Purview role 3 (Deprecated)": "/providers/Microsoft.Authorization/roleDefinitions/ff100721-1b9d-43d8-af52-42b69c1272db", - "Quota Request Operator": "/providers/Microsoft.Authorization/roleDefinitions/0e5f05e5-9ab9-446b-b98d-1e2157c94125", - "Reader": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", - "Reader and Data Access": "/providers/Microsoft.Authorization/roleDefinitions/c12c1c16-33a1-487b-954d-41c89c60f349", - "Redis Cache Contributor": "/providers/Microsoft.Authorization/roleDefinitions/e0f68234-74aa-48ed-b826-c38b57376e17", - "Remote Rendering Administrator": "/providers/Microsoft.Authorization/roleDefinitions/3df8b902-2a6f-47c7-8cc5-360e9b272a7e", - "Remote Rendering Client": "/providers/Microsoft.Authorization/roleDefinitions/d39065c4-c120-43c9-ab0a-63eed9795f0a", - "Reservation Purchaser": "/providers/Microsoft.Authorization/roleDefinitions/f7b75c60-3036-4b75-91c3-6b41c27c1689", - "Resource Policy Contributor": "/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608", - "Role Based Access Control Administrator (Preview)": "/providers/Microsoft.Authorization/roleDefinitions/f58310d9-a9f6-439a-9e8d-f62e7b41a168", - "Scheduled Patching Contributor": "/providers/Microsoft.Authorization/roleDefinitions/cd08ab90-6b14-449c-ad9a-8f8e549482c6", - "Scheduler Job Collections Contributor": "/providers/Microsoft.Authorization/roleDefinitions/188a0f2f-5c9e-469b-ae67-2aa5ce574b94", - "Schema Registry Contributor (Preview)": "/providers/Microsoft.Authorization/roleDefinitions/5dffeca3-4936-4216-b2bc-10343a5abb25", - "Schema Registry Reader (Preview)": "/providers/Microsoft.Authorization/roleDefinitions/2c56ea50-c6b3-40a6-83c0-9d98858bc7d2", - "Search Index Data Contributor": "/providers/Microsoft.Authorization/roleDefinitions/8ebe5a00-799e-43f5-93ac-243d3dce84a7", - "Search Index Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/1407120a-92aa-4202-b7e9-c0e197c71c8f", - "Search Service Contributor": "/providers/Microsoft.Authorization/roleDefinitions/7ca78c08-252a-4471-8644-bb5ff32d4ba0", - "Security Admin": "/providers/Microsoft.Authorization/roleDefinitions/fb1c8493-542b-48eb-b624-b4c8fea62acd", - "Security Assessment Contributor": "/providers/Microsoft.Authorization/roleDefinitions/612c2aa1-cb24-443b-ac28-3ab7272de6f5", - "Security Detonation Chamber Publisher": "/providers/Microsoft.Authorization/roleDefinitions/352470b3-6a9c-4686-b503-35deb827e500", - "Security Detonation Chamber Reader": "/providers/Microsoft.Authorization/roleDefinitions/28241645-39f8-410b-ad48-87863e2951d5", - "Security Detonation Chamber Submission Manager": "/providers/Microsoft.Authorization/roleDefinitions/a37b566d-3efa-4beb-a2f2-698963fa42ce", - "Security Detonation Chamber Submitter": "/providers/Microsoft.Authorization/roleDefinitions/0b555d9b-b4a7-4f43-b330-627f0e5be8f0", - "Security Manager (Legacy)": "/providers/Microsoft.Authorization/roleDefinitions/e3d13bf0-dd5a-482e-ba6b-9b8433878d10", - "Security Reader": "/providers/Microsoft.Authorization/roleDefinitions/39bc4728-0917-49c7-9d2c-d95423bc2eb4", - "Services Hub Operator": "/providers/Microsoft.Authorization/roleDefinitions/82200a5b-e217-47a5-b665-6d8765ee745b", - "SignalR AccessKey Reader": "/providers/Microsoft.Authorization/roleDefinitions/04165923-9d83-45d5-8227-78b77b0a687e", - "SignalR App Server": "/providers/Microsoft.Authorization/roleDefinitions/420fcaa2-552c-430f-98ca-3264be4806c7", - "SignalR REST API Owner": "/providers/Microsoft.Authorization/roleDefinitions/fd53cd77-2268-407a-8f46-7e7863d0f521", - "SignalR REST API Reader": "/providers/Microsoft.Authorization/roleDefinitions/ddde6b66-c0df-4114-a159-3618637b3035", - "SignalR Service Owner": "/providers/Microsoft.Authorization/roleDefinitions/7e4f1700-ea5a-4f59-8f37-079cfe29dce3", - "SignalR/Web PubSub Contributor": "/providers/Microsoft.Authorization/roleDefinitions/8cf5e20a-e4b2-4e9d-b3a1-5ceb692c2761", - "Site Recovery Contributor": "/providers/Microsoft.Authorization/roleDefinitions/6670b86e-a3f7-4917-ac9b-5d6ab1be4567", - "Site Recovery Operator": "/providers/Microsoft.Authorization/roleDefinitions/494ae006-db33-4328-bf46-533a6560a3ca", - "Site Recovery Reader": "/providers/Microsoft.Authorization/roleDefinitions/dbaa88c4-0c30-4179-9fb3-46319faa6149", - "Spatial Anchors Account Contributor": "/providers/Microsoft.Authorization/roleDefinitions/8bbe83f1-e2a6-4df7-8cb4-4e04d4e5c827", - "Spatial Anchors Account Owner": "/providers/Microsoft.Authorization/roleDefinitions/70bbe301-9835-447d-afdd-19eb3167307c", - "Spatial Anchors Account Reader": "/providers/Microsoft.Authorization/roleDefinitions/5d51204f-eb77-4b1c-b86a-2ec626c49413", - "SQL DB Contributor": "/providers/Microsoft.Authorization/roleDefinitions/9b7fa17d-e63e-47b0-bb0a-15c516ac86ec", - "SQL Managed Instance Contributor": "/providers/Microsoft.Authorization/roleDefinitions/4939a1f6-9ae0-4e48-a1e0-f2cbe897382d", - "SQL Security Manager": "/providers/Microsoft.Authorization/roleDefinitions/056cd41c-7e88-42e1-933e-88ba6a50c9c3", - "SQL Server Contributor": "/providers/Microsoft.Authorization/roleDefinitions/6d8ee4ec-f05a-4a1d-8b00-a9b17e38b437", - "SqlDb Migration Role": "/providers/Microsoft.Authorization/roleDefinitions/189207d4-bb67-4208-a635-b06afe8b2c57", - "SqlMI Migration Role": "/providers/Microsoft.Authorization/roleDefinitions/1d335eef-eee1-47fe-a9e0-53214eba8872", - "SqlVM Migration Role": "/providers/Microsoft.Authorization/roleDefinitions/ae8036db-e102-405b-a1b9-bae082ea436d", - "Storage Account Backup Contributor": "/providers/Microsoft.Authorization/roleDefinitions/e5e2a7ff-d759-4cd2-bb51-3152d37e2eb1", - "Storage Account Contributor": "/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab", - "Storage Account Key Operator Service Role": "/providers/Microsoft.Authorization/roleDefinitions/81a9662b-bebf-436f-a333-f67b29880f12", - "Storage Blob Data Contributor": "/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe", - "Storage Blob Data Owner": "/providers/Microsoft.Authorization/roleDefinitions/b7e6dc6d-f1e8-4753-8033-0f276bb0955b", - "Storage Blob Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", - "Storage Blob Delegator": "/providers/Microsoft.Authorization/roleDefinitions/db58b8e5-c6ad-4a2a-8342-4190687cbf4a", - "Storage File Data SMB Share Contributor": "/providers/Microsoft.Authorization/roleDefinitions/0c867c2a-1d8c-454a-a3db-ab2ea1bdc8bb", - "Storage File Data SMB Share Elevated Contributor": "/providers/Microsoft.Authorization/roleDefinitions/a7264617-510b-434b-a828-9731dc254ea7", - "Storage File Data SMB Share Reader": "/providers/Microsoft.Authorization/roleDefinitions/aba4ae5f-2193-4029-9191-0cb91df5e314", - "Storage Queue Data Contributor": "/providers/Microsoft.Authorization/roleDefinitions/974c5e8b-45b9-4653-ba55-5f855dd0fb88", - "Storage Queue Data Message Processor": "/providers/Microsoft.Authorization/roleDefinitions/8a0f0c08-91a1-4084-bc3d-661d67233fed", - "Storage Queue Data Message Sender": "/providers/Microsoft.Authorization/roleDefinitions/c6a89b2d-59bc-44d0-9896-0f6e12d7b80a", - "Storage Queue Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/19e7f393-937e-4f77-808e-94535e297925", - "Storage Table Data Contributor": "/providers/Microsoft.Authorization/roleDefinitions/0a9a7e1f-b9d0-4cc4-a60d-0319b160aaa3", - "Storage Table Data Reader": "/providers/Microsoft.Authorization/roleDefinitions/76199698-9eea-4c19-bc75-cec21354c6b6", - "Stream Analytics Query Tester": "/providers/Microsoft.Authorization/roleDefinitions/1ec5b3c1-b17e-4e25-8312-2acb3c3c5abf", - "Support Request Contributor": "/providers/Microsoft.Authorization/roleDefinitions/cfd33db0-3dd1-45e3-aa9d-cdbdf3b6f24e", - "Tag Contributor": "/providers/Microsoft.Authorization/roleDefinitions/4a9ae827-6dc8-4573-8ac7-8239d42aa03f", - "Template Spec Contributor": "/providers/Microsoft.Authorization/roleDefinitions/1c9b6475-caf0-4164-b5a1-2142a7116f4b", - "Template Spec Reader": "/providers/Microsoft.Authorization/roleDefinitions/392ae280-861d-42bd-9ea5-08ee6d83b80e", - "Test Base Reader": "/providers/Microsoft.Authorization/roleDefinitions/15e0f5a1-3450-4248-8e25-e2afe88a9e85", - "Traffic Manager Contributor": "/providers/Microsoft.Authorization/roleDefinitions/a4b10055-b0c7-44c2-b00f-c7b5b3550cf7", - "User Access Administrator": "/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", - "Video Indexer Restricted Viewer": "/providers/Microsoft.Authorization/roleDefinitions/a2c4a527-7dc0-4ee3-897b-403ade70fafb", - "Virtual Machine Administrator Login": "/providers/Microsoft.Authorization/roleDefinitions/1c0163c0-47e6-4577-8991-ea5c82e286e4", - "Virtual Machine Contributor": "/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c", - "Virtual Machine Local User Login": "/providers/Microsoft.Authorization/roleDefinitions/602da2ba-a5c2-41da-b01d-5360126ab525", - "Virtual Machine User Login": "/providers/Microsoft.Authorization/roleDefinitions/fb879df8-f326-4884-b1cf-06f3ad86be52", - "VM Scanner Operator": "/providers/Microsoft.Authorization/roleDefinitions/d24ecba3-c1f4-40fa-a7bb-4588a071e8fd", - "Web Plan Contributor": "/providers/Microsoft.Authorization/roleDefinitions/2cc479cb-7b4d-49a8-b449-8c00fd0f0a4b", - "Web PubSub Service Owner (Preview)": "/providers/Microsoft.Authorization/roleDefinitions/12cf5a90-567b-43ae-8102-96cf46c7d9b4", - "Web PubSub Service Reader (Preview)": "/providers/Microsoft.Authorization/roleDefinitions/bfb1c7d2-fb1a-466b-b2ba-aee63b92deaf", - "Website Contributor": "/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772", - "Windows Admin Center Administrator Login": "/providers/Microsoft.Authorization/roleDefinitions/a6333a3e-0164-44c3-b281-7a577aff287f", - "Workbook Contributor": "/providers/Microsoft.Authorization/roleDefinitions/e8ddcd69-c73f-4f9f-9844-4100522f16ad", - "Workbook Reader": "/providers/Microsoft.Authorization/roleDefinitions/b279062a-9be3-42a0-92ae-8b3cf002ec4d", - "WorkloadBuilder Migration Agent Role": "/providers/Microsoft.Authorization/roleDefinitions/d17ce0a2-0697-43bc-aac5-9113337ab61c" - }, - "roleDefinitionIdVar": "[if(contains(variables('builtInRoleNames'), parameters('roleDefinitionIdOrName')), variables('builtInRoleNames')[parameters('roleDefinitionIdOrName')], parameters('roleDefinitionIdOrName'))]" - }, - "resources": [ - { - "condition": "[parameters('enableDefaultTelemetry')]", - "type": "Microsoft.Resources/deployments", - "apiVersion": "2021-04-01", - "name": "[format('pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-{0}', uniqueString(deployment().name))]", - "properties": { - "mode": "Incremental", + "value": "[parameters('roleAssignments')[copyIndex()].roleDefinitionIdOrName]" + }, + "condition": "[if(contains(parameters('roleAssignments')[copyIndex()], 'condition'), createObject('value', parameters('roleAssignments')[copyIndex()].condition), createObject('value', ''))]", + "delegatedManagedIdentityResourceId": "[if(contains(parameters('roleAssignments')[copyIndex()], 'delegatedManagedIdentityResourceId'), createObject('value', parameters('roleAssignments')[copyIndex()].delegatedManagedIdentityResourceId), createObject('value', ''))]", + "resourceId": { + "value": "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name'))]" + } + }, "template": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", - "resources": [] + "metadata": { + "_generator": { + "name": "bicep", + "version": "0.17.1.54307", + "templateHash": "8490200634198428200" + } + }, + "parameters": { + "principalIds": { + "type": "array", + "metadata": { + "description": "Required. The IDs of the principals to assign the role to." + } + }, + "roleDefinitionIdOrName": { + "type": "string", + "metadata": { + "description": "Required. The name of the role to assign. If it cannot be found you can specify the role definition ID instead." + } + }, + "resourceId": { + "type": "string", + "metadata": { + "description": "Required. The resource ID of the resource to apply the role assignment to." + } + }, + "principalType": { + "type": "string", + "defaultValue": "", + "allowedValues": [ + "ServicePrincipal", + "Group", + "User", + "ForeignGroup", + "Device", + "" + ], + "metadata": { + "description": "Optional. The principal type of the assigned principal ID." + } + }, + "description": { + "type": "string", + "defaultValue": "", + "metadata": { + "description": "Optional. The description of the role assignment." + } + }, + "condition": { + "type": "string", + "defaultValue": "", + "metadata": { + "description": "Optional. The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase \"foo_storage_container\"." + } + }, + "conditionVersion": { + "type": "string", + "defaultValue": "2.0", + "allowedValues": [ + "2.0" + ], + "metadata": { + "description": "Optional. Version of the condition." + } + }, + "delegatedManagedIdentityResourceId": { + "type": "string", + "defaultValue": "", + "metadata": { + "description": "Optional. Id of the delegated managed identity resource." + } + } + }, + "variables": { + "builtInRoleNames": { + "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", + "Log Analytics Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '92aaf0da-9dab-42b6-94a3-d43ce8d16293')]", + "Log Analytics Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '73c42c96-874c-492b-b04d-ab87d138a893')]", + "Managed Application Contributor Role": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '641177b8-a67a-45b9-a033-47bc880bb21e')]", + "Managed Application Operator Role": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'c7393b34-138c-406f-901b-d8cf2b17e6ae')]", + "Managed Applications Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b9331d33-8a36-4f8c-b097-4f54124fdb44')]", + "Managed Identity Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'e40ec5ca-96e0-45a2-b4ff-59039f2c2b59')]", + "Managed Identity Operator": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'f1a07417-d97a-45cb-824c-7a7467783830')]", + "Monitoring Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '749f88d5-cbae-40b8-bcfc-e573ddc772fa')]", + "Monitoring Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '43d0d8ad-25c7-4714-9337-8ba259a9fe05')]", + "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]", + "Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]", + "Resource Policy Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '36243c78-bf99-498c-9df9-86d9f8d28608')]", + "Role Based Access Control Administrator (Preview)": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'f58310d9-a9f6-439a-9e8d-f62e7b41a168')]", + "User Access Administrator": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9')]" + } + }, + "resources": [ + { + "copy": { + "name": "roleAssignment", + "count": "[length(parameters('principalIds'))]" + }, + "type": "Microsoft.Authorization/roleAssignments", + "apiVersion": "2022-04-01", + "scope": "[format('Microsoft.ManagedIdentity/userAssignedIdentities/{0}', last(split(parameters('resourceId'), '/')))]", + "name": "[guid(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', last(split(parameters('resourceId'), '/'))), parameters('principalIds')[copyIndex()], parameters('roleDefinitionIdOrName'))]", + "properties": { + "description": "[parameters('description')]", + "roleDefinitionId": "[if(contains(variables('builtInRoleNames'), parameters('roleDefinitionIdOrName')), variables('builtInRoleNames')[parameters('roleDefinitionIdOrName')], parameters('roleDefinitionIdOrName'))]", + "principalId": "[parameters('principalIds')[copyIndex()]]", + "principalType": "[if(not(empty(parameters('principalType'))), parameters('principalType'), null())]", + "condition": "[if(not(empty(parameters('condition'))), parameters('condition'), null())]", + "conditionVersion": "[if(and(not(empty(parameters('conditionVersion'))), not(empty(parameters('condition')))), parameters('conditionVersion'), null())]", + "delegatedManagedIdentityResourceId": "[if(not(empty(parameters('delegatedManagedIdentityResourceId'))), parameters('delegatedManagedIdentityResourceId'), null())]" + } + } + ] } - } - }, - { - "type": "Microsoft.Authorization/roleAssignments", - "apiVersion": "2022-04-01", - "name": "[guid(parameters('subscriptionId'), parameters('resourceGroupName'), variables('roleDefinitionIdVar'), parameters('principalId'))]", - "properties": { - "roleDefinitionId": "[variables('roleDefinitionIdVar')]", - "principalId": "[parameters('principalId')]", - "description": "[if(not(empty(parameters('description'))), parameters('description'), null())]", - "principalType": "[if(not(empty(parameters('principalType'))), parameters('principalType'), null())]", - "delegatedManagedIdentityResourceId": "[if(not(empty(parameters('delegatedManagedIdentityResourceId'))), parameters('delegatedManagedIdentityResourceId'), null())]", - "conditionVersion": "[if(and(not(empty(parameters('conditionVersion'))), not(empty(parameters('condition')))), parameters('conditionVersion'), null())]", - "condition": "[if(not(empty(parameters('condition'))), parameters('condition'), null())]" - } + }, + "dependsOn": [ + "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name'))]" + ] } ], "outputs": { "name": { "type": "string", "metadata": { - "description": "The GUID of the Role Assignment." + "description": "The name of the user assigned identity." }, - "value": "[guid(parameters('subscriptionId'), parameters('resourceGroupName'), variables('roleDefinitionIdVar'), parameters('principalId'))]" + "value": "[parameters('name')]" }, "resourceId": { "type": "string", "metadata": { - "description": "The resource ID of the Role Assignment." + "description": "The resource ID of the user assigned identity." }, - "value": "[resourceId('Microsoft.Authorization/roleAssignments', guid(parameters('subscriptionId'), parameters('resourceGroupName'), variables('roleDefinitionIdVar'), parameters('principalId')))]" + "value": "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name'))]" + }, + "principalId": { + "type": "string", + "metadata": { + "description": "The principal ID of the user assigned identity." + }, + "value": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name')), '2018-11-30').principalId]" + }, + "clientId": { + "type": "string", + "metadata": { + "description": "The resource ID of the user assigned identity" + }, + "value": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name')), '2018-11-30').clientId]" }, "resourceGroupName": { "type": "string", "metadata": { - "description": "The name of the resource group the role assignment was applied at." + "description": "The resource group the user assigned identity was deployed into." }, "value": "[resourceGroup().name]" }, - "scope": { + "location": { "type": "string", "metadata": { - "description": "The scope this Role Assignment applies to." + "description": "The location the resource was deployed into." }, - "value": "[resourceGroup().id]" + "value": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('name')), '2018-11-30', 'full').location]" } } } @@ -16471,13 +15552,13 @@ }, { "copy": { - "name": "scalingPlanRoleAssignCompute", + "name": "startVMonConnectRoleAssignCompute", "count": "[length(variables('computeAndServiceObjectsRgs'))]" }, - "condition": "[parameters('deployScalingPlan')]", + "condition": "[and(parameters('enableStartVmOnConnect'), not(parameters('deployScalingPlan')))]", "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('ScalingPlan-RolAssign-{0}-{1}', variables('computeAndServiceObjectsRgs')[copyIndex()].name, parameters('time'))]", + "name": "[format('StartOnCon-RolAssign-{0}-{1}', variables('computeAndServiceObjectsRgs')[copyIndex()].name, parameters('time'))]", "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", "resourceGroup": "[format('{0}', variables('computeAndServiceObjectsRgs')[copyIndex()].rgName)]", "properties": { @@ -16487,7 +15568,7 @@ "mode": "Incremental", "parameters": { "roleDefinitionIdOrName": { - "value": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/{1}', parameters('subscriptionId'), variables('varDesktopVirtualizationPowerOnOffContributorRole').id)]" + "value": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/{1}', parameters('subscriptionId'), variables('varDesktopVirtualizationPowerOnContributorRole').id)]" }, "principalId": { "value": "[parameters('avdEnterpriseObjectId')]" @@ -17051,15 +16132,15 @@ }, { "copy": { - "name": "storageContributorRoleAssign", - "count": "[length(variables('storageRoleAssignments'))]" + "name": "scalingPlanRoleAssignCompute", + "count": "[length(variables('computeAndServiceObjectsRgs'))]" }, - "condition": "[parameters('createStorageDeployment')]", + "condition": "[parameters('deployScalingPlan')]", "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('Stora-RolAssign-{0}-{1}', variables('storageRoleAssignments')[copyIndex()].acronym, parameters('time'))]", + "name": "[format('ScalingPlan-RolAssign-{0}-{1}', variables('computeAndServiceObjectsRgs')[copyIndex()].name, parameters('time'))]", "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', parameters('storageObjectsRgName'))]", + "resourceGroup": "[format('{0}', variables('computeAndServiceObjectsRgs')[copyIndex()].rgName)]", "properties": { "expressionEvaluationOptions": { "scope": "inner" @@ -17067,9 +16148,11 @@ "mode": "Incremental", "parameters": { "roleDefinitionIdOrName": { - "value": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/{1}', parameters('subscriptionId'), variables('storageRoleAssignments')[copyIndex()].id)]" + "value": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/{1}', parameters('subscriptionId'), variables('varDesktopVirtualizationPowerOnOffContributorRole').id)]" }, - "principalId": "[if(parameters('createStorageDeployment'), createObject('value', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-Storage-{0}', parameters('time'))), '2022-09-01').outputs.principalId.value), createObject('value', ''))]" + "principalId": { + "value": "[parameters('avdEnterpriseObjectId')]" + } }, "template": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", @@ -17625,20 +16708,17 @@ } } } - }, - "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-Storage-{0}', parameters('time')))]" - ] + } }, { "copy": { - "name": "storageSmbShareContributorRoleAssign", - "count": "[length(parameters('appGroupIdentitiesIds'))]" + "name": "storageContributorRoleAssign", + "count": "[length(variables('storageRoleAssignments'))]" }, - "condition": "[and(and(parameters('createStorageDeployment'), equals(parameters('identityServiceProvider'), 'AAD')), not(empty(parameters('appGroupIdentitiesIds'))))]", + "condition": "[parameters('createStorageDeployment')]", "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('Stora-SmbContri-RolAssign-{0}-{1}', take(format('{0}', parameters('appGroupIdentitiesIds')[copyIndex()]), 6), parameters('time'))]", + "name": "[format('Stora-RolAssign-{0}-{1}', variables('storageRoleAssignments')[copyIndex()].acronym, parameters('time'))]", "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", "resourceGroup": "[format('{0}', parameters('storageObjectsRgName'))]", "properties": { @@ -17648,11 +16728,9 @@ "mode": "Incremental", "parameters": { "roleDefinitionIdOrName": { - "value": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/{1}', parameters('subscriptionId'), variables('varStorageSmbShareContributorRole').id)]" + "value": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/{1}', parameters('subscriptionId'), variables('storageRoleAssignments')[copyIndex()].id)]" }, - "principalId": { - "value": "[parameters('appGroupIdentitiesIds')[copyIndex()]]" - } + "principalId": "[if(parameters('createStorageDeployment'), createObject('value', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-Storage-{0}', parameters('time'))), '2022-09-01').outputs.principalId.value), createObject('value', ''))]" }, "template": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", @@ -18208,19 +17286,22 @@ } } } - } + }, + "dependsOn": [ + "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-Storage-{0}', parameters('time')))]" + ] }, { "copy": { - "name": "aadIdentityLoginRoleAssign", + "name": "storageSmbShareContributorRoleAssign", "count": "[length(parameters('appGroupIdentitiesIds'))]" }, - "condition": "[and(equals(parameters('identityServiceProvider'), 'AAD'), not(empty(parameters('appGroupIdentitiesIds'))))]", + "condition": "[and(and(parameters('createStorageDeployment'), equals(parameters('identityServiceProvider'), 'AAD')), not(empty(parameters('appGroupIdentitiesIds'))))]", "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('VM-Login-Comp-{0}-{1}', take(format('{0}', parameters('appGroupIdentitiesIds')[copyIndex()]), 6), parameters('time'))]", + "name": "[format('Stora-SmbContri-RolAssign-{0}-{1}', take(format('{0}', parameters('appGroupIdentitiesIds')[copyIndex()]), 6), parameters('time'))]", "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', parameters('computeObjectsRgName'))]", + "resourceGroup": "[format('{0}', parameters('storageObjectsRgName'))]", "properties": { "expressionEvaluationOptions": { "scope": "inner" @@ -18228,7 +17309,7 @@ "mode": "Incremental", "parameters": { "roleDefinitionIdOrName": { - "value": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/{1}', parameters('subscriptionId'), variables('varVirtualMachineUserLoginRole').id)]" + "value": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/{1}', parameters('subscriptionId'), variables('varStorageSmbShareContributorRole').id)]" }, "principalId": { "value": "[parameters('appGroupIdentitiesIds')[copyIndex()]]" @@ -18792,15 +17873,15 @@ }, { "copy": { - "name": "aadIdentityLoginAccessServiceObjects", + "name": "aadIdentityLoginRoleAssign", "count": "[length(parameters('appGroupIdentitiesIds'))]" }, "condition": "[and(equals(parameters('identityServiceProvider'), 'AAD'), not(empty(parameters('appGroupIdentitiesIds'))))]", "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('VM-Login-Serv-{0}-{1}', take(format('{0}', parameters('appGroupIdentitiesIds')[copyIndex()]), 6), parameters('time'))]", + "name": "[format('VM-Login-Comp-{0}-{1}', take(format('{0}', parameters('appGroupIdentitiesIds')[copyIndex()]), 6), parameters('time'))]", "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', parameters('serviceObjectsRgName'))]", + "resourceGroup": "[format('{0}', parameters('computeObjectsRgName'))]", "properties": { "expressionEvaluationOptions": { "scope": "inner" @@ -19371,12 +18452,16 @@ } }, { - "condition": "[or(parameters('createStorageDeployment'), parameters('createSessionHosts'))]", + "copy": { + "name": "aadIdentityLoginAccessServiceObjects", + "count": "[length(parameters('appGroupIdentitiesIds'))]" + }, + "condition": "[and(equals(parameters('identityServiceProvider'), 'AAD'), not(empty(parameters('appGroupIdentitiesIds'))))]", "type": "Microsoft.Resources/deployments", "apiVersion": "2022-09-01", - "name": "[format('Storage-ReaderRoleAssign-{0}', parameters('time'))]", + "name": "[format('VM-Login-Serv-{0}-{1}', take(format('{0}', parameters('appGroupIdentitiesIds')[copyIndex()]), 6), parameters('time'))]", "subscriptionId": "[format('{0}', parameters('subscriptionId'))]", - "resourceGroup": "[format('{0}', parameters('computeObjectsRgName'))]", + "resourceGroup": "[format('{0}', parameters('serviceObjectsRgName'))]", "properties": { "expressionEvaluationOptions": { "scope": "inner" @@ -19384,9 +18469,11 @@ "mode": "Incremental", "parameters": { "roleDefinitionIdOrName": { - "value": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/{1}', parameters('subscriptionId'), variables('varContributorRole').id)]" + "value": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/{1}', parameters('subscriptionId'), variables('varVirtualMachineUserLoginRole').id)]" }, - "principalId": "[if(or(parameters('createStorageDeployment'), parameters('createSessionHosts')), createObject('value', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('serviceObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-CleanUp-{0}', parameters('time'))), '2022-09-01').outputs.principalId.value), createObject('value', ''))]" + "principalId": { + "value": "[parameters('appGroupIdentitiesIds')[copyIndex()]]" + } }, "template": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", @@ -19942,11 +19029,7 @@ } } } - }, - "dependsOn": [ - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('serviceObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-CleanUp-{0}', parameters('time')))]", - "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-Storage-{0}', parameters('time')))]" - ] + } } ], "outputs": { @@ -19957,14 +19040,6 @@ "managedIdentityStorageClientId": { "type": "string", "value": "[if(parameters('createStorageDeployment'), reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('storageObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-Storage-{0}', parameters('time'))), '2022-09-01').outputs.clientId.value, '')]" - }, - "managedIdentityCleanUpResourceId": { - "type": "string", - "value": "[if(or(parameters('createStorageDeployment'), parameters('createSessionHosts')), reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('serviceObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-CleanUp-{0}', parameters('time'))), '2022-09-01').outputs.resourceId.value, '')]" - }, - "managedIdentityCleanUpClientId": { - "type": "string", - "value": "[if(or(parameters('createStorageDeployment'), parameters('createSessionHosts')), reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', format('{0}', parameters('subscriptionId')), format('{0}', parameters('serviceObjectsRgName'))), 'Microsoft.Resources/deployments', format('MI-CleanUp-{0}', parameters('time'))), '2022-09-01').outputs.clientId.value, '')]" } } } diff --git a/workload/bicep/brownfield/autoIncreasePremiumFileShareQuota/deploy.bicep b/workload/bicep/brownfield/autoIncreasePremiumFileShareQuota/deploy.bicep index 03e2ca1da..353893a1e 100644 --- a/workload/bicep/brownfield/autoIncreasePremiumFileShareQuota/deploy.bicep +++ b/workload/bicep/brownfield/autoIncreasePremiumFileShareQuota/deploy.bicep @@ -242,30 +242,6 @@ module workspace '../../../../carml/1.3.0/Microsoft.OperationalInsights/workspac ] } -// // Introduce wait after log analitics workspace creation. -// module workspaceWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (enableMonitoringAlerts && empty(existingLogAnalyticsWorkspaceResourceId)) { -// scope: resourceGroup(sharedServicesSubscriptionId, varResourceGroupName) -// name: 'LA-Workspace-Wait-${time}' -// params: { -// name: 'LA-Workspace-Wait-${time}' -// location: deploymentLocation -// azPowerShellVersion: '8.3.0' -// cleanupPreference: 'Always' -// timeout: 'PT10M' -// retentionInterval: 'PT1H' -// scriptContent: ''' -// Write-Host "Start" -// Get-Date -// Start-Sleep -Seconds 60 -// Write-Host "Stop" -// Get-Date -// ''' -// } -// dependsOn: [ -// workspace -// ] -// } - // Get existing automation account module automationAccount_Existing 'modules/existingAutomationAccount.bicep' = if(!(empty(existingAutomationAccountResourceId))) { name: 'Existing-AA-${time}' diff --git a/workload/bicep/brownfield/scalingTool/deploy.bicep b/workload/bicep/brownfield/scalingTool/deploy.bicep index ce293310c..b2b2b98cf 100644 --- a/workload/bicep/brownfield/scalingTool/deploy.bicep +++ b/workload/bicep/brownfield/scalingTool/deploy.bicep @@ -226,30 +226,6 @@ module workspace '../../../../carml/1.3.0/Microsoft.OperationalInsights/workspac ] } -// // Introduce wait after log analitics workspace creation. -// module workspaceWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (enableMonitoringAlerts && empty(existingLogAnalyticsWorkspaceResourceId)) { -// scope: resourceGroup(sharedServicesSubscriptionId, varResourceGroupName) -// name: 'LA-Workspace-Wait-${time}' -// params: { -// name: 'LA-Workspace-Wait-${time}' -// location: deploymentLocation -// azPowerShellVersion: '8.3.0' -// cleanupPreference: 'Always' -// timeout: 'PT10M' -// retentionInterval: 'PT1H' -// scriptContent: ''' -// Write-Host "Start" -// Get-Date -// Start-Sleep -Seconds 60 -// Write-Host "Stop" -// Get-Date -// ''' -// } -// dependsOn: [ -// workspace -// ] -// } - // Get existing automation account module automationAccount_Existing '../autoIncreasePremiumFileShareQuota/modules/existingAutomationAccount.bicep' = if(!(empty(existingAutomationAccountResourceId))) { name: 'Existing-AA-${time}' diff --git a/workload/bicep/deploy-baseline.bicep b/workload/bicep/deploy-baseline.bicep index 7ef8ba16b..fc29e4ea1 100644 --- a/workload/bicep/deploy-baseline.bicep +++ b/workload/bicep/deploy-baseline.bicep @@ -91,8 +91,8 @@ param avdHostPoolType string = 'Pooled' @sys.description('Optional. The type of preferred application group type, default to Desktop Application Group.') @allowed([ - 'Desktop' - 'RemoteApp' + 'Desktop' + 'RemoteApp' ]) param hostPoolPreferredAppGroupType string = 'Desktop' @@ -487,7 +487,7 @@ param enableTelemetry bool = true // Resource naming var varDeploymentPrefixLowercase = toLower(deploymentPrefix) var varDeploymentEnvironmentLowercase = toLower(deploymentEnvironment) -var varDeploymentEnvironmentComputeStorage = (deploymentEnvironment == 'Dev') ? 'd': ((deploymentEnvironment == 'Test') ? 't' : ((deploymentEnvironment == 'Prod') ? 'p' : '')) +var varDeploymentEnvironmentComputeStorage = (deploymentEnvironment == 'Dev') ? 'd' : ((deploymentEnvironment == 'Test') ? 't' : ((deploymentEnvironment == 'Prod') ? 'p' : '')) var varNamingUniqueStringThreeChar = take('${uniqueString(avdWorkloadSubsId, varDeploymentPrefixLowercase, time)}', 3) var varNamingUniqueStringTwoChar = take('${uniqueString(avdWorkloadSubsId, varDeploymentPrefixLowercase, time)}', 2) var varSessionHostLocationAcronym = varLocations[varSessionHostLocationLowercase].acronym @@ -508,7 +508,7 @@ var varStorageObjectsRgName = avdUseCustomNaming ? avdStorageObjectsRgCustomName var varMonitoringRgName = avdUseCustomNaming ? avdMonitoringRgCustomName : 'rg-avd-${varDeploymentEnvironmentLowercase}-${varManagementPlaneLocationAcronym}-monitoring' // max length limit 90 characters var varVnetName = avdUseCustomNaming ? avdVnetworkCustomName : 'vnet-${varComputeStorageResourcesNamingStandard}-001' var varHubVnetName = (createAvdVnet && !empty(existingHubVnetResourceId)) ? split(existingHubVnetResourceId, '/')[8] : '' -var varVnetPeeringName = 'peer-${varHubVnetName}' +var varVnetPeeringName = 'peer-${varHubVnetName}' var varRemoteVnetPeeringName = 'peer-${varVnetName}' var varVnetAvdSubnetName = avdUseCustomNaming ? avdVnetworkSubnetCustomName : 'snet-avd-${varComputeStorageResourcesNamingStandard}-001' var varVnetPrivateEndpointSubnetName = avdUseCustomNaming ? privateEndpointVnetworkSubnetCustomName : 'snet-pe-${varComputeStorageResourcesNamingStandard}-001' @@ -533,14 +533,11 @@ var varWrklKvPrivateEndpointName = 'pe-${varWrklKvName}-vault' var varSessionHostNamePrefix = avdUseCustomNaming ? avdSessionHostCustomNamePrefix : 'vm${varDeploymentPrefixLowercase}${varDeploymentEnvironmentComputeStorage}${varSessionHostLocationAcronym}' var varAvsetNamePrefix = avdUseCustomNaming ? '${avsetCustomNamePrefix}-${varComputeStorageResourcesNamingStandard}' : 'avail-${varComputeStorageResourcesNamingStandard}' var varStorageManagedIdentityName = 'id-storage-${varComputeStorageResourcesNamingStandard}-001' -var varCleanUpManagedIdentityName = 'id-cleanup-${varComputeStorageResourcesNamingStandard}-001' var varFslogixFileShareName = avdUseCustomNaming ? fslogixFileShareCustomName : 'fslogix-pc-${varDeploymentPrefixLowercase}-${varDeploymentEnvironmentLowercase}-${varSessionHostLocationAcronym}-001' var varMsixFileShareName = avdUseCustomNaming ? msixFileShareCustomName : 'msix-pc-${varDeploymentPrefixLowercase}-${varDeploymentEnvironmentLowercase}-${varSessionHostLocationAcronym}-001' var varFslogixStorageName = avdUseCustomNaming ? '${storageAccountPrefixCustomName}fsl${varDeploymentPrefixLowercase}${varDeploymentEnvironmentComputeStorage}${varNamingUniqueStringThreeChar}' : 'stfsl${varDeploymentPrefixLowercase}${varDeploymentEnvironmentComputeStorage}${varNamingUniqueStringThreeChar}' var varMsixStorageName = avdUseCustomNaming ? '${storageAccountPrefixCustomName}msx${varDeploymentPrefixLowercase}${varDeploymentEnvironmentComputeStorage}${varNamingUniqueStringThreeChar}' : 'stmsx${varDeploymentPrefixLowercase}${varDeploymentEnvironmentComputeStorage}${varNamingUniqueStringThreeChar}' -//var varAvdMsixStorageName = deployAvdMsixStorageAzureFiles.outputs.storageAccountName var varManagementVmName = 'vmmgmt${varDeploymentPrefixLowercase}${varDeploymentEnvironmentComputeStorage}${varSessionHostLocationAcronym}' -//var varAvdWrklStoragePrivateEndpointName = 'pe-stavd${varDeploymentPrefixLowercase}${varAvdNamingUniqueStringSixChar}-file' var varAlaWorkspaceName = avdUseCustomNaming ? avdAlaWorkspaceCustomName : 'log-avd-${varDeploymentEnvironmentLowercase}-${varManagementPlaneLocationAcronym}' //'log-avd-${varAvdComputeStorageResourcesNamingStandard}-${varAvdNamingUniqueStringSixChar}' var varZtKvName = avdUseCustomNaming ? '${ztKvPrefixCustomName}-${varComputeStorageResourcesNamingStandard}-${varNamingUniqueStringTwoChar}' : 'kv-key-${varComputeStorageResourcesNamingStandard}-${varNamingUniqueStringTwoChar}' // max length limit 24 characters var varZtKvPrivateEndpointName = 'pe-${varZtKvName}-vault' @@ -550,8 +547,6 @@ var varFslogixSharePath = '\\\\${varFslogixStorageName}.file.${environment().suf var varBaseScriptUri = 'https://raw.githubusercontent.com/Azure/avdaccelerator/main/workload/' var varFslogixScriptUri = (avdIdentityServiceProvider == 'AAD') ? '${varBaseScriptUri}scripts/Set-FSLogixRegKeysAAD.ps1' : '${varBaseScriptUri}scripts/Set-FSLogixRegKeys.ps1' var varFsLogixScript = (avdIdentityServiceProvider == 'AAD') ? './Set-FSLogixRegKeysAad.ps1' : './Set-FSLogixRegKeys.ps1' -//var varCompRgDeploCleanScript = './cleanUpRgDeployments.ps1' -//var varCompRgDeploCleanScriptUri = '${varBaseScriptUri}scripts/cleanUpRgDeployments.ps1' var varAvdAgentPackageLocation = 'https://wvdportalstorageblob.blob.${environment().suffixes.storage}/galleryartifacts/Configuration_09-08-2022.zip' var varDiskEncryptionKeyExpirationInEpoch = dateTimeToEpoch(dateTimeAdd(time, 'P${string(diskEncryptionKeyExpirationInDays)}D')) var varCreateStorageDeployment = (createAvdFslogixDeployment || createMsixDeployment == true) ? true : false @@ -821,7 +816,7 @@ var verResourceGroups = [ location: avdSessionHostLocation enableDefaultTelemetry: false tags: createResourceTags ? union(varAllComputeStorageTags, varAvdDefaultTags) : union(varAvdDefaultTags, varAllComputeStorageTags) - } + } ] // =========== // @@ -915,7 +910,7 @@ module networking './modules/networking/deploy.bicep' = if (createAvdVnet || cre existingPeSubnetResourceId: existingVnetPrivateEndpointSubnetResourceId existingAvdSubnetResourceId: existingVnetAvdSubnetResourceId createPrivateDnsZones: deployPrivateEndpointKeyvaultStorage ? createPrivateDnsZones : false - applicationSecurityGroupName: varApplicationSecurityGroupName + applicationSecurityGroupName: varApplicationSecurityGroupName computeObjectsRgName: varComputeObjectsRgName networkObjectsRgName: varNetworkObjectsRgName avdNetworksecurityGroupName: varAvdNetworksecurityGroupName @@ -998,9 +993,7 @@ module identity './modules/identity/deploy.bicep' = { storageObjectsRgName: varStorageObjectsRgName avdEnterpriseObjectId: avdEnterpriseAppObjectId deployScalingPlan: avdDeployScalingPlan - createSessionHosts: avdDeploySessionHosts storageManagedIdentityName: varStorageManagedIdentityName - cleanUpManagedIdentityName: varCleanUpManagedIdentityName enableStartVmOnConnect: avdStartVmOnConnect identityServiceProvider: avdIdentityServiceProvider createStorageDeployment: varCreateStorageDeployment @@ -1040,7 +1033,7 @@ module zeroTrust './modules/zeroTrust/deploy.bicep' = if (diskZeroTrust && avdDe baselineResourceGroups baselineStorageResourceGroup monitoringDiagnosticSettings - identity + identity ] } @@ -1270,7 +1263,7 @@ module availabilitySet './modules/avdSessionHosts/.bicep/availabilitySets.bicep' // Session hosts @batchSize(3) module sessionHosts './modules/avdSessionHosts/deploy.bicep' = [for i in range(1, varSessionHostBatchCount): if (avdDeploySessionHosts) { - name: 'SH-Batch-${i-1}-${time}' + name: 'SH-Batch-${i - 1}-${time}' params: { diskEncryptionSetResourceId: diskZeroTrust ? zeroTrust.outputs.ztDiskEncryptionSetResourceId : '' avdAgentPackageLocation: varAvdAgentPackageLocation @@ -1280,7 +1273,7 @@ module sessionHosts './modules/avdSessionHosts/deploy.bicep' = [for i in range(1 createIntuneEnrollment: createIntuneEnrollment maxAvsetMembersCount: varMaxAvsetMembersCount avsetNamePrefix: varAvsetNamePrefix - batchId: i-1 + batchId: i - 1 computeObjectsRgName: varComputeObjectsRgName count: i == varSessionHostBatchCount && varMaxSessionHostsDivisionRemainderValue > 0 ? varMaxSessionHostsDivisionRemainderValue : varMaxSessionHostsPerTemplate countIndex: i == 1 ? avdSessionHostCountIndex : (((i - 1) * varMaxSessionHostsPerTemplate) + avdSessionHostCountIndex) @@ -1332,11 +1325,11 @@ module gpuPolicies './modules/avdSessionHosts/.bicep/azurePolicyGpuExtensions.bi scope: subscription('${avdWorkloadSubsId}') name: 'GPU-VM-Extensions-${time}' params: { - computeObjectsRgName: varComputeObjectsRgName - location: avdSessionHostLocation - subscriptionId: avdWorkloadSubsId + computeObjectsRgName: varComputeObjectsRgName + location: avdSessionHostLocation + subscriptionId: avdWorkloadSubsId } dependsOn: [ sessionHosts ] - } +} diff --git a/workload/bicep/deploy-custom-image.bicep b/workload/bicep/deploy-custom-image.bicep index 280ab2a35..38bb616ad 100644 --- a/workload/bicep/deploy-custom-image.bicep +++ b/workload/bicep/deploy-custom-image.bicep @@ -772,30 +772,6 @@ module workspace '../../carml/1.3.0/Microsoft.OperationalInsights/workspaces/dep ] } -// // Introduce wait after log analitics workspace creation. -// module workspaceWait '../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (enableMonitoringAlerts && empty(existingLogAnalyticsWorkspaceResourceId)) { -// scope: resourceGroup(sharedServicesSubId, varResourceGroupName) -// name: 'LA-Workspace-Wait-${time}' -// params: { -// name: 'LA-Workspace-Wait-${time}' -// location: deploymentLocation -// azPowerShellVersion: '8.3.0' -// cleanupPreference: 'Always' -// timeout: 'PT10M' -// retentionInterval: 'PT1H' -// scriptContent: ''' -// Write-Host "Start" -// Get-Date -// Start-Sleep -Seconds 60 -// Write-Host "Stop" -// Get-Date -// ''' -// } -// dependsOn: [ -// workspace -// ] -// } - // Automation account. module automationAccount '../../carml/1.3.0/Microsoft.Automation/automationAccounts/deploy.bicep' = { scope: resourceGroup(sharedServicesSubId, varResourceGroupName) @@ -854,12 +830,9 @@ module automationAccount '../../carml/1.3.0/Microsoft.Automation/automationAccou '${userAssignedManagedIdentity.outputs.resourceId}': {} } } - // dependsOn: empty(existingLogAnalyticsWorkspaceResourceId) ? [ - // workspaceWait - // ] : [] - dependsOn: [ + dependsOn: empty(existingLogAnalyticsWorkspaceResourceId) ? [ workspace - ] + ] : [] } // Automation accounts. @@ -956,10 +929,7 @@ module scheduledQueryRules '../../carml/1.3.0/Microsoft.Insights/scheduledQueryR criterias: varAlerts[i].criterias tags: enableResourceTags ? varCommonResourceTags : {} } - // dependsOn: empty(existingLogAnalyticsWorkspaceResourceId) ? [ - // workspaceWait - // ] : [] - dependsOn: [ + dependsOn: empty(existingLogAnalyticsWorkspaceResourceId) ? [ workspace - ] + ] : [] }] diff --git a/workload/bicep/modules/avdInsightsMonitoring/deploy.bicep b/workload/bicep/modules/avdInsightsMonitoring/deploy.bicep index f0ea95398..c3bf0ce5c 100644 --- a/workload/bicep/modules/avdInsightsMonitoring/deploy.bicep +++ b/workload/bicep/modules/avdInsightsMonitoring/deploy.bicep @@ -77,30 +77,6 @@ module alaWorkspace '../../../../carml/1.3.0/Microsoft.OperationalInsights/works ] } -// Introduce Wait after log analitics workspace creation. -// module alaWorkspaceWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (deployAlaWorkspace) { -// scope: resourceGroup('${subscriptionId}', '${monitoringRgName}') -// name: 'LA-Workspace-Wait-${time}' -// params: { -// name: 'LA-Workspace-Wait-${time}' -// location: location -// azPowerShellVersion: '8.3.0' -// cleanupPreference: 'Always' -// timeout: 'PT10M' -// retentionInterval: 'PT1H' -// scriptContent: ''' -// Write-Host "Start" -// Get-Date -// Start-Sleep -Seconds 120 -// Write-Host "Stop" -// Get-Date -// ''' -// } -// dependsOn: [ -// alaWorkspace -// ] -// } - // Policy definitions. module deployDiagnosticsAzurePolicyForAvd './.bicep/azurePolicyMonitoring.bicep' = if (deployCustomPolicyMonitoring) { scope: subscription('${subscriptionId}') @@ -115,7 +91,6 @@ module deployDiagnosticsAzurePolicyForAvd './.bicep/azurePolicyMonitoring.bicep' networkObjectsRgName: networkObjectsRgName } dependsOn: [ - // alaWorkspaceWait alaWorkspace baselineMonitoringResourceGroup ] @@ -133,7 +108,6 @@ module deployMonitoringEventsPerformanceSettings './.bicep/monitoringEventsPerfo tags: tags } dependsOn: [ - // alaWorkspaceWait alaWorkspace ] } diff --git a/workload/bicep/modules/avdSessionHosts/.bicep/cleanUpRgDeployments.bicep b/workload/bicep/modules/avdSessionHosts/.bicep/cleanUpRgDeployments.bicep deleted file mode 100644 index 87722ab3e..000000000 --- a/workload/bicep/modules/avdSessionHosts/.bicep/cleanUpRgDeployments.bicep +++ /dev/null @@ -1,41 +0,0 @@ -// ========== // -// Parameters // -// ========== // - -@sys.description('Extension deployment name.') -param name string - -@sys.description('Location where to deploy compute services.') -param location string - -@sys.description('URI for clean up configuration script.') -param baseScriptUri string - -@sys.description('Clean up script file name.') -param file string - -@sys.description('Configuration arguments for clean up script.') -param cleanUpScriptArguments string - -// =========== // -// Deployments // -// =========== // - -// Clean up RG deployments. -resource fslogixConfigure 'Microsoft.Compute/virtualMachines/extensions@2022-08-01' = { - name: '${name}/DeploymentCleanUp' - location: location - properties: { - publisher: 'Microsoft.Compute' - type: 'CustomScriptExtension' - typeHandlerVersion: '1.10' - autoUpgradeMinorVersion: true - settings: {} - protectedSettings: { - fileUris: array(baseScriptUri) - commandToExecute: 'powershell -ExecutionPolicy Unrestricted -File ${file} ${cleanUpScriptArguments}' - } - } -} - - diff --git a/workload/bicep/modules/avdSessionHosts/deploy.bicep b/workload/bicep/modules/avdSessionHosts/deploy.bicep index 78ed00751..d789144ff 100644 --- a/workload/bicep/modules/avdSessionHosts/deploy.bicep +++ b/workload/bicep/modules/avdSessionHosts/deploy.bicep @@ -142,7 +142,7 @@ param time string = utcNow() var varAllAvailabilityZones = pickZones('Microsoft.Compute', 'virtualMachines', location, 3) var varNicDiagnosticMetricsToEnable = [ 'AllMetrics' - ] +] var varManagedDisk = empty(diskEncryptionSetResourceId) ? { storageAccountType: diskType } : { @@ -156,272 +156,196 @@ var varManagedDisk = empty(diskEncryptionSetResourceId) ? { // =========== // // Call on the hotspool resource hostPool 'Microsoft.DesktopVirtualization/hostPools@2019-12-10-preview' existing = { - name: hostPoolName - scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') + name: hostPoolName + scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') } // call on the keyvault resource keyVault 'Microsoft.KeyVault/vaults@2021-06-01-preview' existing = if (identityServiceProvider != 'AAD') { - name: wrklKvName - scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') + name: wrklKvName + scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') } // Session hosts module sessionHosts '../../../../carml/1.3.0/Microsoft.Compute/virtualMachines/deploy.bicep' = [for i in range(1, count): { - scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') - name: 'SH-${batchId}-${i-1}-${time}' - params: { - name: '${namePrefix}${padLeft((i + countIndex), 4, '0')}' - location: location - timeZone: timeZone - userAssignedIdentities: createAvdFslogixDeployment ? { - '${storageManagedIdentityResourceId}': {} - } : {} - systemAssignedIdentity: (identityServiceProvider == 'AAD') ? true: false - availabilityZone: useAvailabilityZones ? take(skip(varAllAvailabilityZones, i % length(varAllAvailabilityZones)), 1) : [] - encryptionAtHost: encryptionAtHost - availabilitySetResourceId: useAvailabilityZones ? '' : '/subscriptions/${subscriptionId}/resourceGroups/${computeObjectsRgName}/providers/Microsoft.Compute/availabilitySets/${avsetNamePrefix}-${padLeft(((1 + (i + countIndex) / maxAvsetMembersCount)), 3, '0')}' - osType: 'Windows' - licenseType: 'Windows_Client' - vmSize: size - securityType: securityType - secureBootEnabled: secureBootEnabled - vTpmEnabled: vTpmEnabled - imageReference: useSharedImage ? json('{\'id\': \'${avdImageTemplateDefinitionId}\'}') : marketPlaceGalleryWindows - osDisk: { - createOption: 'fromImage' - deleteOption: 'Delete' - diskSizeGB: 128 - managedDisk: varManagedDisk - } - adminUsername: vmLocalUserName - adminPassword: keyVault.getSecret('vmLocalUserPassword') - nicConfigurations: [ - { - nicSuffix: 'nic-01-' - deleteOption: 'Delete' - enableAcceleratedNetworking: enableAcceleratedNetworking - ipConfigurations: !empty(asgResourceId) ? [ - { - name: 'ipconfig01' - subnetResourceId: subnetId - applicationSecurityGroups: [ - { - id: asgResourceId - } - ] - } - ] : [ - { - name: 'ipconfig01' - subnetResourceId: subnetId - } - ] - } - ] - // ADDS or AADDS domain join. - extensionDomainJoinPassword: keyVault.getSecret('domainJoinUserPassword') - extensionDomainJoinConfig: { - enabled: (identityServiceProvider == 'AAD') ? false: true - settings: { - name: identityDomainName - ouPath: !empty(sessionHostOuPath) ? sessionHostOuPath : null - user: domainJoinUserName - restart: 'true' - options: '3' - } - } - // Microsoft Entra ID Join. - extensionAadJoinConfig: { - enabled: (identityServiceProvider == 'AAD') ? true: false - settings: createIntuneEnrollment ? { - mdmId: '0000000a-0000-0000-c000-000000000000' - }: {} - } - nicdiagnosticMetricsToEnable: deployMonitoring ? varNicDiagnosticMetricsToEnable : [] - diagnosticWorkspaceId: deployMonitoring ? alaWorkspaceResourceId : '' - tags: tags - } - dependsOn: [ - keyVault - ] + scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') + name: 'SH-${batchId}-${i - 1}-${time}' + params: { + name: '${namePrefix}${padLeft((i + countIndex), 4, '0')}' + location: location + timeZone: timeZone + userAssignedIdentities: createAvdFslogixDeployment ? { + '${storageManagedIdentityResourceId}': {} + } : {} + systemAssignedIdentity: (identityServiceProvider == 'AAD') ? true : false + availabilityZone: useAvailabilityZones ? take(skip(varAllAvailabilityZones, i % length(varAllAvailabilityZones)), 1) : [] + encryptionAtHost: encryptionAtHost + availabilitySetResourceId: useAvailabilityZones ? '' : '/subscriptions/${subscriptionId}/resourceGroups/${computeObjectsRgName}/providers/Microsoft.Compute/availabilitySets/${avsetNamePrefix}-${padLeft(((1 + (i + countIndex) / maxAvsetMembersCount)), 3, '0')}' + osType: 'Windows' + licenseType: 'Windows_Client' + vmSize: size + securityType: securityType + secureBootEnabled: secureBootEnabled + vTpmEnabled: vTpmEnabled + imageReference: useSharedImage ? json('{\'id\': \'${avdImageTemplateDefinitionId}\'}') : marketPlaceGalleryWindows + osDisk: { + createOption: 'fromImage' + deleteOption: 'Delete' + diskSizeGB: 128 + managedDisk: varManagedDisk + } + adminUsername: vmLocalUserName + adminPassword: keyVault.getSecret('vmLocalUserPassword') + nicConfigurations: [ + { + nicSuffix: 'nic-01-' + deleteOption: 'Delete' + enableAcceleratedNetworking: enableAcceleratedNetworking + ipConfigurations: !empty(asgResourceId) ? [ + { + name: 'ipconfig01' + subnetResourceId: subnetId + applicationSecurityGroups: [ + { + id: asgResourceId + } + ] + } + ] : [ + { + name: 'ipconfig01' + subnetResourceId: subnetId + } + ] + } + ] + // ADDS or AADDS domain join. + extensionDomainJoinPassword: keyVault.getSecret('domainJoinUserPassword') + extensionDomainJoinConfig: { + enabled: (identityServiceProvider == 'AAD') ? false : true + settings: { + name: identityDomainName + ouPath: !empty(sessionHostOuPath) ? sessionHostOuPath : null + user: domainJoinUserName + restart: 'true' + options: '3' + } + } + // Microsoft Entra ID Join. + extensionAadJoinConfig: { + enabled: (identityServiceProvider == 'AAD') ? true : false + settings: createIntuneEnrollment ? { + mdmId: '0000000a-0000-0000-c000-000000000000' + } : {} + } + nicdiagnosticMetricsToEnable: deployMonitoring ? varNicDiagnosticMetricsToEnable : [] + diagnosticWorkspaceId: deployMonitoring ? alaWorkspaceResourceId : '' + tags: tags + } + dependsOn: [ + keyVault + ] }] -// // Introduce wait for session hosts to be ready -// module sessionHostsWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { -// scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') -// name: 'SH-Wait-${batchId}-${time}' -// params: { -// name: 'SH-Wait-${batchId}-${time}' -// location: location -// azPowerShellVersion: '9.7' -// cleanupPreference: 'Always' -// timeout: 'PT10M' -// retentionInterval: 'PT1H' -// scriptContent: ''' -// Write-Host "Start" -// Get-Date -// Start-Sleep -Seconds 60 -// Write-Host "Stop" -// Get-Date -// ''' -// } -// dependsOn: [ -// sessionHosts -// ] -// } - // Add antimalware extension to session host. module sessionHostsAntimalwareExtension '../../../../carml/1.3.0/Microsoft.Compute/virtualMachines/extensions/deploy.bicep' = [for i in range(1, count): { - scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') - name: 'SH-Antimal-${batchId}-${i-1}-${time}' - params: { - location: location - virtualMachineName: '${namePrefix}${padLeft((i + countIndex), 4, '0')}' - name: 'MicrosoftAntiMalware' - publisher: 'Microsoft.Azure.Security' - type: 'IaaSAntimalware' - typeHandlerVersion: '1.3' - autoUpgradeMinorVersion: true - enableAutomaticUpgrade: false - settings: { - AntimalwareEnabled: true - RealtimeProtectionEnabled: 'true' - ScheduledScanSettings: { - isEnabled: 'true' - day: '7' // Day of the week for scheduled scan (1-Sunday, 2-Monday, ..., 7-Saturday) - time: '120' // When to perform the scheduled scan, measured in minutes from midnight (0-1440). For example: 0 = 12AM, 60 = 1AM, 120 = 2AM. - scanType: 'Quick' //Indicates whether scheduled scan setting type is set to Quick or Full (default is Quick) - } - Exclusions: createAvdFslogixDeployment ? { - Extensions: '*.vhd;*.vhdx' - Paths: '"%ProgramFiles%\\FSLogix\\Apps\\frxdrv.sys;%ProgramFiles%\\FSLogix\\Apps\\frxccd.sys;%ProgramFiles%\\FSLogix\\Apps\\frxdrvvt.sys;%TEMP%\\*.VHD;%TEMP%\\*.VHDX;%Windir%\\TEMP\\*.VHD;%Windir%\\TEMP\\*.VHDX;${fslogixSharePath}\\*\\*.VHD;${fslogixSharePath}\\*\\*.VHDX' - Processes: '%ProgramFiles%\\FSLogix\\Apps\\frxccd.exe;%ProgramFiles%\\FSLogix\\Apps\\frxccds.exe;%ProgramFiles%\\FSLogix\\Apps\\frxsvc.exe' - } : {} - } - enableDefaultTelemetry: false - } - dependsOn: [ - // sessionHostsWait - sessionHosts - ] + scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') + name: 'SH-Antimal-${batchId}-${i - 1}-${time}' + params: { + location: location + virtualMachineName: '${namePrefix}${padLeft((i + countIndex), 4, '0')}' + name: 'MicrosoftAntiMalware' + publisher: 'Microsoft.Azure.Security' + type: 'IaaSAntimalware' + typeHandlerVersion: '1.3' + autoUpgradeMinorVersion: true + enableAutomaticUpgrade: false + settings: { + AntimalwareEnabled: true + RealtimeProtectionEnabled: 'true' + ScheduledScanSettings: { + isEnabled: 'true' + day: '7' // Day of the week for scheduled scan (1-Sunday, 2-Monday, ..., 7-Saturday) + time: '120' // When to perform the scheduled scan, measured in minutes from midnight (0-1440). For example: 0 = 12AM, 60 = 1AM, 120 = 2AM. + scanType: 'Quick' //Indicates whether scheduled scan setting type is set to Quick or Full (default is Quick) + } + Exclusions: createAvdFslogixDeployment ? { + Extensions: '*.vhd;*.vhdx' + Paths: '"%ProgramFiles%\\FSLogix\\Apps\\frxdrv.sys;%ProgramFiles%\\FSLogix\\Apps\\frxccd.sys;%ProgramFiles%\\FSLogix\\Apps\\frxdrvvt.sys;%TEMP%\\*.VHD;%TEMP%\\*.VHDX;%Windir%\\TEMP\\*.VHD;%Windir%\\TEMP\\*.VHDX;${fslogixSharePath}\\*\\*.VHD;${fslogixSharePath}\\*\\*.VHDX' + Processes: '%ProgramFiles%\\FSLogix\\Apps\\frxccd.exe;%ProgramFiles%\\FSLogix\\Apps\\frxccds.exe;%ProgramFiles%\\FSLogix\\Apps\\frxsvc.exe' + } : {} + } + enableDefaultTelemetry: false + } + dependsOn: [ + sessionHosts + ] }] -// Introduce wait for antimalware extension to complete to be ready -// module antimalwareExtensionWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { -// scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') -// name: 'SH-Antimal-Wait-${batchId}-${time}' -// params: { -// name: 'SH-Antimal-Wait-${batchId}-${time}' -// location: location -// azPowerShellVersion: '9.7' -// cleanupPreference: 'Always' -// timeout: 'PT10M' -// retentionInterval: 'PT1H' -// scriptContent: ''' -// Write-Host "Start" -// Get-Date -// Start-Sleep -Seconds 60 -// Write-Host "Stop" -// Get-Date -// ''' -// } -// dependsOn: [ -// sessionHostsAntimalwareExtension -// ] -// } - // Call to the ALA workspace resource alaWorkspace 'Microsoft.OperationalInsights/workspaces@2021-06-01' existing = if (!empty(alaWorkspaceResourceId) && deployMonitoring) { - scope: az.resourceGroup(split(alaWorkspaceResourceId, '/')[2], split(alaWorkspaceResourceId, '/')[4]) - name: last(split(alaWorkspaceResourceId, '/'))! + scope: az.resourceGroup(split(alaWorkspaceResourceId, '/')[2], split(alaWorkspaceResourceId, '/')[4]) + name: last(split(alaWorkspaceResourceId, '/'))! } // Add monitoring extension to session host module monitoring '../../../../carml/1.3.0/Microsoft.Compute/virtualMachines/extensions/deploy.bicep' = [for i in range(1, count): if (deployMonitoring) { - scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') - name: 'SH-Mon-${batchId}-${i-1}-${time}' - params: { - location: location - virtualMachineName: '${namePrefix}${padLeft((i + countIndex), 4, '0')}' - name: 'MicrosoftMonitoringAgent' - publisher: 'Microsoft.EnterpriseCloud.Monitoring' - type: 'MicrosoftMonitoringAgent' - typeHandlerVersion: '1.0' - autoUpgradeMinorVersion: true - enableAutomaticUpgrade: false - settings: { - workspaceId: !empty(alaWorkspaceResourceId) ? reference(alaWorkspace.id, alaWorkspace.apiVersion).customerId : '' - } - protectedSettings: { - workspaceKey: !empty(alaWorkspaceResourceId) ? alaWorkspace.listKeys().primarySharedKey: '' - } - enableDefaultTelemetry: false - } - dependsOn: [ - // antimalwareExtensionWait - sessionHostsAntimalwareExtension - alaWorkspace - ] + scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') + name: 'SH-Mon-${batchId}-${i - 1}-${time}' + params: { + location: location + virtualMachineName: '${namePrefix}${padLeft((i + countIndex), 4, '0')}' + name: 'MicrosoftMonitoringAgent' + publisher: 'Microsoft.EnterpriseCloud.Monitoring' + type: 'MicrosoftMonitoringAgent' + typeHandlerVersion: '1.0' + autoUpgradeMinorVersion: true + enableAutomaticUpgrade: false + settings: { + workspaceId: !empty(alaWorkspaceResourceId) ? reference(alaWorkspace.id, alaWorkspace.apiVersion).customerId : '' + } + protectedSettings: { + workspaceKey: !empty(alaWorkspaceResourceId) ? alaWorkspace.listKeys().primarySharedKey : '' + } + enableDefaultTelemetry: false + } + dependsOn: [ + sessionHostsAntimalwareExtension + alaWorkspace + ] }] -// // Introduce wait for antimalware extension to complete to be ready -// module sessionHostsMonitoringWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (deployMonitoring) { -// scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') -// name: 'SH-Mon-Wait-${batchId}-${time}' -// params: { -// name: 'SH-Mon-Wait-${batchId}-${time}' -// location: location -// azPowerShellVersion: '9.7' -// cleanupPreference: 'Always' -// timeout: 'PT10M' -// retentionInterval: 'PT1H' -// scriptContent: ''' -// Write-Host "Start" -// Get-Date -// Start-Sleep -Seconds 60 -// Write-Host "Stop" -// Get-Date -// ''' -// } -// dependsOn: [ -// monitoring -// ] -// } - // Add the registry keys for Fslogix. Alternatively can be enforced via GPOs module configureFsLogixAvdHosts '.bicep/configureFslogixOnSessionHosts.bicep' = [for i in range(1, count): if (createAvdFslogixDeployment) { - scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') - name: 'Fsl-Conf-${batchId}-${i-1}-${time}' - params: { - location: location - name: '${namePrefix}${padLeft((i + countIndex), 4, '0')}' - file: fslogixScript - fsLogixScriptArguments: fslogixScriptArguments - baseScriptUri: fslogixScriptUri - } - dependsOn: [ - sessionHosts - // sessionHostsMonitoringWait - monitoring - ] + scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') + name: 'Fsl-Conf-${batchId}-${i - 1}-${time}' + params: { + location: location + name: '${namePrefix}${padLeft((i + countIndex), 4, '0')}' + file: fslogixScript + fsLogixScriptArguments: fslogixScriptArguments + baseScriptUri: fslogixScriptUri + } + dependsOn: [ + sessionHosts + monitoring + ] }] // Add session hosts to AVD Host pool module addAvdHostsToHostPool '.bicep/registerSessionHostsOnHopstPool.bicep' = [for i in range(1, count): { - scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') - name: 'HP-Join-${batchId}-${i}-${time}' - params: { - location: location - hostPoolToken: hostPool.properties.registrationInfo.token - name: '${namePrefix}${padLeft((i + countIndex), 4, '0')}' - hostPoolName: hostPoolName - avdAgentPackageLocation: avdAgentPackageLocation - } - dependsOn: [ - sessionHosts - // sessionHostsMonitoringWait - monitoring - configureFsLogixAvdHosts - ] + scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') + name: 'HP-Join-${batchId}-${i}-${time}' + params: { + location: location + hostPoolToken: hostPool.properties.registrationInfo.token + name: '${namePrefix}${padLeft((i + countIndex), 4, '0')}' + hostPoolName: hostPoolName + avdAgentPackageLocation: avdAgentPackageLocation + } + dependsOn: [ + sessionHosts + monitoring + configureFsLogixAvdHosts + ] }] diff --git a/workload/bicep/modules/identity/deploy.bicep b/workload/bicep/modules/identity/deploy.bicep index c914b2cc4..d6ca8721c 100644 --- a/workload/bicep/modules/identity/deploy.bicep +++ b/workload/bicep/modules/identity/deploy.bicep @@ -36,15 +36,9 @@ param deployScalingPlan bool @sys.description('Storage managed identity name.') param storageManagedIdentityName string -@sys.description('Clean up managed identity name.') -param cleanUpManagedIdentityName string - @sys.description('Deploy Storage setup.') param createStorageDeployment bool -@sys.description('Deploy Storage setup.') -param createSessionHosts bool - @sys.description('Tags to be applied to resources') param tags object @@ -70,10 +64,6 @@ var varDesktopVirtualizationPowerOnOffContributorRole = { id: '40c5ff49-9181-41f8-ae61-143b0e78555e' name: 'Desktop Virtualization Power On Off Contributor' } -var varContributorRole = { - id: 'b24988ac-6180-42a0-ab88-20f7382dd24c' - name: 'Contributor' -} var computeAndServiceObjectsRgs = [ { name: 'ServiceObjects' @@ -112,42 +102,6 @@ module managedIdentityStorage '../../../../carml/1.3.0/Microsoft.ManagedIdentity } } -// Managed identity for fslogix/msix app attach -module managedIdentityCleanUp '../../../../carml/1.3.0/Microsoft.ManagedIdentity/userAssignedIdentities/deploy.bicep' = if (createStorageDeployment || createSessionHosts) { - scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') - name: 'MI-CleanUp-${time}' - params: { - name: cleanUpManagedIdentityName - location: location - tags: tags - } -} - -// // Introduce wait for management VM to be ready. -// module managedIdentityWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = if (createStorageDeployment) { -// scope: resourceGroup('${subscriptionId}', '${storageObjectsRgName}') -// name: 'Managed-Identity-Wait-${time}' -// params: { -// name: 'Managed-Identity-Wait-${time}' -// location: location -// azPowerShellVersion: '9.7' -// cleanupPreference: 'Always' -// timeout: 'PT10M' -// retentionInterval: 'PT1H' -// scriptContent: ''' -// Write-Host "Start" -// Get-Date -// Start-Sleep -Seconds 60 -// Write-Host "Stop" -// Get-Date -// ''' -// } -// dependsOn: [ -// managedIdentityStorage -// managedIdentityCleanUp -// ] -// } - // Start VM on connect role assignments module startVMonConnectRoleAssignCompute '../../../../carml/1.3.0/Microsoft.Authorization/roleAssignments/resourceGroup/deploy.bicep' = [for computeAndServiceObjectsRg in computeAndServiceObjectsRgs: if (enableStartVmOnConnect && !deployScalingPlan) { name: 'StartOnCon-RolAssign-${computeAndServiceObjectsRg.name}-${time}' @@ -177,7 +131,6 @@ module storageContributorRoleAssign '../../../../carml/1.3.0/Microsoft.Authoriza principalId: createStorageDeployment ? managedIdentityStorage.outputs.principalId : '' } dependsOn: [ - // managedIdentityWait managedIdentityStorage ] }] @@ -212,25 +165,8 @@ module aadIdentityLoginAccessServiceObjects '../../../../carml/1.3.0/Microsoft.A } }] -// Clean up contributor compute RG -module cleanUpRoleAssign '../../../../carml/1.3.0/Microsoft.Authorization/roleAssignments/resourceGroup/deploy.bicep' = if (createStorageDeployment || createSessionHosts) { - name: 'Storage-ReaderRoleAssign-${time}' - scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') - params: { - roleDefinitionIdOrName: '/subscriptions/${subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/${varContributorRole.id}' - principalId: (createStorageDeployment || createSessionHosts) ? managedIdentityCleanUp.outputs.principalId : '' - } - dependsOn: [ - // managedIdentityWait - managedIdentityStorage - ] -} -// - // =========== // // Outputs // // =========== // output managedIdentityStorageResourceId string = (createStorageDeployment) ? managedIdentityStorage.outputs.resourceId : '' output managedIdentityStorageClientId string = (createStorageDeployment) ? managedIdentityStorage.outputs.clientId : '' -output managedIdentityCleanUpResourceId string = (createStorageDeployment || createSessionHosts) ? managedIdentityCleanUp.outputs.resourceId : '' -output managedIdentityCleanUpClientId string = (createStorageDeployment || createSessionHosts) ? managedIdentityCleanUp.outputs.clientId : '' diff --git a/workload/bicep/modules/postDeploymentTempResourcesCleanUp/deploy.bicep b/workload/bicep/modules/postDeploymentTempResourcesCleanUp/deploy.bicep deleted file mode 100644 index 22019e3fa..000000000 --- a/workload/bicep/modules/postDeploymentTempResourcesCleanUp/deploy.bicep +++ /dev/null @@ -1,66 +0,0 @@ -// ========== // -// Parameters // -// ========== // - -@sys.description('Location where to deploy compute services.') -param location string - -@sys.description('Location for the AVD agent installation package.') -param baseScriptUri string - -@sys.description('Azure cloud.') -param azureCloudName string - -@sys.description('Virtual machine name to deploy the DSC extension to.') -param managementVmName string - -@sys.description('Script file name.') -param scriptFile string - -@sys.description('DSC package location.') -param dscAgentPackageLocation string - -@sys.description('Subscription ID.') -param subscriptionId string - -@sys.description('Service objects resource group name.') -param serviceObjectsRgName string - -@sys.description('Compute objects resource group name.') -param computeObjectsRgName string - -@sys.description('Storage objects resource group name.') -param storageObjectsRgName string - -@sys.description('Network objects resource group name.') -param networkObjectsRgName string - -@sys.description('Monitoring objects resource group name.') -param monitoringObjectsRgName string - -// =========== // -// Variable declaration // -// =========== // - -var varPostDeploymentTempResuorcesCleanUpScriptArgs = '-dscPath ${dscAgentPackageLocation} -subscriptionId ${subscriptionId} -serviceObjectsRgName ${serviceObjectsRgName} -computeObjectsRgName ${computeObjectsRgName} -storageObjectsRgName ${storageObjectsRgName} -networkObjectsRgName ${networkObjectsRgName} -monitoringObjectsRgName ${monitoringObjectsRgName} -azureCloudEnvironment ${azureCloudName} -managmentVmName ${managementVmName} -Verbose' - -// =========== // -// Deployments // -// =========== // - -// Clean up deployment temporary resources. -resource deploymentCleanUp 'Microsoft.Compute/virtualMachines/extensions@2022-08-01' = { - name: '${managementVmName}/DeploymentCleanUp' - location: location - properties: { - publisher: 'Microsoft.Compute' - type: 'CustomScriptExtension' - typeHandlerVersion: '1.10' - autoUpgradeMinorVersion: false - settings: {} - protectedSettings: { - fileUris: array(baseScriptUri) - commandToExecute: 'powershell -ExecutionPolicy Unrestricted -File ${scriptFile} ${varPostDeploymentTempResuorcesCleanUpScriptArgs}' - } - } -} diff --git a/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep b/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep index e7ee4e5a8..4233d5e9a 100644 --- a/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep +++ b/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep @@ -183,30 +183,6 @@ module managementVm '../../../../../carml/1.3.0/Microsoft.Compute/virtualMachine ] } -// // Introduce wait for management VM to be ready. -// module managementVmWait '../../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { -// scope: resourceGroup('${workloadSubsId}', '${serviceObjectsRgName}') -// name: 'MGMT-VM-Wait-${time}' -// params: { -// name: 'MGMT-VM-Wait-${time}' -// location: location -// azPowerShellVersion: '8.3.0' -// cleanupPreference: 'Always' -// timeout: 'PT10M' -// retentionInterval: 'PT1H' -// scriptContent: ''' -// Write-Host "Start" -// Get-Date -// Start-Sleep -Seconds 120 -// Write-Host "Stop" -// Get-Date -// ''' -// } -// dependsOn: [ -// managementVm -// ] -// } - // =========== // // Outputs // // =========== // diff --git a/workload/bicep/modules/zeroTrust/deploy.bicep b/workload/bicep/modules/zeroTrust/deploy.bicep index f90c98858..fea7c48c5 100644 --- a/workload/bicep/modules/zeroTrust/deploy.bicep +++ b/workload/bicep/modules/zeroTrust/deploy.bicep @@ -60,8 +60,8 @@ param time string = utcNow() // =========== // var varCustomPolicyDefinitions = [ { - deploymentName: 'ZT-Disk' - libDefinition: json(loadTextContent('../../../policies/zeroTrust/policyDefinitions/policy-definition-es-vm-disk-zero-trust.json')) + deploymentName: 'ZT-Disk' + libDefinition: json(loadTextContent('../../../policies/zeroTrust/policyDefinitions/policy-definition-es-vm-disk-zero-trust.json')) } ] // =========== // @@ -88,7 +88,7 @@ module ztPolicyDefinitions '../../../../carml/1.3.0/Microsoft.Authorization/poli // Policy Assignment for Managed Disk Network Access. module ztPolicyAssignmentServiceObjects '../../../../carml/1.3.0/Microsoft.Authorization/policyAssignments/resourceGroup/deploy.bicep' = [for (customPolicyDefinition, i) in varCustomPolicyDefinitions: if (diskZeroTrust) { scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') - name: 'Pol-Assign-ServObj${customPolicyDefinition.deploymentName}-${time}' + name: 'Pol-Assign-ServObj${customPolicyDefinition.deploymentName}-${time}' params: { name: customPolicyDefinition.libDefinition.name displayName: customPolicyDefinition.libDefinition.properties.displayName @@ -113,8 +113,8 @@ module ztPolicyAssignmentServiceObjects '../../../../carml/1.3.0/Microsoft.Autho }] // Policy Remediation Task for Zero Trust. -module ztPolicyServBojRemediationTask '../azurePolicyAssignmentRemediation/deploy.bicep' = [for (customPolicyDefinition, i) in varCustomPolicyDefinitions : if (diskZeroTrust) { - scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') +module ztPolicyServBojRemediationTask '../azurePolicyAssignmentRemediation/deploy.bicep' = [for (customPolicyDefinition, i) in varCustomPolicyDefinitions: if (diskZeroTrust) { + scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') name: 'Remm-ServObj-${customPolicyDefinition.deploymentName}-${i}' params: { deploymentName: '${customPolicyDefinition.deploymentName}-${i}' @@ -125,7 +125,7 @@ module ztPolicyServBojRemediationTask '../azurePolicyAssignmentRemediation/deplo // Policy Assignment for Managed Disk Network Access. module ztPolicyAssignmentCompute '../../../../carml/1.3.0/Microsoft.Authorization/policyAssignments/resourceGroup/deploy.bicep' = [for (customPolicyDefinition, i) in varCustomPolicyDefinitions: if (diskZeroTrust) { scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') - name: 'Pol-Assign-Comp-${customPolicyDefinition.deploymentName}-${time}' + name: 'Pol-Assign-Comp-${customPolicyDefinition.deploymentName}-${time}' params: { name: customPolicyDefinition.libDefinition.name displayName: customPolicyDefinition.libDefinition.properties.displayName @@ -150,8 +150,8 @@ module ztPolicyAssignmentCompute '../../../../carml/1.3.0/Microsoft.Authorizatio }] // Policy Remediation Task for Zero Trust. -module ztPolicyComputeRemediationTask '../azurePolicyAssignmentRemediation/deploy.bicep' = [for (customPolicyDefinition, i) in varCustomPolicyDefinitions : if (diskZeroTrust) { - scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') +module ztPolicyComputeRemediationTask '../azurePolicyAssignmentRemediation/deploy.bicep' = [for (customPolicyDefinition, i) in varCustomPolicyDefinitions: if (diskZeroTrust) { + scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') name: 'Remm-Comp-${customPolicyDefinition.deploymentName}-${i}' params: { deploymentName: '${customPolicyDefinition.deploymentName}-${i}' @@ -160,8 +160,8 @@ module ztPolicyComputeRemediationTask '../azurePolicyAssignmentRemediation/deplo }] // Role Assignment for Zero Trust. -module ztRoleAssignmentCompute '../../../../carml/1.3.0/Microsoft.Authorization/roleAssignments/resourceGroup/deploy.bicep' = [for (customPolicyDefinition, i) in varCustomPolicyDefinitions : if (diskZeroTrust) { - scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') +module ztRoleAssignmentCompute '../../../../carml/1.3.0/Microsoft.Authorization/roleAssignments/resourceGroup/deploy.bicep' = [for (customPolicyDefinition, i) in varCustomPolicyDefinitions: if (diskZeroTrust) { + scope: resourceGroup('${subscriptionId}', '${computeObjectsRgName}') name: 'ZT-RA-Comp-${customPolicyDefinition.deploymentName}-${time}' params: { principalId: diskZeroTrust ? ztPolicyAssignmentCompute[i].outputs.principalId : '' @@ -171,8 +171,8 @@ module ztRoleAssignmentCompute '../../../../carml/1.3.0/Microsoft.Authorization/ }] // Role Assignment for Zero Trust. -module ztRoleAssignmentServObj '../../../../carml/1.3.0/Microsoft.Authorization/roleAssignments/resourceGroup/deploy.bicep' = [for (customPolicyDefinition, i) in varCustomPolicyDefinitions : if (diskZeroTrust) { - scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') +module ztRoleAssignmentServObj '../../../../carml/1.3.0/Microsoft.Authorization/roleAssignments/resourceGroup/deploy.bicep' = [for (customPolicyDefinition, i) in varCustomPolicyDefinitions: if (diskZeroTrust) { + scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') name: 'ZT-RA-ServObj-${customPolicyDefinition.deploymentName}-${time}' params: { principalId: diskZeroTrust ? ztPolicyAssignmentServiceObjects[i].outputs.principalId : '' @@ -190,35 +190,9 @@ module ztManagedIdentity '../../../../carml/1.3.0/Microsoft.ManagedIdentity/user name: managedIdentityName tags: tags } - dependsOn: [ - - ] + dependsOn: [] } -// // Introduce wait for managed identity to be ready. -// module ztManagedIdentityWait '../../../../carml/1.3.0/Microsoft.Resources/deploymentScripts/deploy.bicep' = { -// scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') -// name: 'ZT-Mana-Ident-Wait-${time}' -// params: { -// name: 'Managed-Idenity-Wait-${time}' -// location: location -// azPowerShellVersion: '8.3.0' -// cleanupPreference: 'Always' -// timeout: 'PT10M' -// retentionInterval: 'PT1H' -// scriptContent: ''' -// Write-Host "Start" -// Get-Date -// Start-Sleep -Seconds 60 -// Write-Host "Stop" -// Get-Date -// ''' -// } -// dependsOn: [ -// ztManagedIdentity -// ] -// } - // Role Assignment for Zero Trust. module ztRoleAssignment '../../../../carml/1.3.0/Microsoft.Authorization/roleAssignments/resourceGroup/deploy.bicep' = if (diskZeroTrust) { scope: resourceGroup('${subscriptionId}', '${serviceObjectsRgName}') @@ -256,4 +230,3 @@ module ztKeyVault './.bicep/zeroTrustKeyVault.bicep' = if (diskZeroTrust) { // =========== // output ztDiskEncryptionSetResourceId string = diskZeroTrust ? ztKeyVault.outputs.ztDiskEncryptionSetResourceId : '' - diff --git a/workload/docs/deploy-baseline.md b/workload/docs/deploy-baseline.md index c3de9b542..04c68ca5d 100644 --- a/workload/docs/deploy-baseline.md +++ b/workload/docs/deploy-baseline.md @@ -102,7 +102,6 @@ We have these other options available: - After successful deployment, you can remove the following temporary resources used only during deployment: - Management virtual machine (`vmmgmt{deploymentPrefix}{DeploymentEnvironment-d/t/p}{AzureRegionAcronym}`) and its associated OS disk and network interface. - Note: deployment scripts used to introduce wait times: Management-VM-Wait-{timestamp}, Managed-Identity-Wait-{timestamp}, Antimalware-Extension-Wait-{timestamp}, Session-Hosts-Wait-{timestamp}, SH-Monitoring-Wait-{timestamp} will automatically delete themselves 1 hour after the deployment, no need to trigger a manual delete. - You should assign specific roles, including [Azure Virtual Desktop - Specific roles](https://learn.microsoft.com/en-us/azure/virtual-desktop/rbac) based on your organization’s policies. - Preferably enable NSG Flow logs and Traffic Analytics. diff --git a/workload/docs/resource-naming.md b/workload/docs/resource-naming.md index ee7fc8b06..fa7458d11 100644 --- a/workload/docs/resource-naming.md +++ b/workload/docs/resource-naming.md @@ -15,7 +15,6 @@ The naming of resources is hard coded in the templates but can also be modified | `vdag-desktop-{deploymentPrefix}-{DeploymentEnvironment}-{AzureRegionAcronym}-{nnn}` | Azure Virtual Desktop Application group (Desktop) | | | `vdag-rapp-{deploymentPrefix}-{DeploymentEnvironment}-{AzureRegionAcronym}-{nnn}` | Azure Virtual Desktop Application group (RemoteApp) | | | `vdscaling-{deploymentPrefix}-{DeploymentEnvironment}-{AzureRegionAcronym}-{nnn}` | Azure Virtual Desktop Scaling Plan | | -| `Managed-Identity-Wait-{Timestamp}` | Deployment script (Zero Trust) | Introduce wait time after managed identity creation. | | `des-zt-{deploymentPrefix}-{DeploymentEnvironment}-{AzureRegionAcronym}-{uniqueString}` | Disk Encryption Set (Zero Trust) | | | `DiskEncryptionKey` | Key (Zero Trust) | | | `kv-sec-{deploymentPrefix}-{DeploymentEnvironment}-{AzureRegionAcronym}-{uniqueString}` | Key vault | | @@ -25,7 +24,6 @@ The naming of resources is hard coded in the templates but can also be modified | `pe-kv-key-{deploymentPrefix}-{DeploymentEnvironment}-{AzureRegionAcronym}-{uniqueString}-vault` | Private endpoint (Zero Trust) | Private endpoint attached to key vault. | | `nic-{nn}-pe-kv-sec-{deploymentPrefix}-{DeploymentEnvironment}-{AzureRegionAcronym}-{uniqueString}-vault` | Network Interface | Network interface attached to key vault private endpoint. | | `nic-{nn}-pe-kv-key-{deploymentPrefix}-{DeploymentEnvironment}-{AzureRegionAcronym}-{uniqueString}-vault` | Network Interface (Zero Trust) | Network interface attached to key vault private endpoint. | -| `AVD-managementVmWait-{Timestamp}` | Deployment script | Introduce wait time after management VM creation. | | `vmmgmt{deploymentPrefix}{DeploymentEnvironment-d/t/p}{AzureRegionAcronym}` | Virtual Machine | VM used to run management tasks (FSLogix, NTFS permissions, etc.). | | `osdisk-{nn}-vmmgmt{deploymentPrefix}{DeploymentEnvironment-d/t/p}{AzureRegionAcronym}` | Disk | OS disk attached to management VM. | | `nic-{nn}-vm-vmmgmt{deploymentPrefix}{DeploymentEnvironment-d/t/p}{AzureRegionAcronym}` | Network Interface | Network interface attached to management VM. | @@ -40,9 +38,6 @@ The naming of resources is hard coded in the templates but can also be modified | `vm{deploymentPrefix}{DeploymentEnvironment-d/t/p}{AzureRegionAcronym}{nnnn}` | Virtual Machine | | | `osdisk-{nn}-vm{deploymentPrefix}{DeploymentEnvironment-d/t/p}{AzureRegionAcronym}{nnnn}` | Disk | OS disk attached to session hosts. | | `nic-{nn}-vm{deploymentPrefix}{DeploymentEnvironment-d/t/p}{AzureRegionAcronym}{nnnn}` | Network Interface | NEtwork interface attached to session hosts. | -| `Antimalware-Extension-Wait-{Timestamp}` | Deployment script | Introduce wait time after antimalware extension configuration. | -| `Session-Hosts-Wait-{Timestamp}` | Deployment script | Introduce wait time after session host creation. | -| `SH-Monitoring-Wait-{Timestamp}` | Deployment script | Introduce wait time after session monitoring agent. | ### Storage naming (FSLogix & MSIX App Attach) @@ -50,7 +45,6 @@ The naming of resources is hard coded in the templates but can also be modified |:--|:--|:--| | `rg-avd-{deploymentPrefix}-{DeploymentEnvironment}-{AzureRegionAcronym}-storage` | Resource Group | | | `id-storage-{deploymentPrefix}-{DeploymentEnvironment}-{AzureRegionAcronym}-{nnn}` | Managed identity | Identity used for FSLogix setup. | -| `Managed-Identity-Wait-{Timestamp}` | Deployment script | Introduce wait time after managed identity creation. | | `stfsl{deploymentPrefix}{DeploymentEnvironment-d/t/p}{uniqueString}` | Storage account | FSLogix file shares. | | `pe-stfsl{deploymentPrefix}{DeploymentEnvironment-d/t/p}{uniqueString}-file` | Private endpoint | Private endpoint attached to FSLogix storage account files service. | | `nic-{nn}-pe-stfsl{deploymentPrefix}{DeploymentEnvironment-d/t/p}{uniqueString}-file` | Network Interface | Network interface attached to FSLogix storage account's private endpoint. | @@ -76,7 +70,6 @@ The naming of resources is hard coded in the templates but can also be modified | Resource Name | Resource Type | | |:--|:--|:--| | `rg-avd-{DeploymentEnvironment}-{AzureRegionAcronym}-monitoring` | Resource Group | | -| `Log-Analytics-Workspace-Wait-{Timestamp}` | Deployment Script | Introduce wait time after log analytics workspace creation. | | `log-avd-{DeploymentEnvironment}-{AzureRegionAcronym}` | Log Analytics Workspace | | ### Resource naming for the custom image build deployment diff --git a/workload/scripts/postDeploymentTempResuorcesCleanUp.ps1 b/workload/scripts/postDeploymentTempResuorcesCleanUp.ps1 deleted file mode 100644 index 8818d0f54..000000000 --- a/workload/scripts/postDeploymentTempResuorcesCleanUp.ps1 +++ /dev/null @@ -1,72 +0,0 @@ -param ( - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [string] $dscPath, - - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [string] $subscriptionId, - - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [string] $serviceObjectsRgName, - - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [string] $computeObjectsRgName, - - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [string] $storageObjectsRgName, - - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [string] $networkObjectsRgName, - - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [string] $monitoringObjectsRgName, - - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [string] $azureCloudEnvironment, - - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [string] $managementVmName -) - -Write-Host "Downloading the DSC package from $DscPath" -$DscArhive="postDeploymentTempResourcesCleanUp.zip" -$appName = 'DSCCleanUpScript' -$drive = 'C:\Packages' -New-Item -Path $drive -Name $appName -ItemType Directory -ErrorAction SilentlyContinue - -Write-Host "Setting DSC local path to $LocalPath" -$LocalPath = $drive+'\DSCCleanUpScript' -$OutputPath = $LocalPath + '\' + $DscArhive -Invoke-WebRequest -Uri $DscPath -OutFile $OutputPath - -Write-Host "Expanding the archive $DscArchive" -Expand-Archive -LiteralPath $OutputPath -DestinationPath $Localpath -Force -Verbose - -Set-Location -Path $LocalPath - -Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -Install-Module 'PSDscResources' -Force - -$DscCompileCommand="./configuration.ps1 -subscriptionId " + $subscriptionId + " -serviceObjectsRgName " + $serviceObjectsRgName +" -computeObjectsRgName " + $computeObjectsRgName + " -storageObjectsRgName " + $storageObjectsRgName + " -networkObjectsRgName " + $networkObjectsRgName +" -monitoringObjectsRgName " + $monitoringObjectsRgName + " -azureCloudEnvironment " + $azureCloudEnvironment + " managementVmName " + $managementVmName + " -Verbose" - -Write-Host "Executing the commmand $DscCompileCommand" -Invoke-Expression -Command $DscCompileCommand - -$MofFolder='TempResourcesCleanUp' -$MofPath=$LocalPath + '\' + $MofFolder -Write-Host "Generated MOF files here: $MofPath" - -Write-Host "Applying MOF files. DSC configuration" -Set-WSManQuickConfig -Force -Verbose -Start-DscConfiguration -Path $MofPath -Wait -Verbose -force - -Write-Host "DSC extension run clean up" -Remove-Item -Path $MofPath -Force -Recurse \ No newline at end of file From f095dac5640acda79397017382f7cfde0fd3fc89 Mon Sep 17 00:00:00 2001 From: Dany Contreras <78437433+danycontre@users.noreply.github.com> Date: Wed, 4 Oct 2023 21:22:13 -0500 Subject: [PATCH 05/10] updates --- ...celerator-resource-organization-naming.png | Bin 665733 -> 476318 bytes ...elerator-resource-organization-naming.vsdx | Bin 384707 -> 374663 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/workload/docs/diagrams/avd-accelerator-resource-organization-naming.png b/workload/docs/diagrams/avd-accelerator-resource-organization-naming.png index 8977ff4a859aa40897a7ec6f4b28219a0a7ef852..49908dc7c334184314d727d63db9555001dc27d8 100644 GIT binary patch literal 476318 zcmeFZcT`i^+6V0Dj9y295l4{j&^t=+SWpCnNS7{3k={#a(LrGlA%-e7DotwW9U>wS zx&-MZlt2h2flxyU-$}qb_ult?*ZRJHzjd<~>cNwJ_I~#B{GRfA_KAF`t3mfG>#wIy zoubpcudaXU6oU)!bNe5sf!{o0ytV=S^^>>0#_dzZz3h14;%A3jI=4=pDurG+u=xeJ zKJRhg)ce#amLclTPgnapS5KWf%GOlBWf)+!a(KSN4tI-d*GloCeTmqe+mQ>e$to~K5RpKj?JrC0BaVn#Q7!h@F66p@%c33wfDWn)Hd;OFura`R*XMzYy_Ofw=xi$8bhgia@&vcY0XMKPN z(Y>v9EBBmS<305sA6v~h3!#w3#+fnvI?s&0@PH|rk!+1QI;byJ-5f*8*DQZI+^EyCHM|PbJg4lQrI)+IU{q@h!{ikk+_+}n1PUWNfHBFuB zi3RGE+93GRmW0|)ToU_zwD>zGXs(^ z2g-FNVfL5)kmH9(M@*%LjC&3`dL|r{MjdJw(w@UXAMEL|!*

#IB}kZ$9a(T2sKa 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�Rc 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 {sph<9`bPt_7}aqFXI-0j(e}maK;|Ed2lkO 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

sr>P+a`A9UyZWQ2#FQlgfSp;E2w`zm;NzZ*H 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≥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 b4Atrbn7Rbe;HyGZA(o^N2*F1HxnTbfB#f!K delta 100937 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 From fd1d3e76444b19f6da767940895a8d2a7304f4a2 Mon Sep 17 00:00:00 2001 From: Dany Contreras <78437433+danycontre@users.noreply.github.com> Date: Wed, 4 Oct 2023 21:55:26 -0500 Subject: [PATCH 06/10] updates --- workload/arm/deploy-baseline.json | 13 +---- workload/bicep/deploy-baseline.bicep | 1 - .../deploy.bicep | 9 ++-- .../.bicep/azurePolicyNetworkMonitoring.bicep | 48 +++++++++---------- .../bicep/modules/networking/deploy.bicep | 7 --- .../.bicep/managementVm.bicep | 6 --- .../modules/storageAzureFiles/deploy.bicep | 6 --- 7 files changed, 29 insertions(+), 61 deletions(-) diff --git a/workload/arm/deploy-baseline.json b/workload/arm/deploy-baseline.json index 14ab2a87d..e4e7162f2 100644 --- a/workload/arm/deploy-baseline.json +++ b/workload/arm/deploy-baseline.json @@ -5,7 +5,7 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "6111832751492244000" + "templateHash": "11204760193048117934" }, "name": "AVD Accelerator - Baseline Deployment", "description": "AVD Accelerator - Deployment Baseline" @@ -7957,9 +7957,6 @@ "value": "[parameters('createAvdVnet')]" }, "deployAsg": "[if(or(or(parameters('avdDeploySessionHosts'), parameters('createAvdFslogixDeployment')), parameters('createMsixDeployment')), createObject('value', true()), createObject('value', false()))]", - "existingPeSubnetResourceId": { - "value": "[parameters('existingVnetPrivateEndpointSubnetResourceId')]" - }, "existingAvdSubnetResourceId": { "value": "[parameters('existingVnetAvdSubnetResourceId')]" }, @@ -8038,7 +8035,7 @@ "_generator": { "name": "bicep", "version": "0.17.1.54307", - "templateHash": "3756011210515160191" + "templateHash": "13214055304476289623" } }, "parameters": { @@ -8067,12 +8064,6 @@ "description": "Existing virtual network subnet for AVD." } }, - "existingPeSubnetResourceId": { - "type": "string", - "metadata": { - "description": "Existing virtual network subnet for private endpoints." - } - }, "computeObjectsRgName": { "type": "string", "metadata": { diff --git a/workload/bicep/deploy-baseline.bicep b/workload/bicep/deploy-baseline.bicep index fc29e4ea1..1613f8420 100644 --- a/workload/bicep/deploy-baseline.bicep +++ b/workload/bicep/deploy-baseline.bicep @@ -907,7 +907,6 @@ module networking './modules/networking/deploy.bicep' = if (createAvdVnet || cre params: { createVnet: createAvdVnet deployAsg: (avdDeploySessionHosts || createAvdFslogixDeployment || createMsixDeployment) ? true : false - existingPeSubnetResourceId: existingVnetPrivateEndpointSubnetResourceId existingAvdSubnetResourceId: existingVnetAvdSubnetResourceId createPrivateDnsZones: deployPrivateEndpointKeyvaultStorage ? createPrivateDnsZones : false applicationSecurityGroupName: varApplicationSecurityGroupName diff --git a/workload/bicep/modules/azurePolicyAssignmentRemediation/deploy.bicep b/workload/bicep/modules/azurePolicyAssignmentRemediation/deploy.bicep index 83a2b421d..cc1952ab3 100644 --- a/workload/bicep/modules/azurePolicyAssignmentRemediation/deploy.bicep +++ b/workload/bicep/modules/azurePolicyAssignmentRemediation/deploy.bicep @@ -19,17 +19,16 @@ param policyAssignmentId string // =========== // // call on the keyvault. - // Policy Remediation Task for Zero Trust. resource ztPolicyComputeRemediationTask 'Microsoft.PolicyInsights/remediations@2021-10-01' = { name: deploymentName properties: { failureThreshold: { percentage: 1 - } - parallelDeployments: 10 - policyAssignmentId: policyAssignmentId - resourceCount: 500 + } + parallelDeployments: 10 + policyAssignmentId: policyAssignmentId + resourceCount: 500 } dependsOn: [] } diff --git a/workload/bicep/modules/networking/.bicep/azurePolicyNetworkMonitoring.bicep b/workload/bicep/modules/networking/.bicep/azurePolicyNetworkMonitoring.bicep index c25ad86ac..004699ff2 100644 --- a/workload/bicep/modules/networking/.bicep/azurePolicyNetworkMonitoring.bicep +++ b/workload/bicep/modules/networking/.bicep/azurePolicyNetworkMonitoring.bicep @@ -44,36 +44,34 @@ var varCustomPolicySetDefinitions = { libSetDefinition: json(loadTextContent('../../../../policies/networking/policy-sets/policy-set-definition-es-deploy-networking.json')) } - // =========== // // Deployments // // =========== // - // Storage account for NSG flow logs. If blank value passed - then to module deployStgAccountForFlowLogs '../../../../../carml/1.3.0/Microsoft.Storage/storageAccounts/deploy.bicep' = if (empty(stgAccountForFlowLogsId)) { -scope: resourceGroup ('${monitoringRgName}') -name: (length('Deploy-Stg-Account-for-Flow-Logs-${stgAccountForFlowLogsName}-${time}') > 64) ? take('Deploy-Stg-Account-for-Flow-Logs-${stgAccountForFlowLogsName}-${time}',64) : 'Deploy-Stg-Account-for-Flow-Logs-${stgAccountForFlowLogsName}-${time}' -params: { - location: managementPlaneLocation - tags: tags - name: stgAccountForFlowLogsName - kind: 'StorageV2' - publicNetworkAccess: 'Disabled' - networkAcls: { - bypass: 'AzureServices' - defaultAction: 'Deny' + scope: resourceGroup('${monitoringRgName}') + name: (length('Deploy-Stg-Account-for-Flow-Logs-${stgAccountForFlowLogsName}-${time}') > 64) ? take('Deploy-Stg-Account-for-Flow-Logs-${stgAccountForFlowLogsName}-${time}', 64) : 'Deploy-Stg-Account-for-Flow-Logs-${stgAccountForFlowLogsName}-${time}' + params: { + location: managementPlaneLocation + tags: tags + name: stgAccountForFlowLogsName + kind: 'StorageV2' + publicNetworkAccess: 'Disabled' + networkAcls: { + bypass: 'AzureServices' + defaultAction: 'Deny' + } } } - } // Policy definitions. // Policy set definition. - + module networkingPolicySetDefinition '../../../../../carml/1.3.0/Microsoft.Authorization/policySetDefinitions/subscription/deploy.bicep' = { scope: subscription('${workloadSubsId}') - name: (length('NetPolicySetDefini-${time}') > 64) ? take('AVD-Network-Policy-Set-Definition-${time}',64) : 'AVD-Network-Policy-Set-Definition-${time}' + name: (length('NetPolicySetDefini-${time}') > 64) ? take('AVD-Network-Policy-Set-Definition-${time}', 64) : 'AVD-Network-Policy-Set-Definition-${time}' params: { location: managementPlaneLocation name: varCustomPolicySetDefinitions.name @@ -90,9 +88,9 @@ module networkingPolicySetDefinition '../../../../../carml/1.3.0/Microsoft.Autho // Policy set assignment. module networkingPolicySetDefinitionAssignment '../../../../../carml/1.3.0/Microsoft.Authorization/policyAssignments/subscription/deploy.bicep' = { scope: subscription('${workloadSubsId}') - name: (length('NetPolicySetAssign-${time}') > 64) ? take('AVD-NetPolicySetAssign-${time}',64) : 'AVD-NetPolicySetAssign-${time}' + name: (length('NetPolicySetAssign-${time}') > 64) ? take('AVD-NetPolicySetAssign-${time}', 64) : 'AVD-NetPolicySetAssign-${time}' params: { - name: (length('${varCustomPolicySetDefinitions.name}-${workloadSubsId}') > 64) ? take('${varCustomPolicySetDefinitions.name}-${workloadSubsId}',64) : '${varCustomPolicySetDefinitions.name}-${workloadSubsId}' + name: (length('${varCustomPolicySetDefinitions.name}-${workloadSubsId}') > 64) ? take('${varCustomPolicySetDefinitions.name}-${workloadSubsId}', 64) : '${varCustomPolicySetDefinitions.name}-${workloadSubsId}' displayName: varCustomPolicySetDefinitions.libSetDefinition.properties.displayName description: varCustomPolicySetDefinitions.libSetDefinition.properties.description location: managementPlaneLocation @@ -103,20 +101,20 @@ module networkingPolicySetDefinitionAssignment '../../../../../carml/1.3.0/Micro ] parameters: { nsgRegion: { value: managementPlaneLocation } - storageId: { value: (empty(stgAccountForFlowLogsId)) ? '${deployStgAccountForFlowLogs.outputs.resourceId}' : stgAccountForFlowLogsId } + storageId: { value: (empty(stgAccountForFlowLogsId)) ? '${deployStgAccountForFlowLogs.outputs.resourceId}' : stgAccountForFlowLogsId } workspaceResourceId: { value: alaWorkspaceResourceId } workspaceRegion: { value: managementPlaneLocation } workspaceId: { value: alaWorkspaceId } networkWatcherRG: { value: 'NetworkWatcherRG' } networkWatcherName: { value: 'NetworkWatcher_${managementPlaneLocation}' } + } } - } - dependsOn: [ - networkingPolicySetDefinition - deployStgAccountForFlowLogs - ] - } + dependsOn: [ + networkingPolicySetDefinition + deployStgAccountForFlowLogs + ] +} // =========== // // Outputs // // =========== // diff --git a/workload/bicep/modules/networking/deploy.bicep b/workload/bicep/modules/networking/deploy.bicep index 4ea9fa8f3..eea5a9e45 100644 --- a/workload/bicep/modules/networking/deploy.bicep +++ b/workload/bicep/modules/networking/deploy.bicep @@ -15,9 +15,6 @@ param deployAsg bool @sys.description('Existing virtual network subnet for AVD.') param existingAvdSubnetResourceId string -@sys.description('Existing virtual network subnet for private endpoints.') -param existingPeSubnetResourceId string - @sys.description('Resource Group Name for the AVD session hosts') param computeObjectsRgName string @@ -113,10 +110,6 @@ var varExistingAvdVnetSubId = !createVnet ? split(existingAvdSubnetResourceId, ' var varExistingAvdVnetSubRgName = !createVnet ? split(existingAvdSubnetResourceId, '/')[4] : '' var varExistingAvdVnetName = !createVnet ? split(existingAvdSubnetResourceId, '/')[8] : '' var varExistingAvdVnetResourceId = !createVnet ? '/subscriptions/${varExistingAvdVnetSubId}/resourceGroups/${varExistingAvdVnetSubRgName}/providers/Microsoft.Network/virtualNetworks/${varExistingAvdVnetName}' : '' -//var varExistingPeVnetSubId = split(existingPeSubnetResourceId, '/')[2] -//var varExistingPeVnetSubRgName = split(existingPeSubnetResourceId, '/')[4] -//var varExistingAPeVnetName = split(existingPeSubnetResourceId, '/')[8] -//var varExistingPeVnetResourceId = '/subscriptions/${varExistingPeVnetSubId}/resourceGroups/${varExistingPeVnetSubRgName}/providers/Microsoft.Network/virtualNetworks/${varExistingAPeVnetName}' // =========== // // Deployments // // =========== // diff --git a/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep b/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep index 4233d5e9a..c1d440026 100644 --- a/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep +++ b/workload/bicep/modules/storageAzureFiles/.bicep/managementVm.bicep @@ -49,12 +49,6 @@ param osDiskType string @sys.description('Market Place OS image') param osImage object -//@sys.description('Set to deploy image from Azure. Compute Gallery') -//param useSharedImage bool - -//@sys.description('Source custom image ID.') -//param imageTemplateDefinitionId string - @sys.description('Storage Managed Identity Resource ID.') param storageManagedIdentityResourceId string diff --git a/workload/bicep/modules/storageAzureFiles/deploy.bicep b/workload/bicep/modules/storageAzureFiles/deploy.bicep index 907b297c8..d464ed7f2 100644 --- a/workload/bicep/modules/storageAzureFiles/deploy.bicep +++ b/workload/bicep/modules/storageAzureFiles/deploy.bicep @@ -177,12 +177,6 @@ module storageAndFile '../../../../carml/1.3.0/Microsoft.Storage/storageAccounts } } -// Call on the VM. -//resource managementVMget 'Microsoft.Compute/virtualMachines@2022-11-01' existing = { -// name: managementVmName -// scope: resourceGroup('${workloadSubsId}', '${serviceObjectsRgName}') -//} - // Custom Extension call in on the DSC script to join Azure storage account to domain. module addShareToDomainScript './.bicep/azureFilesDomainJoin.bicep' = { scope: resourceGroup('${workloadSubsId}', '${serviceObjectsRgName}') From 585982ff80187ae984fdcb06010a966160045cfa Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 04:14:01 +0000 Subject: [PATCH 07/10] Generate Parameter Markdowns [danycontre/a9473cfd] --- .../docs/autoGenerated/deploy-baseline.bicep.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/workload/docs/autoGenerated/deploy-baseline.bicep.md b/workload/docs/autoGenerated/deploy-baseline.bicep.md index 427f287fb..38452972e 100644 --- a/workload/docs/autoGenerated/deploy-baseline.bicep.md +++ b/workload/docs/autoGenerated/deploy-baseline.bicep.md @@ -28,7 +28,7 @@ avdHostPoolType | No | AVD host pool type. (Default: Pooled) hostPoolPreferredAppGroupType | No | Optional. The type of preferred application group type, default to Desktop Application Group. avdPersonalAssignType | No | AVD host pool type. (Default: Automatic) avdHostPoolLoadBalancerType | No | AVD host pool load balacing type. (Default: BreadthFirst) -avhHostPoolMaxSessions | No | AVD host pool maximum number of user sessions per session host. (Default: 8) +hostPoolMaxSessions | No | AVD host pool maximum number of user sessions per session host. (Default: 8) avdStartVmOnConnect | No | AVD host pool start VM on Connect. (Default: true) avdHostPoolRdpProperties | No | AVD host pool Custom RDP properties. (Default: 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) avdDeployScalingPlan | No | AVD deploy scaling plan. (Default: true) @@ -104,7 +104,7 @@ avsetCustomNamePrefix | No | AVD availability set custom name. (Default: a storageAccountPrefixCustomName | No | AVD FSLogix and MSIX app attach storage account prefix custom name. (Default: st) fslogixFileShareCustomName | No | FSLogix file share name. (Default: fslogix-pc-app1-dev-001) msixFileShareCustomName | No | MSIX file share name. (Default: msix-app1-dev-001) -avdWrklKvPrefixCustomName | No | AVD keyvault prefix custom name (with Zero Trust to store credentials to domain join and local admin). (Default: kv) +avdWrklKvPrefixCustomName | No | AVD keyvault prefix custom name (with Zero Trust to store credentials to domain join and local admin). (Default: kv-sec) ztDiskEncryptionSetCustomNamePrefix | No | AVD disk encryption set custom name. (Default: des-zt) ztManagedIdentityCustomName | No | AVD managed identity for zero trust to encrypt managed disks using a customer managed key. (Default: id-zt) ztKvPrefixCustomName | No | AVD key vault custom name for zero trust and store store disk encryption key (Default: kv-key) @@ -297,7 +297,7 @@ AVD host pool load balacing type. (Default: BreadthFirst) - Allowed values: `BreadthFirst`, `DepthFirst` -### avhHostPoolMaxSessions +### hostPoolMaxSessions ![Parameter Setting](https://img.shields.io/badge/parameter-optional-green?style=flat-square) @@ -902,9 +902,9 @@ MSIX file share name. (Default: msix-app1-dev-001) ![Parameter Setting](https://img.shields.io/badge/parameter-optional-green?style=flat-square) -AVD keyvault prefix custom name (with Zero Trust to store credentials to domain join and local admin). (Default: kv) +AVD keyvault prefix custom name (with Zero Trust to store credentials to domain join and local admin). (Default: kv-sec) -- Default value: `kv` +- Default value: `kv-sec` ### ztDiskEncryptionSetCustomNamePrefix @@ -1136,7 +1136,7 @@ Enable usage and telemetry feedback to Microsoft. "avdHostPoolLoadBalancerType": { "value": "BreadthFirst" }, - "avhHostPoolMaxSessions": { + "hostPoolMaxSessions": { "value": 8 }, "avdStartVmOnConnect": { @@ -1365,7 +1365,7 @@ Enable usage and telemetry feedback to Microsoft. "value": "msix-app1-dev-use2-001" }, "avdWrklKvPrefixCustomName": { - "value": "kv" + "value": "kv-sec" }, "ztDiskEncryptionSetCustomNamePrefix": { "value": "des-zt" From 4a84d05082d417ef8b53bcd3a7065822fa6409dd Mon Sep 17 00:00:00 2001 From: Dany Contreras <78437433+danycontre@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:14:02 -0500 Subject: [PATCH 08/10] updates --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index bb1e318c9..b618655a5 100644 --- a/readme.md +++ b/readme.md @@ -29,7 +29,7 @@ As of today, we have a first reference implementation scenario that is one of th | Deployment Type | Link | |:--|:--| -| Azure portal UI |[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json) [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json)| +| Azure portal UI |[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json) [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json)| | Command line (Bicep/ARM) | [![Powershell/Azure CLI](./workload/docs/icons/powershell.png)](./workload/bicep/readme.md#avd-accelerator-baseline) | | Terraform | [![Terraform](./workload/docs/icons/terraform.png)](./workload/terraform/greenfield/readme.md) | @@ -66,7 +66,7 @@ Custom image is optimized using [Virtual Desktop Optimization Tool (VDOT)](https | Deployment Type | Link | |:--|:--| -| Azure portal UI | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Farm%2Fdeploy-custom-image.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-custom-image.json) [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Farm%2Fdeploy-custom-image.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fno-deployment-scripts%2Fworkload%2Fportal-ui%2Fportal-ui-custom-image.json) | +| Azure portal UI | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Farm%2Fdeploy-custom-image.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Fportal-ui%2Fportal-ui-custom-image.json) [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Farm%2Fdeploy-custom-image.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Fportal-ui%2Fportal-ui-custom-image.json) | | Command line (Bicep/ARM) | [![Powershell/Azure CLI](./workload/docs/icons/powershell.png)](./workload/bicep/readme.md#optional-custom-image-build-deployment) | | Terraform | [![Terraform](./workload/docs/icons/terraform.png)](./workload/terraform/customimage) | From 4baf7fa0e503eaab2c9ee1ecad7de64f643e32d3 Mon Sep 17 00:00:00 2001 From: Dany Contreras <78437433+danycontre@users.noreply.github.com> Date: Thu, 5 Oct 2023 08:40:29 -0500 Subject: [PATCH 09/10] updates --- workload/docs/deploy-baseline.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workload/docs/deploy-baseline.md b/workload/docs/deploy-baseline.md index 04c68ca5d..9e2a523a1 100644 --- a/workload/docs/deploy-baseline.md +++ b/workload/docs/deploy-baseline.md @@ -101,7 +101,7 @@ We have these other options available: ## Next Steps - After successful deployment, you can remove the following temporary resources used only during deployment: - - Management virtual machine (`vmmgmt{deploymentPrefix}{DeploymentEnvironment-d/t/p}{AzureRegionAcronym}`) and its associated OS disk and network interface. + - Management virtual machine (`vmmgmt{deploymentPrefix}{DeploymentEnvironment-d/t/p}{AzureRegionAcronym}`) and its associated OS disk and network interface. - You should assign specific roles, including [Azure Virtual Desktop - Specific roles](https://learn.microsoft.com/en-us/azure/virtual-desktop/rbac) based on your organization’s policies. - Preferably enable NSG Flow logs and Traffic Analytics. From c586ca30993041577d0f28374fccf912a676c236 Mon Sep 17 00:00:00 2001 From: Dany Contreras <78437433+danycontre@users.noreply.github.com> Date: Thu, 5 Oct 2023 08:44:59 -0500 Subject: [PATCH 10/10] updates --- workload/docs/deploy-baseline.md | 2 +- workload/docs/getting-started-baseline.md | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/workload/docs/deploy-baseline.md b/workload/docs/deploy-baseline.md index 9e2a523a1..4b612b9b5 100644 --- a/workload/docs/deploy-baseline.md +++ b/workload/docs/deploy-baseline.md @@ -13,7 +13,7 @@ - **Identity Service Provider** - Identity service provider (AD DS, AAD DS, AAD) that already exists and will be used for Azure Virtual Desktop. - Microsoft Entra ID. - Active Directory (AD DS). - - Microsoft Entra ID Domain Services (AAD DS). + - Azure Active Directory Domain Services (AAD DS). - **Azure Virtual Desktop access assignment** - These identities will be granted access to Azure Virtual Desktop application groups (role "Desktop Virtualization User"). - Groups - select from the drop down the groups to be granted access to Azure Virtual Desktop published items and to create sessions on VMs and single sign-on (SSO) when using AAD as identity provider. - Note: when using AAD as identity service provider, an additional role (virtual machine user login) will be granted to compute resource group during deployment. diff --git a/workload/docs/getting-started-baseline.md b/workload/docs/getting-started-baseline.md index f23e75baa..f36947f93 100644 --- a/workload/docs/getting-started-baseline.md +++ b/workload/docs/getting-started-baseline.md @@ -23,10 +23,20 @@ Prior to deploying the Baseline solution, you need to ensure you have met the fo ### Account and Access requirements - [x] The account used for the deployment and the Active Directory Domain Join account cannot have multi-factor authentication (MFA) enabled. +- [x] The account used for joining to the domain must have at minimum these permissions on the specified Organizational Unit (OU). Default OU is "Computers" if none is specified in deployment. + - Object and all descendant objects: + - Create Computer Object + - Descendant Computer Objects: + - Write All Properties + - Modify Permissions + - Change Password + - Validate Write to DNS hostname + - Validate Write to Service Principal Name - [x] The Domain Controllers used for AD join purposes should be standard writable Domain Controllers, not Read Only Domain Controllers (when using AD DS or AAD DS). - [x] Ensure you have the appropriate [licenses](https://docs.microsoft.com/azure/virtual-desktop/prerequisites#operating-systems-and-licenses) for proper Azure Virtual Desktop entitlement. ### Networking requirements + - [x] If the new Azure Virtual Desktop workload will be connected (peered) with a Hub VNet, contributor permissions are required on the referenced Hub VNet. - [x] Virtual network subnet used for Azure Virtual Desktop session host deployment, needs to access the following: - [list of URLs](https://learn.microsoft.com/azure/virtual-desktop/safe-url-list?tabs=azure#session-host-virtual-machines) session host VMs need to access for Azure Virtual Desktop (During and after deployment). @@ -42,6 +52,7 @@ Prior to deploying the Baseline solution, you need to ensure you have met the fo - Azure Government: privatelink.file.core.usgovcloudapi.net (Azure Files) and privatelink.vaultcore.usgovcloudapi.net (Key Vault). ### Other requirements + - [x] If implementing Zero Trust, ensure the prerequisites for encryption at host have been implemented: [Prerequisites](https://learn.microsoft.com/azure/virtual-machines/disks-enable-host-based-encryption-portal?tabs=azure-powershell#prerequisites). - [x] If enabling Start VM on Connect or Scaling Plans features, it is required to provide the ObjectID for the enterprise application Azure Virtual Desktop (Name can also be displayed as 'Windows Virtual Desktops'). To get the ObjectID got to Azure AD > Enterprise applications, remove all filters and search for 'Virtual Desktops' and copy the ObjectID that is paired with the Application ID: 9cdead84-a844-4324-93f2-b2e6bb768d07. - [x] Account used for portal UI deployment, needs to be able to query Azure AD tenant and get the ObjectID of the Azure Virtual Desktop enterprise app, query will be executed by the automation using the user context. @@ -54,13 +65,12 @@ This Azure Virtual Desktop accelerator supports deployment into greenfield scena ## Greenfield deployment -In the Greenfield scenario, there are no existing Azure infrastructure components for Azure Virtual Desktop deployment. The automation framework will create an Azure Virtual Desktop workload in the desired Azure region, create a new VNet or reuse an existing VNet, and configure basic connectivity. +In the Greenfield scenario, there are no existing Azure infrastructure components for Azure Virtual Desktop deployment. The automation framework will create an Azure Virtual Desktop workload in the desired Azure region, create a new VNet or reuse an existing VNet, and configure basic connectivity. It is important to consider the life cycle of each of these components. If you want to deploy these items individually or via separate executions, then please see the Brownfield Deployment section. The Azure Virtual Desktop Green Field template provides a complete Azure Virtual Desktop landing zone reference implementation within a single template. - ## Brownfield deployment In the Brownfield scenario, the automation framework will deploy the solution using existing Azure VNet, allowing you to create a new Azure Virtual Desktop workload and utilize and integrate existing Azure resources.