Spec-Zone.ru › Ansible 2.9

ios_command – Выполнение команд на удаленных устройствах с Cisco IOS

  • Описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

  • Отправляет произвольные команды на узел 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, модуль не возвращается до тех пор, пока условие не будет выполнено или количество попыток не истечёт. Если отправленная на устройство команда требует ответа на запрос, можно передать словарь, содержащий command, answer и prompt. Общие ответы — 'y' или «\r» (возврат каретки, должен быть в двойных кавычках). См. примеры.
interval
-
Значение по умолчанию:
1
Настраивает интервал в секундах ожидания между повторами команды. Если команда не соответствует указанным условиям, интервал указывает, как долго ждать перед повторной попыткой выполнения команды.
match
-
    Варианты:
  • любой
  • все ←
Аргумент match используется совместно с аргументом wait_for для указания политики соответствия. Допустимые значения — all или any. Если значение установлено в all, все условные операторы в wait_for должны быть выполнены. Если значение установлено в any, должно быть выполнено только одно из условий.
provider
словарь
Устарело
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.
Для получения дополнительной информации см. руководство IOS Platform Options.
Объект словаря, содержащий данные подключения.
auth_pass
строка
Указывает пароль, который необходимо использовать для входа в привилегированный режим на удалённом устройстве. Если authorize равно false, этот аргумент не имеет эффекта. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTH_PASS.
authorize
логическое
    Варианты:
  • нет ←
  • да
Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTHORIZE.
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

Примечания

Примечание

  • Проверено на 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 commands that require answering a prompt
    ios_command:
      commands:
        - command: 'clear counters GigabitEthernet0/1'
          prompt: 'Clear "show interface" counters on this interface \[confirm\]'
          answer: 'y'
        - command: 'clear counters GigabitEthernet0/2'
          prompt: '[confirm]'
          answer: "\r"

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
failed_conditions
список
неуспешные
Список условных выражений, которые не выполнились

Пример:
['...', '...']
stdout
список
всегда, кроме ошибок низкого уровня (например, плагин действий)
Набор ответов от команд

Пример:
['...', '...']
stdout_lines
список
всегда, кроме ошибок низкого уровня (например, плагин действий)
Значение stdout, разделенное на список

Пример:
[['...', '...'], ['...'], ['...']]


Статус

  • Интерфейс этого модуля не гарантирует обратную совместимость. [превью]
  • Этот модуль поддерживается командой Ansible Network. [сеть]

Поддержка Red Hat

Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний Red Hat.

Авторы

  • Peter Sprygada (@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.9/modules/ios_command_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API