This resource provides a way to configure a firewall section on the NSX manager. A firewall section is a collection of firewall rules that are grouped together.
resource "nsxt_firewall_section" "firewall_sect" {
description = "FS provisioned by Terraform"
display_name = "FS"
tag {
scope = "color"
tag = "blue"
}
applied_to {
target_type = "NSGroup"
target_id = "${nsxt_ns_group.group1.id}"
}
section_type = "LAYER3"
stateful = true
rule {
display_name = "out_rule"
description = "Out going rule"
action = "ALLOW"
logged = true
ip_protocol = "IPV4"
direction = "OUT"
source {
target_type = "LogicalSwitch"
target_id = "${nsxt_logical_switch.switch1.id}"
}
destination {
target_type = "LogicalSwitch"
target_id = "${nsxt_logical_switch.switch2.id}"
}
}
rule {
display_name = "in_rule"
description = "In going rule"
action = "DROP"
logged = true
ip_protocol = "IPV4"
direction = "IN"
service {
target_type = "NSService"
target_id = "e8d59e13-484b-4825-ae3b-4c11f83249d9"
}
service {
target_type = "NSService"
target_id = "${nsxt_l4_port_set_ns_service.http.id}"
}
}
}
The following arguments are supported:
display_name - (Optional) The display name of this firewall section. Defaults to ID if not set. description - (Optional) Description of this firewall section. tag - (Optional) A list of scope + tag pairs to associate with this firewall section. applied_to - (Optional) List of objects where the rules in this section will be enforced. This will take precedence over rule level applied_to. [Supported target types: "LogicalPort", "LogicalSwitch", "NSGroup"] section_type - (Required) Type of the rules which a section can contain. Either LAYER2 or LAYER3. Only homogeneous sections are supported. stateful - (Required) Stateful or Stateless nature of firewall section is enforced on all rules inside the section. Layer3 sections can be stateful or stateless. Layer2 sections can only be stateless. rule - (Optional) A list of rules to be applied in this section. each rule has the following arguments: display_name - (Optional) The display name of this rule. Defaults to ID if not set. description - (Optional) Description of this rule. action - (Required) Action enforced on the packets which matches the firewall rule. [Allowed values: "ALLOW", "DROP", "REJECT"] applied_to - (Optional) List of object where rule will be enforced. The section level field overrides this one. Null will be treated as any. [Supported target types: "LogicalPort", "LogicalSwitch", "NSGroup"] destination - (Optional) List of the destinations. Null will be treated as any. [Allowed target types: "IPSet", "LogicalPort", "LogicalSwitch", "NSGroup", "MACSet" (depending on the section type)] destinations_excluded - (Optional) Negation of the destination. direction - (Optional) Rule direction in case of stateless firewall rules. This will only considered if section level parameter is set to stateless. Default to IN_OUT if not specified. [Allowed values: "IN", "OUT", "IN_OUT"] disabled - (Optional) Flag to disable rule. Disabled will only be persisted but never provisioned/realized. ip_protocol - (Optional) Type of IP packet that should be matched while enforcing the rule. [allowed values: "IPV4", "IPV6", "IPV4_IPV6"] logged - (Optional) Flag to enable packet logging. Default is disabled. notes - (Optional) User notes specific to the rule. rule_tag - (Optional) User level field which will be printed in CLI and packet logs. service - (Optional) List of the services. Null will be treated as any. [Allowed target types: "NSService", "NSServiceGroup"] source - (Optional) List of sources. Null will be treated as any. [Allowed target types: "IPSet", "LogicalPort", "LogicalSwitch", "NSGroup", "MACSet" (depending on the section type)] sources_excluded - (Optional) Negation of the source. In addition to arguments listed above, the following attributes are exported:
id - ID of the firewall_section. revision - Indicates current revision number of the object as seen by NSX-T API server. This attribute can be useful for debugging. is_default - A boolean flag which reflects whether a firewall section is default section or not. Each Layer 3 and Layer 2 section will have at least and at most one default section. An existing Firewall section can be imported into this resource, via the following command:
terraform import nsxt_firewall_section.firewall_sect UUID
The above command imports the firewall section named firewall_sect with the NSX id UUID.
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/nsxt/r/firewall_section.html