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"
}
}
}
}