Terraform module which manages the NSX-T Distributed Firewall on VMWare Cloud Director.
Name | Version |
---|---|
terraform | >= 1.1.9 |
vcd | >= 3.9.0 |
Name | Version |
---|---|
vcd | 3.9.0 |
No modules.
Name | Type |
---|---|
vcd_nsxt_distributed_firewall.nsxt_distributed_firewall | resource |
vcd_nsxt_app_port_profile.nsxt_app_port_profile | data source |
vcd_nsxt_dynamic_security_group.nsxt_dynamic_security_groups | data source |
vcd_nsxt_edgegateway.nsxt_edgegateway | data source |
vcd_nsxt_ip_set.nsxt_ip_set | data source |
vcd_nsxt_security_group.nsxt_security_groups | data source |
vcd_vdc_group.vdc_group | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
vdc_edgegateway_name | The name for the Edge Gateway. | string |
n/a | yes |
vdc_group_name | The name of the VDC group. | string |
n/a | yes |
vdc_org_name | The name of the organization to use. | string |
n/a | yes |
app_port_profiles | Map of app port profiles being used in this rule set with their corresponding scopes. These will be looked up with a data ressource. | map(string) |
{} |
no |
dynamic_security_group_names | List of vcd_nsxt_dynamic_security_group names being used in this ruleset. These will be looked up with a data ressource. | list(string) |
[] |
no |
ip_set_names | List of vcd_nsxt_ip_set names being used in this ruleset. These will be looked up with a data ressource. | list(string) |
[] |
no |
rules | List of rules to apply. | list(object({ |
[] |
no |
security_group_names | List of vcd_nsxt_security_group names being used in this ruleset. These will be looked up with a data ressource. | list(string) |
[] |
no |
Name | Description |
---|---|
nsxt_distributed_firewall_id | The ID of the firewall |
nsxt_distributed_firewall_rule_names | The names of the firewall rules |
locals {
distributed_firewall_rule = [
{
name = "kind of OUTBOUND HTTP/S"
direction = "IN_OUT"
ip_protocol = "IPV4"
action = "ALLOW"
source_ids = ["webserver"]
destination_ids = ["update_servers", "etc"]
app_port_profile_ids = ["HTTP", "HTTPS"]
},
{
name = "inbound HTTPS"
direction = "IN_OUT"
ip_protocol = "IPV4"
action = "ALLOW"
source_ids = ["loadbalancer"]
destination_ids = ["webserver"]
app_port_profile_ids = ["myPort"]
}
]
}
module "distributed_firewall" {
source = "git::https://github.com/noris-network/terraform-vcd-nsxt-distributed-firewall?ref=1.0.0"
vdc_org_name = var.vdc_org_name
vdc_group_name = var.vdc_group_name
vdc_edgegateway_name = var.vdc_edge_gateway_name
rules = var.distributed_firewall_rule
ip_set_names = [
"webserver",
"loadbalancer",
"update_servers",
"etc"
]
app_port_profiles = {
"app" = "TENANT",
"SSH" = "SYSTEM",
"HTTP" = "SYSTEM",
"HTTPS" = "SYSTEM",
"ICMP ALL" = "SYSTEM"
}
depends_on = [module.vcd_nsxt_app_port_profile, module.vcd_nsxt_ip_set]
}
v1.0.1
- Implement lifecycle ignore_change rule on vdc_group_id to prevent destruction and recreation of the entire rule set upon creation of ip_set, app_port_profile or security groupsv1.0.0
- Initial release