summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoromnom62 <75066712+omnom62@users.noreply.github.com>2025-01-27 22:02:17 +1000
committerGitHub <noreply@github.com>2025-01-27 12:02:17 +0000
commitf64dd509fc1f53a2e9b4296512f1ee5c46bb47e6 (patch)
treec8c36af1ea86a934832af0ba967e616e7878c1ab
parent0a0ab13f84e3930e203a412ae08c127b282ab675 (diff)
downloadvyos.vyos-f64dd509fc1f53a2e9b4296512f1ee5c46bb47e6.tar.gz
vyos.vyos-f64dd509fc1f53a2e9b4296512f1ee5c46bb47e6.zip
T7003 - firewall_interfaces integration tests refactor (#373)
* init T7003 - firewall_interfaces integration tests refactor * v.1.3 fixed * linter fixes * v.14 fw_interfaces changes init * v1.4 integration tests for firewall_interfaces * v1.3. integration tests for firewall_interfaces (T7003) * Isolating fw_int integration tests to 1.3- only * linter fix
-rw-r--r--changelogs/fragments/T7003-firewall-interface-integration-tests.yml6
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/1120
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/tasks/cli.yaml22
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/tests/cli/_get_version.yaml24
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/tests/cli/_parsed_config_1_3.cfg (renamed from tests/integration/targets/vyos_firewall_interfaces/tests/cli/_parsed_config.cfg)0
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/tests/cli/_populate.yaml19
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/tests/cli/_populate_rule_sets.yaml11
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/tests/cli/_remove_config.yaml13
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/tests/cli/_remove_firewall_config.yaml13
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/tests/cli/deleted_afi.yaml3
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/tests/cli/parsed.yaml2
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/vars/main.yaml278
-rw-r--r--tests/integration/targets/vyos_firewall_interfaces/vars/pre-v1_4.yaml296
13 files changed, 381 insertions, 426 deletions
diff --git a/changelogs/fragments/T7003-firewall-interface-integration-tests.yml b/changelogs/fragments/T7003-firewall-interface-integration-tests.yml
new file mode 100644
index 0000000..1f834b4
--- /dev/null
+++ b/changelogs/fragments/T7003-firewall-interface-integration-tests.yml
@@ -0,0 +1,6 @@
+---
+minor_changes:
+ - fix integration tests for `firewall_interfaces` for v1.3-
+
+known_issues:
+ - integration tests for `firewall_interfaces` are failing for v1.4+ as the module is deprecated in favour of firewall_rules
diff --git a/tests/integration/targets/vyos_firewall_interfaces/1 b/tests/integration/targets/vyos_firewall_interfaces/1
deleted file mode 100644
index 628ada5..0000000
--- a/tests/integration/targets/vyos_firewall_interfaces/1
+++ /dev/null
@@ -1,120 +0,0 @@
----
-merged:
- before: []
-
-
- commands:
- - "set interfaces ethernet eth1 firewall in name 'INBOUND'"
- - "set interfaces ethernet eth1 firewall out name 'OUTBOUND'"
- - "set interfaces ethernet eth1 firewall local name 'LOCAL'"
- - "set interfaces ethernet eth1 firewall local ipv6-name 'V6-LOCAL'"
- - "set interfaces ethernet eth3 firewall in name 'INBOUND'"
- - "set interfaces ethernet eth3 firewall out name 'OUTBOUND'"
- - "set interfaces ethernet eth3 firewall local name 'LOCAL'"
- - "set interfaces ethernet eth3 firewall local ipv6-name 'V6-LOCAL'"
-
- after:
- - name: 'eth1'
- access_rules:
- - afi: 'ipv4'
- rules:
- - name: 'INBOUND'
- direction: 'in'
- - name: 'OUBOUND'
- direction: 'out'
- - afi: 'ipv6'
- rules:
- - name: 'V6-LOCAL'
- direction: 'local'
-
-populate:
- - name: 'eth1'
- access_rules:
- - afi: 'ipv4'
- rules:
- - name: 'INBOUND'
- direction: 'in'
- - name: 'OUBOUND'
- direction: 'out'
- - afi: 'ipv6'
- rules:
- - name: 'LOCAL'
- direction: 'local'
-
-replaced:
- commands:
- - "delete service lldp interface eth2 location"
- - "set service lldp interface eth2 'disable'"
- - "set service lldp interface eth2 location civic-based country-code 'US'"
- - "set service lldp interface eth2 location civic-based ca-type 0 ca-value 'ENGLISH'"
- - "delete service lldp interface eth1 location"
- - "set service lldp interface eth1 'disable'"
- - "set service lldp interface eth1 location coordinate-based latitude '33.524449N'"
- - "set service lldp interface eth1 location coordinate-based altitude '2200'"
- - "set service lldp interface eth1 location coordinate-based datum 'WGS84'"
- - "set service lldp interface eth1 location coordinate-based longitude '222.267255W'"
-
- after:
- - name: 'eth2'
- enable: false
- location:
- civic_based:
- country_code: 'US'
- ca_info:
- - ca_type: 0
- ca_value: 'ENGLISH'
-
- - name: 'eth1'
- enable: false
- location:
- coordinate_based:
- altitude: 2200
- datum: 'WGS84'
- longitude: '222.267255W'
- latitude: '33.524449N'
-
-populate_intf:
- - name: 'eth2'
- enable: false
- location:
- civic_based:
- country_code: 'US'
- ca_info:
- - ca_type: 0
- ca_value: 'ENGLISH'
-
-overridden:
- commands:
- - "delete service lldp interface eth2 location"
- - "delete service lldp interface eth2 'disable'"
- - "set service lldp interface eth2 location elin '0000000911'"
-
- after:
- - name: 'eth2'
- location:
- elin: 0000000911
-
-deleted:
- commands:
- - "delete service lldp interface eth1"
- - "delete service lldp interface eth2"
-
- after: []
-
-round_trip:
- after:
- - name: 'eth1'
- location:
- civic_based:
- country_code: 'US'
- ca_info:
- - ca_type: 0
- ca_value: 'ENGLISH'
-
- - name: 'eth2'
- location:
- coordinate_based:
- altitude: 2200
- datum: 'WGS84'
- longitude: '222.267255W'
- latitude: '33.524449N'
diff --git a/tests/integration/targets/vyos_firewall_interfaces/tasks/cli.yaml b/tests/integration/targets/vyos_firewall_interfaces/tasks/cli.yaml
index daccf72..aaac7c9 100644
--- a/tests/integration/targets/vyos_firewall_interfaces/tasks/cli.yaml
+++ b/tests/integration/targets/vyos_firewall_interfaces/tasks/cli.yaml
@@ -1,4 +1,25 @@
---
+- name: Make sure to get facts
+ vyos.vyos.vyos_facts:
+ vars:
+ ansible_connection: ansible.netcommon.network_cli
+ register: vyos_facts
+ when: vyos_version is not defined
+
+- name: Debug vyos_facts
+ ansible.builtin.debug:
+ var: vyos_facts
+
+- name: Pull version from facts
+ ansible.builtin.set_fact:
+ vyos_version: "{{ vyos_facts.ansible_facts.ansible_net_version.split('-')[0].split(' ')[-1] }}"
+ when: vyos_version is not defined
+
+- name: Fix '.0' versions
+ ansible.builtin.set_fact:
+ vyos_version: "{{ vyos_version }}.0"
+ when: vyos_version.count('.') == 1
+
- name: Collect all cli test cases
ansible.builtin.find:
paths: "{{ role_path }}/tests/cli"
@@ -18,3 +39,4 @@
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run
+ when: vyos_version is version('1.4.0', '<', version_type='semver')
diff --git a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_get_version.yaml b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_get_version.yaml
new file mode 100644
index 0000000..90aeef2
--- /dev/null
+++ b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_get_version.yaml
@@ -0,0 +1,24 @@
+- name: make sure to get facts
+ vyos.vyos.vyos_facts:
+ vars:
+ ansible_connection: ansible.netcommon.network_cli
+ register: vyos_facts
+ when: vyos_version is not defined
+
+- name: debug vyos_facts
+ debug:
+ var: vyos_facts
+
+- name: pull version from facts
+ set_fact:
+ vyos_version: "{{ vyos_facts.ansible_facts.ansible_net_version.split('-')[0].split(' ')[-1] }}"
+ when: vyos_version is not defined
+
+- name: fix '.0' versions
+ set_fact:
+ vyos_version: "{{ vyos_version }}.0"
+ when: vyos_version.count('.') == 1
+
+- name: include correct vars
+ include_vars: pre-v1_4.yaml
+ when: vyos_version is version('1.4.0', '<', version_type='semver')
diff --git a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_parsed_config.cfg b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_parsed_config_1_3.cfg
index 48f286e..48f286e 100644
--- a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_parsed_config.cfg
+++ b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_parsed_config_1_3.cfg
diff --git a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_populate.yaml b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_populate.yaml
index c5e2f4f..6c235be 100644
--- a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_populate.yaml
+++ b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_populate.yaml
@@ -1,16 +1,11 @@
---
- ansible.builtin.include_tasks: _remove_config.yaml
-- name: Setup
+- name: ensure facts
+ include_tasks: _get_version.yaml
+
+- name: Setup {{ vyos_version }}
+ vyos.vyos.vyos_config:
+ lines: "{{ populate_config }}"
vars:
- lines: |-
- set interfaces ethernet eth1 firewall in name 'INBOUND'
- set interfaces ethernet eth1 firewall out name 'OUTBOUND'
- set interfaces ethernet eth1 firewall local name 'LOCAL'
- set interfaces ethernet eth1 firewall local ipv6-name 'V6-LOCAL'
- set interfaces ethernet eth2 firewall in name 'INBOUND'
- set interfaces ethernet eth2 firewall out name 'OUTBOUND'
- set interfaces ethernet eth2 firewall local name 'LOCAL'
- set interfaces ethernet eth2 firewall local ipv6-name 'V6-LOCAL'
- ansible.netcommon.cli_config:
- config: "{{ lines }}"
+ ansible_connection: ansible.netcommon.network_cli
diff --git a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_populate_rule_sets.yaml b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_populate_rule_sets.yaml
index b1e9425..6a54433 100644
--- a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_populate_rule_sets.yaml
+++ b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_populate_rule_sets.yaml
@@ -1,6 +1,9 @@
---
-- name: Setup
+- name: ensure facts
+ include_tasks: _get_version.yaml
+
+- name: Setup Rule Sets {{ vyos_version }}
+ vyos.vyos.vyos_config:
+ lines: "{{ populate_rs }}"
vars:
- lines: "set firewall name 'INBOUND'\nset firewall name 'OUTBOUND'\nset firewall name 'LOCAL'\nset firewall ipv6-name 'V6-LOCAL'\n"
- ansible.netcommon.cli_config:
- config: "{{ lines }}"
+ ansible_connection: ansible.netcommon.network_cli
diff --git a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_remove_config.yaml b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_remove_config.yaml
index 6074960..9144919 100644
--- a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_remove_config.yaml
+++ b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_remove_config.yaml
@@ -1,6 +1,11 @@
---
-- name: Remove Config
+
+- name: ensure facts
+ include_tasks: _get_version.yaml
+
+- name: Remove pre-existing firewall rules
+ vyos.vyos.vyos_config:
+ lines: "{{ remove_config }}"
+ ignore_errors: true
vars:
- lines: "delete interfaces ethernet eth1 firewall\ndelete interfaces ethernet eth2 firewall\n"
- ansible.netcommon.cli_config:
- config: "{{ lines }}"
+ ansible_connection: ansible.netcommon.network_cli
diff --git a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_remove_firewall_config.yaml b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_remove_firewall_config.yaml
index f77e6b7..1cd452b 100644
--- a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_remove_firewall_config.yaml
+++ b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/_remove_firewall_config.yaml
@@ -1,6 +1,11 @@
---
-- name: Remove Config
+
+- name: ensure facts
+ include_tasks: _get_version.yaml
+
+- name: Remove pre-existing firewall rules
+ vyos.vyos.vyos_config:
+ lines: "{{ remove_firewall_config }}"
+ ignore_errors: true
vars:
- lines: "delete firewall name INBOUND\ndelete firewall name OUTBOUND\ndelete firewall name LOCAL\ndelete firewall ipv6-name V6-LOCAL\n"
- ansible.netcommon.cli_config:
- config: "{{ lines }}"
+ ansible_connection: ansible.netcommon.network_cli
diff --git a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/deleted_afi.yaml b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/deleted_afi.yaml
index 065fcf2..48561cf 100644
--- a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/deleted_afi.yaml
+++ b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/deleted_afi.yaml
@@ -14,13 +14,10 @@
- name: eth1
access_rules:
- afi: ipv4
-
- afi: ipv6
-
- name: eth2
access_rules:
- afi: ipv4
-
- afi: ipv6
state: deleted
diff --git a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/parsed.yaml b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/parsed.yaml
index 339e64e..4cfc001 100644
--- a/tests/integration/targets/vyos_firewall_interfaces/tests/cli/parsed.yaml
+++ b/tests/integration/targets/vyos_firewall_interfaces/tests/cli/parsed.yaml
@@ -22,7 +22,7 @@
- name: Provide the running configuration for parsing (config to be parsed)
register: result
vyos.vyos.vyos_firewall_interfaces: &id001
- running_config: "{{ lookup('file', '_parsed_config.cfg') }}"
+ running_config: "{{ lookup('file', parsed_config_file ) }}"
state: parsed
- name: Assert that correct parsing done
diff --git a/tests/integration/targets/vyos_firewall_interfaces/vars/main.yaml b/tests/integration/targets/vyos_firewall_interfaces/vars/main.yaml
index 45be6db..ed97d53 100644
--- a/tests/integration/targets/vyos_firewall_interfaces/vars/main.yaml
+++ b/tests/integration/targets/vyos_firewall_interfaces/vars/main.yaml
@@ -1,279 +1 @@
---
-merged:
- before:
- - name: eth0
- - name: eth1
- - name: eth2
- commands:
- - set interfaces ethernet eth1 firewall in name 'INBOUND'
- - set interfaces ethernet eth1 firewall out name 'OUTBOUND'
- - set interfaces ethernet eth1 firewall local name 'LOCAL'
- - set interfaces ethernet eth1 firewall local ipv6-name 'V6-LOCAL'
- - set interfaces ethernet eth2 firewall in name 'INBOUND'
- - set interfaces ethernet eth2 firewall out name 'OUTBOUND'
- - set interfaces ethernet eth2 firewall local name 'LOCAL'
- - set interfaces ethernet eth2 firewall local ipv6-name 'V6-LOCAL'
- after:
- - name: eth0
- - access_rules:
- - afi: ipv4
- rules:
- - direction: in
- name: INBOUND
- - direction: local
- name: LOCAL
- - direction: out
- name: OUTBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
- name: eth1
- - access_rules:
- - afi: ipv4
- rules:
- - direction: in
- name: INBOUND
- - direction: local
- name: LOCAL
- - direction: out
- name: OUTBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
- name: eth2
-populate:
- - name: eth0
- - access_rules:
- - afi: ipv4
- rules:
- - direction: in
- name: INBOUND
- - direction: local
- name: LOCAL
- - direction: out
- name: OUTBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
- name: eth1
- - access_rules:
- - afi: ipv4
- rules:
- - direction: in
- name: INBOUND
- - direction: local
- name: LOCAL
- - direction: out
- name: OUTBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
- name: eth2
-merged_edit:
- commands:
- - set interfaces ethernet eth1 firewall in name 'OUTBOUND'
- - set interfaces ethernet eth1 firewall out name 'INBOUND'
- after:
- - name: eth0
- - access_rules:
- - afi: ipv4
- rules:
- - direction: in
- name: OUTBOUND
- - direction: local
- name: LOCAL
- - direction: out
- name: INBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
- name: eth1
- - access_rules:
- - afi: ipv4
- rules:
- - direction: in
- name: INBOUND
- - direction: local
- name: LOCAL
- - direction: out
- name: OUTBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
- name: eth2
-replaced:
- commands:
- - delete interfaces ethernet eth2 firewall out name
- - delete interfaces ethernet eth2 firewall local name
- - delete interfaces ethernet eth2 firewall local ipv6-name
- - delete interfaces ethernet eth1 firewall local name
- - delete interfaces ethernet eth1 firewall in name
- after:
- - name: eth0
- - access_rules:
- - afi: ipv4
- rules:
- - direction: out
- name: OUTBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
- name: eth1
- - access_rules:
- - afi: ipv4
- rules:
- - direction: in
- name: INBOUND
- name: eth2
-overridden:
- before:
- - access_rules:
- - afi: ipv4
- rules:
- - direction: in
- name: INBOUND
- - direction: local
- name: LOCAL
- - direction: out
- name: OUTBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
- name: eth1
- - access_rules:
- - afi: ipv4
- rules:
- - name: INBOUND
- direction: in
- - name: LOCAL
- direction: local
- - name: OUTBOUND
- direction: out
- - afi: ipv6
- rules:
- - name: V6-LOCAL
- direction: local
- name: eth2
- commands:
- - delete interfaces ethernet eth1 firewall
- - delete interfaces ethernet eth2 firewall in name
- - delete interfaces ethernet eth2 firewall local name
- - delete interfaces ethernet eth2 firewall local ipv6-name
- - set interfaces ethernet eth2 firewall out name 'INBOUND'
- after:
- - name: eth0
- - name: eth1
- - access_rules:
- - afi: ipv4
- rules:
- - name: INBOUND
- direction: out
- name: eth2
-deleted:
- commands:
- - delete interfaces ethernet eth1 firewall
- - delete interfaces ethernet eth2 firewall
- after:
- - name: eth0
- - name: eth1
- - name: eth2
-deleted_afi:
- commands:
- - delete interfaces ethernet eth1 firewall in name
- - delete interfaces ethernet eth1 firewall local name
- - delete interfaces ethernet eth1 firewall out name
- - delete interfaces ethernet eth1 firewall local ipv6-name
- - delete interfaces ethernet eth2 firewall in name
- - delete interfaces ethernet eth2 firewall local name
- - delete interfaces ethernet eth2 firewall out name
- - delete interfaces ethernet eth2 firewall local ipv6-name
- after:
- - name: eth0
- - access_rules:
- - afi: ipv4
- - afi: ipv6
- name: eth1
- - access_rules:
- - afi: ipv4
- - afi: ipv6
- name: eth2
-deleted_single:
- commands:
- - delete interfaces ethernet eth1 firewall in name 'INBOUND'
- after:
- - name: eth0
- - access_rules:
- - afi: ipv4
- rules:
- - direction: local
- name: LOCAL
- - direction: out
- name: OUTBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
- name: eth1
- - access_rules:
- - afi: ipv4
- rules:
- - direction: in
- name: INBOUND
- - direction: local
- name: LOCAL
- - direction: out
- name: OUTBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
- name: eth2
-rendered:
- commands:
- - set interfaces ethernet eth1 firewall in name 'INBOUND'
- - set interfaces ethernet eth1 firewall out name 'OUTBOUND'
- - set interfaces ethernet eth1 firewall local name 'LOCAL'
- - set interfaces ethernet eth1 firewall local ipv6-name 'V6-LOCAL'
- - set interfaces ethernet eth2 firewall in name 'INBOUND'
- - set interfaces ethernet eth2 firewall out name 'OUTBOUND'
- - set interfaces ethernet eth2 firewall local name 'LOCAL'
- - set interfaces ethernet eth2 firewall local ipv6-name 'V6-LOCAL'
-round_trip:
- after:
- - name: eth0
- - access_rules:
- - afi: ipv4
- rules:
- - direction: in
- name: INBOUND
- - direction: local
- name: LOCAL
- - direction: out
- name: OUTBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
- name: eth1
- - name: eth2
- access_rules:
- - afi: ipv4
- rules:
- - direction: in
- name: INBOUND
- - direction: local
- name: LOCAL
- - direction: out
- name: OUTBOUND
- - afi: ipv6
- rules:
- - direction: local
- name: V6-LOCAL
diff --git a/tests/integration/targets/vyos_firewall_interfaces/vars/pre-v1_4.yaml b/tests/integration/targets/vyos_firewall_interfaces/vars/pre-v1_4.yaml
new file mode 100644
index 0000000..67b0475
--- /dev/null
+++ b/tests/integration/targets/vyos_firewall_interfaces/vars/pre-v1_4.yaml
@@ -0,0 +1,296 @@
+---
+merged:
+ before: []
+ commands:
+ - set interfaces ethernet eth1 firewall in name 'INBOUND'
+ - set interfaces ethernet eth1 firewall out name 'OUTBOUND'
+ - set interfaces ethernet eth1 firewall local name 'LOCAL'
+ - set interfaces ethernet eth1 firewall local ipv6-name 'V6-LOCAL'
+ - set interfaces ethernet eth2 firewall in name 'INBOUND'
+ - set interfaces ethernet eth2 firewall out name 'OUTBOUND'
+ - set interfaces ethernet eth2 firewall local name 'LOCAL'
+ - set interfaces ethernet eth2 firewall local ipv6-name 'V6-LOCAL'
+ after:
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - direction: in
+ name: INBOUND
+ - direction: local
+ name: LOCAL
+ - direction: out
+ name: OUTBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL
+ name: eth1
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - direction: in
+ name: INBOUND
+ - direction: local
+ name: LOCAL
+ - direction: out
+ name: OUTBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL
+ name: eth2
+
+populate_config:
+ - set interfaces ethernet eth1 firewall in name 'INBOUND'
+ - set interfaces ethernet eth1 firewall out name 'OUTBOUND'
+ - set interfaces ethernet eth1 firewall local name 'LOCAL'
+ - set interfaces ethernet eth1 firewall local ipv6-name 'V6-LOCAL'
+ - set interfaces ethernet eth2 firewall in name 'INBOUND'
+ - set interfaces ethernet eth2 firewall out name 'OUTBOUND'
+ - set interfaces ethernet eth2 firewall local name 'LOCAL'
+ - set interfaces ethernet eth2 firewall local ipv6-name 'V6-LOCAL'
+
+populate_rs:
+ - set firewall name 'INBOUND'
+ - set firewall name 'OUTBOUND'
+ - set firewall name 'LOCAL'
+ - set firewall ipv6-name 'V6-LOCAL'
+
+remove_config:
+ - delete interfaces ethernet eth1 firewall
+ - delete interfaces ethernet eth2 firewall
+
+remove_firewall_config:
+ - delete firewall name INBOUND
+ - delete firewall name OUTBOUND
+ - delete firewall name LOCAL
+ - delete firewall ipv6-name V6-LOCAL
+
+parsed_config_file: "_parsed_config_1_3.cfg"
+
+populate:
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - direction: in
+ name: INBOUND
+ - direction: local
+ name: LOCAL
+ - direction: out
+ name: OUTBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL
+ name: eth1
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - direction: in
+ name: INBOUND
+ - direction: local
+ name: LOCAL
+ - direction: out
+ name: OUTBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL
+ name: eth2
+merged_edit:
+ commands:
+ - set interfaces ethernet eth1 firewall in name 'OUTBOUND'
+ - set interfaces ethernet eth1 firewall out name 'INBOUND'
+ after:
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - direction: in
+ name: OUTBOUND
+ - direction: local
+ name: LOCAL
+ - direction: out
+ name: INBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL
+ name: eth1
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - direction: in
+ name: INBOUND
+ - direction: local
+ name: LOCAL
+ - direction: out
+ name: OUTBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL
+ name: eth2
+replaced:
+ commands:
+ - delete interfaces ethernet eth2 firewall out name
+ - delete interfaces ethernet eth2 firewall local name
+ - delete interfaces ethernet eth2 firewall local ipv6-name
+ - delete interfaces ethernet eth1 firewall local name
+ - delete interfaces ethernet eth1 firewall in name
+ after:
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - direction: out
+ name: OUTBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL
+ name: eth1
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - direction: in
+ name: INBOUND
+ name: eth2
+overridden:
+ before:
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - direction: in
+ name: INBOUND
+ - direction: local
+ name: LOCAL
+ - direction: out
+ name: OUTBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL
+ name: eth1
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - name: INBOUND
+ direction: in
+ - name: LOCAL
+ direction: local
+ - name: OUTBOUND
+ direction: out
+ - afi: ipv6
+ rules:
+ - name: V6-LOCAL
+ direction: local
+ name: eth2
+ commands:
+ - delete interfaces ethernet eth1 firewall
+ - delete interfaces ethernet eth2 firewall in name
+ - delete interfaces ethernet eth2 firewall local name
+ - delete interfaces ethernet eth2 firewall local ipv6-name
+ - set interfaces ethernet eth2 firewall out name 'INBOUND'
+ after:
+ - name: eth2
+ access_rules:
+ - afi: ipv4
+ rules:
+ - name: INBOUND
+ direction: out
+deleted:
+ commands:
+ - delete interfaces ethernet eth1 firewall
+ - delete interfaces ethernet eth2 firewall
+ # after:
+ # - name: eth1
+ # - name: eth2
+ after: []
+deleted_afi:
+ commands:
+ - delete interfaces ethernet eth1 firewall in name
+ - delete interfaces ethernet eth1 firewall local name
+ - delete interfaces ethernet eth1 firewall out name
+ - delete interfaces ethernet eth1 firewall local ipv6-name
+ - delete interfaces ethernet eth2 firewall in name
+ - delete interfaces ethernet eth2 firewall local name
+ - delete interfaces ethernet eth2 firewall out name
+ - delete interfaces ethernet eth2 firewall local ipv6-name
+ after:
+ - access_rules:
+ - afi: ipv4
+ - afi: ipv6
+ name: eth1
+ - access_rules:
+ - afi: ipv4
+ - afi: ipv6
+ name: eth2
+deleted_single:
+ commands:
+ - delete interfaces ethernet eth1 firewall in name 'INBOUND'
+ after:
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - direction: local
+ name: LOCAL
+ - direction: out
+ name: OUTBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL
+ name: eth1
+ - access_rules:
+ - afi: ipv4
+ rules:
+ - direction: in
+ name: INBOUND
+ - direction: local
+ name: LOCAL
+ - direction: out
+ name: OUTBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL
+ name: eth2
+rendered:
+ commands:
+ - set interfaces ethernet eth1 firewall in name 'INBOUND'
+ - set interfaces ethernet eth1 firewall out name 'OUTBOUND'
+ - set interfaces ethernet eth1 firewall local name 'LOCAL'
+ - set interfaces ethernet eth1 firewall local ipv6-name 'V6-LOCAL'
+ - set interfaces ethernet eth2 firewall in name 'INBOUND'
+ - set interfaces ethernet eth2 firewall out name 'OUTBOUND'
+ - set interfaces ethernet eth2 firewall local name 'LOCAL'
+ - set interfaces ethernet eth2 firewall local ipv6-name 'V6-LOCAL'
+round_trip:
+ after:
+ - name: eth1
+ access_rules:
+ - afi: ipv4
+ rules:
+ - direction: in
+ name: INBOUND
+ - direction: local
+ name: LOCAL
+ - direction: out
+ name: OUTBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL
+ - name: eth2
+ access_rules:
+ - afi: ipv4
+ rules:
+ - direction: in
+ name: INBOUND
+ - direction: local
+ name: LOCAL
+ - direction: out
+ name: OUTBOUND
+ - afi: ipv6
+ rules:
+ - direction: local
+ name: V6-LOCAL