cisco.nxos.nxos_command – Выполнение произвольной команды на устройствах Cisco NXOS
Примечание
Этот плагин входит в коллекцию cisco.nxos (версия 1.3.1).
Для его установки используйте: ansible-galaxy collection install cisco.nxos.
Чтобы использовать его в книге задач, укажите: cisco.nxos.nxos_command.
Добавлено в версии 1.0.0: модуля cisco.nxos
Описание
- Отправляет произвольную команду на узел NXOS и возвращает результаты, считанные с устройства. В этом модуле есть аргумент, который заставит модуль дождаться выполнения определенного условия перед возвратом или вызовет таймаут, если условие не выполняется.
Примечание
Этот модуль имеет соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| commands список / элементы=сырые / обязательный | Команды для отправки на удалённое устройство NXOS. Результирующий вывод команды возвращается. Если указан аргумент wait_for, модуль возвращает данные только после выполнения условия или истечения времени ожидания. Аргумент commands также принимает альтернативную форму, которая позволяет использовать сложные значения, определяющие команду для выполнения и формат возвращаемого вывода. Это может быть сделано для каждой команды по отдельности. Сложный аргумент поддерживает ключевые слова command и output, где command — это команда для выполнения, а output — это 'text' или 'json'.Если команда, отправленная на устройство, требует ответа на запрос, можно передать словарь, содержащий команду, ответ и запрос. Общие ответы — 'y' или "\r" (возврат каретки, должен быть в двойных кавычках). См. примеры. | ||
| interval целое число | Значение по умолчанию: 1 | Настраивает интервал в секундах ожидания между повторными попытками выполнения команды. Если команда не удовлетворяет заданному условию, интервал указывает, сколько времени ждать, прежде чем попробовать выполнить команду снова. | |
| match строка |
| Аргумент match используется вместе с аргументом wait_for для указания политики сопоставления. Допустимые значения — all или any. Если значение установлено в all, все условия в wait_for должны быть выполнены. Если значение установлено в any, достаточно выполнения одного из них. | |
| provider словарь | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.Начиная с Ansible 2.6, рекомендуется использовать connection: httpapi для NX-API.Этот параметр будет удалён в версии после 2022-06-01. Дополнительную информацию см. в руководстве NXOS Platform Options. Объект словаря, содержащий данные подключения. | ||
| auth_pass строка | Указывает пароль для входа в привилегированный режим на удалённом устройстве, если это необходимо. Если authorize равно false, этот аргумент не имеет значения. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_AUTH_PASS. | ||
| authorize булево |
| Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_AUTHORIZE. | |
| host строка | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| password строка | Указывает пароль для аутентификации подключения к удалённому устройству. Этот аргумент используется для транспортов cli или nxapi. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| port целое число | Указывает порт, используемый при создании подключения к удалённому устройству. Это значение относится к cli или nxapi. Если значение порта не указано в задаче, по умолчанию используется соответствующий порт для транспорта (cli=22, http=80, https=443). | ||
| ssh_keyfile строка | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспорта cli. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | Указывает время ожидания в секундах для связи с сетевым устройством при подключении или отправке команд. Если время ожидания превышено до завершения операции, модуль выдаст ошибку. NX-API может медленно возвращать результаты при выполнении длительных команд (sh mac, sh bgp и т.д.). | ||
| transport строка |
| Настраивает транспортное соединение для подключения к удалённому устройству. Аргумент transport поддерживает подключение к устройству через cli (ssh) или nxapi. | |
| use_proxy булево |
| Если no, переменные среды http_proxy и https_proxy будут игнорироваться. | |
| use_ssl булево |
| Настраивает transport на использование SSL, если значение равно yes, только когда transport=nxapi, в противном случае это значение игнорируется. | |
| username строка | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа в CLI или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_USERNAME. | ||
| validate_certs булево |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых вами сайтах с самозаверяющими сертификатами. Если аргумент transport не равен nxapi, это значение игнорируется. | |
| retries целое число | Значение по умолчанию: 10 | Указывает количество попыток выполнения команды, прежде чем она будет считана неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for. | |
| wait_for список / элементы=строка | Указывает, что следует оценивать из вывода команды и какие условия применять. Этот аргумент заставляет задачу ожидать выполнения определённого условия перед продолжением. Если условие не выполняется в течение заданного количества попыток, задача завершается с ошибкой. См. примеры. псевдонимы: waitfor | ||
Примечания
Примечание
- Сведения об использовании CLI и NX-API см. в руководстве NXOS Platform Options
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по сетям Ansible
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco.
Примеры
- name: run show version on remote devices
cisco.nxos.nxos_command:
commands: show version
- name: run show version and check to see if output contains Cisco
cisco.nxos.nxos_command:
commands: show version
wait_for: result[0] contains Cisco
- name: run multiple commands on remote nodes
cisco.nxos.nxos_command:
commands:
- show version
- show interfaces
- name: run multiple commands and evaluate the output
cisco.nxos.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
cisco.nxos.nxos_command:
commands:
- command: show version
output: json
- name: run commands that require answering a prompt
cisco.nxos.nxos_command:
commands:
- configure terminal
- command: no feature npv
prompt: Do you want to continue
answer: y
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое | Описание |
|---|---|---|
| failed_conditions список / элементы=строка | неудачные | Список условных выражений, которые завершились неудачей Пример: ['...', '...'] |
| stdout список / элементы=строка | всегда, кроме ошибок низкого уровня (например, плагин действия) | Набор ответов от команд Пример: ['...', '...'] |
| stdout_lines список / элементы=строка | всегда, кроме ошибок низкого уровня (например, плагин действия) | Значение stdout, разделенное на список Пример: [['...', '...'], ['...'], ['...']] |
Авторы
- 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.10/collections/cisco/nxos/nxos_command_module.html