Spec-Zone.ru › Ansible 2.5

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

Spec-Zone.ru

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