Ansible петлевая вставка - PullRequest
1 голос
/ 02 апреля 2020

Я пытаюсь сделать ansible l oop вставкой в ​​файл, используя переменную в вышеупомянутой отладке. В этом примере я установил "file_limit" на 10, поэтому отладка отображает числа 1-10. Затем я хочу заменить "REPLACEME" на 10 строк, например

File_1=file_1.txt
File_2=file_2.txt
...
File_10=file_10.txt

Мое первое предположение - я не должен использовать замену, но я не могу найти метод для достижения этой цели

- debug:
    var: item
  with_sequence: 1-{{ file_limit }}
  register: foo

- name:
  replace:
    path: "/testing_folder/counter.ini"
    regexp: "REPLACEME"
    loop_var: item
    replace: "File_{{ foo }}=file_{{ foo }}.txt"

1 Ответ

0 голосов
/ 02 апреля 2020

Плейбук ниже

shell> cat counter.ini
REPLACEME
shell> cat playbook.yml
- hosts: localhost
  vars:
    file_limit: 10
  tasks:
    - replace:
        path: counter.ini
        regexp: "^REPLACEME$"
        replace: |
          {% for index in range(1,file_limit+1) %}
          File_{{ index }}=file_{{ index }}.txt
          {% endfor %}

дает

shell> cat counter.ini
File_1=file_1.txt
File_2=file_2.txt
File_3=file_3.txt
File_4=file_4.txt
File_5=file_5.txt
File_6=file_6.txt
File_7=file_7.txt
File_8=file_8.txt
File_9=file_9.txt
File_10=file_10.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...