Ansible основные свойства - PullRequest
0 голосов
/ 13 марта 2020

У меня есть несколько файлов свойств сторонних поставщиков, которые поставляются с выпуском. Я бы хотел, чтобы Ansible переопределил некоторые из этих свойств и оставил другие как есть.

Пример одного файла (их будет несколько с разными свойствами) ...

Сторонний файл

...
#prop1=
prop2=
...
prop17=false

Результирующий файл после обработки Ansible

...
prop1=blah blah blah
prop2=false
...
prop17=true

Я пытался использовать replace, но он становится ужасно многословным. В идеале я могу предоставить несколько файлов на разных уровнях (группа, хост и т. Д. c), и все они переопределяют файл поставщика. Есть идеи?

1 Ответ

0 голосов
/ 14 марта 2020

Для этого вы можете использовать модуль lineinfile . Пример:

- lineinfile:
    path: /path/to/file
    regexp: '^#?prop1='
    line: 'prop1=blah blah blah'

Если у вас много реквизита:

- lineinfile:
    path: /path/to/file
    regexp: '^#?{{ item.prop }}='
    line: 'prop1={{ item.value }}'
  loop:
    - { prop: prop1, value: 'blah blah blah' }
    - { prop: prop2, value: 'false' }
    - { prop: prop17, value: 'true' }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...