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 | По умолчанию: None | Устаревший Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli. Этот параметр необходим только при использовании NX-API. Для получения дополнительной информации см. руководство NXOS Platform Options. Объект словаря, содержащий сведения о подключении. | |
| username | Указывает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа в CLI или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задаче, будет использоваться значение переменной среды ANSIBLE_NET_USERNAME. | ||
| authorize (добавлено в 2.5.3) |
| Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, будет использоваться значение переменной среды ANSIBLE_NET_AUTHORIZE. | |
| ssh_keyfile | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспорта cli. Если значение не указано в задаче, будет использоваться значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| use_proxy (добавлено в 2.5) |
| Если no, переменные среды http_proxy и https_proxy будут проигнорированы. | |
| auth_pass (добавлено в 2.5.3) | По умолчанию: none | Указывает пароль для входа в привилегированный режим на удалённом устройстве, если это необходимо. Если authorize равно false, этот аргумент не действует. Если значение не указано в задаче, будет использоваться значение переменной среды ANSIBLE_NET_AUTH_PASS. | |
| host обязательный | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| timeout (добавлено в 2.3) | По умолчанию: 10 | Устанавливает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут превышен до завершения операции, модуль вернёт ошибку. NX-API может медленно отвечать на длительные команды (sh mac, sh bgp и т.д.). | |
| use_ssl |
| Устанавливает транспорт transport для использования SSL, если установлено значение true только при transport=nxapi, в противном случае это значение игнорируется. | |
| password | По умолчанию: None | Указывает пароль для аутентификации подключения к удалённому устройству. Это распространённый аргумент, используемый для транспортов cli или nxapi. Если значение не указано в задаче, будет использоваться значение переменной среды ANSIBLE_NET_PASSWORD. | |
| validate_certs |
None | Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых лично сайтах с самозаверенными сертификатами. Если аргумент транспорта не nxapi, это значение игнорируется. | |
| port | По умолчанию: 0 (использовать общий порт) | Устанавливает порт для создания соединения с удалённым устройством. Это значение относится к cli или nxapi. Значение порта будет по умолчанию равно соответствующему общему порту транспорта, если он не указан в задаче. (cli=22, http=80, https=443). | |
| transport обязательный | По умолчанию: cli | Устанавливает транспортное соединение для подключения к удалённому устройству. Аргумент transport поддерживает подключение к устройству через cli (ssh) или nxapi. | |
| retries | По умолчанию: 10 | Устанавливает количество попыток выполнения команды перед тем, как она будет считана неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for. | |
| wait_for (добавлено в 2.2) | По умолчанию: None | Указывает, что оценивать из вывода команды и какие условия применять. Этот аргумент заставит задачу ожидать выполнения определённого условия перед продолжением. Если условие не выполняется к заданному количеству попыток, задача завершается с ошибкой. См. примеры. псевдонимы: waitfor | |
Примечания
Примечание
- Сведения об использовании CLI и NX-API см. в руководстве NXOS Platform Options
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco.
Примеры
---
- 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, разделенное на список Пример: [['...', '...'], ['...'], ['...']] |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Поддержка
Для получения дополнительной информации о поддержке этого модуля 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.5/modules/nxos_command_module.html