# platform = multi_platform_rhel,multi_platform_fedora,multi_platform_ol,multi_platform_almalinux,multi_platform_rhv,multi_platform_ubuntu,multi_platform_sle,multi_platform_slmicro
# reboot = true
# strategy = disable
# complexity = low
# disruption = medium
- name: Gather the package facts
  package_facts:
    manager: auto
  tags:
  - NIST-800-53-AC-18(3)
  - NIST-800-53-AC-18(4)
  - NIST-800-53-AC-18(a)
  - NIST-800-53-CM-6(a)
  - NIST-800-53-CM-7(a)
  - NIST-800-53-CM-7(b)
  - NIST-800-53-MP-7
  - disable_strategy
  - kernel_module_mac80211_disabled
  - low_complexity
  - medium_disruption
  - medium_severity
  - reboot_required

- name: Ensure kernel module 'mac80211' is disabled
  ansible.builtin.lineinfile:
    create: true
    dest: /etc/modprobe.d/mac80211.conf
    regexp: install\s+mac80211
    line: install mac80211 /bin/false
  when: '"linux-base" in ansible_facts.packages'
  tags:
  - NIST-800-53-AC-18(3)
  - NIST-800-53-AC-18(4)
  - NIST-800-53-AC-18(a)
  - NIST-800-53-CM-6(a)
  - NIST-800-53-CM-7(a)
  - NIST-800-53-CM-7(b)
  - NIST-800-53-MP-7
  - disable_strategy
  - kernel_module_mac80211_disabled
  - low_complexity
  - medium_disruption
  - medium_severity
  - reboot_required

- name: Ensure kernel module 'mac80211' is blacklisted
  ansible.builtin.lineinfile:
    create: true
    dest: /etc/modprobe.d/mac80211.conf
    regexp: ^blacklist mac80211$
    line: blacklist mac80211
  when: '"linux-base" in ansible_facts.packages'
  tags:
  - NIST-800-53-AC-18(3)
  - NIST-800-53-AC-18(4)
  - NIST-800-53-AC-18(a)
  - NIST-800-53-CM-6(a)
  - NIST-800-53-CM-7(a)
  - NIST-800-53-CM-7(b)
  - NIST-800-53-MP-7
  - disable_strategy
  - kernel_module_mac80211_disabled
  - low_complexity
  - medium_disruption
  - medium_severity
  - reboot_required
