Spec-Zone.ru › Ansible 2.6

enos_command - Выполнение произвольных команд на устройствах Lenovo ENOS

Новая версия 2.5.

  • Описание
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Автор

Описание

  • Отправляет произвольные команды на узел ENOS и возвращает результаты, считанные с устройства. Модуль enos_command включает аргумент, который заставит модуль ожидать определённого условия перед возвратом или истечения времени ожидания, если условие не выполняется.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_pass
Указывает пароль для использования при необходимости перехода в привилегированный режим на удалённом устройстве. Если authorize равно false, то этот аргумент не имеет эффекта. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTH_PASS.
authorize
bool
    Варианты:
  • нет ←
  • да
Указывает модулю перейти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTHORIZE.
commands
обязательно
Список команд для отправки на удалённое устройство через настроенный поставщик. Возвращается результат выполнения команды. Если указан аргумент wait_for, модуль не возвращается, пока условие не будет выполнено или не истечёт время ожидания.
interval Значение по умолчанию:
1
Настраивает интервал в секундах ожидания между повторами команды. Если команда не удовлетворяет заданным условиям, интервал указывает, сколько времени ждать, прежде чем попробовать команду снова.
match
    Варианты:
  • любой
  • все ←
Аргумент match используется совместно с аргументом wait_for для указания политики соответствия. Допустимые значения — all или any. Если значение установлено в all, все условия в wait_for должны быть выполнены. Если значение установлено в any, должно быть выполнено только одно из условий.
provider
Объект типа dict, содержащий сведения о подключении.
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 равно false, то этот аргумент не имеет эффекта. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTH_PASS.
retries Значение по умолчанию:
10
Указывает количество попыток выполнения команды перед её признанием неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for.
wait_for
Список условий для оценки по результатам команды. Задача будет ожидать, пока каждое условие не станет истинным, прежде чем продолжить. Если условие не станет истинным в течение настроенного числа попыток, задача завершается с ошибкой. См. примеры.

Примеры

# Note: examples below use the following provider dict to handle
#       transport and authentication to the node.
---
vars:
  cli:
    host: "{{ inventory_hostname }}"
    port: 22
    username: admin
    password: admin
    timeout: 30

---
- name: test contains operator
  enos_command:
    commands:
      - show version
      - show system memory
    wait_for:
      - "result[0] contains 'Lenovo'"
      - "result[1] contains 'MemFree'"
    provider: "{{ cli }}"
  register: result

- assert:
    that:
      - "result.changed == false"
      - "result.stdout is defined"

- name: get output for single command
  enos_command:
    commands: ['show version']
    provider: "{{ cli }}"
  register: result

- assert:
    that:
      - "result.changed == false"
      - "result.stdout is defined"

- name: get output for multiple commands
  enos_command:
    commands:
      - show version
      - show interface information
    provider: "{{ cli }}"
  register: result

- assert:
    that:
      - "result.changed == false"
      - "result.stdout is defined"
      - "result.stdout | length == 2"

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

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

Ключ Возвращаемое значение Описание
failed_conditions
список
неуспешно
условия, которые не были выполнены

Пример:
['...', '...']
stdout
список
всегда
набор ответов от команд

Пример:
['...', '...']
stdout_lines
список
всегда
Значение stdout, разбитое на список

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


Статус

Этот модуль помечен как превью, что означает, что его интерфейс не гарантирует обратную совместимость.

Техническое обслуживание

Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробнее см. Поддержка и техническое обслуживание модулей.

Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.

Автор

  • Anil Kumar Muraleedharan (@amuraleedhar)

Подсказка

Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать его, чтобы улучшить его.

© 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/enos_command_module.html

Spec-Zone.ru

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