Spec-Zone.ru › Ansible 2.6

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 ложно, этот аргумент ничего не делает. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTH_PASS.
authorize
bool
    Варианты:
  • нет ←
  • да
Устарело
Начиная с 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
(добавлено в 2.2)
    Варианты:
  • любой
  • все ←
Аргумент match используется вместе с аргументом wait_for для задания политики сопоставления. Допустимые значения — all или any. Если значение установлено на all, все условия в wait_for должны быть выполнены. Если значение установлено на any, достаточно выполнения одного из условий.
provider
Устарело
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.
Дополнительную информацию см. в руководстве IOS Platform Options.
Объект словаря, содержащий детали подключения.
host
обязательно
Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве целевого адреса для транспорта.
port По умолчанию:
22
Указывает порт для подключения к удалённому устройству.
username
Указывает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_USERNAME.
password
Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_PASSWORD.
timeout По умолчанию:
10
Устанавливает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут превышен до завершения операции, модуль вернёт ошибку.
ssh_keyfile
Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE.
authorize
bool
    Варианты:
  • нет ←
  • да
Указывает модулю войти в привилегированный режим на удалённом устройстве перед отправкой команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTHORIZE.
auth_pass
Указывает пароль для использования при необходимости входа в привилегированный режим на удалённом устройстве. Если authorize ложно, этот аргумент ничего не делает. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTH_PASS.
retries По умолчанию:
10
Указывает количество попыток выполнения команды перед её признанием неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for.
wait_for
(добавлено в 2.2)
Список условий для проверки по выводу команды. Задача ждёт выполнения каждого условия перед продолжением. Если условие не выполняется в течение заданного числа попыток, задача завершается ошибкой. См. примеры.

псевдонимы: waitfor

Примечания

Примечание

  • Проверено на IOS 15.6
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
  • Дополнительную информацию об использовании 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 по работе с сетями. Для получения дополнительной информации см. Техническое обслуживание и поддержка модулей.

Для списка других модулей, также поддерживаемых командой Ansible Network Team, см. здесь.

Поддержка

Для получения дополнительной информации о поддержке этого модуля 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.6/modules/ios_command_module.html

Spec-Zone.ru

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