cisco.iosxr.iosxr_command – Выполнение команд на удалённых устройствах с Cisco IOS XR
Примечание
Этот плагин входит в состав коллекции cisco.iosxr (версия 1.2.0).
Для его установки используйте: ansible-galaxy collection install cisco.iosxr.
Для использования в playbook укажите: cisco.iosxr.iosxr_command.
Новый в версии 1.0.0: модуля cisco.iosxr
Описание
- Отправляет произвольные команды узлу IOS XR и возвращает результаты, считанные с устройства. В данном модуле есть аргумент, который заставит модуль подождать выполнения определённого условия перед возвратом или истечением времени ожидания, если условие не выполнено.
- Этот модуль не поддерживает выполнение команд в режиме конфигурации. Для конфигурации устройств IOS XR используйте 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.Для получения дополнительной информации см. Руководство по сети. Объект словаря, содержащий данные подключения. | ||
| 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 список / элементы=строка | неудачно | Список условий, которые не выполнены Пример: ['...', '...'] |
| stdout список / элементы=строка | всегда, кроме ошибок низкого уровня (например, плагина действий) | Набор ответов от команд Пример: ['...', '...'] |
| stdout_lines список / элементы=строка | всегда, кроме ошибок низкого уровня (например, плагина действий) | Значение stdout разбито на список Пример: [['...', '...'], ['...'], ['...']] |
Авторы
- Ricardo Carrillo Cruz (@rcarrillocruz)
© 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/iosxr/iosxr_command_module.html