raw - Выполняет низкоуровневую и грязную команду SSH
Описание
- Выполняет низкоуровневую и грязную команду SSH, не проходя через подсистему модуля. Это полезно и должно выполняться только в двух случаях. Первый случай — установка
python-simplejsonна более старых хостах (Python 2.4 и ранее), которым она необходима в качестве зависимости для запуска модулей, поскольку почти все основные модули её требуют. Другой случай — взаимодействие с устройствами, такими как маршрутизаторы, на которых не установлен Python. В любом другом случае использование модуля shell или command более уместно. Аргументы, передаваемые вraw, выполняются непосредственно через настроенную удалённую оболочку. Стандартный вывод, вывод ошибок и код возврата возвращаются, если доступны. Поддержка обработчика изменений для этого модуля отсутствует. - Этот модуль не требует Python на удалённой системе, как и модуль script.
- Этот модуль также поддерживается для целей Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| executable | изменить оболочку, используемую для выполнения команды. Должен быть абсолютный путь к исполняемому файлу. при использовании повышения привилегий ( become), будет назначена стандартная оболочка, если она не была предоставлена, так как повышение привилегий требует оболочки. | |
| free_form обязательно | модуль raw принимает команду в свободном формате для выполнения. Нет параметра, фактически названного 'free form'; см. примеры! |
Примечания
Примечание
- При использовании raw из книги задач, возможно, потребуется отключить сбор фактов с помощью
gather_facts: no, если вы используетеrawдля установки Python на машину. - Если вы хотите безопасно и предсказуемо выполнить команду, лучше использовать модули command или shell.
- Ключевое слово
environmentобычно не работает с raw, оно требует оболочки, что означает, что оно работает только еслиexecutableустановлен или используется модуль с повышением привилегий (become). - Этот модуль также поддерживается для целей Windows.
Примеры
- name: Bootstrap a legacy python 2.4 host
raw: yum -y install python-simplejson
- name: Bootstrap a host without python2 installed
raw: dnf install -y python2 python2-dnf libselinux-python
- name: Run a command that uses non-posix shell-isms (in this example /bin/sh doesn't handle redirection and wildcards together but bash does)
raw: cat < /tmp/*txt
args:
executable: /bin/bash
- name: safely use templated variables. Always use quote filter to avoid injection issues.
raw: "{{package_mgr|quote}} {{pkg_flags|quote}} install {{python_simplejson|quote}}"
Статус
Этот модуль помечен как stableinterface, что означает, что лица, ответственные за этот модуль, гарантируют, что не будут вноситься обратные несовместимые изменения в интерфейс.
Техническое обслуживание
Этот модуль помечен как core, что означает, что он поддерживается командой Ansible Core. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых командой Ansible Core, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этой статье базы знаний
Автор
- Команда Ansible Core
- Michael DeHaan
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/raw_module.html