Как создать каталог и файл в одном каталоге в ansible, используя одну задачу - PullRequest
0 голосов
/ 18 февраля 2020

Есть ли способ создать каталог и файл внутри одного каталога в ansible, используя одну задачу? В настоящее время в своей задаче я создаю каталог, используя файловый модуль, состояние = каталог. Как прикоснуться к файлу внутри этого каталога в той же задаче?

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Вы можете использовать l oop:

- name: Create a directory with a file inside
  file:
    path: "{{ item.path }}"
    state: "{{ item.state }}"
  loop:
    - { path: /tmp/foo, state: directory }
    - { path: /tmp/foo/bar.txt, state: touch }
0 голосов
/ 18 февраля 2020

@ Dom H дал это правильно, я просто хотел, чтобы это было более удобным способом в playbook.

playbook будет выглядеть так:

---
- name: Creating directory and files
  hosts: localhost
  become: yes
  become_user: root

  tasks:

  - name: Create a directory with a file inside
    file:
      path: "{{ item.path }}"
      state: "{{ item.state }}"
    loop:
      - { path: /tmp/foo, state: directory }
      - { path: /tmp/foo/bar.txt, state: touch }

, и мы можем на самом деле тестировать раньше запустить его с помощью:

 ansible-playbook -i localhost mkdir.yml --check
...