я использую file.blockreplace как это:
etc_sudoers_{{ system_name }}:
file.blockreplace:
- name: /etc/sudoers
- marker_start: "# START etc_sudoers_{{ system_name }} -DO-NOT-EDIT-"
- marker_end: "# END etc_sudoers_{{ system_name }} --"
- content: |
{{system_name}} ALL = NOPASSWD: /bin/systemctl restart apache2*
- append_if_not_found: True
- show_changes: True
Это создает запись в файле, подобную этой:
# START etc_sudoers_foo_c123_dpci01051321 -DO-NOT-EDIT-
foo_c123_dpci01051321 ALL = NOPASSWD: /bin/systemctl restart apache2*
# END etc_sudoers_foo_c123_dpci01051321 --
Теперь я хочу удалить весь блок (включая маркеры START / END). Как это сделать с солонкой?
Я нашел это решение. Более чем приветствуются :-)
remove_django__etc_sudoers_{{ system_name }}:
file.replace:
- name: /etc/sudoers
- pattern: "# START etc_sudoers_{{ system_name }} -DO-NOT-EDIT-.*?# END etc_sudoers_{{ system_name }} --"
- flags: ['MULTILINE', 'DOTALL']
- repl: ''
- ignore_if_missing: True