Skip to content

Commit d713e55

Browse files
authored
Merge pull request #760 from sihbher/main
Enhancements and Fixes in Terraform Greenfield ADDS Deployment
2 parents 202bd73 + 78f7213 commit d713e55

File tree

5 files changed

+38
-10
lines changed

5 files changed

+38
-10
lines changed

workload/terraform/greenfield/ADDSscenario/data.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ data "azurerm_subscription" "primary" {}
33
data "azurerm_client_config" "current" {}
44

55
data "azurerm_virtual_network" "remote" {
6-
provider = azurerm.hub
6+
provider = azurerm.hub
77
name = var.hub_vnet
88
resource_group_name = var.hub_connectivity_rg
99
}

workload/terraform/greenfield/ADDSscenario/keyvault.tf

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
# Get current IP address for use in KV firewall rules
2+
data "http" "ip" {
3+
url = "https://api.ipify.org/"
4+
retry {
5+
attempts = 5
6+
max_delay_ms = 1000
7+
min_delay_ms = 500
8+
}
9+
}
10+
# Get current IP address for use in KV firewall rules
11+
data "http" "ipv6" {
12+
url = "https://api64.ipify.org/"
13+
retry {
14+
attempts = 5
15+
max_delay_ms = 1000
16+
min_delay_ms = 500
17+
}
18+
}
19+
120
module "avm-res-keyvault-vault" {
221
source = "Azure/avm-res-keyvault-vault/azurerm"
322
version = "0.5.3"
@@ -29,7 +48,7 @@ module "avm-res-keyvault-vault" {
2948
network_acls = {
3049
bypass = "AzureServices"
3150
default_action = "Deny"
32-
ip_rules = ["136.28.83.128"]
51+
ip_rules = ["${data.http.ip.response_body}/32", "${data.http.ipv6.response_body}/32"]
3352
virtual_network_subnet_ids = [
3453
data.azurerm_subnet.pesubnet.id
3554
]

workload/terraform/greenfield/ADDSscenario/main.tf

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ module "avm_res_desktopvirtualization_hostpool" {
3939
version = "0.1.4"
4040

4141
virtual_desktop_host_pool_location = azurerm_resource_group.this.location
42-
virtual_desktop_host_pool_name = "${var.hostpool}-${var.prefix}-${var.environment}-${var.avdLocation}"
42+
virtual_desktop_host_pool_name = "${var.hostpool}-${var.prefix}-${var.environment}"
4343
virtual_desktop_host_pool_type = "Pooled" // "Personal" or "Pooled"
4444
virtual_desktop_host_pool_resource_group_name = azurerm_resource_group.this.name
4545
virtual_desktop_host_pool_load_balancer_type = "BreadthFirst" // "DepthFirst" or "BreadthFirst"
@@ -85,7 +85,7 @@ module "avm_res_desktopvirtualization_applicationgroup" {
8585
source = "Azure/avm-res-desktopvirtualization-applicationgroup/azurerm"
8686
enable_telemetry = var.enable_telemetry
8787
version = "0.1.2"
88-
virtual_desktop_application_group_name = "${var.dag}-${var.prefix}-${var.environment}-${var.avdLocation}-01"
88+
virtual_desktop_application_group_name = "${var.dag}-${var.prefix}-${var.environment}-01"
8989
virtual_desktop_application_group_type = "Desktop"
9090
virtual_desktop_application_group_host_pool_id = module.avm_res_desktopvirtualization_hostpool.resource.id
9191
virtual_desktop_application_group_resource_group_name = azurerm_resource_group.this.name
@@ -97,13 +97,14 @@ module "avm_res_desktopvirtualization_applicationgroup" {
9797
# Create Azure Virtual Desktop workspace
9898
module "avm_res_desktopvirtualization_workspace" {
9999
source = "Azure/avm-res-desktopvirtualization-workspace/azurerm"
100-
version = "0.1.2"
100+
version = "0.2.0"
101101
enable_telemetry = var.enable_telemetry
102102
resource_group_name = azurerm_resource_group.this.name
103-
location = azurerm_resource_group.this.location
104-
description = "${var.prefix} Workspace"
105-
name = "${var.workspace}-${var.prefix}-${var.environment}-${var.avdLocation}-01"
106-
tags = local.tags
103+
virtual_desktop_workspace_resource_group_name = azurerm_resource_group.this.name
104+
virtual_desktop_workspace_location = azurerm_resource_group.this.location
105+
virtual_desktop_workspace_name = "${var.workspace}-${var.prefix}-${var.environment}-${var.avdLocation}-01"
106+
107+
tags = local.tags
107108
}
108109

109110
resource "azurerm_virtual_desktop_workspace_application_group_association" "workappgrassoc" {
@@ -123,6 +124,7 @@ data "azurerm_role_definition" "power_role" {
123124
}
124125

125126
resource "azurerm_role_assignment" "new" {
127+
name = random_uuid.example.result
126128
principal_id = data.azuread_service_principal.spn.object_id
127129
scope = data.azurerm_subscription.primary.id
128130
role_definition_id = data.azurerm_role_definition.power_role.id

workload/terraform/modules/network/locals.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,7 @@ locals {
33
environment = var.prefix
44
source = "https://github.com/Azure/avdaccelerator/tree/main/workload/terraform/avdbaseline"
55
}
6+
7+
#Validate if identity_subscription_id is equal to hub_subscription_id
8+
use_same_hub_identity_vnet = var.identity_subscription_id == var.hub_subscription_id ? true : false
69
}

workload/terraform/modules/network/main.tf

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,11 @@ resource "azurerm_virtual_network_peering" "peer1" {
4848
depends_on = [
4949
azurerm_virtual_network.vnet, azurerm_resource_group.net, azurerm_subnet.subnet
5050
]
51-
5251
}
5352

5453
resource "azurerm_virtual_network_peering" "peer4" {
54+
count = local.use_same_hub_identity_vnet ? 0 : 1
55+
5556
name = "peer_${var.prefix}_avdspoke_identity"
5657
resource_group_name = azurerm_resource_group.net.name
5758
virtual_network_name = azurerm_virtual_network.vnet.name
@@ -66,6 +67,7 @@ resource "azurerm_virtual_network_peering" "peer4" {
6667
azurerm_virtual_network_peering.peer1
6768
]
6869
}
70+
6971
resource "azurerm_virtual_network_peering" "peer2" {
7072
name = "peer_${var.prefix}_hub_avdspoke"
7173
resource_group_name = var.hub_connectivity_rg
@@ -83,6 +85,8 @@ resource "azurerm_virtual_network_peering" "peer2" {
8385
}
8486

8587
resource "azurerm_virtual_network_peering" "peer3" {
88+
count = local.use_same_hub_identity_vnet ? 0 : 1
89+
8690
name = "peer_${var.prefix}_identity_avdspoke"
8791
resource_group_name = var.identity_rg
8892
virtual_network_name = var.identity_vnet

0 commit comments

Comments
 (0)