# vim: set filetype=yaml.ansible : # ## Package: ansible ## Description: simple infrastructure as code tool ## Version: latest ## Methods: ## - system ## - source (pipx) --- - name: Set ansible default facts # {{{ ansible.builtin.set_fact: ansible: install_methods: - system pkgname: RedHat: ansible Debian: ansible Alpine: ansible Archlinux: ansible pip: ansible # }}} - name: Configure ansible when: - "'ansible' not in __configured" block: - name: Set ansible install method when: - ansible_install_method is undefined ansible.builtin.set_fact: ansible_install_method: "{{ install_method if install_method in ansible.install_methods else ansible.install_methods[0] }}" - name: Append ansible to system package manager install list when: - ansible_install_method == "system" ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [ ansible_pkgname[os_family] ] }}" - name: Append ansible to pipx install list when: - ansible_install_method == 'source' ansible.builtin.set_fact: pkg_pipx: "{{ pkg_pipx + [ { 'name': ansible_pkgname['pip'] } ] }}" - name: Complete ansible configuration ansible.builtin.set_fact: __configured: "{{ __configured | combine( { 'ansible': ansible_install_method } ) }}"