Files
gitlab-mirror/roles/win_firewall/tasks/main.yml
2026-04-09 12:23:14 +03:00

51 lines
1.5 KiB
YAML

---
- name: Print out rule name for convenient debugging
ansible.builtin.debug:
msg: "{{ win_firewall_name }}"
- name: Check if firewall is configured
block:
- name: Get firewall flag stat
ansible.windows.win_stat:
path: C:\firewall.flag
register: win_firewall_firewall_flag
- name: Assert that firewall.flag exists
ansible.builtin.assert:
that: win_firewall_firewall_flag.stat.exists
success_msg: "firewall.flag exists"
fail_msg: "firewall.flag DOES NOT exist"
rescue:
- name: Disable Windows Firewall
ansible.windows.win_firewall:
state: disabled
- name: Delete all firewall rules
ansible.windows.win_shell: netsh advfirewall firewall delete rule name=all
- name: Create firewall.flag
ansible.windows.win_file:
path: C:\firewall.flag
state: touch
- name: Create firewall rule
community.windows.win_firewall_rule:
name: "{{ win_firewall_name }}"
action: "{{ win_firewall_action }}"
direction: "{{ win_firewall_direction }}"
enabled: "{{ win_firewall_enabled }}"
localip: "{{ win_firewall_localip }}"
localport: "{{ win_firewall_localport }}"
profiles: "{{ win_firewall_profiles }}"
program: "{{ win_firewall_program }}"
protocol: "{{ win_firewall_protocol }}"
remoteip: "{{ win_firewall_remoteip }}"
remoteport: "{{ win_firewall_remoteport }}"
service: "{{ win_firewall_service }}"
state: "{{ win_firewall_state }}"
- name: Enable Windows Firewall
ansible.windows.win_firewall:
state: enabled