This module manages the hashicorp/azurerm network resources.
For more information see https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs > network
<-- This file is autogenerated, please do not change. -->
Name |
Version |
terraform |
>=1.4 |
azurerm |
>=3.51.0, <4.0 |
Name |
Version |
azurerm |
>=3.51.0, <4.0 |
Name |
Type |
azurerm_local_network_gateway.local_network_gateway |
resource |
azurerm_network_interface.network_interface |
resource |
azurerm_network_interface_security_group_association.network_interface_security_group_association |
resource |
azurerm_network_security_group.network_security_group |
resource |
azurerm_private_endpoint.private_endpoint |
resource |
azurerm_public_ip.public_ip |
resource |
azurerm_subnet.subnet |
resource |
azurerm_subnet_network_security_group_association.subnet_network_security_group_association |
resource |
azurerm_virtual_network.virtual_network |
resource |
azurerm_virtual_network_gateway.virtual_network_gateway |
resource |
azurerm_virtual_network_gateway_connection.virtual_network_gateway_connection |
resource |
azurerm_virtual_network_peering.virtual_network_peering |
resource |
Name |
Description |
Type |
Default |
Required |
local_network_gateway |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
network_interface |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
network_interface_security_group_association |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
network_security_group |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
private_endpoint |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
public_ip |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
subnet |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
subnet_network_security_group_association |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
virtual_network |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
virtual_network_gateway |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
virtual_network_gateway_connection |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
virtual_network_peering |
Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. |
any |
{} |
no |
Name |
Description |
local_network_gateway |
Outputs all attributes of resource_type. |
network_interface |
Outputs all attributes of resource_type. |
network_interface_security_group_association |
Outputs all attributes of resource_type. |
network_security_group |
Outputs all attributes of resource_type. |
private_endpoint |
Outputs all attributes of resource_type. |
public_ip |
Outputs all attributes of resource_type. |
subnet |
Outputs all attributes of resource_type. |
subnet_network_security_group_association |
Outputs all attributes of resource_type. |
variables |
Displays all configurable variables passed by the module. default = predefined values per module. merged = result of merging the default values and custom values passed to the module |
virtual_network |
Outputs all attributes of resource_type. |
virtual_network_gateway |
Outputs all attributes of resource_type. |
virtual_network_gateway_connection |
Outputs all attributes of resource_type. |
virtual_network_peering |
Outputs all attributes of resource_type. |
Minimal configuration to install the desired resources with the module
module "network" {
source = "registry.terraform.io/telekom-mms/network/azurerm"
virtual_network = {
vn-db-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
address_space = ["172.0.0.0/28"]
}
vn-app-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
address_space = ["173.0.0.0/28"]
}
vn-mgmt-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
address_space = ["174.0.0.0/28"]
}
}
subnet = {
snet-app-mms = {
resource_group_name = module.network.virtual_network["vn-app-mms"].resource_group_name
address_prefixes = ["173.0.0.0/29"]
virtual_network_name = module.network.virtual_network["vn-app-mms"].name
}
GatewaySubnet = {
resource_group_name = module.network.virtual_network["vn-mgmt-mms"].resource_group_name
address_prefixes = ["174.0.0.0/29"]
virtual_network_name = module.network.virtual_network["vn-mgmt-mms"].name
}
}
public_ip = {
pip-vpn-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
}
}
network_interface = {
nic-app-mms = {
location = module.network.virtual_network["vn-app-mms"].location
resource_group_name = module.network.virtual_network["vn-app-mms"].resource_group_name
ip_configuration = {
nic-app-mms-01 = {
subnet_id = module.network.subnet["snet-app-mms"].id
private_ip_address = "173.0.0.5"
}
}
}
}
network_security_group = {
nsg-app-mms = {
location = module.network.virtual_network["vn-app-mms"].location
resource_group_name = module.network.virtual_network["vn-app-mms"].resource_group_name
security_rule = {
nsgsr-app-default = {}
}
}
}
subnet_network_security_group_association = {
snet-app-mms = {
network_security_group_id = module.network.network_security_group["nsg-app-mms"].id
subnet_id = module.network.subnet["snet-app-mms"].id
}
}
network_interface_security_group_association = {
nic-app-mms = {
network_interface_id = module.network.network_interface["nic-app-mms"].id
network_security_group_id = module.network.network_security_group["nsg-app-mms"].id
}
}
local_network_gateway = {
lgw-mms = {
location = module.network.virtual_network["vn-mgmt-mms"].location
resource_group_name = module.network.virtual_network["vn-mgmt-mms"].resource_group_name
address_space = ["192.0.0.0/28"]
gateway_fqdn = "gateway.mms.com"
}
}
virtual_network_gateway = {
vgw-mms = {
location = module.network.virtual_network["vn-mgmt-mms"].location
resource_group_name = module.network.virtual_network["vn-mgmt-mms"].resource_group_name
ip_configuration = {
mms = {
subnet_id = module.network.subnet["GatewaySubnet"].id
public_ip_address_id = module.network.public_ip["pip-vpn-mms"].id
}
}
}
}
virtual_network_gateway_connection = {
vgwcn-mms = {
location = module.network.virtual_network["vn-mgmt-mms"].location
resource_group_name = module.network.virtual_network["vn-mgmt-mms"].resource_group_name
type = "IPsec"
virtual_network_gateway_id = module.network.virtual_network_gateway["vgw-mms"].id
}
}
virtual_network_peering = {
peer-mms = {
resource_group_name = module.network.virtual_network["vn-mgmt-mms"].resource_group_name
virtual_network_name = module.network.virtual_network["vn-mgmt-mms"].name
remote_virtual_network_id = module.network.virtual_network["vn-db-mms"].id
}
}
}
Advanced configuration to install the desired resources with the module
module "network" {
source = "registry.terraform.io/telekom-mms/network/azurerm"
virtual_network = {
vn-db-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
address_space = ["172.0.0.0/28"]
subnet = {
snet-mysql-mms = {
address_prefix = "172.0.0.0/29"
}
snet-psql-mms = {
address_prefix = "172.0.0.8/29"
}
}
tags = {
project = "mms-github"
environment = terraform.workspace
managed-by = "terraform"
}
}
vn-app-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
address_space = ["173.0.0.0/28"]
tags = {
project = "mms-github"
environment = terraform.workspace
managed-by = "terraform"
}
}
vn-mgmt-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
address_space = ["174.0.0.0/28"]
tags = {
project = "mms-github"
environment = terraform.workspace
managed-by = "terraform"
}
}
}
subnet = {
snet-app-mms = {
resource_group_name = module.network.virtual_network["vn-app-mms"].resource_group_name
address_prefixes = ["173.0.0.0/29"]
virtual_network_name = module.network.virtual_network["vn-app-mms"].name
service_endpoints = ["Microsoft.Sql"]
}
GatewaySubnet = {
resource_group_name = module.network.virtual_network["vn-mgmt-mms"].resource_group_name
address_prefixes = ["174.0.0.0/29"]
virtual_network_name = module.network.virtual_network["vn-mgmt-mms"].name
}
}
public_ip = {
pip-vpn-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
tags = {
project = "mms-github"
environment = terraform.workspace
managed-by = "terraform"
}
}
}
network_interface = {
nic-app-mms = {
location = module.network.virtual_network["vn-app-mms"].location
resource_group_name = module.network.virtual_network["vn-app-mms"].resource_group_name
ip_configuration = {
nic-app-mms-01 = {
subnet_id = module.network.subnet["snet-app-mms"].id
private_ip_address = "173.0.0.5"
}
}
tags = {
project = "mms-github"
environment = terraform.workspace
managed-by = "terraform"
}
}
}
network_security_group = {
nsg-app-mms = {
location = module.network.virtual_network["vn-app-mms"].location
resource_group_name = module.network.virtual_network["vn-app-mms"].resource_group_name
security_rule = {
nsgsr-app-default = {}
}
tags = {
project = "mms-github"
environment = terraform.workspace
managed-by = "terraform"
}
}
}
subnet_network_security_group_association = {
snet-app-mms = {
network_security_group_id = module.network.network_security_group["nsg-app-mms"].id
subnet_id = module.network.subnet["snet-app-mms"].id
}
}
network_interface_security_group_association = {
nic-app-mms = {
network_interface_id = module.network.network_interface["nic-app-mms"].id
network_security_group_id = module.network.network_security_group["nsg-app-mms"].id
}
}
local_network_gateway = {
lgw-mms = {
location = module.network.virtual_network["vn-mgmt-mms"].location
resource_group_name = module.network.virtual_network["vn-mgmt-mms"].resource_group_name
address_space = ["192.0.0.0/28"]
gateway_fqdn = "gateway.mms.com"
}
}
virtual_network_gateway = {
vgw-mms = {
location = module.network.virtual_network["vn-mgmt-mms"].location
resource_group_name = module.network.virtual_network["vn-mgmt-mms"].resource_group_name
ip_configuration = {
mms = {
subnet_id = module.network.subnet["GatewaySubnet"].id
public_ip_address_id = module.network.public_ip["pip-vpn-mms"].id
}
}
tags = {
project = "mms-github"
environment = terraform.workspace
managed-by = "terraform"
}
}
}
virtual_network_gateway_connection = {
vgwcn-mms = {
location = module.network.virtual_network["vn-mgmt-mms"].location
resource_group_name = module.network.virtual_network["vn-mgmt-mms"].resource_group_name
type = "IPsec"
virtual_network_gateway_id = module.network.virtual_network_gateway["vgw-mms"].id
tags = {
project = "mms-github"
environment = terraform.workspace
managed-by = "terraform"
}
}
}
virtual_network_peering = {
peer-mms = {
resource_group_name = module.network.virtual_network["vn-mgmt-mms"].resource_group_name
virtual_network_name = module.network.virtual_network["vn-mgmt-mms"].name
remote_virtual_network_id = module.network.virtual_network["vn-db-mms"].id
tags = {
project = "mms-github"
environment = terraform.workspace
managed-by = "terraform"
}
}
}
}