47 lines
1.6 KiB
YAML
47 lines
1.6 KiB
YAML
---
|
|
# Set state status for network rule
|
|
- name: Set state status for network rule {{ item.id | default('@rule[-1]') }}
|
|
ansible.builtin.set_fact:
|
|
network_rule_state: "{{ item.state | default('present') }}"
|
|
|
|
# Delete network rule
|
|
- name: Delete network rule {{ item.id }}
|
|
when: "'absent' in network_rule_state"
|
|
uci:
|
|
command: "absent"
|
|
config: "network"
|
|
section: "{{ item.id }}"
|
|
type: "rule"
|
|
|
|
# Create and configure network rule
|
|
- name: Create and configure network rule
|
|
when: "'present' in network_rule_state"
|
|
block:
|
|
# Create network rule
|
|
- name: Create network rule {{ item.id | default('@rule[-1]') }}
|
|
uci:
|
|
command: "add"
|
|
config: "network"
|
|
section: "{{ item.id | default('@rule[-1]') }}"
|
|
type: "rule"
|
|
|
|
# Configure network rule
|
|
- name: Configure network rule {{ item.id | default('@rule[-1]') }}
|
|
uci:
|
|
command: "set"
|
|
config: "network"
|
|
section: "{{ item.id | default('@rule[-1]') }}"
|
|
type: "rule"
|
|
value:
|
|
mark: "{{ item.mark | default(omit) }}"
|
|
in: "{{ item.in | default(omit) }}"
|
|
out: "{{ item.out | default(omit) }}"
|
|
src: "{{ item.src | default(omit) }}"
|
|
dest: "{{ item.dest | default(omit) }}"
|
|
invert: "{{ item.invert | default(omit) }}"
|
|
priority: "{{ item.priority | default(omit) }}"
|
|
lookup: "{{ item.lookup | default(omit) }}"
|
|
goto: "{{ item.goto | default([]) | join(' ') }}"
|
|
action: "{{ item.action | default(omit) }}"
|
|
disabled: "{{ item.disabled | default(omit) }}"
|