如何使用Ansible替换模块取消注释?

时间:2016-10-24 15:02:04

标签: ansible ansible-2.x

对于vanilla配置文件来说,在默认配置文件中注释掉设置是很常见的。例如

#HEAP_SIZE=2g

如何删除评论字符"#"在这种情况下,使用Ansible替换模块?

- name: Uncomment out HEAP_SIZE
  replace:
    dest: //etc/some_path/app.conf
    replace="what to put here to remove #???"
    regex="#HEAP_SIZE=2g"

导致

HEAP_SIZE=2g

2 个答案:

答案 0 :(得分:0)

简单地:

replace: "HEAP_SIZE=2g"

你也想确保它是从行的开始。

通常,对于此用例,lineinfile模块更适合。

答案 1 :(得分:0)

您可以使用lineinfile执行任务:

- name: Uncomment parameters
  lineinfile:
    dest: app.conf
    regexp: (?i)^\s*#\s*({{ item }}.*)
    line: \1
    backrefs: yes
  with_items:
    - heap_size
    - aNoThEr_setting