Spec-Zone.ru › Ansible 2.7

cnos_command – Выполнение произвольных команд на устройствах Lenovo CNOS

Новое в версии 2.6.

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

Описание

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

Параметры

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

Примеры

# 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
  cnos_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
  cnos_command:
    commands: ['show version']
    provider: "{{ cli }}"
  register: result

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

- name: get output for multiple commands
  cnos_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. [community]

Авторы

  • 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.7/modules/cnos_command_module.html

Spec-Zone.ru

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