ОШИБКА! «копия» не является допустимым атрибутом для Play - PullRequest
1 голос
/ 09 ноября 2019

Я пытаюсь сделать ANSIBLE playbook, который подключается к серверу через ssh и отправляет файл.

Большая часть моего поиска в Google не дает конкретных результатов.

- 
  become: true
  hosts: all
  remote_user: artur
  tasks: ~
- 
  copy: 
    dest: /home/artur/grep_error.py
    group: UnixUsers
    mode: 420
    owner: artur
    src: /Users/artur/Desktop/sublime/projects/scripts/grep_error.py
  name: "example copying file with owner and permissions"

Я ожидаю скопировать файл на сервер ssh.

1 Ответ

1 голос
/ 10 ноября 2019
  1. Потратьте Y минут, чтобы выучить yaml . Обратите особое внимание на тот факт, что отступы и новые строки имеют синтаксическое значение
  2. Установите yamllint и проверьте файлы yaml. Это сэкономит вам много драгоценного времени
  3. Установите ansible-lint и снова проверьте ваши файлы. В этом разделе мы рассмотрим конкретный ансайбл синтаксис и следим за хорошей практикой
  4. Прочитайте документ о playbooks и убедитесь, что вы соблюдаете синтаксис (то есть понимаете ошибки, которые вы получаете от валидаторов выше).

Теперь я дал вам несколько ссылок, вот исправление вашей пьесы

---
- name: My first play to copy files
  become: true
  hosts: all
  remote_user: artur

  tasks:

    - name: Example copying file with owner and permissions
      copy:
        src: /Users/artur/Desktop/sublime/projects/scripts/grep_error.py
        dest: /home/artur/grep_error.py
        owner: artur
        group: UnixUsers
        mode: 0420

    - name: I'm just a dummy task to show you a play can go on
      debug:
        msg: I'm a dummy task
...