Я посмотрел на оригинальный blockinfile
модуль на github - до Ansible 2 он не был в комплекте с Ansible. Оказывается, маркеры фактически используются для идентификации блока :
Это кажется намеченным поведением. Он заменяет все строки, окруженные маркерами блока, указанным содержимым.
Это означает, что если вы удалите маркеры, blockinfile
больше не сможете идентифицировать блок, что приведет к тому, что модуль будет добавлять блок в файл каждый раз, когда вы запускаете playbook.
Таким образом, маркеры до и после письменного блока являются требованием модуля и не могут быть удалены.
Если это одноразовая книга воспроизведения, которая никогда не будет выполнена снова, вы можете запустить lineinfile
модуль с state: absent
опцией впоследствии.
Старый ответ:
Согласно документам у blockinfile
модуля есть marker
опция.
Вы пытались установить пустую строку или False?
blockinfile:
dest: /var/www/html/index.html
marker: ""
или
blockinfile:
dest: /var/www/html/index.html
marker: False
я сделал что-то вроде этого ...
источник
Честно говоря, я использовал следующее для создания нескольких строк.
/programming/24334115/ansible-lineinfile-for-several-lines
Спасибо @udondan
источник