ios_command - Выполнение команд на удалённых устройствах с Cisco IOS
Новая версия с 2.1.
Описание
- Отправляет произвольные команды узлу ios и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль дождаться выполнения определённого условия, прежде чем вернуть результат или сгенерировать таймаут, если условие не выполняется.
- Этот модуль не поддерживает выполнение команд в режиме конфигурации. Пожалуйста, используйте ios_config для конфигурации устройств IOS.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_pass | По умолчанию: нет | Устаревший Начиная с Ansible 2.5 рекомендуется использовать connection: network_cli и become: yes с become_pass. Дополнительная информация в руководстве IOS Platform Options. Указывает пароль для входа в привилегированный режим на удалённом устройстве. Если authorize имеет значение false, то этот аргумент не работает. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTH_PASS. | |
| authorize |
| Устаревший Начиная с Ansible 2.5 рекомендуется использовать connection: network_cli и become: yes.Дополнительная информация в руководстве IOS Platform Options. Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой команд. Если не указано, устройство попытается выполнить все команды в обычном режиме. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTHORIZE. | |
| commands необходимо | Список команд для отправки на удалённое устройство ios через заданный провайдер. Возвращается результат выполнения команды. Если указан аргумент wait_for, модуль не вернётся, пока условие не будет выполнено или не истечёт время ожидания. | ||
| interval | По умолчанию: 1 | Устанавливает интервал в секундах для ожидания между повторными попытками выполнения команды. Если команда не удовлетворяет заданным условиям, интервал определяет время ожидания перед следующей попыткой. | |
| match (добавлен в 2.2) |
| Аргумент match используется вместе с аргументом wait_for для указания политики сопоставления. Допустимые значения — all или any. Если значение установлено на all, должны быть выполнены все условия в wait_for. Если значение установлено на any, должно быть выполнено хотя бы одно условие. | |
| provider | По умолчанию: Нет | Устаревший Начиная с Ansible 2.5 рекомендуется использовать connection: network_cli.Дополнительная информация в руководстве IOS Platform Options. Объект типа dict, содержащий данные подключения. | |
| username | Устанавливает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| authorize |
| Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой команд. Если не указано, устройство попытается выполнить все команды в обычном режиме. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTHORIZE. | |
| ssh_keyfile | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| auth_pass | По умолчанию: нет | Указывает пароль для входа в привилегированный режим на удалённом устройстве. Если authorize равно false, этот аргумент не используется. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTH_PASS. | |
| host необходимо | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| timeout | По умолчанию: 10 | Устанавливает таймаут в секундах для связи с сетевым устройством, как при подключении, так и при отправке команд. Если таймаут истекает до завершения операции, модуль выдаст ошибку. | |
| password | По умолчанию: Нет | Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD. | |
| port | По умолчанию: 22 | Указывает порт для подключения к удалённому устройству. | |
| retries | По умолчанию: 10 | Указывает количество попыток выполнения команды перед её признанием неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for. | |
| wait_for (добавлен в 2.2) | По умолчанию: Нет | Список условий для оценки по результатам выполнения команды. Задача будет ожидать выполнения каждого условия, прежде чем продолжить. Если условие не выполняется в течение заданного количества попыток, задача завершается неудачей. См. примеры. псевдонимы: waitfor | |
Примечания
Примечание
- Проверено на IOS 15.6
- Если команда, отправленная устройству, требует ответа на запрос, можно передать словарь, содержащий команду, ответ и запрос. См. примеры.
- Дополнительная информация об использовании Ansible для управления сетевыми устройствами — в руководстве по Ansible для работы с сетями
- Дополнительная информация об использовании Ansible для управления устройствами Cisco — на странице интеграции Cisco.
Примеры
tasks:
- name: run show version on remote devices
ios_command:
commands: show version
- name: run show version and check to see if output contains IOS
ios_command:
commands: show version
wait_for: result[0] contains IOS
- name: run multiple commands on remote nodes
ios_command:
commands:
- show version
- show interfaces
- name: run multiple commands and evaluate the output
ios_command:
commands:
- show version
- show interfaces
wait_for:
- result[0] contains IOS
- result[1] contains Loopback0
- name: run command that requires answering a prompt
ios_command:
commands:
- command: 'clear counters GigabitEthernet0/2'
prompt: 'Clear "show interface" counters on this interface [confirm]'
answer: c
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — уникальные для данного модуля поля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| failed_conditions список | неудача | Список условий, которые не выполнены Пример: ['...', '...'] |
| stdout список | всегда, кроме ошибок низкого уровня (например, ошибки плагина действия) | Набор ответов от команд Пример: ['...', '...'] |
| stdout_lines список | всегда, кроме ошибок низкого уровня (например, ошибки плагина действия) | Значение stdout, разделённое на список Пример: [['...', '...'], ['...'], ['...']] |
Статус
Этот модуль помечен как превью, что означает, что интерфейс не гарантируется как обратная совместимость.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этой статье базы знаний.
Автор
- Пётр Спрыгада (@privateip)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/ios_command_module.html