Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот плагин входит в коллекцию community.network (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.network.

Чтобы использовать его в плейбуке, укажите: community.network.enos_command.

  • Обзор
  • Параметры
  • Примеры
  • Возвращаемые значения

Обзор

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

Параметры

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

Примеры

# 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
  community.network.enos_command:
    commands:
      - show version
      - show system memory
    wait_for:
      - "result[0] contains 'Lenovo'"
      - "result[1] contains 'MemFree'"
    provider: "{{ cli }}"
  register: result

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

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

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

- name: Get output for multiple commands
  community.network.enos_command:
    commands:
      - show version
      - show interface information
    provider: "{{ cli }}"
  register: result

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

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

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

Ключ Возвращаемое значение Описание
failed_conditions
список / элементы=строка
неудача
условия, которые не выполнились

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

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

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


Авторы

  • 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.10/collections/community/network/enos_command_module.html

Spec-Zone.ru

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