| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- ---
- - name: Install CUPS and create a print queue
- hosts: clients
- gather_facts: no
- become: yes
- vars:
- print_packages:
- - cups
- - avahi
- print_services:
- - avahi-daemon
- - cups
- print_ports:
- - mdns
- queue_name: "my-printer"
- dev_uri: "ipp://serverc.lab.example.com:631/printers/rht-printer"
- tasks:
- - name: Install the CUPS and Avahi packages
- yum:
- name: "{{ print_packages }}"
- state: latest
- - name: Enable and start the CUPS and Avahi services
- service:
- name: "{{ item }}"
- state: started
- enabled: yes
- loop: "{{ print_services }}"
- - name: Open the mDNS firewall port
- firewalld:
- service: "{{ item }}"
- state: enabled
- permanent: yes
- immediate: yes
- loop: "{{ print_ports }}"
- - name: Check if print queue already exists
- command: lpstat -p "{{ queue_name }}"
- register: cmdout
- ignore_errors: true
- changed_when: false
- - name: Create the print queue
- command: lpadmin -p "{{ queue_name }}" -v "{{ dev_uri }}" -m everywhere -E
- when: cmdout.rc != 0
- - name: Check default print queue
- command: lpstat -d
- register: curr_dest
- changed_when: false
- - name: Make the new print queue the default
- command: lpadmin -d "{{ queue_name }}"
- when: curr_dest['stdout'] | regex_replace('^(.*):.') != queue_name
|