cisco.nxos.nxos_command – Выполнение произвольной команды на устройствах Cisco NXOS
Примечание
Этот плагин входит в коллекцию cisco.nxos (версия 1.4.0).
Для его установки используйте: 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 булево |
| Устанавливает использование SSL для transport, если значение равно yes, только когда transport=nxapi, в противном случае это значение игнорируется. | |
| username строка | Указывает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации входа в CLI или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_USERNAME. | ||
| validate_certs булево |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых лично, с самозаверяющимися сертификатами. Если транспорт не равен nxapi, это значение игнорируется. | |
| retries целое число | По умолчанию: 10 | Указывает количество попыток выполнения команды перед её признанием неудачной. Команда выполняется на целевом устройстве при каждой попытке и проверяется на соответствие условиям wait_for. | |
| wait_for список / элементы=строка | Указывает, что оценивать из вывода команды и какие условия применять. Этот аргумент заставит задачу ожидать выполнения определённого условия перед продолжением. Если условие не выполнится за установленное количество попыток, задача завершится с ошибкой. См. примеры. псевдонимы: waitfor | ||
Примечания
Примечание
- Сведения об использовании CLI и NX-API см. в руководстве NXOS Platform Options
- Дополнительная информация об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
- Дополнительная информация об использовании 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, разделенное на список Пример: [['...', '...'], ['...'], ['...']] |
Авторы
- Питер Спригада (@privateip)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/cisco/nxos/nxos_command_module.html