cisco.iosxr.iosxr_command – Выполнение команд на удалённых устройствах с Cisco IOS XR
Примечание
Этот плагин входит в состав коллекции cisco.iosxr (версия 1.2.1).
Для его установки используйте: ansible-galaxy collection install cisco.iosxr.
Для использования в playbook укажите: cisco.iosxr.iosxr_command.
Новое в версии 1.0.0: из cisco.iosxr
Обзор
- Отправляет произвольные команды узлу IOS XR и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль дождаться выполнения определённого условия перед возвратом или таймаута, если условие не выполняется.
- Этот модуль не поддерживает выполнение команд в режиме конфигурации. Для конфигурации устройств iosxr используйте iosxr_config.
Примечание
У этого модуля есть соответствующий плагин действия.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| commands список / элементы=сырые данные / обязательно | Список команд для отправки удалённому устройству iosxr через настроенного поставщика. Результирующий вывод команды возвращается. Если указан аргумент wait_for, модуль не возвращается, пока условие не будет выполнено или не истечёт количество попыток. Если отправленная на устройство команда требует ответа на запрос, можно передать словарь, содержащий команду, ответ и запрос. Общие ответы — 'y' или "\r" (возврат каретки, обязательно в двойных кавычках). См. примеры | ||
| interval целое число | Значение по умолчанию: 1 | Настраивает интервал в секундах ожидания между повторами команды. Если команда не удовлетворяет заданным условиям, интервал указывает, сколько времени нужно ждать, прежде чем попробовать команду снова. | |
| match строка |
| Аргумент match используется совместно с аргументом wait_for для задания политики сопоставления. Допустимые значения — all или any. Если значение установлено в all, все условия в wait_for должны быть выполнены. Если значение установлено в any, должно быть выполнено только одно из значений. | |
| provider словарь | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.Дополнительную информацию см. в руководстве по сети Network Guide. Объект словаря, содержащий данные подключения. | ||
| host строка | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| password строка | Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| port целое число | Указывает порт для создания подключения к удалённому устройству. | ||
| ssh_keyfile путь | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | Указывает таймаут в секундах для взаимодействия с сетевым устройством для подключения или отправки команд. Если таймаут истекает до завершения операции, модуль выдаст ошибку. | ||
| transport строка |
| Указывает тип транспорта подключения. | |
| username строка | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_USERNAME. | ||
| retries целое число | Значение по умолчанию: 10 | Указывает количество попыток выполнения команды до того, как она будет считана неудачной. Команда выполняется на целевом устройстве на каждой попытке и оценивается по условиям wait_for. | |
| wait_for список / элементы=строка | Список условий, которые нужно проверить по выводу команды. Задача будет ожидать выполнения каждого условия перед продолжением. Если условие не выполняется в течение заданного количества попыток, задача завершается с ошибкой. См. примеры. Псевдонимы: waitfor | ||
Примечания
Примечание
- Убедитесь, что пользователь имеет право выполнять команды с длиной терминала 0, шириной терминала 512 и приглашением терминала exec без отметки времени.
- Этот модуль работает с
network_cli. См. настройки платформы IOS-XR. - Этот модуль не поддерживает подключения
netconf. - Проверено на IOS XR 6.1.3
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве по сетям Ansible
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco.
Примеры
- name: run show version on remote devices
cisco.iosxr.iosxr_command:
commands: show version
- name: run show version and check to see if output contains iosxr
cisco.iosxr.iosxr_command:
commands: show version
wait_for: result[0] contains IOS-XR
- name: run multiple commands on remote nodes
cisco.iosxr.iosxr_command:
commands:
- show version
- show interfaces
- {command: example command that prompts, prompt: expected prompt, answer: yes}
- name: run multiple commands and evaluate the output
cisco.iosxr.iosxr_command:
commands:
- show version
- show interfaces
wait_for:
- result[0] contains IOS-XR
- result[1] contains Loopback0
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| failed_conditions список / элементы=строка | failed | Список условий, которые не выполнены Пример: ['...', '...'] |
| stdout список / элементы=строка | всегда, кроме ошибок низкого уровня (таких как ошибки плагина действий) | Набор ответов от команд Пример: ['...', '...'] |
| stdout_lines список / элементы=строка | всегда, кроме ошибок низкого уровня (таких как ошибки плагина действий) | Значение stdout, разделенное на список Пример: [['...', '...'], ['...'], ['...']] |
Авторы
- Ricardo Carrillo Cruz (@rcarrillocruz)
© 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/iosxr/iosxr_command_module.html