iosxr_command – Запуск команд на удалённых устройствах с Cisco IOS XR
Описание
- Отправляет произвольные команды на узел IOS XR и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ожидать определённого условия перед возвратом или вызовом таймаута, если условие не выполнено.
- Этот модуль не поддерживает запуск команд в конфигурационном режиме. Используйте iosxr_config для конфигурации устройств iosxr.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| commands
- / обязательный
|
Список команд для отправки на удалённое устройство iosxr через настроенного поставщика. Возвращается результат выполнения команды. Если указан аргумент wait_for, модуль не возвращается, пока условие не будет выполнено или не истечёт количество попыток.
|
||
| 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
целое число
|
По умолчанию: 22 |
Указывает порт для построения подключения к удалённому устройству. |
|
| ssh_keyfile
путь
|
Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, вместо него используется значение переменной окружения
ANSIBLE_NET_SSH_KEYFILE. |
||
| timeout
целое число
|
По умолчанию: 10 |
Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку.
|
|
| 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.
Примеры
tasks:
- name: run show version on remote devices
iosxr_command:
commands: show version
- name: run show version and check to see if output contains iosxr
iosxr_command:
commands: show version
wait_for: result[0] contains IOS-XR
- name: run multiple commands on remote nodes
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
iosxr_command:
commands:
- show version
- show interfaces
wait_for:
- result[0] contains IOS-XR
- result[1] contains Loopback0
Возвращаемые значения
Общие возвращаемые значения описаны в этом разделе. Следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| failed_conditions
список
|
неудачное |
Список условных значений, которые завершились неудачей
Пример:
['...', '...']
|
| stdout
список
|
всегда, за исключением ошибок низкого уровня (например, плагина действия) |
Набор ответов от команд
Пример:
['...', '...']
|
| stdout_lines
список
|
всегда, за исключением ошибок низкого уровня (например, плагина действия) |
Значение stdout, разделенное на список
Пример:
[['...', '...'], ['...'], ['...']]
|
Статус
- Гарантируется, что интерфейс этого модуля не будет обратной совместимостью. [предварительная версия]
- Этот модуль поддерживается командой Ansible Network. [сеть]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля Red Hat см. в этой статье Базы знаний Red Hat.
Авторы
- 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.9/modules/iosxr_command_module.html