Skip to content

fjdev/terraform-azurerm-vpn-server-configuration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Requirements

No requirements.

Providers

Name Version
azurerm n/a

Modules

No modules.

Resources

Name Type
azurerm_resource_group.rg resource
azurerm_vpn_server_configuration.vpnsc resource
azurerm_vpn_server_configuration_policy_group.vpnscpg resource

Inputs

Name Description Type Default Required
azure_active_directory_authentication (Optional) A azure_active_directory_authentication block as defined above.
object({
audience = string
issuer = string
tenant = string
})
null no
client_revoked_certificate (Optional) One or more client_revoked_certificate blocks as defined above.
map(object({
thumbprint = string
}))
null no
client_root_certificate (Optional) One or more client_root_certificate blocks as defined above.
map(object({
public_cert_data = string
}))
null no
deploy_resource_group (Optional) Specifies whether to deploy the resource group or not. Defaults to true. bool true no
ipsec_policy (Optional) A ipsec_policy block as defined above.
object({
dh_group = string
ike_encryption = string
ike_integrity = string
ipsec_encryption = string
ipsec_integrity = string
pfs_group = string
sa_lifetime_seconds = number
sa_dat_size_kilobytes = number
})
null no
location (Required) The Azure location where this VPN Server Configuration should be created. Changing this forces a new resource to be created. string "westeurope" no
managed_by (Optional) The ID of the resource or application that manages this Resource Group. string null no
name (Required) The Name which should be used for this VPN Server Configuration. Changing this forces a new resource to be created. string n/a yes
policy_groups (Optional) One or more policy_groups blocks as defined above.
map(object({
policies = map(object({
type = string
value = string
}))
is_default = optional(bool)
priority = optional(number)
}))
null no
radius (Optional) A radius block as defined above.
object({
server = map(object({
address = string
secret = string
score = number
}))
client_root_certificate = optional(map(object({
thumbprint = string
})))
server_root_certificate = optional(map(object({
public_cert_data = string
})))
})
null no
resource_group_name (Required) The Name of the Resource Group in which this VPN Server Configuration should be created. Changing this forces a new resource to be created. string n/a yes
tags (Optional) A mapping of tags to assign to the resources any null no
vpn_authentication_types (Required) A list of Authentication Types applicable for this VPN Server Configuration. Possible values are AAD (Azure Active Directory), Certificate and Radius. list(string) n/a yes
vpn_protocols (Optional) A list of VPN Protocols to use for this Server Configuration. Possible values are IkeV2 and OpenVPN. list(string) [] no

Outputs

Name Description
id The ID of the VPN Server Configuration.

Usage

data "azurerm_client_config" "current" {
}

module "vpn_server_configuration" {
  source = "github.com/fjdev/terraform-azurerm-vpn-server-configuration"

  name                     = "example-vpnsc"
  deploy_resource_group    = false
  resource_group_name      = "example-rg"
  location                 = "West Europe"
  vpn_authentication_types = ["AAD"]
  vpn_protocols            = ["OpenVPN"]

  azure_active_directory_authentication = {
    audience = "41b23e61-6c1e-4545-b367-cd054e0ed4b4"
    issuer   = "https://sts.windows.net/${data.azurerm_client_config.current.tenant_id}/"
    tenant   = "https://login.microsoftonline.com/${data.azurerm_client_config.current.tenant_id}/"
  }
}