37 lines
1.5 KiB
YAML
37 lines
1.5 KiB
YAML
---
|
|
# NOTE: Interface assignment is not available via the OPNsense API and cannot
|
|
# be automated with this role. After VLANs are created by this task, you must
|
|
# manually assign them in the WebUI under Interfaces → Assignments, then
|
|
# configure each interface (IP address, description) under Interfaces → [name].
|
|
# This only needs to be done once during initial setup.
|
|
|
|
- name: Configure VLANs
|
|
oxlorg.opnsense.interface_vlan:
|
|
firewall: "{{ opnsense_firewall }}"
|
|
api_key: "{{ opnsense_api_key }}"
|
|
api_secret: "{{ opnsense_api_secret }}"
|
|
ssl_verify: "{{ opnsense_ssl_verify }}"
|
|
api_port: "{{ opnsense_api_port }}"
|
|
interface: "{{ item.interface }}"
|
|
tag: "{{ item.tag }}"
|
|
description: "{{ item.description | default(omit) }}"
|
|
state: "{{ item.state | default('present') }}"
|
|
loop: "{{ opnsense_vlans }}"
|
|
|
|
- name: Configure gateways
|
|
oxlorg.opnsense.gateway:
|
|
firewall: "{{ opnsense_firewall }}"
|
|
api_key: "{{ opnsense_api_key }}"
|
|
api_secret: "{{ opnsense_api_secret }}"
|
|
ssl_verify: "{{ opnsense_ssl_verify }}"
|
|
api_port: "{{ opnsense_api_port }}"
|
|
name: "{{ item.name }}"
|
|
interface: "{{ item.interface }}"
|
|
gateway: "{{ item.gateway }}"
|
|
ip_protocol: "{{ item.ip_protocol | default('inet') }}"
|
|
default_gw: "{{ item.default_gw | default(false) }}"
|
|
far_gw: "{{ item.far_gw | default(false) }}"
|
|
monitor_disable: "{{ item.monitor_disable | default(false) }}"
|
|
state: "{{ item.state | default('present') }}"
|
|
loop: "{{ opnsense_gateways }}"
|