¿Cómo ejecutar una prueba en una declaración de módulo sin formato ansible?

¿Cómo ejecutar una prueba en una declaración de módulo sin formato ansible?

Estoy ejecutando el módulo sin formato de ansibleusando usuario no rooty quiero dar un comando que verifique alguna condición. Por ejemplo, quiero comprobar si un directorio existe o no antes de eliminarlo. Como el siguiente comando.

[ -d "$DIR" ] && echo "Yes"

Ahora quiero darle permiso al usuario no root para ejecutar este comando en el archivo sudoers.

xyzUser ALL = (ALL) NOPASSWD: 'something/that/lets/me/run/that/command'

Entonces, quiero saber qué puedo escribir en los sudoers que me permitirán ejecutar este comando y todos los demás comandos basados ​​en condiciones.

Respuesta1

Por ejemplo, quiero comprobar si un directorio existe o no antes de eliminarlo.

- name: Example playbook to make sure a dir is absent
  hosts: my_host_group
  # Connect with a non-root user
  remote_user: my_remote_user
  # Use sudo, as you say you need it. Configure it on the relevant host
  become: true 

  vars:
    dir_to_remove: /path/to/dir/on/host

  tasks:
    - name: "remove {{ dir_to_remove }} if exists. Do nothing otherwise"
      file:
        path: "{{ dir_to_remove }}"
        state: absent

información relacionada