Files
ansible-matzman-test/roles/opnsense/tasks/interfaces.yml
T
2026-03-26 08:57:55 +01:00

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 }}"