iosxr_command – Выполнение команд на удалённых устройствах с Cisco IOS XR
Новая версия 2.1.
Описание
- Отправляет произвольные команды узлу IOS XR и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ждать определённого условия перед возвратом или таймаутом, если условие не выполнено.
- Этот модуль не поддерживает выполнение команд в конфигурационном режиме. Для конфигурации устройств iosxr используйте iosxr_config.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- ncclient >= 0.5.3 при использовании netconf
- lxml >= 4.1.1 при использовании netconf
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| commands
- / обязательно
|
Список команд, которые необходимо отправить на удалённое устройство iosxr через настроенный поставщик. Результирующий вывод команды возвращается. Если указан аргумент wait_for, модуль не возвращается до тех пор, пока условие не будет выполнено или истечёт время ожидания.
|
||
| interval
-
|
Значение по умолчанию: 1 |
Настраивает интервал в секундах ожидания между повторами команды. Если команда не выполняет указанных условий, интервал определяет, сколько времени ждать перед повторной попыткой. |
|
| match
-
добавлен в 2.2 |
|
Аргумент 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
-
добавлен в 2.2 |
Список условий для оценки по выводу команды. Задача будет ждать, пока каждое условие не станет истинным, прежде чем переходить к следующему шагу. Если условие не станет истинным в течение заданного числа попыток, задача завершается ошибкой. См. примеры.
псевдонимы: waitfor |
||
Примечания
Примечание
- Этот модуль не поддерживает подключение netconf
- Проверено на IOS XR 6.1.2
- Для получения дополнительной информации об использовании 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 по сетям. [сеть]
Поддержка 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.7/modules/iosxr_command_module.html