# Ansible — Modules (one-screen)

## 1) Module = атомарное действие
Модуль — минимальная “операция”, которую Ansible выполняет на хосте.

## 2) Примеры модулей из твоих заметок
### `command`
Выполнение команды:
```yaml
- name: Display home directory
  command: ls ~/
```
Параметры типа `chdir`/`creates`:
```yaml
- command: cat resolv.conf chdir=/etc
- command: mkdir /folder creates=/folder
```

### `script`
Запускает скрипт с контроллера на удалённом хосте:
```yaml
- hosts: all
  tasks:
    - name: Run script
      script: /root/script.sh -arg1 -arg2
```

### `lineinfile`
Гарантирует наличие строки в файле:
```yaml
- hosts: all
  tasks:
    - lineinfile:
        path: /etc/resolv.conf
        line: 'nameserver 10.1.250.10'
```

### `service`
Управление сервисами (systemd):
```yaml
- hosts: web_nodes
  tasks:
    - name: Start httpd
      service:
        state: started
```

### `user` (`ansible.builtin.user`)
Управление пользователями:
```yaml
- hosts: all
  tasks:
    - name: Create user John
      user:
        name: John
        uid: 1040
        group: dev
```

---
**Source:** [[01 Library/02 DevOps/Ansible/Modules - Ansible|Modules - Ansible]]
