nxos_command - Выполнение произвольной команды на устройствах Cisco NXOS
Новая в версии 2.1.
Описание
- Отправляет произвольную команду на узел NXOS и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль подождать определённого условия перед возвратом или выдать ошибку по таймауту, если условие не выполнено.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| commands обязательно | Команды, которые нужно отправить удалённому устройству NXOS. Результат выполнения команды возвращается. Если указан аргумент wait_for, модуль не возвращает результат, пока условие не будет выполнено или не истечёт время ожидания. Аргумент commands также принимает альтернативную форму, позволяющую использовать сложные значения, которые определяют команду для выполнения и формат возвращаемого результата. Это можно сделать для каждой команды. Сложный аргумент поддерживает ключевые слова command и output, где command — команда для выполнения, а output — один из вариантов 'text' или 'json'. | ||
| interval | По умолчанию: 1 | Настраивает интервал в секундах ожидания между повторными попытками выполнения команды. Если команда не удовлетворяет заданному условию, интервал указывает, как долго нужно ждать перед следующей попыткой. | |
| match (добавлен в 2.2) | По умолчанию: "all" | Аргумент match используется совместно с аргументом wait_for для задания политики соответствия. Допустимые значения — all или any. Если значение установлено в all, все условия в wait_for должны быть выполнены. Если значение установлено в any, достаточно выполнения одного из условий. | |
| provider | Устарело Начиная с Ansible 2.5 рекомендуется использовать connection: network_cli. Этот параметр необходим только при использовании NX-API. Для получения дополнительной информации обратитесь к руководству по платформам NXOS NXOS Platform Options guide. Объект словаря, содержащий сведения о подключении. | ||
| host обязательно | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| port | По умолчанию: "0 (использовать стандартный порт)" | Указывает порт, который нужно использовать при установлении соединения с удалённым устройством. Это значение относится к cli или nxapi. Если значение не указано в задании, значение по умолчанию соответствует стандартному порту для используемого транспорта (cli=22, http=80, https=443). | |
| username | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа по командной строке или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задании, используется значение переменной среды ANSIBLE_NET_USERNAME. | ||
| password | Указывает пароль для аутентификации подключения к удалённому устройству. Это общий аргумент, используемый для транспортов cli или nxapi. Если значение не указано в задании, используется значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| authorize bool (добавлен в 2.5.3) |
| Указывает модулю войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в обычном режиме. Если значение не указано в задании, используется значение переменной среды ANSIBLE_NET_AUTHORIZE. | |
| auth_pass (добавлен в 2.5.3) | По умолчанию: "none" | Указывает пароль, необходимый для входа в привилегированный режим на удалённом устройстве. Если authorize false, этот аргумент не имеет значения. Если значение не указано в задании, используется значение переменной среды ANSIBLE_NET_AUTH_PASS. | |
| timeout (добавлен в 2.3) | По умолчанию: 10 | Указывает таймаут в секундах для взаимодействия с сетевым устройством при подключении или отправке команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку. NX-API может медленно возвращать результаты при длительных командах (sh mac, sh bgp и т. д.). | |
| ssh_keyfile | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспорта cli. Если значение не указано в задании, используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| transport обязательно | По умолчанию: "cli" | Настраивает транспортное соединение для подключения к удалённому устройству. Аргумент transport поддерживает подключение к устройству через командную строку (ssh) или nxapi. | |
| use_ssl bool |
| Настраивает транспорт transport для использования SSL, если значение установлено в true, только когда transport=nxapi, в противном случае это значение игнорируется. | |
| validate_certs bool |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых сайтах с самозаверенными сертификатами. Если аргумент transport не nxapi, это значение игнорируется. | |
| use_proxy bool (добавлен в 2.5) |
| Если no, переменные среды http_proxy и https_proxy будут проигнорированы. | |
| retries | По умолчанию: 10 | Указывает количество попыток выполнения команды перед её признанием неудачной. Команда выполняется на целевом устройстве при каждой повторной попытке и оценивается по условиям wait_for. | |
| wait_for (добавлен в 2.2) | Указывает, что следует анализировать из вывода команды и какие условия применять. Этот аргумент заставит задание подождать, пока определённое условие не станет истинным, прежде чем продолжить. Если условие не выполняется к заданному количеству попыток, задание завершается с ошибкой. Смотрите примеры. псевдонимы: waitfor | ||
Примечания
Примечание
- Сведения об использовании командной строки и NX-API см. в руководстве по платформам NXOS NXOS Platform Options guide
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible по сетям Ansible Network Guide
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco Cisco integration page.
Примеры
---
- name: run show version on remote devices
nxos_command:
commands: show version
- name: run show version and check to see if output contains Cisco
nxos_command:
commands: show version
wait_for: result[0] contains Cisco
- name: run multiple commands on remote nodes
nxos_command:
commands:
- show version
- show interfaces
- name: run multiple commands and evaluate the output
nxos_command:
commands:
- show version
- show interfaces
wait_for:
- result[0] contains Cisco
- result[1] contains loopback0
- name: run commands and specify the output format
nxos_command:
commands:
- command: show version
output: json
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| failed_conditions список | неуспешно | Список условных выражений, которые завершились неудачно Пример: ['...', '...'] |
| stdout список | всегда, кроме ошибок низкого уровня (например, плагина действия) | Набор ответов от команд Пример: ['...', '...'] |
| stdout_lines список | всегда, кроме ошибок низкого уровня (например, плагина действия) | Значение stdout, разделенное на список Пример: [['...', '...'], ['...'], ['...']] |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Техническое обслуживание
Этот модуль помечен как сетевой, что означает, что он поддерживается командой Ansible по сетевым технологиям. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых командой Ansible по сетевым технологиям, см. здесь.
Поддержка
Для получения дополнительной информации о поддержке данного модуля компанией Red Hat, пожалуйста, обратитесь к этой статье базы знаний.
Автор
- Peter Sprygada (@privateip)
Подсказка
Если вы заметите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/nxos_command_module.html