Основное отличие состояний state: file и state: touch в Ansible file module заключается в поведении при работе с файлами. 1
state: file гарантирует, что по указанному пути будет файл, но если его нет или путь не является файлом, то возникает ошибка. 1 При этом файл можно изменить, если он существует. 4
state: touch, в свою очередь, создаёт пустой файл, если его нет, и не выдаёт ошибку, если по указанному пути находится каталог или символическая ссылка. 14 При этом для существующего файла или каталога обновляются время доступа и модификации. 4
Таким образом, state: file подходит для ситуаций, когда важно убедиться в существовании файла, а state: touch — для случаев, когда необходимо создать файл, если его нет, или обновить его свойства. 14