generated from Azure/terraform-azurerm-avm-template
-
Notifications
You must be signed in to change notification settings - Fork 19
/
main.virtual.network.tf
47 lines (44 loc) · 1.86 KB
/
main.virtual.network.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
resource "azapi_resource" "vnet" {
type = "Microsoft.Network/virtualNetworks@2023-11-01"
body = {
properties = {
addressSpace = {
addressPrefixes = var.address_space
}
bgpCommunities = var.bgp_community != null ? {
virtualNetworkCommunity = var.bgp_community
} : null
dhcpOptions = var.dns_servers != null ? {
dnsServers = var.dns_servers.dns_servers
} : null
ddosProtectionPlan = var.ddos_protection_plan != null ? {
id = var.ddos_protection_plan.id
} : null
enableDdosProtection = var.ddos_protection_plan != null ? var.ddos_protection_plan.enable : false
enableVmProtection = var.enable_vm_protection
encryption = var.encryption != null ? {
enabled = var.encryption.enabled
enforcement = var.encryption.enforcement
} : null
flowTimeoutInMinutes = var.flow_timeout_in_minutes
}
extendedLocation = var.extended_location != null ? {
name = var.extended_location.name
type = var.extended_location.type
} : null
}
location = var.location
name = var.name
parent_id = "/subscriptions/${local.subscription_id}/resourceGroups/${var.resource_group_name}"
schema_validation_enabled = true
tags = var.tags
depends_on = [azapi_update_resource.allow_drop_unencrypted_vnet]
}
resource "azapi_update_resource" "allow_drop_unencrypted_vnet" {
count = var.encryption != null ? (var.encryption.enforcement == "DropUnencrypted" ? 1 : 0) : 0
type = "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations@2021-07-01"
body = jsonencode({
properties = {}
})
resource_id = "/subscriptions/${local.subscription_id}/providers/Microsoft.Features/featureProviders/Microsoft.Network/subscriptionFeatureRegistrations/AllowDropUnecryptedVnet"
}