1.Virtual.Network/VPN/main.tf (51 lines of code) (raw):
terraform {
required_version = ">=1.11.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>4.27.0"
}
}
}
provider azurerm {
features {
}
subscription_id = var.subscriptionId
}
variable subscriptionId {
type = string
}
variable virtualNetwork {
type = object({
name = string
resourceGroupName = string
gateway = object({
ipAddress1 = object({
name = string
resourceGroupName = string
})
ipAddress2 = object({
name = string
resourceGroupName = string
})
})
})
}
data azurerm_virtual_network studio {
name = var.virtualNetwork.name
resource_group_name = var.virtualNetwork.resourceGroupName
}
data azurerm_subnet gateway {
name = "GatewaySubnet"
resource_group_name = data.azurerm_virtual_network.studio.resource_group_name
virtual_network_name = data.azurerm_virtual_network.studio.name
}
data azurerm_public_ip gateway1 {
name = var.virtualNetwork.gateway.ipAddress1.name
resource_group_name = var.virtualNetwork.gateway.ipAddress1.resourceGroupName
}
data azurerm_public_ip gateway2 {
count = var.virtualNetwork.gateway.ipAddress2.name != "" ? 1 : 0
name = var.virtualNetwork.gateway.ipAddress2.name
resource_group_name = var.virtualNetwork.gateway.ipAddress2.resourceGroupName
}