From 0ed7f5a51e6c781902d36553404f19cf9e637760 Mon Sep 17 00:00:00 2001 From: Sven Aelterman <17446043+SvenAelterman@users.noreply.github.com> Date: Fri, 20 Dec 2024 11:00:38 -0500 Subject: [PATCH] Fix for domain join error if domain join user account is already in Administrators group (#728) * Automated update for ARM templates * Check if the domain join user is already an Administrators member Fix typo in variable name * Parse AdminUserName to perform successful check * Parse AdminUserName to perform successful check * Correct parsing of username to check for Administrators membership * Add troubleshooting output * Fix concatenation and trimming of CheckAdminUserName * Fix capitalization * Remove "self-referencing" DSCStorageScripts.zip --------- Co-authored-by: SvenAelterman --- workload/arm/deploy-baseline.json | 686 +++++++----------- workload/arm/deploy-custom-image.json | 56 +- .../1.0.1/DSCStorageScripts.zip | Bin 171628 -> 85843 bytes .../scripts/Manual-DSC-Storage-Scripts.ps1 | 39 +- 4 files changed, 321 insertions(+), 460 deletions(-) diff --git a/workload/arm/deploy-baseline.json b/workload/arm/deploy-baseline.json index ca4ef4b68..81d662c71 100644 --- a/workload/arm/deploy-baseline.json +++ b/workload/arm/deploy-baseline.json @@ -1782,8 +1782,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "8672838757620509839" + "version": "0.32.4.45862", + "templateHash": "2997718652572802150" }, "name": "Resource Groups", "description": "This module deploys a Resource Group.", @@ -1911,8 +1911,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "8672838757620509839" + "version": "0.32.4.45862", + "templateHash": "2997718652572802150" }, "name": "Resource Groups", "description": "This module deploys a Resource Group.", @@ -2035,8 +2035,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "8672838757620509839" + "version": "0.32.4.45862", + "templateHash": "2997718652572802150" }, "name": "Resource Groups", "description": "This module deploys a Resource Group.", @@ -2179,8 +2179,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "10746678051697223286" + "version": "0.32.4.45862", + "templateHash": "5485124520407650505" }, "name": "AVD LZA insights monitoring", "description": "This module deploys Log analytics workspace, DCR and policies", @@ -2317,8 +2317,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "8672838757620509839" + "version": "0.32.4.45862", + "templateHash": "2997718652572802150" }, "name": "Resource Groups", "description": "This module deploys a Resource Group.", @@ -2451,8 +2451,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "15282002205908158597" + "version": "0.32.4.45862", + "templateHash": "3083170160174738636" }, "name": "Log Analytics Workspaces", "description": "This module deploys a Log Analytics Workspace.", @@ -2684,8 +2684,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "8028201980853199520" + "version": "0.32.4.45862", + "templateHash": "12329258505555524534" }, "name": "Log Analytics Workspace Storage Insight Configs", "description": "This module deploys a Log Analytics Workspace Storage Insight Config.", @@ -2758,11 +2758,7 @@ "id": "[parameters('storageAccountResourceId')]", "key": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', last(split(parameters('storageAccountResourceId'), '/'))), '2022-09-01').keys[0].value]" } - }, - "dependsOn": [ - "storageAccount", - "workspace" - ] + } } }, "outputs": { @@ -2884,8 +2880,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "14748218317477429392" + "version": "0.32.4.45862", + "templateHash": "159466506229773777" } }, "parameters": { @@ -3059,16 +3055,16 @@ } } }, - "$fxv#1": "{\r\n \"name\": \"policy-deploy-diagnostics-avd-application-group\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"policyType\": \"Custom\",\r\n \"mode\": \"Indexed\",\r\n \"displayName\": \"Custom - Deploy Diagnostic Settings for AVD Application group to Log Analytics Workspace\",\r\n \"description\": \"Custom - Deploys the diagnostic settings for AVD Application group to stream to a Log Analytics workspace when any application group which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all and categorys enabled.\",\r\n \"metadata\": {\r\n \"version\": \"1.0.1\",\r\n \"category\": \"Monitoring\"\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"type\": \"String\",\r\n \"metadata\": {\r\n \"displayName\": \"Log Analytics workspace\",\r\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\r\n \"strongType\": \"omsWorkspace\"\r\n }\r\n },\r\n \"effect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Effect\",\r\n \"description\": \"Enable or disable the execution of the policy\"\r\n }\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"setbypolicy\",\r\n \"metadata\": {\r\n \"displayName\": \"Profile name\",\r\n \"description\": \"The diagnostic settings profile name\"\r\n }\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"True\",\r\n \"allowedValues\": [\r\n \"True\",\r\n \"False\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Enable logs\",\r\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\r\n }\r\n }\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.DesktopVirtualization/applicationGroups\"\r\n },\r\n \"then\": {\r\n \"effect\": \"[parameters('effect')]\",\r\n \"details\": {\r\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\r\n \"name\": \"setByPolicy\",\r\n \"existenceCondition\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\r\n \"equals\": \"true\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\r\n \"equals\": \"[parameters('logAnalytics')]\"\r\n }\r\n ]\r\n },\r\n \"roleDefinitionIds\": [\r\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\r\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\r\n ],\r\n \"deployment\": {\r\n \"properties\": {\r\n \"mode\": \"Incremental\",\r\n \"template\": {\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\r\n \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"resourceName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logAnalytics\": {\r\n \"type\": \"String\"\r\n },\r\n \"location\": {\r\n \"type\": \"String\"\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\"\r\n }\r\n },\r\n \"variables\": {},\r\n \"resources\": [\r\n {\r\n \"type\": \"Microsoft.DesktopVirtualization/applicationGroups/providers/diagnosticSettings\",\r\n \"apiVersion\": \"2017-05-01-preview\",\r\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\r\n \"location\": \"[parameters('location')]\",\r\n \"dependsOn\": [],\r\n \"properties\": {\r\n \"workspaceId\": \"[parameters('logAnalytics')]\",\r\n \"logs\": [\r\n {\r\n \"category\": \"Checkpoint\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"Error\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"Management\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"outputs\": {}\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[parameters('logAnalytics')]\"\r\n },\r\n \"location\": {\r\n \"value\": \"[field('location')]\"\r\n },\r\n \"resourceName\": {\r\n \"value\": \"[field('name')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[parameters('profileName')]\"\r\n },\r\n \"logsEnabled\": {\r\n \"value\": \"[parameters('logsEnabled')]\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }", - "$fxv#10": "{\r\n \"name\": \"policy-set-deploy-avd-diagnostics-to-log-analytics\",\r\n \"type\": \"Microsoft.Authorization/policySetDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"policyType\": \"Custom\",\r\n \"displayName\": \"Custom - Deploy Diagnostic Settings to AVD Landing Zone\",\r\n \"description\": \"This policy set deploys the configurations of application Azure resources to forward diagnostic logs and metrics to an Azure Log Analytics workspace. See the list of policies of the services that are included \",\r\n \"metadata\": {\r\n \"version\": \"1.1.0\",\r\n \"category\": \"Monitoring\"\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"metadata\": {\r\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\r\n \"displayName\": \"Log Analytics workspace\",\r\n \"strongType\": \"omsWorkspace\"\r\n },\r\n \"type\": \"String\"\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"setbypolicy\",\r\n \"metadata\": {\r\n \"displayName\": \"Profile name\",\r\n \"description\": \"The diagnostic settings profile name\"\r\n }\r\n },\r\n \"NetworkSecurityGroupsLogAnalyticsEffect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Deploy Diagnostic Settings for Network Security Groups to Log Analytics Workspace\",\r\n \"description\": \"Deploys the diagnostic settings for Network Security Groups to stream to a Log Analytics workspace when any Network Security Groups which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\r\n }\r\n },\r\n \"NetworkNICLogAnalyticsEffect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Deploy Diagnostic Settings for Network Interfaces to Log Analytics Workspace\",\r\n \"description\": \"Deploys the diagnostic settings for Network Interfaces to stream to a Log Analytics workspace when any Network Interfaces which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\r\n }\r\n },\r\n \"VirtualNetworkLogAnalyticsEffect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Deploy Diagnostic Settings for Virtual Network to Log Analytics Workspace\",\r\n \"description\": \"Deploys the diagnostic settings for Virtual Network to stream to a Log Analytics workspace when any Virtual Network which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\r\n }\r\n },\r\n \"VirtualMachinesLogAnalyticsEffect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Deploy Diagnostic Settings for Virtual Machines to Log Analytics Workspace\",\r\n \"description\": \"Deploys the diagnostic settings for Virtual Machines to stream to a Log Analytics workspace when any Virtual Machines which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\r\n }\r\n },\r\n \"AVDScalingPlansLogAnalyticsEffect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Deploy Diagnostic Settings for AVD Scaling Plans to Log Analytics Workspace\",\r\n \"description\": \"Deploys the diagnostic settings for AVD Scaling Plans to stream to a Log Analytics workspace when any application groups which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\r\n }\r\n },\r\n \"AVDAppGroupsLogAnalyticsEffect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Deploy Diagnostic Settings for AVD Application Groups to Log Analytics Workspace\",\r\n \"description\": \"Deploys the diagnostic settings for AVD Application groups to stream to a Log Analytics workspace when any application groups which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\r\n }\r\n },\r\n \"AVDWorkspaceLogAnalyticsEffect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Deploy Diagnostic Settings for AVD Workspace to Log Analytics Workspace\",\r\n \"description\": \"Deploys the diagnostic settings for AVD Workspace to stream to a Log Analytics workspace when any Workspace which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\r\n }\r\n },\r\n \"AVDHostPoolsLogAnalyticsEffect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Deploy Diagnostic Settings for AVD Host pools to Log Analytics Workspace\",\r\n \"description\": \"Deploys the diagnostic settings for AVD Host pools to stream to a Log Analytics workspace when any host pool which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\r\n }\r\n },\r\n \"AzureFilesLogAnalyticsEffect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Deploy Diagnostic Settings for Azure Files to Log Analytics Workspace\",\r\n \"description\": \"Deploys the diagnostic settings for Azure Files to stream to a Log Analytics workspace when any Azure Files share is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\r\n }\r\n }\r\n },\r\n \"policyDefinitions\": [\r\n {\r\n \"policyDefinitionReferenceId\": \"AVDScalingPlansDeployDiagnosticLogDeployLogAnalytics\",\r\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-AVDScalingPlans\",\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[[parameters('logAnalytics')]\"\r\n },\r\n \"effect\": {\r\n \"value\": \"[[parameters('AVDScalingPlansLogAnalyticsEffect')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[[parameters('profileName')]\"\r\n }\r\n },\r\n \"groupNames\": []\r\n },\r\n {\r\n \"policyDefinitionReferenceId\": \"AVDAppGroupDeployDiagnosticLogDeployLogAnalytics\",\r\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-AVDAppGroup\",\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[[parameters('logAnalytics')]\"\r\n },\r\n \"effect\": {\r\n \"value\": \"[[parameters('AVDAppGroupsLogAnalyticsEffect')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[[parameters('profileName')]\"\r\n }\r\n },\r\n \"groupNames\": []\r\n },\r\n {\r\n \"policyDefinitionReferenceId\": \"AVDWorkspaceDeployDiagnosticLogDeployLogAnalytics\",\r\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-AVDWorkspace\",\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[[parameters('logAnalytics')]\"\r\n },\r\n \"effect\": {\r\n \"value\": \"[[parameters('AVDWorkspaceLogAnalyticsEffect')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[[parameters('profileName')]\"\r\n }\r\n },\r\n \"groupNames\": []\r\n },\r\n {\r\n \"policyDefinitionReferenceId\": \"AVDHostPoolsDeployDiagnosticLogDeployLogAnalytics\",\r\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-AVDHostPools\",\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[[parameters('logAnalytics')]\"\r\n },\r\n \"effect\": {\r\n \"value\": \"[[parameters('AVDHostPoolsLogAnalyticsEffect')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[[parameters('profileName')]\"\r\n }\r\n },\r\n \"groupNames\": []\r\n },\r\n {\r\n \"policyDefinitionReferenceId\": \"NetworkSecurityGroupsDeployDiagnosticLogDeployLogAnalytics\",\r\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-NetworkSecurityGroups\",\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[[parameters('logAnalytics')]\"\r\n },\r\n \"effect\": {\r\n \"value\": \"[[parameters('NetworkSecurityGroupsLogAnalyticsEffect')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[[parameters('profileName')]\"\r\n }\r\n },\r\n \"groupNames\": []\r\n },\r\n {\r\n \"policyDefinitionReferenceId\": \"NetworkNICDeployDiagnosticLogDeployLogAnalytics\",\r\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-NIC\",\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[[parameters('logAnalytics')]\"\r\n },\r\n \"effect\": {\r\n \"value\": \"[[parameters('NetworkNICLogAnalyticsEffect')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[[parameters('profileName')]\"\r\n }\r\n },\r\n \"groupNames\": []\r\n },\r\n {\r\n \"policyDefinitionReferenceId\": \"VirtualNetworkDeployDiagnosticLogDeployLogAnalytics\",\r\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-VirtualNetwork\",\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[[parameters('logAnalytics')]\"\r\n },\r\n \"effect\": {\r\n \"value\": \"[[parameters('VirtualNetworkLogAnalyticsEffect')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[[parameters('profileName')]\"\r\n }\r\n },\r\n \"groupNames\": []\r\n },\r\n {\r\n \"policyDefinitionReferenceId\": \"AzureFilesDeployDiagnosticLogDeployLogAnalytics\",\r\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-AzureFiles\",\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[[parameters('logAnalytics')]\"\r\n },\r\n \"effect\": {\r\n \"value\": \"[[parameters('AzureFilesLogAnalyticsEffect')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[[parameters('profileName')]\"\r\n }\r\n },\r\n \"groupNames\": []\r\n },\r\n {\r\n \"policyDefinitionReferenceId\": \"VirtualMachinesDeployDiagnosticLogDeployLogAnalytics\",\r\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-VM\",\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[[parameters('logAnalytics')]\"\r\n },\r\n \"effect\": {\r\n \"value\": \"[[parameters('VirtualMachinesLogAnalyticsEffect')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[[parameters('profileName')]\"\r\n }\r\n },\r\n \"groupNames\": []\r\n }\r\n ],\r\n \"policyDefinitionGroups\": null\r\n }\r\n }", - "$fxv#2": "{\r\n \"name\": \"policy-deploy-diagnostics-avd-host-pool\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"policyType\": \"Custom\",\r\n \"mode\": \"Indexed\",\r\n \"displayName\": \"Custom - Deploy Diagnostic Settings for AVD Host Pools to Log Analytics Workspace\",\r\n \"description\": \"Custom - Deploys the diagnostic settings for AVD Host Pools to stream to a Log Analytics workspace when any Host Pools which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all and categorys enabled.\",\r\n \"metadata\": {\r\n \"version\": \"1.1.0\",\r\n \"category\": \"Monitoring\"\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"type\": \"String\",\r\n \"metadata\": {\r\n \"displayName\": \"Log Analytics workspace\",\r\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\r\n \"strongType\": \"omsWorkspace\"\r\n }\r\n },\r\n \"effect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Effect\",\r\n \"description\": \"Enable or disable the execution of the policy\"\r\n }\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"setbypolicy\",\r\n \"metadata\": {\r\n \"displayName\": \"Profile name\",\r\n \"description\": \"The diagnostic settings profile name\"\r\n }\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"True\",\r\n \"allowedValues\": [\r\n \"True\",\r\n \"False\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Enable logs\",\r\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\r\n }\r\n }\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.DesktopVirtualization/hostpools\"\r\n },\r\n \"then\": {\r\n \"effect\": \"[parameters('effect')]\",\r\n \"details\": {\r\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\r\n \"name\": \"setByPolicy\",\r\n \"existenceCondition\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\r\n \"equals\": \"true\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\r\n \"equals\": \"[parameters('logAnalytics')]\"\r\n }\r\n ]\r\n },\r\n \"roleDefinitionIds\": [\r\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\r\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\r\n ],\r\n \"deployment\": {\r\n \"properties\": {\r\n \"mode\": \"Incremental\",\r\n \"template\": {\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\r\n \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"resourceName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logAnalytics\": {\r\n \"type\": \"String\"\r\n },\r\n \"location\": {\r\n \"type\": \"String\"\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\"\r\n }\r\n },\r\n \"variables\": {},\r\n \"resources\": [\r\n {\r\n \"type\": \"Microsoft.DesktopVirtualization/hostpools/providers/diagnosticSettings\",\r\n \"apiVersion\": \"2017-05-01-preview\",\r\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\r\n \"location\": \"[parameters('location')]\",\r\n \"dependsOn\": [],\r\n \"properties\": {\r\n \"workspaceId\": \"[parameters('logAnalytics')]\",\r\n \"logs\": [\r\n {\r\n \"category\": \"Checkpoint\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"Error\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"Management\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"Connection\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"HostRegistration\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"AgentHealthStatus\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"NetworkData\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"ConnectionGraphicsData\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"SessionHostManagement\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"outputs\": {}\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[parameters('logAnalytics')]\"\r\n },\r\n \"location\": {\r\n \"value\": \"[field('location')]\"\r\n },\r\n \"resourceName\": {\r\n \"value\": \"[field('name')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[parameters('profileName')]\"\r\n },\r\n \"logsEnabled\": {\r\n \"value\": \"[parameters('logsEnabled')]\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }", - "$fxv#3": "{\r\n \"name\": \"policy-deploy-diagnostics-avd-scaling-plan\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"policyType\": \"Custom\",\r\n \"mode\": \"Indexed\",\r\n \"displayName\": \"Custom - Deploy Diagnostic Settings for AVD Scaling Plans to Log Analytics Workspace\",\r\n \"description\": \"Custom - Deploys the diagnostic settings for AVD Scaling Plans to stream to a Log Analytics workspace when any Scaling Plan which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all and categorys enabled.\",\r\n \"metadata\": {\r\n \"version\": \"1.0.0\",\r\n \"category\": \"Monitoring\"\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"type\": \"String\",\r\n \"metadata\": {\r\n \"displayName\": \"Log Analytics workspace\",\r\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\r\n \"strongType\": \"omsWorkspace\"\r\n }\r\n },\r\n \"effect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Effect\",\r\n \"description\": \"Enable or disable the execution of the policy\"\r\n }\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"setbypolicy\",\r\n \"metadata\": {\r\n \"displayName\": \"Profile name\",\r\n \"description\": \"The diagnostic settings profile name\"\r\n }\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"True\",\r\n \"allowedValues\": [\r\n \"True\",\r\n \"False\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Enable logs\",\r\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\r\n }\r\n }\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.DesktopVirtualization/scalingplans\"\r\n },\r\n \"then\": {\r\n \"effect\": \"[parameters('effect')]\",\r\n \"details\": {\r\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\r\n \"name\": \"setByPolicy\",\r\n \"existenceCondition\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\r\n \"equals\": \"true\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\r\n \"equals\": \"[parameters('logAnalytics')]\"\r\n }\r\n ]\r\n },\r\n \"roleDefinitionIds\": [\r\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\r\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\r\n ],\r\n \"deployment\": {\r\n \"properties\": {\r\n \"mode\": \"Incremental\",\r\n \"template\": {\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\r\n \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"resourceName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logAnalytics\": {\r\n \"type\": \"String\"\r\n },\r\n \"location\": {\r\n \"type\": \"String\"\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\"\r\n }\r\n },\r\n \"variables\": {},\r\n \"resources\": [\r\n {\r\n \"type\": \"Microsoft.DesktopVirtualization/scalingplans/providers/diagnosticSettings\",\r\n \"apiVersion\": \"2017-05-01-preview\",\r\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\r\n \"location\": \"[parameters('location')]\",\r\n \"dependsOn\": [],\r\n \"properties\": {\r\n \"workspaceId\": \"[parameters('logAnalytics')]\",\r\n \"logs\": [\r\n {\r\n \"category\": \"Autoscale\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"outputs\": {}\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[parameters('logAnalytics')]\"\r\n },\r\n \"location\": {\r\n \"value\": \"[field('location')]\"\r\n },\r\n \"resourceName\": {\r\n \"value\": \"[field('name')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[parameters('profileName')]\"\r\n },\r\n \"logsEnabled\": {\r\n \"value\": \"[parameters('logsEnabled')]\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }", - "$fxv#4": "{\r\n \"name\": \"policy-deploy-diagnostics-avd-workspace\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"policyType\": \"Custom\",\r\n \"mode\": \"Indexed\",\r\n \"displayName\": \"Custom - Deploy Diagnostic Settings for AVD Workspace to Log Analytics Workspace\",\r\n \"description\": \"Custom - Deploys the diagnostic settings for AVD Workspace to stream to a Log Analytics workspace when any Workspace which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all and categorys enabled.\",\r\n \"metadata\": {\r\n \"version\": \"1.0.1\",\r\n \"category\": \"Monitoring\"\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"type\": \"String\",\r\n \"metadata\": {\r\n \"displayName\": \"Log Analytics workspace\",\r\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\r\n \"strongType\": \"omsWorkspace\"\r\n }\r\n },\r\n \"effect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Effect\",\r\n \"description\": \"Enable or disable the execution of the policy\"\r\n }\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"setbypolicy\",\r\n \"metadata\": {\r\n \"displayName\": \"Profile name\",\r\n \"description\": \"The diagnostic settings profile name\"\r\n }\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"True\",\r\n \"allowedValues\": [\r\n \"True\",\r\n \"False\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Enable logs\",\r\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\r\n }\r\n }\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.DesktopVirtualization/workspaces\"\r\n },\r\n \"then\": {\r\n \"effect\": \"[parameters('effect')]\",\r\n \"details\": {\r\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\r\n \"name\": \"setByPolicy\",\r\n \"existenceCondition\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\r\n \"equals\": \"true\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\r\n \"equals\": \"[parameters('logAnalytics')]\"\r\n }\r\n ]\r\n },\r\n \"roleDefinitionIds\": [\r\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\r\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\r\n ],\r\n \"deployment\": {\r\n \"properties\": {\r\n \"mode\": \"Incremental\",\r\n \"template\": {\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\r\n \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"resourceName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logAnalytics\": {\r\n \"type\": \"String\"\r\n },\r\n \"location\": {\r\n \"type\": \"String\"\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\"\r\n }\r\n },\r\n \"variables\": {},\r\n \"resources\": [\r\n {\r\n \"type\": \"Microsoft.DesktopVirtualization/workspaces/providers/diagnosticSettings\",\r\n \"apiVersion\": \"2017-05-01-preview\",\r\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\r\n \"location\": \"[parameters('location')]\",\r\n \"dependsOn\": [],\r\n \"properties\": {\r\n \"workspaceId\": \"[parameters('logAnalytics')]\",\r\n \"logs\": [\r\n {\r\n \"category\": \"Checkpoint\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"Error\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"Management\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"Feed\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"outputs\": {}\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[parameters('logAnalytics')]\"\r\n },\r\n \"location\": {\r\n \"value\": \"[field('location')]\"\r\n },\r\n \"resourceName\": {\r\n \"value\": \"[field('name')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[parameters('profileName')]\"\r\n },\r\n \"logsEnabled\": {\r\n \"value\": \"[parameters('logsEnabled')]\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }", - "$fxv#5": "{\r\n \"name\": \"policy-deploy-diagnostics-network-security-group\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"policyType\": \"Custom\",\r\n \"mode\": \"Indexed\",\r\n \"displayName\": \"Custom - Deploy Diagnostic Settings for Network Security Groups to Log Analytics Workspace\",\r\n \"description\": \"Custom - Deploys the diagnostic settings for Network Security Groups to stream to a Log Analytics workspace when any Network Security Groups which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\",\r\n \"metadata\": {\r\n \"version\": \"1.0.0\",\r\n \"category\": \"Monitoring\"\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"type\": \"String\",\r\n \"metadata\": {\r\n \"displayName\": \"Log Analytics workspace\",\r\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\r\n \"strongType\": \"omsWorkspace\"\r\n }\r\n },\r\n \"effect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Effect\",\r\n \"description\": \"Enable or disable the execution of the policy\"\r\n }\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"setbypolicy\",\r\n \"metadata\": {\r\n \"displayName\": \"Profile name\",\r\n \"description\": \"The diagnostic settings profile name\"\r\n }\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"True\",\r\n \"allowedValues\": [\r\n \"True\",\r\n \"False\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Enable logs\",\r\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\r\n }\r\n }\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.Network/networkSecurityGroups\"\r\n },\r\n \"then\": {\r\n \"effect\": \"[parameters('effect')]\",\r\n \"details\": {\r\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\r\n \"name\": \"setByPolicy\",\r\n \"existenceCondition\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\r\n \"equals\": \"true\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\r\n \"equals\": \"[parameters('logAnalytics')]\"\r\n }\r\n ]\r\n },\r\n \"roleDefinitionIds\": [\r\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\r\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\r\n ],\r\n \"deployment\": {\r\n \"properties\": {\r\n \"mode\": \"Incremental\",\r\n \"template\": {\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\r\n \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"resourceName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logAnalytics\": {\r\n \"type\": \"String\"\r\n },\r\n \"location\": {\r\n \"type\": \"String\"\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\"\r\n }\r\n },\r\n \"variables\": {},\r\n \"resources\": [\r\n {\r\n \"type\": \"Microsoft.Network/networkSecurityGroups/providers/diagnosticSettings\",\r\n \"apiVersion\": \"2017-05-01-preview\",\r\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\r\n \"location\": \"[parameters('location')]\",\r\n \"dependsOn\": [],\r\n \"properties\": {\r\n \"workspaceId\": \"[parameters('logAnalytics')]\",\r\n \"metrics\": [],\r\n \"logs\": [\r\n {\r\n \"category\": \"NetworkSecurityGroupEvent\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"NetworkSecurityGroupRuleCounter\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"outputs\": {}\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[parameters('logAnalytics')]\"\r\n },\r\n \"location\": {\r\n \"value\": \"[field('location')]\"\r\n },\r\n \"resourceName\": {\r\n \"value\": \"[field('name')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[parameters('profileName')]\"\r\n },\r\n \"logsEnabled\": {\r\n \"value\": \"[parameters('logsEnabled')]\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }", - "$fxv#6": "{\r\n \"name\": \"policy-deploy-diagnostics-nic\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"policyType\": \"Custom\",\r\n \"mode\": \"Indexed\",\r\n \"displayName\": \"Custom - Deploy Diagnostic Settings for Network Interfaces to Log Analytics Workspace\",\r\n \"description\": \"Custom - Deploys the diagnostic settings for Network Interfaces to stream to a Log Analytics workspace when any Network Interfaces which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\",\r\n \"metadata\": {\r\n \"version\": \"1.0.0\",\r\n \"category\": \"Monitoring\"\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"type\": \"String\",\r\n \"metadata\": {\r\n \"displayName\": \"Log Analytics workspace\",\r\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\r\n \"strongType\": \"omsWorkspace\"\r\n }\r\n },\r\n \"effect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Effect\",\r\n \"description\": \"Enable or disable the execution of the policy\"\r\n }\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"setbypolicy\",\r\n \"metadata\": {\r\n \"displayName\": \"Profile name\",\r\n \"description\": \"The diagnostic settings profile name\"\r\n }\r\n },\r\n \"metricsEnabled\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"True\",\r\n \"allowedValues\": [\r\n \"True\",\r\n \"False\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Enable metrics\",\r\n \"description\": \"Whether to enable metrics stream to the Log Analytics workspace - True or False\"\r\n }\r\n }\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.Network/networkInterfaces\"\r\n },\r\n \"then\": {\r\n \"effect\": \"[parameters('effect')]\",\r\n \"details\": {\r\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\r\n \"name\": \"setByPolicy\",\r\n \"existenceCondition\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/metrics.enabled\",\r\n \"equals\": \"true\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\r\n \"equals\": \"[parameters('logAnalytics')]\"\r\n }\r\n ]\r\n },\r\n \"roleDefinitionIds\": [\r\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\r\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\r\n ],\r\n \"deployment\": {\r\n \"properties\": {\r\n \"mode\": \"Incremental\",\r\n \"template\": {\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\r\n \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"resourceName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logAnalytics\": {\r\n \"type\": \"String\"\r\n },\r\n \"location\": {\r\n \"type\": \"String\"\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\"\r\n },\r\n \"metricsEnabled\": {\r\n \"type\": \"String\"\r\n }\r\n },\r\n \"variables\": {},\r\n \"resources\": [\r\n {\r\n \"type\": \"Microsoft.Network/networkInterfaces/providers/diagnosticSettings\",\r\n \"apiVersion\": \"2017-05-01-preview\",\r\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\r\n \"location\": \"[parameters('location')]\",\r\n \"dependsOn\": [],\r\n \"properties\": {\r\n \"workspaceId\": \"[parameters('logAnalytics')]\",\r\n \"metrics\": [\r\n {\r\n \"category\": \"AllMetrics\",\r\n \"timeGrain\": null,\r\n \"enabled\": \"[parameters('metricsEnabled')]\",\r\n \"retentionPolicy\": {\r\n \"enabled\": false,\r\n \"days\": 0\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"outputs\": {}\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[parameters('logAnalytics')]\"\r\n },\r\n \"location\": {\r\n \"value\": \"[field('location')]\"\r\n },\r\n \"resourceName\": {\r\n \"value\": \"[field('name')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[parameters('profileName')]\"\r\n },\r\n \"metricsEnabled\": {\r\n \"value\": \"[parameters('metricsEnabled')]\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }", - "$fxv#7": "{\r\n \"name\": \"policy-deploy-diagnostics-virtual-machine\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"policyType\": \"Custom\",\r\n \"mode\": \"Indexed\",\r\n \"displayName\": \"Custom - Deploy Diagnostic Settings for Virtual Machines to Log Analytics Workspace\",\r\n \"description\": \"CUstom - Deploys the diagnostic settings for Virtual Machines to stream to a Log Analytics workspace when any Virtual Machines which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\",\r\n \"metadata\": {\r\n \"version\": \"1.0.0\",\r\n \"category\": \"Monitoring\"\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"type\": \"String\",\r\n \"metadata\": {\r\n \"displayName\": \"Log Analytics workspace\",\r\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\r\n \"strongType\": \"omsWorkspace\"\r\n }\r\n },\r\n \"effect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Effect\",\r\n \"description\": \"Enable or disable the execution of the policy\"\r\n }\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"setbypolicy\",\r\n \"metadata\": {\r\n \"displayName\": \"Profile name\",\r\n \"description\": \"The diagnostic settings profile name\"\r\n }\r\n },\r\n \"metricsEnabled\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"True\",\r\n \"allowedValues\": [\r\n \"True\",\r\n \"False\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Enable metrics\",\r\n \"description\": \"Whether to enable metrics stream to the Log Analytics workspace - True or False\"\r\n }\r\n }\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.Compute/virtualMachines\"\r\n },\r\n \"then\": {\r\n \"effect\": \"[parameters('effect')]\",\r\n \"details\": {\r\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\r\n \"name\": \"setByPolicy\",\r\n \"existenceCondition\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/metrics.enabled\",\r\n \"equals\": \"true\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\r\n \"equals\": \"[parameters('logAnalytics')]\"\r\n }\r\n ]\r\n },\r\n \"roleDefinitionIds\": [\r\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\r\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\r\n ],\r\n \"deployment\": {\r\n \"properties\": {\r\n \"mode\": \"Incremental\",\r\n \"template\": {\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\r\n \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"resourceName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logAnalytics\": {\r\n \"type\": \"String\"\r\n },\r\n \"location\": {\r\n \"type\": \"String\"\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\"\r\n },\r\n \"metricsEnabled\": {\r\n \"type\": \"String\"\r\n }\r\n },\r\n \"variables\": {},\r\n \"resources\": [\r\n {\r\n \"type\": \"Microsoft.Compute/virtualMachines/providers/diagnosticSettings\",\r\n \"apiVersion\": \"2017-05-01-preview\",\r\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\r\n \"location\": \"[parameters('location')]\",\r\n \"dependsOn\": [],\r\n \"properties\": {\r\n \"workspaceId\": \"[parameters('logAnalytics')]\",\r\n \"metrics\": [\r\n {\r\n \"category\": \"AllMetrics\",\r\n \"enabled\": \"[parameters('metricsEnabled')]\",\r\n \"retentionPolicy\": {\r\n \"enabled\": false,\r\n \"days\": 0\r\n }\r\n }\r\n ],\r\n \"logs\": []\r\n }\r\n }\r\n ],\r\n \"outputs\": {}\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[parameters('logAnalytics')]\"\r\n },\r\n \"location\": {\r\n \"value\": \"[field('location')]\"\r\n },\r\n \"resourceName\": {\r\n \"value\": \"[field('name')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[parameters('profileName')]\"\r\n },\r\n \"metricsEnabled\": {\r\n \"value\": \"[parameters('metricsEnabled')]\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }", - "$fxv#8": "{\r\n \"name\": \"policy-deploy-diagnostics-virtual-network\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"policyType\": \"Custom\",\r\n \"mode\": \"Indexed\",\r\n \"displayName\": \"Custom - Deploy Diagnostic Settings for Virtual Network to Log Analytics Workspace\",\r\n \"description\": \"Custom - Deploys the diagnostic settings for Virtual Network to stream to a Log Analytics workspace when any Virtual Network which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\",\r\n \"metadata\": {\r\n \"version\": \"1.0.0\",\r\n \"category\": \"Monitoring\"\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"type\": \"String\",\r\n \"metadata\": {\r\n \"displayName\": \"Log Analytics workspace\",\r\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\r\n \"strongType\": \"omsWorkspace\"\r\n }\r\n },\r\n \"effect\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"DeployIfNotExists\",\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Effect\",\r\n \"description\": \"Enable or disable the execution of the policy\"\r\n }\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"setbypolicy\",\r\n \"metadata\": {\r\n \"displayName\": \"Profile name\",\r\n \"description\": \"The diagnostic settings profile name\"\r\n }\r\n },\r\n \"metricsEnabled\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"True\",\r\n \"allowedValues\": [\r\n \"True\",\r\n \"False\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Enable metrics\",\r\n \"description\": \"Whether to enable metrics stream to the Log Analytics workspace - True or False\"\r\n }\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\",\r\n \"defaultValue\": \"True\",\r\n \"allowedValues\": [\r\n \"True\",\r\n \"False\"\r\n ],\r\n \"metadata\": {\r\n \"displayName\": \"Enable logs\",\r\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\r\n }\r\n }\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.Network/virtualNetworks\"\r\n },\r\n \"then\": {\r\n \"effect\": \"[parameters('effect')]\",\r\n \"details\": {\r\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\r\n \"name\": \"setByPolicy\",\r\n \"existenceCondition\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\r\n \"equals\": \"true\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/metrics.enabled\",\r\n \"equals\": \"true\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\r\n \"equals\": \"[parameters('logAnalytics')]\"\r\n }\r\n ]\r\n },\r\n \"roleDefinitionIds\": [\r\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\r\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\r\n ],\r\n \"deployment\": {\r\n \"properties\": {\r\n \"mode\": \"Incremental\",\r\n \"template\": {\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\r\n \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"resourceName\": {\r\n \"type\": \"String\"\r\n },\r\n \"logAnalytics\": {\r\n \"type\": \"String\"\r\n },\r\n \"location\": {\r\n \"type\": \"String\"\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\"\r\n },\r\n \"metricsEnabled\": {\r\n \"type\": \"String\"\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"String\"\r\n }\r\n },\r\n \"variables\": {},\r\n \"resources\": [\r\n {\r\n \"type\": \"Microsoft.Network/virtualNetworks/providers/diagnosticSettings\",\r\n \"apiVersion\": \"2017-05-01-preview\",\r\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\r\n \"location\": \"[parameters('location')]\",\r\n \"dependsOn\": [],\r\n \"properties\": {\r\n \"workspaceId\": \"[parameters('logAnalytics')]\",\r\n \"metrics\": [\r\n {\r\n \"category\": \"AllMetrics\",\r\n \"enabled\": \"[parameters('metricsEnabled')]\",\r\n \"retentionPolicy\": {\r\n \"enabled\": false,\r\n \"days\": 0\r\n }\r\n }\r\n ],\r\n \"logs\": [\r\n {\r\n \"category\": \"VMProtectionAlerts\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"outputs\": {}\r\n },\r\n \"parameters\": {\r\n \"logAnalytics\": {\r\n \"value\": \"[parameters('logAnalytics')]\"\r\n },\r\n \"location\": {\r\n \"value\": \"[field('location')]\"\r\n },\r\n \"resourceName\": {\r\n \"value\": \"[field('name')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[parameters('profileName')]\"\r\n },\r\n \"metricsEnabled\": {\r\n \"value\": \"[parameters('metricsEnabled')]\"\r\n },\r\n \"logsEnabled\": {\r\n \"value\": \"[parameters('logsEnabled')]\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }", - "$fxv#9": "{\r\n \"name\": \"policy-deploy-diagnostics-azure-files\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"policyType\": \"Custom\",\r\n \"mode\": \"All\",\r\n \"displayName\": \"Custom - Deploy Diagnostic Settings for Azure Files to Log Analytics Workspace\",\r\n \"description\": \"Custom - Deploys the diagnostic settings for File Services to stream resource logs to a Log Analytics workspace when any file Service which is missing this diagnostic settings is created or updated.\",\r\n \"metadata\": {\r\n \"version\": \"1.0.0\",\r\n \"category\": \"Monitoring\"\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.Storage/storageAccounts/fileServices\"\r\n },\r\n \"then\": {\r\n \"effect\": \"[parameters('effect')]\",\r\n \"details\": {\r\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\r\n \"name\": \"[parameters('profileName')]\",\r\n \"existenceCondition\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\r\n \"equals\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/metrics.enabled\",\r\n \"equals\": \"[parameters('metricsEnabled')]\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\r\n \"equals\": \"[parameters('logAnalytics')]\"\r\n }\r\n ]\r\n },\r\n \"roleDefinitionIds\": [\r\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\r\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\r\n ],\r\n \"deployment\": {\r\n \"properties\": {\r\n \"mode\": \"incremental\",\r\n \"template\": {\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\r\n \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"resourceName\": {\r\n \"type\": \"string\"\r\n },\r\n \"location\": {\r\n \"type\": \"string\"\r\n },\r\n \"logAnalytics\": {\r\n \"type\": \"string\"\r\n },\r\n \"metricsEnabled\": {\r\n \"type\": \"bool\"\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"bool\"\r\n },\r\n \"profileName\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"variables\": {},\r\n \"resources\": [\r\n {\r\n \"type\": \"Microsoft.Storage/storageAccounts/fileServices/providers/diagnosticSettings\",\r\n \"apiVersion\": \"2021-05-01-preview\",\r\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\r\n \"location\": \"[parameters('location')]\",\r\n \"dependsOn\": [],\r\n \"properties\": {\r\n \"workspaceId\": \"[parameters('logAnalytics')]\",\r\n \"metrics\": [\r\n {\r\n \"category\": \"Transaction\",\r\n \"enabled\": \"[parameters('metricsEnabled')]\"\r\n }\r\n ],\r\n \"logs\": [\r\n {\r\n \"category\": \"StorageRead\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"StorageWrite\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n },\r\n {\r\n \"category\": \"StorageDelete\",\r\n \"enabled\": \"[parameters('logsEnabled')]\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"outputs\": {}\r\n },\r\n \"parameters\": {\r\n \"location\": {\r\n \"value\": \"[field('location')]\"\r\n },\r\n \"resourceName\": {\r\n \"value\": \"[field('fullName')]\"\r\n },\r\n \"logAnalytics\": {\r\n \"value\": \"[parameters('logAnalytics')]\"\r\n },\r\n \"metricsEnabled\": {\r\n \"value\": \"[parameters('metricsEnabled')]\"\r\n },\r\n \"logsEnabled\": {\r\n \"value\": \"[parameters('logsEnabled')]\"\r\n },\r\n \"profileName\": {\r\n \"value\": \"[parameters('profileName')]\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"parameters\": {\r\n \"effect\": {\r\n \"type\": \"String\",\r\n \"metadata\": {\r\n \"displayName\": \"Effect\",\r\n \"description\": \"Enable or disable the execution of the policy\"\r\n },\r\n \"allowedValues\": [\r\n \"DeployIfNotExists\",\r\n \"AuditIfNotExists\",\r\n \"Disabled\"\r\n ],\r\n \"defaultValue\": \"DeployIfNotExists\"\r\n },\r\n \"profileName\": {\r\n \"type\": \"String\",\r\n \"metadata\": {\r\n \"displayName\": \"Profile name\",\r\n \"description\": \"The diagnostic settings profile name\"\r\n },\r\n \"defaultValue\": \"setbypolicy\"\r\n },\r\n \"logAnalytics\": {\r\n \"type\": \"String\",\r\n \"metadata\": {\r\n \"displayName\": \"Log Analytics workspace\",\r\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\r\n \"strongType\": \"omsWorkspace\",\r\n \"assignPermissions\": true\r\n }\r\n },\r\n \"metricsEnabled\": {\r\n \"type\": \"Boolean\",\r\n \"metadata\": {\r\n \"displayName\": \"Enable metrics\",\r\n \"description\": \"Whether to enable metrics stream to the Log Analytics workspace - True or False\"\r\n },\r\n \"allowedValues\": [\r\n true,\r\n false\r\n ],\r\n \"defaultValue\": true\r\n },\r\n \"logsEnabled\": {\r\n \"type\": \"Boolean\",\r\n \"metadata\": {\r\n \"displayName\": \"Enable logs\",\r\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\r\n },\r\n \"allowedValues\": [\r\n true,\r\n false\r\n ],\r\n \"defaultValue\": true\r\n }\r\n }\r\n }\r\n}", + "$fxv#1": "{\n \"name\": \"policy-deploy-diagnostics-avd-application-group\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"policyType\": \"Custom\",\n \"mode\": \"Indexed\",\n \"displayName\": \"Custom - Deploy Diagnostic Settings for AVD Application group to Log Analytics Workspace\",\n \"description\": \"Custom - Deploys the diagnostic settings for AVD Application group to stream to a Log Analytics workspace when any application group which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all and categorys enabled.\",\n \"metadata\": {\n \"version\": \"1.0.1\",\n \"category\": \"Monitoring\"\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"type\": \"String\",\n \"metadata\": {\n \"displayName\": \"Log Analytics workspace\",\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\n \"strongType\": \"omsWorkspace\"\n }\n },\n \"effect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Effect\",\n \"description\": \"Enable or disable the execution of the policy\"\n }\n },\n \"profileName\": {\n \"type\": \"String\",\n \"defaultValue\": \"setbypolicy\",\n \"metadata\": {\n \"displayName\": \"Profile name\",\n \"description\": \"The diagnostic settings profile name\"\n }\n },\n \"logsEnabled\": {\n \"type\": \"String\",\n \"defaultValue\": \"True\",\n \"allowedValues\": [\n \"True\",\n \"False\"\n ],\n \"metadata\": {\n \"displayName\": \"Enable logs\",\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\n }\n }\n },\n \"policyRule\": {\n \"if\": {\n \"field\": \"type\",\n \"equals\": \"Microsoft.DesktopVirtualization/applicationGroups\"\n },\n \"then\": {\n \"effect\": \"[parameters('effect')]\",\n \"details\": {\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\n \"name\": \"setByPolicy\",\n \"existenceCondition\": {\n \"allOf\": [\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\n \"equals\": \"true\"\n },\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\n \"equals\": \"[parameters('logAnalytics')]\"\n }\n ]\n },\n \"roleDefinitionIds\": [\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\n ],\n \"deployment\": {\n \"properties\": {\n \"mode\": \"Incremental\",\n \"template\": {\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"resourceName\": {\n \"type\": \"String\"\n },\n \"logAnalytics\": {\n \"type\": \"String\"\n },\n \"location\": {\n \"type\": \"String\"\n },\n \"profileName\": {\n \"type\": \"String\"\n },\n \"logsEnabled\": {\n \"type\": \"String\"\n }\n },\n \"variables\": {},\n \"resources\": [\n {\n \"type\": \"Microsoft.DesktopVirtualization/applicationGroups/providers/diagnosticSettings\",\n \"apiVersion\": \"2017-05-01-preview\",\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\n \"location\": \"[parameters('location')]\",\n \"dependsOn\": [],\n \"properties\": {\n \"workspaceId\": \"[parameters('logAnalytics')]\",\n \"logs\": [\n {\n \"category\": \"Checkpoint\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"Error\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"Management\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n }\n ]\n }\n }\n ],\n \"outputs\": {}\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[parameters('logAnalytics')]\"\n },\n \"location\": {\n \"value\": \"[field('location')]\"\n },\n \"resourceName\": {\n \"value\": \"[field('name')]\"\n },\n \"profileName\": {\n \"value\": \"[parameters('profileName')]\"\n },\n \"logsEnabled\": {\n \"value\": \"[parameters('logsEnabled')]\"\n }\n }\n }\n }\n }\n }\n }\n }\n }", + "$fxv#10": "{\n \"name\": \"policy-set-deploy-avd-diagnostics-to-log-analytics\",\n \"type\": \"Microsoft.Authorization/policySetDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"policyType\": \"Custom\",\n \"displayName\": \"Custom - Deploy Diagnostic Settings to AVD Landing Zone\",\n \"description\": \"This policy set deploys the configurations of application Azure resources to forward diagnostic logs and metrics to an Azure Log Analytics workspace. See the list of policies of the services that are included \",\n \"metadata\": {\n \"version\": \"1.1.0\",\n \"category\": \"Monitoring\"\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"metadata\": {\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\n \"displayName\": \"Log Analytics workspace\",\n \"strongType\": \"omsWorkspace\"\n },\n \"type\": \"String\"\n },\n \"profileName\": {\n \"type\": \"String\",\n \"defaultValue\": \"setbypolicy\",\n \"metadata\": {\n \"displayName\": \"Profile name\",\n \"description\": \"The diagnostic settings profile name\"\n }\n },\n \"NetworkSecurityGroupsLogAnalyticsEffect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Deploy Diagnostic Settings for Network Security Groups to Log Analytics Workspace\",\n \"description\": \"Deploys the diagnostic settings for Network Security Groups to stream to a Log Analytics workspace when any Network Security Groups which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\n }\n },\n \"NetworkNICLogAnalyticsEffect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Deploy Diagnostic Settings for Network Interfaces to Log Analytics Workspace\",\n \"description\": \"Deploys the diagnostic settings for Network Interfaces to stream to a Log Analytics workspace when any Network Interfaces which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\n }\n },\n \"VirtualNetworkLogAnalyticsEffect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Deploy Diagnostic Settings for Virtual Network to Log Analytics Workspace\",\n \"description\": \"Deploys the diagnostic settings for Virtual Network to stream to a Log Analytics workspace when any Virtual Network which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\n }\n },\n \"VirtualMachinesLogAnalyticsEffect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Deploy Diagnostic Settings for Virtual Machines to Log Analytics Workspace\",\n \"description\": \"Deploys the diagnostic settings for Virtual Machines to stream to a Log Analytics workspace when any Virtual Machines which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\n }\n },\n \"AVDScalingPlansLogAnalyticsEffect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Deploy Diagnostic Settings for AVD Scaling Plans to Log Analytics Workspace\",\n \"description\": \"Deploys the diagnostic settings for AVD Scaling Plans to stream to a Log Analytics workspace when any application groups which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\n }\n },\n \"AVDAppGroupsLogAnalyticsEffect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Deploy Diagnostic Settings for AVD Application Groups to Log Analytics Workspace\",\n \"description\": \"Deploys the diagnostic settings for AVD Application groups to stream to a Log Analytics workspace when any application groups which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\n }\n },\n \"AVDWorkspaceLogAnalyticsEffect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Deploy Diagnostic Settings for AVD Workspace to Log Analytics Workspace\",\n \"description\": \"Deploys the diagnostic settings for AVD Workspace to stream to a Log Analytics workspace when any Workspace which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\n }\n },\n \"AVDHostPoolsLogAnalyticsEffect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Deploy Diagnostic Settings for AVD Host pools to Log Analytics Workspace\",\n \"description\": \"Deploys the diagnostic settings for AVD Host pools to stream to a Log Analytics workspace when any host pool which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\n }\n },\n \"AzureFilesLogAnalyticsEffect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Deploy Diagnostic Settings for Azure Files to Log Analytics Workspace\",\n \"description\": \"Deploys the diagnostic settings for Azure Files to stream to a Log Analytics workspace when any Azure Files share is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\"\n }\n }\n },\n \"policyDefinitions\": [\n {\n \"policyDefinitionReferenceId\": \"AVDScalingPlansDeployDiagnosticLogDeployLogAnalytics\",\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-AVDScalingPlans\",\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[[parameters('logAnalytics')]\"\n },\n \"effect\": {\n \"value\": \"[[parameters('AVDScalingPlansLogAnalyticsEffect')]\"\n },\n \"profileName\": {\n \"value\": \"[[parameters('profileName')]\"\n }\n },\n \"groupNames\": []\n },\n {\n \"policyDefinitionReferenceId\": \"AVDAppGroupDeployDiagnosticLogDeployLogAnalytics\",\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-AVDAppGroup\",\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[[parameters('logAnalytics')]\"\n },\n \"effect\": {\n \"value\": \"[[parameters('AVDAppGroupsLogAnalyticsEffect')]\"\n },\n \"profileName\": {\n \"value\": \"[[parameters('profileName')]\"\n }\n },\n \"groupNames\": []\n },\n {\n \"policyDefinitionReferenceId\": \"AVDWorkspaceDeployDiagnosticLogDeployLogAnalytics\",\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-AVDWorkspace\",\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[[parameters('logAnalytics')]\"\n },\n \"effect\": {\n \"value\": \"[[parameters('AVDWorkspaceLogAnalyticsEffect')]\"\n },\n \"profileName\": {\n \"value\": \"[[parameters('profileName')]\"\n }\n },\n \"groupNames\": []\n },\n {\n \"policyDefinitionReferenceId\": \"AVDHostPoolsDeployDiagnosticLogDeployLogAnalytics\",\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-AVDHostPools\",\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[[parameters('logAnalytics')]\"\n },\n \"effect\": {\n \"value\": \"[[parameters('AVDHostPoolsLogAnalyticsEffect')]\"\n },\n \"profileName\": {\n \"value\": \"[[parameters('profileName')]\"\n }\n },\n \"groupNames\": []\n },\n {\n \"policyDefinitionReferenceId\": \"NetworkSecurityGroupsDeployDiagnosticLogDeployLogAnalytics\",\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-NetworkSecurityGroups\",\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[[parameters('logAnalytics')]\"\n },\n \"effect\": {\n \"value\": \"[[parameters('NetworkSecurityGroupsLogAnalyticsEffect')]\"\n },\n \"profileName\": {\n \"value\": \"[[parameters('profileName')]\"\n }\n },\n \"groupNames\": []\n },\n {\n \"policyDefinitionReferenceId\": \"NetworkNICDeployDiagnosticLogDeployLogAnalytics\",\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-NIC\",\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[[parameters('logAnalytics')]\"\n },\n \"effect\": {\n \"value\": \"[[parameters('NetworkNICLogAnalyticsEffect')]\"\n },\n \"profileName\": {\n \"value\": \"[[parameters('profileName')]\"\n }\n },\n \"groupNames\": []\n },\n {\n \"policyDefinitionReferenceId\": \"VirtualNetworkDeployDiagnosticLogDeployLogAnalytics\",\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-VirtualNetwork\",\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[[parameters('logAnalytics')]\"\n },\n \"effect\": {\n \"value\": \"[[parameters('VirtualNetworkLogAnalyticsEffect')]\"\n },\n \"profileName\": {\n \"value\": \"[[parameters('profileName')]\"\n }\n },\n \"groupNames\": []\n },\n {\n \"policyDefinitionReferenceId\": \"AzureFilesDeployDiagnosticLogDeployLogAnalytics\",\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-AzureFiles\",\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[[parameters('logAnalytics')]\"\n },\n \"effect\": {\n \"value\": \"[[parameters('AzureFilesLogAnalyticsEffect')]\"\n },\n \"profileName\": {\n \"value\": \"[[parameters('profileName')]\"\n }\n },\n \"groupNames\": []\n },\n {\n \"policyDefinitionReferenceId\": \"VirtualMachinesDeployDiagnosticLogDeployLogAnalytics\",\n \"policyDefinitionId\": \"${avdWorkloadSubsId}/providers/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-VM\",\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[[parameters('logAnalytics')]\"\n },\n \"effect\": {\n \"value\": \"[[parameters('VirtualMachinesLogAnalyticsEffect')]\"\n },\n \"profileName\": {\n \"value\": \"[[parameters('profileName')]\"\n }\n },\n \"groupNames\": []\n }\n ],\n \"policyDefinitionGroups\": null\n }\n }", + "$fxv#2": "{\n \"name\": \"policy-deploy-diagnostics-avd-host-pool\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"policyType\": \"Custom\",\n \"mode\": \"Indexed\",\n \"displayName\": \"Custom - Deploy Diagnostic Settings for AVD Host Pools to Log Analytics Workspace\",\n \"description\": \"Custom - Deploys the diagnostic settings for AVD Host Pools to stream to a Log Analytics workspace when any Host Pools which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all and categorys enabled.\",\n \"metadata\": {\n \"version\": \"1.1.0\",\n \"category\": \"Monitoring\"\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"type\": \"String\",\n \"metadata\": {\n \"displayName\": \"Log Analytics workspace\",\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\n \"strongType\": \"omsWorkspace\"\n }\n },\n \"effect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Effect\",\n \"description\": \"Enable or disable the execution of the policy\"\n }\n },\n \"profileName\": {\n \"type\": \"String\",\n \"defaultValue\": \"setbypolicy\",\n \"metadata\": {\n \"displayName\": \"Profile name\",\n \"description\": \"The diagnostic settings profile name\"\n }\n },\n \"logsEnabled\": {\n \"type\": \"String\",\n \"defaultValue\": \"True\",\n \"allowedValues\": [\n \"True\",\n \"False\"\n ],\n \"metadata\": {\n \"displayName\": \"Enable logs\",\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\n }\n }\n },\n \"policyRule\": {\n \"if\": {\n \"field\": \"type\",\n \"equals\": \"Microsoft.DesktopVirtualization/hostpools\"\n },\n \"then\": {\n \"effect\": \"[parameters('effect')]\",\n \"details\": {\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\n \"name\": \"setByPolicy\",\n \"existenceCondition\": {\n \"allOf\": [\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\n \"equals\": \"true\"\n },\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\n \"equals\": \"[parameters('logAnalytics')]\"\n }\n ]\n },\n \"roleDefinitionIds\": [\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\n ],\n \"deployment\": {\n \"properties\": {\n \"mode\": \"Incremental\",\n \"template\": {\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"resourceName\": {\n \"type\": \"String\"\n },\n \"logAnalytics\": {\n \"type\": \"String\"\n },\n \"location\": {\n \"type\": \"String\"\n },\n \"profileName\": {\n \"type\": \"String\"\n },\n \"logsEnabled\": {\n \"type\": \"String\"\n }\n },\n \"variables\": {},\n \"resources\": [\n {\n \"type\": \"Microsoft.DesktopVirtualization/hostpools/providers/diagnosticSettings\",\n \"apiVersion\": \"2017-05-01-preview\",\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\n \"location\": \"[parameters('location')]\",\n \"dependsOn\": [],\n \"properties\": {\n \"workspaceId\": \"[parameters('logAnalytics')]\",\n \"logs\": [\n {\n \"category\": \"Checkpoint\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"Error\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"Management\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"Connection\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"HostRegistration\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"AgentHealthStatus\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"NetworkData\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"ConnectionGraphicsData\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"SessionHostManagement\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n }\n ]\n }\n }\n ],\n \"outputs\": {}\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[parameters('logAnalytics')]\"\n },\n \"location\": {\n \"value\": \"[field('location')]\"\n },\n \"resourceName\": {\n \"value\": \"[field('name')]\"\n },\n \"profileName\": {\n \"value\": \"[parameters('profileName')]\"\n },\n \"logsEnabled\": {\n \"value\": \"[parameters('logsEnabled')]\"\n }\n }\n }\n }\n }\n }\n }\n }\n }", + "$fxv#3": "{\n \"name\": \"policy-deploy-diagnostics-avd-scaling-plan\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"policyType\": \"Custom\",\n \"mode\": \"Indexed\",\n \"displayName\": \"Custom - Deploy Diagnostic Settings for AVD Scaling Plans to Log Analytics Workspace\",\n \"description\": \"Custom - Deploys the diagnostic settings for AVD Scaling Plans to stream to a Log Analytics workspace when any Scaling Plan which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all and categorys enabled.\",\n \"metadata\": {\n \"version\": \"1.0.0\",\n \"category\": \"Monitoring\"\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"type\": \"String\",\n \"metadata\": {\n \"displayName\": \"Log Analytics workspace\",\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\n \"strongType\": \"omsWorkspace\"\n }\n },\n \"effect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Effect\",\n \"description\": \"Enable or disable the execution of the policy\"\n }\n },\n \"profileName\": {\n \"type\": \"String\",\n \"defaultValue\": \"setbypolicy\",\n \"metadata\": {\n \"displayName\": \"Profile name\",\n \"description\": \"The diagnostic settings profile name\"\n }\n },\n \"logsEnabled\": {\n \"type\": \"String\",\n \"defaultValue\": \"True\",\n \"allowedValues\": [\n \"True\",\n \"False\"\n ],\n \"metadata\": {\n \"displayName\": \"Enable logs\",\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\n }\n }\n },\n \"policyRule\": {\n \"if\": {\n \"field\": \"type\",\n \"equals\": \"Microsoft.DesktopVirtualization/scalingplans\"\n },\n \"then\": {\n \"effect\": \"[parameters('effect')]\",\n \"details\": {\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\n \"name\": \"setByPolicy\",\n \"existenceCondition\": {\n \"allOf\": [\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\n \"equals\": \"true\"\n },\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\n \"equals\": \"[parameters('logAnalytics')]\"\n }\n ]\n },\n \"roleDefinitionIds\": [\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\n ],\n \"deployment\": {\n \"properties\": {\n \"mode\": \"Incremental\",\n \"template\": {\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"resourceName\": {\n \"type\": \"String\"\n },\n \"logAnalytics\": {\n \"type\": \"String\"\n },\n \"location\": {\n \"type\": \"String\"\n },\n \"profileName\": {\n \"type\": \"String\"\n },\n \"logsEnabled\": {\n \"type\": \"String\"\n }\n },\n \"variables\": {},\n \"resources\": [\n {\n \"type\": \"Microsoft.DesktopVirtualization/scalingplans/providers/diagnosticSettings\",\n \"apiVersion\": \"2017-05-01-preview\",\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\n \"location\": \"[parameters('location')]\",\n \"dependsOn\": [],\n \"properties\": {\n \"workspaceId\": \"[parameters('logAnalytics')]\",\n \"logs\": [\n {\n \"category\": \"Autoscale\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n }\n ]\n }\n }\n ],\n \"outputs\": {}\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[parameters('logAnalytics')]\"\n },\n \"location\": {\n \"value\": \"[field('location')]\"\n },\n \"resourceName\": {\n \"value\": \"[field('name')]\"\n },\n \"profileName\": {\n \"value\": \"[parameters('profileName')]\"\n },\n \"logsEnabled\": {\n \"value\": \"[parameters('logsEnabled')]\"\n }\n }\n }\n }\n }\n }\n }\n }\n }", + "$fxv#4": "{\n \"name\": \"policy-deploy-diagnostics-avd-workspace\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"policyType\": \"Custom\",\n \"mode\": \"Indexed\",\n \"displayName\": \"Custom - Deploy Diagnostic Settings for AVD Workspace to Log Analytics Workspace\",\n \"description\": \"Custom - Deploys the diagnostic settings for AVD Workspace to stream to a Log Analytics workspace when any Workspace which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all and categorys enabled.\",\n \"metadata\": {\n \"version\": \"1.0.1\",\n \"category\": \"Monitoring\"\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"type\": \"String\",\n \"metadata\": {\n \"displayName\": \"Log Analytics workspace\",\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\n \"strongType\": \"omsWorkspace\"\n }\n },\n \"effect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Effect\",\n \"description\": \"Enable or disable the execution of the policy\"\n }\n },\n \"profileName\": {\n \"type\": \"String\",\n \"defaultValue\": \"setbypolicy\",\n \"metadata\": {\n \"displayName\": \"Profile name\",\n \"description\": \"The diagnostic settings profile name\"\n }\n },\n \"logsEnabled\": {\n \"type\": \"String\",\n \"defaultValue\": \"True\",\n \"allowedValues\": [\n \"True\",\n \"False\"\n ],\n \"metadata\": {\n \"displayName\": \"Enable logs\",\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\n }\n }\n },\n \"policyRule\": {\n \"if\": {\n \"field\": \"type\",\n \"equals\": \"Microsoft.DesktopVirtualization/workspaces\"\n },\n \"then\": {\n \"effect\": \"[parameters('effect')]\",\n \"details\": {\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\n \"name\": \"setByPolicy\",\n \"existenceCondition\": {\n \"allOf\": [\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\n \"equals\": \"true\"\n },\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\n \"equals\": \"[parameters('logAnalytics')]\"\n }\n ]\n },\n \"roleDefinitionIds\": [\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\n ],\n \"deployment\": {\n \"properties\": {\n \"mode\": \"Incremental\",\n \"template\": {\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"resourceName\": {\n \"type\": \"String\"\n },\n \"logAnalytics\": {\n \"type\": \"String\"\n },\n \"location\": {\n \"type\": \"String\"\n },\n \"profileName\": {\n \"type\": \"String\"\n },\n \"logsEnabled\": {\n \"type\": \"String\"\n }\n },\n \"variables\": {},\n \"resources\": [\n {\n \"type\": \"Microsoft.DesktopVirtualization/workspaces/providers/diagnosticSettings\",\n \"apiVersion\": \"2017-05-01-preview\",\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\n \"location\": \"[parameters('location')]\",\n \"dependsOn\": [],\n \"properties\": {\n \"workspaceId\": \"[parameters('logAnalytics')]\",\n \"logs\": [\n {\n \"category\": \"Checkpoint\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"Error\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"Management\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"Feed\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n }\n ]\n }\n }\n ],\n \"outputs\": {}\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[parameters('logAnalytics')]\"\n },\n \"location\": {\n \"value\": \"[field('location')]\"\n },\n \"resourceName\": {\n \"value\": \"[field('name')]\"\n },\n \"profileName\": {\n \"value\": \"[parameters('profileName')]\"\n },\n \"logsEnabled\": {\n \"value\": \"[parameters('logsEnabled')]\"\n }\n }\n }\n }\n }\n }\n }\n }\n }", + "$fxv#5": "{\n \"name\": \"policy-deploy-diagnostics-network-security-group\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"policyType\": \"Custom\",\n \"mode\": \"Indexed\",\n \"displayName\": \"Custom - Deploy Diagnostic Settings for Network Security Groups to Log Analytics Workspace\",\n \"description\": \"Custom - Deploys the diagnostic settings for Network Security Groups to stream to a Log Analytics workspace when any Network Security Groups which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\",\n \"metadata\": {\n \"version\": \"1.0.0\",\n \"category\": \"Monitoring\"\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"type\": \"String\",\n \"metadata\": {\n \"displayName\": \"Log Analytics workspace\",\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\n \"strongType\": \"omsWorkspace\"\n }\n },\n \"effect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Effect\",\n \"description\": \"Enable or disable the execution of the policy\"\n }\n },\n \"profileName\": {\n \"type\": \"String\",\n \"defaultValue\": \"setbypolicy\",\n \"metadata\": {\n \"displayName\": \"Profile name\",\n \"description\": \"The diagnostic settings profile name\"\n }\n },\n \"logsEnabled\": {\n \"type\": \"String\",\n \"defaultValue\": \"True\",\n \"allowedValues\": [\n \"True\",\n \"False\"\n ],\n \"metadata\": {\n \"displayName\": \"Enable logs\",\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\n }\n }\n },\n \"policyRule\": {\n \"if\": {\n \"field\": \"type\",\n \"equals\": \"Microsoft.Network/networkSecurityGroups\"\n },\n \"then\": {\n \"effect\": \"[parameters('effect')]\",\n \"details\": {\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\n \"name\": \"setByPolicy\",\n \"existenceCondition\": {\n \"allOf\": [\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\n \"equals\": \"true\"\n },\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\n \"equals\": \"[parameters('logAnalytics')]\"\n }\n ]\n },\n \"roleDefinitionIds\": [\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\n ],\n \"deployment\": {\n \"properties\": {\n \"mode\": \"Incremental\",\n \"template\": {\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"resourceName\": {\n \"type\": \"String\"\n },\n \"logAnalytics\": {\n \"type\": \"String\"\n },\n \"location\": {\n \"type\": \"String\"\n },\n \"profileName\": {\n \"type\": \"String\"\n },\n \"logsEnabled\": {\n \"type\": \"String\"\n }\n },\n \"variables\": {},\n \"resources\": [\n {\n \"type\": \"Microsoft.Network/networkSecurityGroups/providers/diagnosticSettings\",\n \"apiVersion\": \"2017-05-01-preview\",\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\n \"location\": \"[parameters('location')]\",\n \"dependsOn\": [],\n \"properties\": {\n \"workspaceId\": \"[parameters('logAnalytics')]\",\n \"metrics\": [],\n \"logs\": [\n {\n \"category\": \"NetworkSecurityGroupEvent\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"NetworkSecurityGroupRuleCounter\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n }\n ]\n }\n }\n ],\n \"outputs\": {}\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[parameters('logAnalytics')]\"\n },\n \"location\": {\n \"value\": \"[field('location')]\"\n },\n \"resourceName\": {\n \"value\": \"[field('name')]\"\n },\n \"profileName\": {\n \"value\": \"[parameters('profileName')]\"\n },\n \"logsEnabled\": {\n \"value\": \"[parameters('logsEnabled')]\"\n }\n }\n }\n }\n }\n }\n }\n }\n }", + "$fxv#6": "{\n \"name\": \"policy-deploy-diagnostics-nic\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"policyType\": \"Custom\",\n \"mode\": \"Indexed\",\n \"displayName\": \"Custom - Deploy Diagnostic Settings for Network Interfaces to Log Analytics Workspace\",\n \"description\": \"Custom - Deploys the diagnostic settings for Network Interfaces to stream to a Log Analytics workspace when any Network Interfaces which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\",\n \"metadata\": {\n \"version\": \"1.0.0\",\n \"category\": \"Monitoring\"\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"type\": \"String\",\n \"metadata\": {\n \"displayName\": \"Log Analytics workspace\",\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\n \"strongType\": \"omsWorkspace\"\n }\n },\n \"effect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Effect\",\n \"description\": \"Enable or disable the execution of the policy\"\n }\n },\n \"profileName\": {\n \"type\": \"String\",\n \"defaultValue\": \"setbypolicy\",\n \"metadata\": {\n \"displayName\": \"Profile name\",\n \"description\": \"The diagnostic settings profile name\"\n }\n },\n \"metricsEnabled\": {\n \"type\": \"String\",\n \"defaultValue\": \"True\",\n \"allowedValues\": [\n \"True\",\n \"False\"\n ],\n \"metadata\": {\n \"displayName\": \"Enable metrics\",\n \"description\": \"Whether to enable metrics stream to the Log Analytics workspace - True or False\"\n }\n }\n },\n \"policyRule\": {\n \"if\": {\n \"field\": \"type\",\n \"equals\": \"Microsoft.Network/networkInterfaces\"\n },\n \"then\": {\n \"effect\": \"[parameters('effect')]\",\n \"details\": {\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\n \"name\": \"setByPolicy\",\n \"existenceCondition\": {\n \"allOf\": [\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/metrics.enabled\",\n \"equals\": \"true\"\n },\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\n \"equals\": \"[parameters('logAnalytics')]\"\n }\n ]\n },\n \"roleDefinitionIds\": [\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\n ],\n \"deployment\": {\n \"properties\": {\n \"mode\": \"Incremental\",\n \"template\": {\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"resourceName\": {\n \"type\": \"String\"\n },\n \"logAnalytics\": {\n \"type\": \"String\"\n },\n \"location\": {\n \"type\": \"String\"\n },\n \"profileName\": {\n \"type\": \"String\"\n },\n \"metricsEnabled\": {\n \"type\": \"String\"\n }\n },\n \"variables\": {},\n \"resources\": [\n {\n \"type\": \"Microsoft.Network/networkInterfaces/providers/diagnosticSettings\",\n \"apiVersion\": \"2017-05-01-preview\",\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\n \"location\": \"[parameters('location')]\",\n \"dependsOn\": [],\n \"properties\": {\n \"workspaceId\": \"[parameters('logAnalytics')]\",\n \"metrics\": [\n {\n \"category\": \"AllMetrics\",\n \"timeGrain\": null,\n \"enabled\": \"[parameters('metricsEnabled')]\",\n \"retentionPolicy\": {\n \"enabled\": false,\n \"days\": 0\n }\n }\n ]\n }\n }\n ],\n \"outputs\": {}\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[parameters('logAnalytics')]\"\n },\n \"location\": {\n \"value\": \"[field('location')]\"\n },\n \"resourceName\": {\n \"value\": \"[field('name')]\"\n },\n \"profileName\": {\n \"value\": \"[parameters('profileName')]\"\n },\n \"metricsEnabled\": {\n \"value\": \"[parameters('metricsEnabled')]\"\n }\n }\n }\n }\n }\n }\n }\n }\n }", + "$fxv#7": "{\n \"name\": \"policy-deploy-diagnostics-virtual-machine\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"policyType\": \"Custom\",\n \"mode\": \"Indexed\",\n \"displayName\": \"Custom - Deploy Diagnostic Settings for Virtual Machines to Log Analytics Workspace\",\n \"description\": \"CUstom - Deploys the diagnostic settings for Virtual Machines to stream to a Log Analytics workspace when any Virtual Machines which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\",\n \"metadata\": {\n \"version\": \"1.0.0\",\n \"category\": \"Monitoring\"\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"type\": \"String\",\n \"metadata\": {\n \"displayName\": \"Log Analytics workspace\",\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\n \"strongType\": \"omsWorkspace\"\n }\n },\n \"effect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Effect\",\n \"description\": \"Enable or disable the execution of the policy\"\n }\n },\n \"profileName\": {\n \"type\": \"String\",\n \"defaultValue\": \"setbypolicy\",\n \"metadata\": {\n \"displayName\": \"Profile name\",\n \"description\": \"The diagnostic settings profile name\"\n }\n },\n \"metricsEnabled\": {\n \"type\": \"String\",\n \"defaultValue\": \"True\",\n \"allowedValues\": [\n \"True\",\n \"False\"\n ],\n \"metadata\": {\n \"displayName\": \"Enable metrics\",\n \"description\": \"Whether to enable metrics stream to the Log Analytics workspace - True or False\"\n }\n }\n },\n \"policyRule\": {\n \"if\": {\n \"field\": \"type\",\n \"equals\": \"Microsoft.Compute/virtualMachines\"\n },\n \"then\": {\n \"effect\": \"[parameters('effect')]\",\n \"details\": {\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\n \"name\": \"setByPolicy\",\n \"existenceCondition\": {\n \"allOf\": [\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/metrics.enabled\",\n \"equals\": \"true\"\n },\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\n \"equals\": \"[parameters('logAnalytics')]\"\n }\n ]\n },\n \"roleDefinitionIds\": [\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\n ],\n \"deployment\": {\n \"properties\": {\n \"mode\": \"Incremental\",\n \"template\": {\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"resourceName\": {\n \"type\": \"String\"\n },\n \"logAnalytics\": {\n \"type\": \"String\"\n },\n \"location\": {\n \"type\": \"String\"\n },\n \"profileName\": {\n \"type\": \"String\"\n },\n \"metricsEnabled\": {\n \"type\": \"String\"\n }\n },\n \"variables\": {},\n \"resources\": [\n {\n \"type\": \"Microsoft.Compute/virtualMachines/providers/diagnosticSettings\",\n \"apiVersion\": \"2017-05-01-preview\",\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\n \"location\": \"[parameters('location')]\",\n \"dependsOn\": [],\n \"properties\": {\n \"workspaceId\": \"[parameters('logAnalytics')]\",\n \"metrics\": [\n {\n \"category\": \"AllMetrics\",\n \"enabled\": \"[parameters('metricsEnabled')]\",\n \"retentionPolicy\": {\n \"enabled\": false,\n \"days\": 0\n }\n }\n ],\n \"logs\": []\n }\n }\n ],\n \"outputs\": {}\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[parameters('logAnalytics')]\"\n },\n \"location\": {\n \"value\": \"[field('location')]\"\n },\n \"resourceName\": {\n \"value\": \"[field('name')]\"\n },\n \"profileName\": {\n \"value\": \"[parameters('profileName')]\"\n },\n \"metricsEnabled\": {\n \"value\": \"[parameters('metricsEnabled')]\"\n }\n }\n }\n }\n }\n }\n }\n }\n }", + "$fxv#8": "{\n \"name\": \"policy-deploy-diagnostics-virtual-network\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"policyType\": \"Custom\",\n \"mode\": \"Indexed\",\n \"displayName\": \"Custom - Deploy Diagnostic Settings for Virtual Network to Log Analytics Workspace\",\n \"description\": \"Custom - Deploys the diagnostic settings for Virtual Network to stream to a Log Analytics workspace when any Virtual Network which is missing this diagnostic settings is created or updated. The Policy will set the diagnostic with all metrics and category enabled\",\n \"metadata\": {\n \"version\": \"1.0.0\",\n \"category\": \"Monitoring\"\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"type\": \"String\",\n \"metadata\": {\n \"displayName\": \"Log Analytics workspace\",\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\n \"strongType\": \"omsWorkspace\"\n }\n },\n \"effect\": {\n \"type\": \"String\",\n \"defaultValue\": \"DeployIfNotExists\",\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"Disabled\"\n ],\n \"metadata\": {\n \"displayName\": \"Effect\",\n \"description\": \"Enable or disable the execution of the policy\"\n }\n },\n \"profileName\": {\n \"type\": \"String\",\n \"defaultValue\": \"setbypolicy\",\n \"metadata\": {\n \"displayName\": \"Profile name\",\n \"description\": \"The diagnostic settings profile name\"\n }\n },\n \"metricsEnabled\": {\n \"type\": \"String\",\n \"defaultValue\": \"True\",\n \"allowedValues\": [\n \"True\",\n \"False\"\n ],\n \"metadata\": {\n \"displayName\": \"Enable metrics\",\n \"description\": \"Whether to enable metrics stream to the Log Analytics workspace - True or False\"\n }\n },\n \"logsEnabled\": {\n \"type\": \"String\",\n \"defaultValue\": \"True\",\n \"allowedValues\": [\n \"True\",\n \"False\"\n ],\n \"metadata\": {\n \"displayName\": \"Enable logs\",\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\n }\n }\n },\n \"policyRule\": {\n \"if\": {\n \"field\": \"type\",\n \"equals\": \"Microsoft.Network/virtualNetworks\"\n },\n \"then\": {\n \"effect\": \"[parameters('effect')]\",\n \"details\": {\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\n \"name\": \"setByPolicy\",\n \"existenceCondition\": {\n \"allOf\": [\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\n \"equals\": \"true\"\n },\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/metrics.enabled\",\n \"equals\": \"true\"\n },\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\n \"equals\": \"[parameters('logAnalytics')]\"\n }\n ]\n },\n \"roleDefinitionIds\": [\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\n ],\n \"deployment\": {\n \"properties\": {\n \"mode\": \"Incremental\",\n \"template\": {\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"resourceName\": {\n \"type\": \"String\"\n },\n \"logAnalytics\": {\n \"type\": \"String\"\n },\n \"location\": {\n \"type\": \"String\"\n },\n \"profileName\": {\n \"type\": \"String\"\n },\n \"metricsEnabled\": {\n \"type\": \"String\"\n },\n \"logsEnabled\": {\n \"type\": \"String\"\n }\n },\n \"variables\": {},\n \"resources\": [\n {\n \"type\": \"Microsoft.Network/virtualNetworks/providers/diagnosticSettings\",\n \"apiVersion\": \"2017-05-01-preview\",\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\n \"location\": \"[parameters('location')]\",\n \"dependsOn\": [],\n \"properties\": {\n \"workspaceId\": \"[parameters('logAnalytics')]\",\n \"metrics\": [\n {\n \"category\": \"AllMetrics\",\n \"enabled\": \"[parameters('metricsEnabled')]\",\n \"retentionPolicy\": {\n \"enabled\": false,\n \"days\": 0\n }\n }\n ],\n \"logs\": [\n {\n \"category\": \"VMProtectionAlerts\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n }\n ]\n }\n }\n ],\n \"outputs\": {}\n },\n \"parameters\": {\n \"logAnalytics\": {\n \"value\": \"[parameters('logAnalytics')]\"\n },\n \"location\": {\n \"value\": \"[field('location')]\"\n },\n \"resourceName\": {\n \"value\": \"[field('name')]\"\n },\n \"profileName\": {\n \"value\": \"[parameters('profileName')]\"\n },\n \"metricsEnabled\": {\n \"value\": \"[parameters('metricsEnabled')]\"\n },\n \"logsEnabled\": {\n \"value\": \"[parameters('logsEnabled')]\"\n }\n }\n }\n }\n }\n }\n }\n }\n }", + "$fxv#9": "{\n \"name\": \"policy-deploy-diagnostics-azure-files\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"policyType\": \"Custom\",\n \"mode\": \"All\",\n \"displayName\": \"Custom - Deploy Diagnostic Settings for Azure Files to Log Analytics Workspace\",\n \"description\": \"Custom - Deploys the diagnostic settings for File Services to stream resource logs to a Log Analytics workspace when any file Service which is missing this diagnostic settings is created or updated.\",\n \"metadata\": {\n \"version\": \"1.0.0\",\n \"category\": \"Monitoring\"\n },\n \"policyRule\": {\n \"if\": {\n \"field\": \"type\",\n \"equals\": \"Microsoft.Storage/storageAccounts/fileServices\"\n },\n \"then\": {\n \"effect\": \"[parameters('effect')]\",\n \"details\": {\n \"type\": \"Microsoft.Insights/diagnosticSettings\",\n \"name\": \"[parameters('profileName')]\",\n \"existenceCondition\": {\n \"allOf\": [\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/logs.enabled\",\n \"equals\": \"[parameters('logsEnabled')]\"\n },\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/metrics.enabled\",\n \"equals\": \"[parameters('metricsEnabled')]\"\n },\n {\n \"field\": \"Microsoft.Insights/diagnosticSettings/workspaceId\",\n \"equals\": \"[parameters('logAnalytics')]\"\n }\n ]\n },\n \"roleDefinitionIds\": [\n \"/providers/microsoft.authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\n \"/providers/microsoft.authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\n ],\n \"deployment\": {\n \"properties\": {\n \"mode\": \"incremental\",\n \"template\": {\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"resourceName\": {\n \"type\": \"string\"\n },\n \"location\": {\n \"type\": \"string\"\n },\n \"logAnalytics\": {\n \"type\": \"string\"\n },\n \"metricsEnabled\": {\n \"type\": \"bool\"\n },\n \"logsEnabled\": {\n \"type\": \"bool\"\n },\n \"profileName\": {\n \"type\": \"string\"\n }\n },\n \"variables\": {},\n \"resources\": [\n {\n \"type\": \"Microsoft.Storage/storageAccounts/fileServices/providers/diagnosticSettings\",\n \"apiVersion\": \"2021-05-01-preview\",\n \"name\": \"[concat(parameters('resourceName'), '/', 'Microsoft.Insights/', parameters('profileName'))]\",\n \"location\": \"[parameters('location')]\",\n \"dependsOn\": [],\n \"properties\": {\n \"workspaceId\": \"[parameters('logAnalytics')]\",\n \"metrics\": [\n {\n \"category\": \"Transaction\",\n \"enabled\": \"[parameters('metricsEnabled')]\"\n }\n ],\n \"logs\": [\n {\n \"category\": \"StorageRead\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"StorageWrite\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n },\n {\n \"category\": \"StorageDelete\",\n \"enabled\": \"[parameters('logsEnabled')]\"\n }\n ]\n }\n }\n ],\n \"outputs\": {}\n },\n \"parameters\": {\n \"location\": {\n \"value\": \"[field('location')]\"\n },\n \"resourceName\": {\n \"value\": \"[field('fullName')]\"\n },\n \"logAnalytics\": {\n \"value\": \"[parameters('logAnalytics')]\"\n },\n \"metricsEnabled\": {\n \"value\": \"[parameters('metricsEnabled')]\"\n },\n \"logsEnabled\": {\n \"value\": \"[parameters('logsEnabled')]\"\n },\n \"profileName\": {\n \"value\": \"[parameters('profileName')]\"\n }\n }\n }\n }\n }\n }\n },\n \"parameters\": {\n \"effect\": {\n \"type\": \"String\",\n \"metadata\": {\n \"displayName\": \"Effect\",\n \"description\": \"Enable or disable the execution of the policy\"\n },\n \"allowedValues\": [\n \"DeployIfNotExists\",\n \"AuditIfNotExists\",\n \"Disabled\"\n ],\n \"defaultValue\": \"DeployIfNotExists\"\n },\n \"profileName\": {\n \"type\": \"String\",\n \"metadata\": {\n \"displayName\": \"Profile name\",\n \"description\": \"The diagnostic settings profile name\"\n },\n \"defaultValue\": \"setbypolicy\"\n },\n \"logAnalytics\": {\n \"type\": \"String\",\n \"metadata\": {\n \"displayName\": \"Log Analytics workspace\",\n \"description\": \"Select Log Analytics workspace from dropdown list. If this workspace is outside of the scope of the assignment you must manually grant 'Log Analytics Contributor' permissions (or similar) to the policy assignment's principal ID.\",\n \"strongType\": \"omsWorkspace\",\n \"assignPermissions\": true\n }\n },\n \"metricsEnabled\": {\n \"type\": \"Boolean\",\n \"metadata\": {\n \"displayName\": \"Enable metrics\",\n \"description\": \"Whether to enable metrics stream to the Log Analytics workspace - True or False\"\n },\n \"allowedValues\": [\n true,\n false\n ],\n \"defaultValue\": true\n },\n \"logsEnabled\": {\n \"type\": \"Boolean\",\n \"metadata\": {\n \"displayName\": \"Enable logs\",\n \"description\": \"Whether to enable logs stream to the Log Analytics workspace - True or False\"\n },\n \"allowedValues\": [\n true,\n false\n ],\n \"defaultValue\": true\n }\n }\n }\n}", "varComputeServObjRgs": [ { "rgName": "[parameters('computeObjectsRgName')]" @@ -3213,8 +3209,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16641541366344144948" + "version": "0.32.4.45862", + "templateHash": "15463854004391961762" } }, "parameters": { @@ -3364,8 +3360,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "7209574149100326788" + "version": "0.32.4.45862", + "templateHash": "12587950234173561119" } }, "parameters": { @@ -3514,8 +3510,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "15074949129863647497" + "version": "0.32.4.45862", + "templateHash": "15421130529251696480" }, "name": "Policy Assignments (Resource Group scope)", "description": "This module deploys a Policy Assignment at a Resource Group scope.", @@ -3765,8 +3761,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "13526857440223039502" + "version": "0.32.4.45862", + "templateHash": "13897376912843476576" }, "name": "Policy Insights Remediations (Resource Group scope)", "description": "This module deploys a Policy Insights Remediation on a Resource Group scope.", @@ -3934,8 +3930,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "12831035809041306123" + "version": "0.32.4.45862", + "templateHash": "10311140424069766046" } }, "parameters": { @@ -4613,8 +4609,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "9920407814382381860" + "version": "0.32.4.45862", + "templateHash": "11501966143651964400" }, "name": "Network Security Groups", "description": "This module deploys a Network security Group (NSG).", @@ -4905,8 +4901,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16552673174935421633" + "version": "0.32.4.45862", + "templateHash": "4139350537705287886" }, "name": "Network Security Group (NSG) Security Rules", "description": "This module deploys a Network Security Group (NSG) Security Rule.", @@ -5168,8 +5164,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "9920407814382381860" + "version": "0.32.4.45862", + "templateHash": "11501966143651964400" }, "name": "Network Security Groups", "description": "This module deploys a Network security Group (NSG).", @@ -5460,8 +5456,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16552673174935421633" + "version": "0.32.4.45862", + "templateHash": "4139350537705287886" }, "name": "Network Security Group (NSG) Security Rules", "description": "This module deploys a Network Security Group (NSG) Security Rule.", @@ -5717,8 +5713,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "10050047613520543656" + "version": "0.32.4.45862", + "templateHash": "10692241138960948789" }, "name": "Application Security Groups (ASG)", "description": "This module deploys an Application Security Group (ASG).", @@ -5847,8 +5843,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1228848793868473285" + "version": "0.32.4.45862", + "templateHash": "13765095918832848410" }, "name": "Route Tables", "description": "This module deploys a User Defined Route Table (UDR).", @@ -6054,8 +6050,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1228848793868473285" + "version": "0.32.4.45862", + "templateHash": "13765095918832848410" }, "name": "Route Tables", "description": "This module deploys a User Defined Route Table (UDR).", @@ -6255,8 +6251,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "510602938216253127" + "version": "0.32.4.45862", + "templateHash": "1882917237675541176" }, "name": "DDoS Protection Plans", "description": "This module deploys a DDoS Protection Plan.", @@ -6397,8 +6393,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "8852938365790433451" + "version": "0.32.4.45862", + "templateHash": "11777878679153116425" }, "name": "Virtual Networks", "description": "This module deploys a Virtual Network (vNet).", @@ -6768,8 +6764,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "17552535066446097605" + "version": "0.32.4.45862", + "templateHash": "2987086137639774798" }, "name": "Virtual Network Subnets", "description": "This module deploys a Virtual Network Subnet.", @@ -6990,10 +6986,7 @@ "applicationGatewayIPConfigurations": "[parameters('applicationGatewayIPConfigurations')]", "ipAllocations": "[parameters('ipAllocations')]", "serviceEndpointPolicies": "[parameters('serviceEndpointPolicies')]" - }, - "dependsOn": [ - "virtualNetwork" - ] + } }, "subnet_roleAssignments": { "copy": { @@ -7094,8 +7087,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "18422443457381833495" + "version": "0.32.4.45862", + "templateHash": "11802150348146024719" }, "name": "Virtual Network Peerings", "description": "This module deploys a Virtual Network Peering.", @@ -7239,8 +7232,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "18422443457381833495" + "version": "0.32.4.45862", + "templateHash": "11802150348146024719" }, "name": "Virtual Network Peerings", "description": "This module deploys a Virtual Network Peering.", @@ -7437,8 +7430,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "6447266220523423284" + "version": "0.32.4.45862", + "templateHash": "3734060428301049752" }, "name": "Private DNS Zones", "description": "This module deploys a Private DNS zone.", @@ -7548,8 +7541,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "5921383587154229928" + "version": "0.32.4.45862", + "templateHash": "14284425341855132079" }, "name": "Private DNS Zone Virtual Network Link", "description": "This module deploys a Private DNS Zone Virtual Network Link.", @@ -7615,10 +7608,7 @@ "virtualNetwork": { "id": "[parameters('virtualNetworkResourceId')]" } - }, - "dependsOn": [ - "privateDnsZone" - ] + } } }, "outputs": { @@ -7722,8 +7712,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "6447266220523423284" + "version": "0.32.4.45862", + "templateHash": "3734060428301049752" }, "name": "Private DNS Zones", "description": "This module deploys a Private DNS zone.", @@ -7833,8 +7823,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "5921383587154229928" + "version": "0.32.4.45862", + "templateHash": "14284425341855132079" }, "name": "Private DNS Zone Virtual Network Link", "description": "This module deploys a Private DNS Zone Virtual Network Link.", @@ -7900,10 +7890,7 @@ "virtualNetwork": { "id": "[parameters('virtualNetworkResourceId')]" } - }, - "dependsOn": [ - "privateDnsZone" - ] + } } }, "outputs": { @@ -8007,8 +7994,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "6447266220523423284" + "version": "0.32.4.45862", + "templateHash": "3734060428301049752" }, "name": "Private DNS Zones", "description": "This module deploys a Private DNS zone.", @@ -8118,8 +8105,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "5921383587154229928" + "version": "0.32.4.45862", + "templateHash": "14284425341855132079" }, "name": "Private DNS Zone Virtual Network Link", "description": "This module deploys a Private DNS Zone Virtual Network Link.", @@ -8185,10 +8172,7 @@ "virtualNetwork": { "id": "[parameters('virtualNetworkResourceId')]" } - }, - "dependsOn": [ - "privateDnsZone" - ] + } } }, "outputs": { @@ -8292,8 +8276,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "6447266220523423284" + "version": "0.32.4.45862", + "templateHash": "3734060428301049752" }, "name": "Private DNS Zones", "description": "This module deploys a Private DNS zone.", @@ -8403,8 +8387,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "5921383587154229928" + "version": "0.32.4.45862", + "templateHash": "14284425341855132079" }, "name": "Private DNS Zone Virtual Network Link", "description": "This module deploys a Private DNS Zone Virtual Network Link.", @@ -8470,10 +8454,7 @@ "virtualNetwork": { "id": "[parameters('virtualNetworkResourceId')]" } - }, - "dependsOn": [ - "privateDnsZone" - ] + } } }, "outputs": { @@ -8697,8 +8678,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "4295985344228543488" + "version": "0.32.4.45862", + "templateHash": "15988157916377137967" }, "name": "AVD LZA management plane", "description": "This module deploys AVD workspace, host pool, application group scaling plan", @@ -9043,8 +9024,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "4697786867177911469" + "version": "0.32.4.45862", + "templateHash": "4451897890651234613" }, "name": "Azure Virtual Desktop Host Pool", "description": "This module deploys an Azure Virtual Desktop Host Pool", @@ -9654,8 +9635,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "569336813477795175" + "version": "0.32.4.45862", + "templateHash": "4865258456841511470" }, "name": "Key Vault Secrets", "description": "This module deploys a Key Vault Secret.", @@ -9824,10 +9805,7 @@ "nbf": "[parameters('attributesNbf')]" }, "value": "[parameters('value')]" - }, - "dependsOn": [ - "keyVault" - ] + } }, "secret_roleAssignments": { "copy": { @@ -10628,8 +10606,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "9477828647923017064" + "version": "0.32.4.45862", + "templateHash": "17832472865851883158" }, "name": "Azure Virtual Desktop Application Group", "description": "This module deploys an Azure Virtual Desktop Application Group.", @@ -10941,10 +10919,7 @@ "friendlyName": "[parameters('friendlyName')]", "description": "[parameters('description')]", "applicationGroupType": "[parameters('applicationGroupType')]" - }, - "dependsOn": [ - "appGroup_hostpool" - ] + } }, "appGroup_roleAssignments": { "copy": { @@ -11037,8 +11012,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "2492935317086618448" + "version": "0.32.4.45862", + "templateHash": "16918773705933776039" }, "name": "Azure Virtual Desktop Application Group Application", "description": "This module deploys an Azure Virtual Desktop Application Group Application.", @@ -11242,8 +11217,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "13845351292967054269" + "version": "0.32.4.45862", + "templateHash": "14847379324190512453" }, "name": "Workspace", "description": "This module deploys an Azure Virtual Desktop Workspace.", @@ -12377,8 +12352,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1018572390956690547" + "version": "0.32.4.45862", + "templateHash": "11081416395801594251" }, "name": "Azure Virtual Desktop Scaling Plan", "description": "This module deploys an Azure Virtual Desktop Scaling Plan.", @@ -12767,8 +12742,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "961381357868342754" + "version": "0.32.4.45862", + "templateHash": "15138217385513781381" } }, "parameters": { @@ -12929,8 +12904,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "11803242017330059916" + "version": "0.32.4.45862", + "templateHash": "9800876540676001554" }, "name": "User Assigned Identities", "description": "This module deploys a User Assigned Identity.", @@ -13184,8 +13159,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1227486639354850589" + "version": "0.32.4.45862", + "templateHash": "6548182237058026465" }, "name": "Role Assignments (Resource Group scope)", "description": "This module deploys a Role Assignment at a Resource Group scope.", @@ -13362,8 +13337,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1227486639354850589" + "version": "0.32.4.45862", + "templateHash": "6548182237058026465" }, "name": "Role Assignments (Resource Group scope)", "description": "This module deploys a Role Assignment at a Resource Group scope.", @@ -13538,8 +13513,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1227486639354850589" + "version": "0.32.4.45862", + "templateHash": "6548182237058026465" }, "name": "Role Assignments (Resource Group scope)", "description": "This module deploys a Role Assignment at a Resource Group scope.", @@ -13713,8 +13688,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1227486639354850589" + "version": "0.32.4.45862", + "templateHash": "6548182237058026465" }, "name": "Role Assignments (Resource Group scope)", "description": "This module deploys a Role Assignment at a Resource Group scope.", @@ -13885,8 +13860,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1227486639354850589" + "version": "0.32.4.45862", + "templateHash": "6548182237058026465" }, "name": "Role Assignments (Resource Group scope)", "description": "This module deploys a Role Assignment at a Resource Group scope.", @@ -14057,8 +14032,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1227486639354850589" + "version": "0.32.4.45862", + "templateHash": "6548182237058026465" }, "name": "Role Assignments (Resource Group scope)", "description": "This module deploys a Role Assignment at a Resource Group scope.", @@ -14280,8 +14255,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "14504875806674358738" + "version": "0.32.4.45862", + "templateHash": "17754170138969054558" } }, "parameters": { @@ -14397,7 +14372,7 @@ } }, "variables": { - "$fxv#0": "{\r\n \"name\": \"AVD-ACC-Zero-Trust-Disable-Managed-Disk-Network-Access\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"mode\": \"Indexed\",\r\n \"displayName\": \"Custom - Zero Trust - Disable Managed Disk Network Access\",\r\n \"description\": \"This policy definition sets the network access policy property to \\\"DenyAll\\\" and the public network access property to \\\"Disabled\\\" on all the managed disks within the assigned scope.\",\r\n \"metadata\": {\r\n \"version\": \"1.1.0\",\r\n \"category\": \"Security\"\r\n },\r\n \"parameters\": {\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.Compute/disks\"\r\n },\r\n \"then\": {\r\n \"effect\": \"modify\",\r\n \"details\": {\r\n \"roleDefinitionIds\": [\r\n \"/providers/Microsoft.Authorization/roleDefinitions/60fc6e62-5479-42d4-8bf4-67625fcc2840\"\r\n ],\r\n \"operations\": [\r\n {\r\n \"operation\": \"addOrReplace\",\r\n \"field\": \"Microsoft.Compute/disks/networkAccessPolicy\",\r\n \"value\": \"DenyAll\"\r\n },\r\n {\r\n \"operation\": \"addOrReplace\",\r\n \"field\": \"Microsoft.Compute/disks/publicNetworkAccess\",\r\n \"value\": \"Disabled\"\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n}", + "$fxv#0": "{\n \"name\": \"AVD-ACC-Zero-Trust-Disable-Managed-Disk-Network-Access\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"mode\": \"Indexed\",\n \"displayName\": \"Custom - Zero Trust - Disable Managed Disk Network Access\",\n \"description\": \"This policy definition sets the network access policy property to \\\"DenyAll\\\" and the public network access property to \\\"Disabled\\\" on all the managed disks within the assigned scope.\",\n \"metadata\": {\n \"version\": \"1.1.0\",\n \"category\": \"Security\"\n },\n \"parameters\": {\n },\n \"policyRule\": {\n \"if\": {\n \"field\": \"type\",\n \"equals\": \"Microsoft.Compute/disks\"\n },\n \"then\": {\n \"effect\": \"modify\",\n \"details\": {\n \"roleDefinitionIds\": [\n \"/providers/Microsoft.Authorization/roleDefinitions/60fc6e62-5479-42d4-8bf4-67625fcc2840\"\n ],\n \"operations\": [\n {\n \"operation\": \"addOrReplace\",\n \"field\": \"Microsoft.Compute/disks/networkAccessPolicy\",\n \"value\": \"DenyAll\"\n },\n {\n \"operation\": \"addOrReplace\",\n \"field\": \"Microsoft.Compute/disks/publicNetworkAccess\",\n \"value\": \"Disabled\"\n }\n ]\n }\n }\n }\n }\n}", "varCustomPolicyDefinitions": [ { "deploymentName": "ZT-Disk", @@ -14451,8 +14426,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16641541366344144948" + "version": "0.32.4.45862", + "templateHash": "15463854004391961762" } }, "parameters": { @@ -14611,8 +14586,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "15074949129863647497" + "version": "0.32.4.45862", + "templateHash": "15421130529251696480" }, "name": "Policy Assignments (Resource Group scope)", "description": "This module deploys a Policy Assignment at a Resource Group scope.", @@ -14863,8 +14838,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "13526857440223039502" + "version": "0.32.4.45862", + "templateHash": "13897376912843476576" }, "name": "Policy Insights Remediations (Resource Group scope)", "description": "This module deploys a Policy Insights Remediation on a Resource Group scope.", @@ -15052,8 +15027,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "15074949129863647497" + "version": "0.32.4.45862", + "templateHash": "15421130529251696480" }, "name": "Policy Assignments (Resource Group scope)", "description": "This module deploys a Policy Assignment at a Resource Group scope.", @@ -15305,8 +15280,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "13526857440223039502" + "version": "0.32.4.45862", + "templateHash": "13897376912843476576" }, "name": "Policy Insights Remediations (Resource Group scope)", "description": "This module deploys a Policy Insights Remediation on a Resource Group scope.", @@ -15470,8 +15445,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1227486639354850589" + "version": "0.32.4.45862", + "templateHash": "6548182237058026465" }, "name": "Role Assignments (Resource Group scope)", "description": "This module deploys a Role Assignment at a Resource Group scope.", @@ -15644,8 +15619,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1227486639354850589" + "version": "0.32.4.45862", + "templateHash": "6548182237058026465" }, "name": "Role Assignments (Resource Group scope)", "description": "This module deploys a Role Assignment at a Resource Group scope.", @@ -15814,8 +15789,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1227486639354850589" + "version": "0.32.4.45862", + "templateHash": "6548182237058026465" }, "name": "Role Assignments (Resource Group scope)", "description": "This module deploys a Role Assignment at a Resource Group scope.", @@ -16018,8 +15993,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "5360722259128289781" + "version": "0.32.4.45862", + "templateHash": "1965569815570581817" } }, "parameters": { @@ -16170,8 +16145,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "3460005220614992836" + "version": "0.32.4.45862", + "templateHash": "13462391265404728327" }, "name": "Key Vaults", "description": "This module deploys a Key Vault.", @@ -17354,8 +17329,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "15469258025112973480" + "version": "0.32.4.45862", + "templateHash": "3969955574908853094" }, "name": "Key Vault Access Policies", "description": "This module deploys a Key Vault Access Policy.", @@ -17539,10 +17514,7 @@ "name": "[format('{0}/{1}', parameters('keyVaultName'), 'add')]", "properties": { "accessPolicies": "[variables('formattedAccessPolicies')]" - }, - "dependsOn": [ - "keyVault" - ] + } } }, "outputs": { @@ -17623,8 +17595,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "569336813477795175" + "version": "0.32.4.45862", + "templateHash": "4865258456841511470" }, "name": "Key Vault Secrets", "description": "This module deploys a Key Vault Secret.", @@ -17793,10 +17765,7 @@ "nbf": "[parameters('attributesNbf')]" }, "value": "[parameters('value')]" - }, - "dependsOn": [ - "keyVault" - ] + } }, "secret_roleAssignments": { "copy": { @@ -17907,8 +17876,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1250108206897734506" + "version": "0.32.4.45862", + "templateHash": "3877596553067884713" }, "name": "Key Vault Keys", "description": "This module deploys a Key Vault Key.", @@ -18132,10 +18101,7 @@ "kty": "[parameters('kty')]", "rotationPolicy": "[coalesce(parameters('rotationPolicy'), createObject())]", "release_policy": "[coalesce(parameters('releasePolicy'), createObject())]" - }, - "dependsOn": [ - "keyVault" - ] + } }, "key_roleAssignments": { "copy": { @@ -18958,8 +18924,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1250108206897734506" + "version": "0.32.4.45862", + "templateHash": "3877596553067884713" }, "name": "Key Vault Keys", "description": "This module deploys a Key Vault Key.", @@ -19183,10 +19149,7 @@ "kty": "[parameters('kty')]", "rotationPolicy": "[coalesce(parameters('rotationPolicy'), createObject())]", "release_policy": "[coalesce(parameters('releasePolicy'), createObject())]" - }, - "dependsOn": [ - "keyVault" - ] + } }, "key_roleAssignments": { "copy": { @@ -19283,8 +19246,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "6378481213650236557" + "version": "0.32.4.45862", + "templateHash": "131190861300894051" }, "name": "Disk Encryption Sets", "description": "This module deploys a Disk Encryption Set. The module will attempt to set permissions on the provided Key Vault for any used user-assigned identity.", @@ -19419,10 +19382,7 @@ "apiVersion": "2021-10-01", "subscriptionId": "[split(parameters('keyVaultResourceId'), '/')[2]]", "resourceGroup": "[split(parameters('keyVaultResourceId'), '/')[4]]", - "name": "[format('{0}/{1}', last(split(parameters('keyVaultResourceId'), '/')), parameters('keyName'))]", - "dependsOn": [ - "keyVault" - ] + "name": "[format('{0}/{1}', last(split(parameters('keyVaultResourceId'), '/')), parameters('keyName'))]" }, "avmTelemetry": { "condition": "[parameters('enableTelemetry')]", @@ -19471,7 +19431,7 @@ "rotationToLatestKeyVersionEnabled": "[parameters('rotationToLatestKeyVersionEnabled')]" }, "dependsOn": [ - "keyVault", + "keyVault::key", "keyVaultPermissions" ] }, @@ -19513,8 +19473,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1367133447919905968" + "version": "0.32.4.45862", + "templateHash": "12513975041606321751" } }, "parameters": { @@ -19601,8 +19561,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "17444618367982488496" + "version": "0.32.4.45862", + "templateHash": "1955756120806412580" }, "name": "Key Vault Access Policies", "description": "This module deploys a Key Vault Access Policy.", @@ -19783,10 +19743,7 @@ "name": "[format('{0}/{1}', parameters('keyVaultName'), 'add')]", "properties": { "accessPolicies": "[variables('formattedAccessPolicies')]" - }, - "dependsOn": [ - "keyVault" - ] + } } }, "outputs": { @@ -19955,8 +19912,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "3460005220614992836" + "version": "0.32.4.45862", + "templateHash": "13462391265404728327" }, "name": "Key Vaults", "description": "This module deploys a Key Vault.", @@ -21139,8 +21096,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "15469258025112973480" + "version": "0.32.4.45862", + "templateHash": "3969955574908853094" }, "name": "Key Vault Access Policies", "description": "This module deploys a Key Vault Access Policy.", @@ -21324,10 +21281,7 @@ "name": "[format('{0}/{1}', parameters('keyVaultName'), 'add')]", "properties": { "accessPolicies": "[variables('formattedAccessPolicies')]" - }, - "dependsOn": [ - "keyVault" - ] + } } }, "outputs": { @@ -21408,8 +21362,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "569336813477795175" + "version": "0.32.4.45862", + "templateHash": "4865258456841511470" }, "name": "Key Vault Secrets", "description": "This module deploys a Key Vault Secret.", @@ -21578,10 +21532,7 @@ "nbf": "[parameters('attributesNbf')]" }, "value": "[parameters('value')]" - }, - "dependsOn": [ - "keyVault" - ] + } }, "secret_roleAssignments": { "copy": { @@ -21692,8 +21643,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1250108206897734506" + "version": "0.32.4.45862", + "templateHash": "3877596553067884713" }, "name": "Key Vault Keys", "description": "This module deploys a Key Vault Key.", @@ -21917,10 +21868,7 @@ "kty": "[parameters('kty')]", "rotationPolicy": "[coalesce(parameters('rotationPolicy'), createObject())]", "release_policy": "[coalesce(parameters('releasePolicy'), createObject())]" - }, - "dependsOn": [ - "keyVault" - ] + } }, "key_roleAssignments": { "copy": { @@ -22761,8 +22709,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "3237407790324423200" + "version": "0.32.4.45862", + "templateHash": "5569394582899056364" } }, "parameters": { @@ -23042,8 +22990,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "2803598175472441376" + "version": "0.32.4.45862", + "templateHash": "10027574665149403184" }, "name": "Virtual Machines", "description": "This module deploys a Virtual Machine with one or multiple NICs and optionally one or multiple public IPs.", @@ -23872,8 +23820,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "499916289263126031" + "version": "0.32.4.45862", + "templateHash": "8317114007842077232" } }, "definitions": { @@ -25425,8 +25373,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -25541,10 +25489,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -25634,8 +25579,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -25750,10 +25695,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -25838,8 +25780,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -25954,10 +25896,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -26049,8 +25988,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -26165,10 +26104,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -26253,8 +26189,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -26369,10 +26305,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -26454,8 +26387,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -26570,10 +26503,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -26758,8 +26688,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "10816961315818156268" + "version": "0.32.4.45862", + "templateHash": "7382022361159607186" }, "name": "AVD LZA storage", "description": "This module deploys storage account, azure files. domain join logic", @@ -27028,8 +26958,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "10020046199410134923" + "version": "0.32.4.45862", + "templateHash": "2772051697526024027" }, "name": "Storage Accounts", "description": "This module deploys a Storage Account.", @@ -27741,10 +27671,7 @@ "apiVersion": "2023-02-01", "subscriptionId": "[split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), '//'), '/')[2]]", "resourceGroup": "[split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), '////'), '/')[4]]", - "name": "[format('{0}/{1}', last(split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), 'dummyVault'), '/')), coalesce(tryGet(parameters('customerManagedKey'), 'keyName'), 'dummyKey'))]", - "dependsOn": [ - "cMKKeyVault" - ] + "name": "[format('{0}/{1}', last(split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), 'dummyVault'), '/')), coalesce(tryGet(parameters('customerManagedKey'), 'keyName'), 'dummyKey'))]" }, "avmTelemetry": { "condition": "[parameters('enableTelemetry')]", @@ -27821,8 +27748,8 @@ "azureFilesIdentityBasedAuthentication": "[if(not(empty(parameters('azureFilesIdentityBasedAuthentication'))), parameters('azureFilesIdentityBasedAuthentication'), null())]" }, "dependsOn": [ - "cMKKeyVault", - "cMKUserAssignedIdentity" + "cMKKeyVault::cMKKey", + "cMKKeyVault" ] }, "storageAccount_diagnosticSettings": { @@ -28549,8 +28476,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "12532433520125716194" + "version": "0.32.4.45862", + "templateHash": "7563796982078818002" }, "name": "Storage Account File Share Services", "description": "This module deploys a Storage Account File Share Service.", @@ -28738,10 +28665,7 @@ "properties": { "protocolSettings": "[parameters('protocolSettings')]", "shareDeleteRetentionPolicy": "[parameters('shareDeleteRetentionPolicy')]" - }, - "dependsOn": [ - "storageAccount" - ] + } }, "fileServices_diagnosticSettings": { "copy": { @@ -28830,8 +28754,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "8149592214225924460" + "version": "0.32.4.45862", + "templateHash": "3713644329284987288" }, "name": "Storage Account File Shares", "description": "This module deploys a Storage Account File Share.", @@ -28981,10 +28905,7 @@ "existing": true, "type": "Microsoft.Storage/storageAccounts/fileServices", "apiVersion": "2023-04-01", - "name": "[format('{0}/{1}', parameters('storageAccountName'), parameters('fileServicesName'))]", - "dependsOn": [ - "storageAccount" - ] + "name": "[format('{0}/{1}', parameters('storageAccountName'), parameters('fileServicesName'))]" }, "storageAccount": { "existing": true, @@ -29001,10 +28922,7 @@ "shareQuota": "[parameters('shareQuota')]", "rootSquash": "[if(equals(parameters('enabledProtocols'), 'NFS'), parameters('rootSquash'), null())]", "enabledProtocols": "[parameters('enabledProtocols')]" - }, - "dependsOn": [ - "storageAccount::fileService" - ] + } }, "fileShare_roleAssignments": { "condition": "[not(empty(parameters('roleAssignments')))]", @@ -29030,8 +28948,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "12442072449730867756" + "version": "0.32.4.45862", + "templateHash": "818020582942572160" } }, "parameters": { @@ -29354,8 +29272,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1689212129910611066" + "version": "0.32.4.45862", + "templateHash": "16137516709887962737" }, "name": "AVD LZA storage", "description": "Configures domain join settings on storage account via VM custom script extension", @@ -29455,8 +29373,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -29571,10 +29489,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -29722,8 +29637,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "10816961315818156268" + "version": "0.32.4.45862", + "templateHash": "7382022361159607186" }, "name": "AVD LZA storage", "description": "This module deploys storage account, azure files. domain join logic", @@ -29992,8 +29907,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "10020046199410134923" + "version": "0.32.4.45862", + "templateHash": "2772051697526024027" }, "name": "Storage Accounts", "description": "This module deploys a Storage Account.", @@ -30705,10 +30620,7 @@ "apiVersion": "2023-02-01", "subscriptionId": "[split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), '//'), '/')[2]]", "resourceGroup": "[split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), '////'), '/')[4]]", - "name": "[format('{0}/{1}', last(split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), 'dummyVault'), '/')), coalesce(tryGet(parameters('customerManagedKey'), 'keyName'), 'dummyKey'))]", - "dependsOn": [ - "cMKKeyVault" - ] + "name": "[format('{0}/{1}', last(split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), 'dummyVault'), '/')), coalesce(tryGet(parameters('customerManagedKey'), 'keyName'), 'dummyKey'))]" }, "avmTelemetry": { "condition": "[parameters('enableTelemetry')]", @@ -30785,8 +30697,8 @@ "azureFilesIdentityBasedAuthentication": "[if(not(empty(parameters('azureFilesIdentityBasedAuthentication'))), parameters('azureFilesIdentityBasedAuthentication'), null())]" }, "dependsOn": [ - "cMKKeyVault", - "cMKUserAssignedIdentity" + "cMKKeyVault::cMKKey", + "cMKKeyVault" ] }, "storageAccount_diagnosticSettings": { @@ -31513,8 +31425,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "12532433520125716194" + "version": "0.32.4.45862", + "templateHash": "7563796982078818002" }, "name": "Storage Account File Share Services", "description": "This module deploys a Storage Account File Share Service.", @@ -31702,10 +31614,7 @@ "properties": { "protocolSettings": "[parameters('protocolSettings')]", "shareDeleteRetentionPolicy": "[parameters('shareDeleteRetentionPolicy')]" - }, - "dependsOn": [ - "storageAccount" - ] + } }, "fileServices_diagnosticSettings": { "copy": { @@ -31794,8 +31703,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "8149592214225924460" + "version": "0.32.4.45862", + "templateHash": "3713644329284987288" }, "name": "Storage Account File Shares", "description": "This module deploys a Storage Account File Share.", @@ -31945,10 +31854,7 @@ "existing": true, "type": "Microsoft.Storage/storageAccounts/fileServices", "apiVersion": "2023-04-01", - "name": "[format('{0}/{1}', parameters('storageAccountName'), parameters('fileServicesName'))]", - "dependsOn": [ - "storageAccount" - ] + "name": "[format('{0}/{1}', parameters('storageAccountName'), parameters('fileServicesName'))]" }, "storageAccount": { "existing": true, @@ -31965,10 +31871,7 @@ "shareQuota": "[parameters('shareQuota')]", "rootSquash": "[if(equals(parameters('enabledProtocols'), 'NFS'), parameters('rootSquash'), null())]", "enabledProtocols": "[parameters('enabledProtocols')]" - }, - "dependsOn": [ - "storageAccount::fileService" - ] + } }, "fileShare_roleAssignments": { "condition": "[not(empty(parameters('roleAssignments')))]", @@ -31994,8 +31897,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "12442072449730867756" + "version": "0.32.4.45862", + "templateHash": "818020582942572160" } }, "parameters": { @@ -32318,8 +32221,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1689212129910611066" + "version": "0.32.4.45862", + "templateHash": "16137516709887962737" }, "name": "AVD LZA storage", "description": "Configures domain join settings on storage account via VM custom script extension", @@ -32419,8 +32322,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -32535,10 +32438,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -32630,8 +32530,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "3813426440693373404" + "version": "0.32.4.45862", + "templateHash": "11716363886763727910" }, "name": "AVD Accelerator - VMSS Flex", "description": "Deploys a VMSS Flex without VM profile", @@ -32841,8 +32741,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "6770038964767794784" + "version": "0.32.4.45862", + "templateHash": "18315988187779289577" } }, "parameters": { @@ -33241,8 +33141,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "2803598175472441376" + "version": "0.32.4.45862", + "templateHash": "10027574665149403184" }, "name": "Virtual Machines", "description": "This module deploys a Virtual Machine with one or multiple NICs and optionally one or multiple public IPs.", @@ -34071,8 +33971,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "499916289263126031" + "version": "0.32.4.45862", + "templateHash": "8317114007842077232" } }, "definitions": { @@ -35624,8 +35524,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -35740,10 +35640,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -35833,8 +35730,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -35949,10 +35846,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -36037,8 +35931,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -36153,10 +36047,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -36248,8 +36139,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -36364,10 +36255,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -36452,8 +36340,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -36568,10 +36456,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -36653,8 +36538,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -36769,10 +36654,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -36915,8 +36797,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -37031,10 +36913,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -37132,8 +37011,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16065702394900050638" + "version": "0.32.4.45862", + "templateHash": "12912200857967286939" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -37248,10 +37127,7 @@ "settings": "[if(not(empty(parameters('settings'))), parameters('settings'), null())]", "protectedSettings": "[if(not(empty(parameters('protectedSettings'))), parameters('protectedSettings'), null())]", "suppressFailures": "[parameters('supressFailures')]" - }, - "dependsOn": [ - "virtualMachine" - ] + } } }, "outputs": { @@ -37320,8 +37196,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "3162213164155283873" + "version": "0.32.4.45862", + "templateHash": "16098006620978243706" } }, "parameters": { @@ -37418,8 +37294,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "11404025400543455992" + "version": "0.32.4.45862", + "templateHash": "2034101914121395359" } }, "parameters": { @@ -37589,8 +37465,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "12070773277688568193" + "version": "0.32.4.45862", + "templateHash": "13524617293657039977" } }, "parameters": { @@ -37621,8 +37497,8 @@ } }, "variables": { - "$fxv#0": "{\r\n \"name\": \"policy-deploy-amd-gpu-driver\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"mode\": \"Indexed\",\r\n \"displayName\": \"Custom - Deploy AMD GPU Driver Extension\",\r\n \"description\": \"This policy definition deploys the AMD GPU Driver extension on AMD's SKU VMs.\",\r\n \"metadata\": {\r\n \"version\": \"1.1.0\",\r\n \"category\": \"Drivers\"\r\n },\r\n \"parameters\": {\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.Compute/virtualMachines\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Compute/virtualMachines/sku.name\",\r\n \"in\": [\r\n \"Standard_NV4as_v4\",\r\n \"Standard_NV8as_v4\",\r\n \"Standard_NV16as_v4\",\r\n \"Standard_NV32as_v4\"\r\n ]\r\n }\r\n ]\r\n },\r\n \"then\": {\r\n \"effect\": \"deployIfNotExists\",\r\n \"details\": {\r\n \"type\": \"Microsoft.Compute/virtualMachines/extensions\",\r\n \"roleDefinitionIds\": [\r\n \"/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c\"\r\n ],\r\n \"existenceCondition\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/publisher\",\r\n \"equals\": \"Microsoft.HpcCompute\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/type\",\r\n \"equals\": \"AmdGpuDriverWindows\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/provisioningState\",\r\n \"in\": [\r\n \"Succeeded\"\r\n ]\r\n }\r\n ]\r\n },\r\n \"deployment\": {\r\n \"properties\": {\r\n \"mode\": \"Incremental\",\r\n \"template\": {\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\r\n \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"vmName\": {\r\n \"type\": \"string\"\r\n },\r\n \"location\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"variables\": {\r\n \"vmExtensionName\": \"AmdGpuDriverWindows\",\r\n \"vmExtensionPublisher\": \"Microsoft.HpcCompute\",\r\n \"vmExtensionType\": \"AmdGpuDriverWindows\",\r\n \"vmExtensionTypeHandlerVersion\": \"1.0\"\r\n },\r\n \"resources\": [\r\n {\r\n \"name\": \"[concat(parameters('vmName'), '/', variables('vmExtensionName'))]\",\r\n \"type\": \"Microsoft.Compute/virtualMachines/extensions\",\r\n \"location\": \"[parameters('location')]\",\r\n \"apiVersion\": \"2018-06-01\",\r\n \"properties\": {\r\n \"publisher\": \"[variables('vmExtensionPublisher')]\",\r\n \"type\": \"[variables('vmExtensionType')]\",\r\n \"typeHandlerVersion\": \"[variables('vmExtensionTypeHandlerVersion')]\",\r\n \"autoUpgradeMinorVersion\": true\r\n }\r\n }\r\n ],\r\n \"outputs\": {\r\n \"policy\": {\r\n \"type\": \"string\",\r\n \"value\": \"[concat('Enabled extension for VM', ': ', parameters('vmName'))]\"\r\n }\r\n }\r\n },\r\n \"parameters\": {\r\n \"vmName\": {\r\n \"value\": \"[field('name')]\"\r\n },\r\n \"location\": {\r\n \"value\": \"[field('location')]\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}", - "$fxv#1": "{\r\n \"name\": \"policy-deploy-nvidia-gpu-driver\",\r\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\r\n \"apiVersion\": \"2021-06-01\",\r\n \"scope\": null,\r\n \"properties\": {\r\n \"policyType\": \"Custom\",\r\n \"mode\": \"Indexed\",\r\n \"displayName\": \"Custom - Deploy Nvidia GPU Driver Extension\",\r\n \"description\": \"This policy definition deploys the Nvidia GPU Driver extension on Nvidia's SKU VMs.\",\r\n \"metadata\": {\r\n \"version\": \"1.1.0\",\r\n \"category\": \"Drivers\"\r\n },\r\n \"parameters\": {\r\n },\r\n \"policyRule\": {\r\n \"if\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"type\",\r\n \"equals\": \"Microsoft.Compute/virtualMachines\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Compute/virtualMachines/sku.name\",\r\n \"in\": [\r\n \"Standard_NV6\",\r\n \"Standard_NV12\",\r\n \"Standard_NV24\",\r\n \"Standard_NV12s_v3\",\r\n \"Standard_NV24s_v3\",\r\n \"Standard_NV48s_v3\",\r\n \"Standard_NC4as_T4_v3\",\r\n \"Standard_NC8as_T4_v3\",\r\n \"Standard_NC16as_T4_v3\",\r\n \"Standard_NC64as_T4_v3\",\r\n \"Standard_NV6ads_A10_v5\",\r\n \"Standard_NV12ads_A10_v5\",\r\n \"Standard_NV18ads_A10_v5\",\r\n \"Standard_NV36ads_A10_v5\",\r\n \"Standard_NV36adms_A10_v5\",\r\n \"Standard_NV72ads_A10_v5\"\r\n ]\r\n }\r\n ]\r\n },\r\n \"then\": {\r\n \"effect\": \"deployIfNotExists\",\r\n \"details\": {\r\n \"type\": \"Microsoft.Compute/virtualMachines/extensions\",\r\n \"roleDefinitionIds\": [\r\n \"/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c\"\r\n ],\r\n \"existenceCondition\": {\r\n \"allOf\": [\r\n {\r\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/publisher\",\r\n \"equals\": \"Microsoft.HpcCompute\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/type\",\r\n \"equals\": \"NvidiaGpuDriverWindows\"\r\n },\r\n {\r\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/provisioningState\",\r\n \"in\": [\r\n \"Succeeded\"\r\n ]\r\n }\r\n ]\r\n },\r\n \"deployment\": {\r\n \"properties\": {\r\n \"mode\": \"Incremental\",\r\n \"template\": {\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\r\n \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"vmName\": {\r\n \"type\": \"string\"\r\n },\r\n \"location\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"variables\": {\r\n \"vmExtensionName\": \"NvidiaGpuDriverWindows\",\r\n \"vmExtensionPublisher\": \"Microsoft.HpcCompute\",\r\n \"vmExtensionType\": \"NvidiaGpuDriverWindows\",\r\n \"vmExtensionTypeHandlerVersion\": \"1.2\"\r\n },\r\n \"resources\": [\r\n {\r\n \"name\": \"[concat(parameters('vmName'), '/', variables('vmExtensionName'))]\",\r\n \"type\": \"Microsoft.Compute/virtualMachines/extensions\",\r\n \"location\": \"[parameters('location')]\",\r\n \"apiVersion\": \"2018-06-01\",\r\n \"properties\": {\r\n \"publisher\": \"[variables('vmExtensionPublisher')]\",\r\n \"type\": \"[variables('vmExtensionType')]\",\r\n \"typeHandlerVersion\": \"[variables('vmExtensionTypeHandlerVersion')]\",\r\n \"autoUpgradeMinorVersion\": true\r\n }\r\n }\r\n ],\r\n \"outputs\": {\r\n \"policy\": {\r\n \"type\": \"string\",\r\n \"value\": \"[concat('Enabled extension for VM', ': ', parameters('vmName'))]\"\r\n }\r\n }\r\n },\r\n \"parameters\": {\r\n \"vmName\": {\r\n \"value\": \"[field('name')]\"\r\n },\r\n \"location\": {\r\n \"value\": \"[field('location')]\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}", + "$fxv#0": "{\n \"name\": \"policy-deploy-amd-gpu-driver\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"mode\": \"Indexed\",\n \"displayName\": \"Custom - Deploy AMD GPU Driver Extension\",\n \"description\": \"This policy definition deploys the AMD GPU Driver extension on AMD's SKU VMs.\",\n \"metadata\": {\n \"version\": \"1.1.0\",\n \"category\": \"Drivers\"\n },\n \"parameters\": {\n },\n \"policyRule\": {\n \"if\": {\n \"allOf\": [\n {\n \"field\": \"type\",\n \"equals\": \"Microsoft.Compute/virtualMachines\"\n },\n {\n \"field\": \"Microsoft.Compute/virtualMachines/sku.name\",\n \"in\": [\n \"Standard_NV4as_v4\",\n \"Standard_NV8as_v4\",\n \"Standard_NV16as_v4\",\n \"Standard_NV32as_v4\"\n ]\n }\n ]\n },\n \"then\": {\n \"effect\": \"deployIfNotExists\",\n \"details\": {\n \"type\": \"Microsoft.Compute/virtualMachines/extensions\",\n \"roleDefinitionIds\": [\n \"/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c\"\n ],\n \"existenceCondition\": {\n \"allOf\": [\n {\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/publisher\",\n \"equals\": \"Microsoft.HpcCompute\"\n },\n {\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/type\",\n \"equals\": \"AmdGpuDriverWindows\"\n },\n {\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/provisioningState\",\n \"in\": [\n \"Succeeded\"\n ]\n }\n ]\n },\n \"deployment\": {\n \"properties\": {\n \"mode\": \"Incremental\",\n \"template\": {\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"vmName\": {\n \"type\": \"string\"\n },\n \"location\": {\n \"type\": \"string\"\n }\n },\n \"variables\": {\n \"vmExtensionName\": \"AmdGpuDriverWindows\",\n \"vmExtensionPublisher\": \"Microsoft.HpcCompute\",\n \"vmExtensionType\": \"AmdGpuDriverWindows\",\n \"vmExtensionTypeHandlerVersion\": \"1.0\"\n },\n \"resources\": [\n {\n \"name\": \"[concat(parameters('vmName'), '/', variables('vmExtensionName'))]\",\n \"type\": \"Microsoft.Compute/virtualMachines/extensions\",\n \"location\": \"[parameters('location')]\",\n \"apiVersion\": \"2018-06-01\",\n \"properties\": {\n \"publisher\": \"[variables('vmExtensionPublisher')]\",\n \"type\": \"[variables('vmExtensionType')]\",\n \"typeHandlerVersion\": \"[variables('vmExtensionTypeHandlerVersion')]\",\n \"autoUpgradeMinorVersion\": true\n }\n }\n ],\n \"outputs\": {\n \"policy\": {\n \"type\": \"string\",\n \"value\": \"[concat('Enabled extension for VM', ': ', parameters('vmName'))]\"\n }\n }\n },\n \"parameters\": {\n \"vmName\": {\n \"value\": \"[field('name')]\"\n },\n \"location\": {\n \"value\": \"[field('location')]\"\n }\n }\n }\n }\n }\n }\n }\n }\n}", + "$fxv#1": "{\n \"name\": \"policy-deploy-nvidia-gpu-driver\",\n \"type\": \"Microsoft.Authorization/policyDefinitions\",\n \"apiVersion\": \"2021-06-01\",\n \"scope\": null,\n \"properties\": {\n \"policyType\": \"Custom\",\n \"mode\": \"Indexed\",\n \"displayName\": \"Custom - Deploy Nvidia GPU Driver Extension\",\n \"description\": \"This policy definition deploys the Nvidia GPU Driver extension on Nvidia's SKU VMs.\",\n \"metadata\": {\n \"version\": \"1.1.0\",\n \"category\": \"Drivers\"\n },\n \"parameters\": {\n },\n \"policyRule\": {\n \"if\": {\n \"allOf\": [\n {\n \"field\": \"type\",\n \"equals\": \"Microsoft.Compute/virtualMachines\"\n },\n {\n \"field\": \"Microsoft.Compute/virtualMachines/sku.name\",\n \"in\": [\n \"Standard_NV6\",\n \"Standard_NV12\",\n \"Standard_NV24\",\n \"Standard_NV12s_v3\",\n \"Standard_NV24s_v3\",\n \"Standard_NV48s_v3\",\n \"Standard_NC4as_T4_v3\",\n \"Standard_NC8as_T4_v3\",\n \"Standard_NC16as_T4_v3\",\n \"Standard_NC64as_T4_v3\",\n \"Standard_NV6ads_A10_v5\",\n \"Standard_NV12ads_A10_v5\",\n \"Standard_NV18ads_A10_v5\",\n \"Standard_NV36ads_A10_v5\",\n \"Standard_NV36adms_A10_v5\",\n \"Standard_NV72ads_A10_v5\"\n ]\n }\n ]\n },\n \"then\": {\n \"effect\": \"deployIfNotExists\",\n \"details\": {\n \"type\": \"Microsoft.Compute/virtualMachines/extensions\",\n \"roleDefinitionIds\": [\n \"/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c\"\n ],\n \"existenceCondition\": {\n \"allOf\": [\n {\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/publisher\",\n \"equals\": \"Microsoft.HpcCompute\"\n },\n {\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/type\",\n \"equals\": \"NvidiaGpuDriverWindows\"\n },\n {\n \"field\": \"Microsoft.Compute/virtualMachines/extensions/provisioningState\",\n \"in\": [\n \"Succeeded\"\n ]\n }\n ]\n },\n \"deployment\": {\n \"properties\": {\n \"mode\": \"Incremental\",\n \"template\": {\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"vmName\": {\n \"type\": \"string\"\n },\n \"location\": {\n \"type\": \"string\"\n }\n },\n \"variables\": {\n \"vmExtensionName\": \"NvidiaGpuDriverWindows\",\n \"vmExtensionPublisher\": \"Microsoft.HpcCompute\",\n \"vmExtensionType\": \"NvidiaGpuDriverWindows\",\n \"vmExtensionTypeHandlerVersion\": \"1.2\"\n },\n \"resources\": [\n {\n \"name\": \"[concat(parameters('vmName'), '/', variables('vmExtensionName'))]\",\n \"type\": \"Microsoft.Compute/virtualMachines/extensions\",\n \"location\": \"[parameters('location')]\",\n \"apiVersion\": \"2018-06-01\",\n \"properties\": {\n \"publisher\": \"[variables('vmExtensionPublisher')]\",\n \"type\": \"[variables('vmExtensionType')]\",\n \"typeHandlerVersion\": \"[variables('vmExtensionTypeHandlerVersion')]\",\n \"autoUpgradeMinorVersion\": true\n }\n }\n ],\n \"outputs\": {\n \"policy\": {\n \"type\": \"string\",\n \"value\": \"[concat('Enabled extension for VM', ': ', parameters('vmName'))]\"\n }\n }\n },\n \"parameters\": {\n \"vmName\": {\n \"value\": \"[field('name')]\"\n },\n \"location\": {\n \"value\": \"[field('location')]\"\n }\n }\n }\n }\n }\n }\n }\n }\n}", "varCustomPolicyDefinitions": [ { "deploymentName": "AMD-Policy", @@ -37679,8 +37555,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "16641541366344144948" + "version": "0.32.4.45862", + "templateHash": "15463854004391961762" } }, "parameters": { @@ -37825,8 +37701,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "15074949129863647497" + "version": "0.32.4.45862", + "templateHash": "15421130529251696480" }, "name": "Policy Assignments (Resource Group scope)", "description": "This module deploys a Policy Assignment at a Resource Group scope.", @@ -38076,8 +37952,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "13526857440223039502" + "version": "0.32.4.45862", + "templateHash": "13897376912843476576" }, "name": "Policy Insights Remediations (Resource Group scope)", "description": "This module deploys a Policy Insights Remediation on a Resource Group scope.", diff --git a/workload/arm/deploy-custom-image.json b/workload/arm/deploy-custom-image.json index f9686bbd4..49b43cce9 100644 --- a/workload/arm/deploy-custom-image.json +++ b/workload/arm/deploy-custom-image.json @@ -2276,10 +2276,7 @@ "privacyStatementUri": "[parameters('privacyStatementUri')]", "releaseNoteUri": "[parameters('releaseNoteUri')]", "supportedOSType": "[parameters('supportedOSType')]" - }, - "dependsOn": [ - "gallery" - ] + } }, "application_roleAssignments": { "copy": { @@ -2782,10 +2779,7 @@ "disallowed": { "diskTypes": "[parameters('excludedDiskTypes')]" } - }, - "dependsOn": [ - "gallery" - ] + } }, "image_roleAssignments": { "copy": { @@ -3292,10 +3286,7 @@ "disallowed": { "diskTypes": "[parameters('excludedDiskTypes')]" } - }, - "dependsOn": [ - "gallery" - ] + } }, "image_roleAssignments": { "copy": { @@ -4442,11 +4433,7 @@ "id": "[parameters('storageAccountResourceId')]", "key": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', last(split(parameters('storageAccountResourceId'), '/'))), '2022-09-01').keys[0].value]" } - }, - "dependsOn": [ - "storageAccount", - "workspace" - ] + } } }, "outputs": { @@ -5307,10 +5294,7 @@ "apiVersion": "2023-02-01", "subscriptionId": "[split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), '//'), '/')[2]]", "resourceGroup": "[split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), '////'), '/')[4]]", - "name": "[format('{0}/{1}', last(split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), 'dummyVault'), '/')), coalesce(tryGet(parameters('customerManagedKey'), 'keyName'), 'dummyKey'))]", - "dependsOn": [ - "cMKKeyVault" - ] + "name": "[format('{0}/{1}', last(split(coalesce(tryGet(parameters('customerManagedKey'), 'keyVaultResourceId'), 'dummyVault'), '/')), coalesce(tryGet(parameters('customerManagedKey'), 'keyName'), 'dummyKey'))]" }, "avmTelemetry": { "condition": "[parameters('enableTelemetry')]", @@ -5366,8 +5350,8 @@ "disableLocalAuth": "[parameters('disableLocalAuth')]" }, "dependsOn": [ - "cMKKeyVault", - "cMKUserAssignedIdentity" + "cMKKeyVault::cMKKey", + "cMKKeyVault" ] }, "automationAccount_lock": { @@ -5550,10 +5534,7 @@ "password": "[parameters('credentials')[copyIndex()].password]", "userName": "[parameters('credentials')[copyIndex()].userName]", "description": "[coalesce(tryGet(parameters('credentials')[copyIndex()], 'description'), '')]" - }, - "dependsOn": [ - "automationAccount" - ] + } } }, "outputs": { @@ -5697,10 +5678,7 @@ "uri": "[if(not(equals(parameters('version'), 'latest')), format('{0}/{1}/{2}', parameters('uri'), parameters('name'), parameters('version')), format('{0}/{1}', parameters('uri'), parameters('name')))]", "version": "[if(not(equals(parameters('version'), 'latest')), parameters('version'), null())]" } - }, - "dependsOn": [ - "automationAccount" - ] + } } }, "outputs": { @@ -6081,11 +6059,7 @@ "runbookType": "[parameters('type')]", "description": "[parameters('description')]", "publishContentLink": "[if(not(empty(parameters('uri'))), if(empty(parameters('uri')), null(), createObject('uri', if(not(empty(parameters('uri'))), if(empty(parameters('scriptStorageAccountResourceId')), parameters('uri'), format('{0}?{1}', parameters('uri'), listAccountSas(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', split(coalesce(parameters('scriptStorageAccountResourceId'), '//'), '/')[2], split(coalesce(parameters('scriptStorageAccountResourceId'), '////'), '/')[4]), 'Microsoft.Storage/storageAccounts', last(split(coalesce(parameters('scriptStorageAccountResourceId'), 'dummyVault'), '/'))), '2021-04-01', variables('accountSasProperties')).accountSasToken)), null()), 'version', if(not(empty(parameters('version'))), parameters('version'), null()))), null())]" - }, - "dependsOn": [ - "automationAccount", - "storageAccount" - ] + } } }, "outputs": { @@ -6456,10 +6430,7 @@ "properties": { "resourceId": "[parameters('resourceId')]", "writeAccessResourceId": "[if(empty(parameters('writeAccessResourceId')), null(), parameters('writeAccessResourceId'))]" - }, - "dependsOn": [ - "workspace" - ] + } } }, "outputs": { @@ -7938,10 +7909,7 @@ "uri": "[if(not(equals(parameters('version'), 'latest')), format('{0}/{1}/{2}', parameters('uri'), parameters('name'), parameters('version')), format('{0}/{1}', parameters('uri'), parameters('name')))]", "version": "[if(not(equals(parameters('version'), 'latest')), parameters('version'), null())]" } - }, - "dependsOn": [ - "automationAccount" - ] + } } }, "outputs": { diff --git a/workload/scripts/DSCStorageScripts/1.0.1/DSCStorageScripts.zip b/workload/scripts/DSCStorageScripts/1.0.1/DSCStorageScripts.zip index 7aa71861efbdcad2c2104f873a199273de29f75b..cfd480ea59e8f7582d0c66ff2697a765fc98bc4c 100644 GIT binary patch delta 611 zcmaE}hwJh@R*wL0W)=|!4j|Mjn-s}_1h^O!7<}^6(^HG|3W^O&E4UdLSwPZYA~b}T zfj!VPIh}u3N;-(%ZaI-jl8F!1km(7NnUoX=YF#v$=`4ph4tGqHlp$zBW9ZgU#x`qo z+vn9Wi4)YjUBQOYmaU$VNrV{@4#ya0zxvO}z|h6az`(^I0S}dJjUXnTP+?_Y1cgR` zH>!DOzI{Bln}dNNM3#X;2F1K^CI*J!v>h6H&A20;{qeBButob&V2GSf?o5=%1k^ROlYxcgXvhJca= P3qu+(*x0W70!an{+eUBA delta 21142 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 diff --git a/workload/scripts/Manual-DSC-Storage-Scripts.ps1 b/workload/scripts/Manual-DSC-Storage-Scripts.ps1 index 63190f1d9..4e4b72531 100644 --- a/workload/scripts/Manual-DSC-Storage-Scripts.ps1 +++ b/workload/scripts/Manual-DSC-Storage-Scripts.ps1 @@ -64,28 +64,46 @@ param ( [string] $StoragePurpose ) -Write-Host "Add domain join account as local administrator" if ($IdentityServiceProvider -ne 'EntraID') { - Add-LocalGroupMember -Group "Administrators" -Member $AdminUserName - Write-Host "Domain join account added to local administrators group" + # The $AdminUserName might be in UPN format instead of NTLM format + # If that happens, Add-LocalGroupMember succeeds, but Get-LocalGroupMember fails + [string]$CheckAdminUserName = $AdminUserName + If ($CheckAdminUserName -match '^(?.+)@.+$') { + # Convert the username to check in NTLM format + $CheckAdminUserName = "$((Get-WmiObject Win32_NTDomain).DomainName)\$($Matches['user'])".Trim() + } + + # Check if the domain join account is already in the local Administrators group + Write-Host "Checking if domain join account '$CheckAdminUserName' ('$AdminUserName') is in local Administrators group" + $Member = Get-LocalGroupMember -Group "Administrators" -Member $CheckAdminUserName -ErrorAction SilentlyContinue + + # If the domain join account is not in the local Administrators group + if (! $Member) { + Write-Host "Add domain join account '$AdminUserName' as local Administrator" + Add-LocalGroupMember -Group "Administrators" -Member $AdminUserName + Write-Host "Domain join account added to local Administrators group" + } + else { + Write-Host "Domain join account '$AdminUserName' already in local Administrators group" + } } else { - Write-Host "Using EntraID, no domain join account to add to local administrators group" + Write-Host "Using EntraID, no domain join account to add to local Administrators group" } Write-Host "Downloading the DSCStorageScripts.zip from $DscPath" -$DscArhive = "DSCStorageScripts.zip" +$DscArchive = "DSCStorageScripts.zip" $appName = 'DSCStorageScripts-' + $StoragePurpose $drive = 'C:\Packages' New-Item -Path $drive -Name $appName -ItemType Directory -ErrorAction SilentlyContinue -Write-Host "Setting DSC local path to $LocalPath" $LocalPath = $drive + '\DSCStorageScripts-' + $StoragePurpose -$OutputPath = $LocalPath + '\' + $DscArhive +Write-Host "Setting DSC local path to $LocalPath" +$OutputPath = $LocalPath + '\' + $DscArchive Invoke-WebRequest -Uri $DscPath -OutFile $OutputPath Write-Host "Expanding the archive $DscArchive" -Expand-Archive -LiteralPath $OutputPath -DestinationPath $Localpath -Force -Verbose +Expand-Archive -LiteralPath $OutputPath -DestinationPath $LocalPath -Force -Verbose Set-Location -Path $LocalPath @@ -115,10 +133,9 @@ function Set-EscapeCharacters { } $AdminUserPasswordEscaped = Set-EscapeCharacters $AdminUserPassword - $DscCompileCommand = "./Configuration.ps1 -StorageAccountName """ + $StorageAccountName + """ -StorageAccountRG """ + $StorageAccountRG + """ -StoragePurpose """ + $StoragePurpose + """ -StorageAccountFqdn """ + $StorageAccountFqdn + """ -ShareName """ + $ShareName + """ -SubscriptionId """ + $SubscriptionId + """ -ClientId """ + $ClientId + """ -SecurityPrincipalName """ + $SecurityPrincipalName + """ -DomainName """ + $DomainName + """ -IdentityServiceProvider """ + $IdentityServiceProvider + """ -AzureCloudEnvironment """ + $AzureCloudEnvironment + """ -CustomOuPath " + $CustomOuPath + " -OUName """ + $OUName + """ -AdminUserName """ + $AdminUserName + """ -AdminUserPassword """ + $AdminUserPasswordEscaped + """ -Verbose" -Write-Host "Executing the commmand $DscCompileCommand" +Write-Host "Executing the command $DscCompileCommand" Invoke-Expression -Command $DscCompileCommand $MofFolder = 'DomainJoinFileShare' @@ -127,7 +144,7 @@ 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 +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