Spec-Zone.ru › Ansible 2.6

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)
Объект словаря, содержащий данные подключения.
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.
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. Подробнее см. Техническое обслуживание и поддержка модулей.

Список других модулей, которые также поддерживаются сообществом 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/cnos_command_module.html

Spec-Zone.ru

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