45 lines
1.5 KiB
YAML
45 lines
1.5 KiB
YAML
---
|
|
# Set state status for network route
|
|
- name: Set state status for network route {{ item.id | default('@route[-1]') }}
|
|
ansible.builtin.set_fact:
|
|
network_route_state: "{{ item.state | default('present') }}"
|
|
|
|
# Delete network route
|
|
- name: Delete network route {{ item.id }}
|
|
when: "'absent' in network_route_state"
|
|
uci:
|
|
command: "absent"
|
|
config: "network"
|
|
section: "{{ item.id }}"
|
|
type: "route"
|
|
|
|
# Create and configure network route
|
|
- name: Create and configure network route
|
|
when: "'present' in network_route_state"
|
|
block:
|
|
# Create network route
|
|
- name: Create network route {{ item.id | default('@route[-1]') }}
|
|
uci:
|
|
command: "add"
|
|
config: "network"
|
|
section: "{{ item.id | default('@route[-1]') }}"
|
|
type: "route"
|
|
|
|
# Configure network route
|
|
- name: Configure network route {{ item.id | default('@route[-1]') }}
|
|
uci:
|
|
command: "set"
|
|
config: "network"
|
|
section: "{{ item.id | default('@route[-1]') }}"
|
|
type: "route"
|
|
value:
|
|
interface: "{{ item.interface | default(omit) }}"
|
|
target: "{{ item.target | default(omit) }}"
|
|
netmask: "{{ item.netmask | default(omit) }}"
|
|
gateway: "{{ item.gateway | default(omit) }}"
|
|
table: "{{ item.table | default(omit) }}"
|
|
source: "{{ item.source | default(omit) }}"
|
|
type: "{{ item.type | default(omit) }}"
|
|
proto: "{{ item.proto | default(omit) }}"
|
|
disabled: "{{ item.disabled | default(omit) }}"
|