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