cnos_conditional_command - Выполнение одной команды на основе условия на устройствах с Lenovo CNOS
Новая версия 2.3.
Описание
- Этот модуль позволяет изменять текущую конфигурацию коммутатора. Он предоставляет способ выполнения одной команды CNOS на сетевом устройстве, оценивая текущую конфигурацию и выполняя команду только в том случае, если определённые настройки ещё не сконфигурированы. Команда CNOS передаётся в качестве аргумента метода. Этот модуль работает аналогично модулю cnos_command. Единственное исключение заключается в том, что может быть указана следующая переменная инвентаризации [“condition = <строка флага>”]. При указании этой переменной инвентаризации в качестве переменной задачи команда выполняется для сетевого элемента, соответствующего строке флага. Обычно команды выполняются на группе сетевых устройств. Если требуется пропустить выполнение команды на одном или нескольких устройствах, рекомендуется использовать этот модуль. Этот модуль использует SSH для управления конфигурацией сетевых устройств. Дополнительную информацию об этом модуле от Lenovo и настройку его использования для ваших задач можно найти по адресу http://systemx.lenovofiles.com/help/index.jsp?topic=%2Fcom.lenovo.switchmgt.ansible.doc%2Fcnos_conditional_command.html
Параметры
| параметр | обязательно | значение по умолчанию | допустимые значения | примечания |
|---|---|---|---|---|
| clicommand | да | Указывает команду CLI как атрибут этого метода. Команда передаётся в двойных кавычках. Переменные могут быть размещены непосредственно в командах CLI или вызваны из каталога vars. | ||
| condition | да | Если в файле инвентаризации для любого устройства вы укажете condition=false, выполнение команды будет пропущено для этого устройства. | ||
| deviceType (добавлено в 2.3)
| да |
| Указывает тип устройства, на котором выполняется метод. Значения NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены с версии 2.4 | |
| enablePassword (добавлено в 2.3)
| нет | Настраивает пароль, используемый для входа в режим командной строки глобальной конфигурации на коммутаторе. Если коммутатор не запрашивает этот пароль, параметр игнорируется. Хотя значение, как правило, должно быть получено из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | ||
| flag | да | Если задача должна быть выполнена, необходимо установить флаг так же, как он указан в инвентаризации для данного устройства. | ||
| host (добавлено в 2.3)
| да | Это переменная, используемая для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на которое будет применена шаблон. Обычно в плейбуке используется ключевое слово Ansible {{ inventory_hostname }} в качестве абстракции группы сетевых элементов, которые необходимо сконфигурировать. | ||
| outputfile (добавлено в 2.3)
| да | Указывает путь к файлу, в котором сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединённом файле шаблона, и каждый ответ от устройства. Обычно расположение находится в папке results, но вы можете выбрать другое расположение в зависимости от ваших прав на запись. | ||
| password (добавлено в 2.3)
| да | Настраивает пароль, используемый для аутентификации подключения к удалённому устройству. Значение параметра password используется для аутентификации сессии SSH. Хотя значение, как правило, должно быть получено из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | ||
| username (добавлено в 2.3)
| да | Настраивает имя пользователя, используемое для аутентификации подключения к удалённому устройству. Значение параметра username используется для аутентификации сессии SSH. Хотя значение, как правило, должно быть получено из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. |
Примеры
Tasks : The following are examples of using the module cnos_conditional_command. These are written in the main.yml file of the tasks directory.
---
- name: Applying CLI template on VLAG Tier1 Leaf Switch1
cnos_conditional_command:
host: "{{ inventory_hostname }}"
username: "{{ hostvars[inventory_hostname]['username'] }}"
password: "{{ hostvars[inventory_hostname]['password'] }}"
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
enablePassword: "{{ hostvars[inventory_hostname]['enablePassword'] }}"
outputfile: "./results/test_conditional_command_{{ inventory_hostname }}_output.txt"
condition: "{{ hostvars[inventory_hostname]['condition']}}"
flag: leaf_switch2
command: "spanning-tree mode enable"
enablePassword: "anil"
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для этого модуля:
| имя | описание | возвращено | тип | пример |
|---|---|---|---|---|
| msg | Сообщение об успехе или неудаче | всегда | строка | Команда применена |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.
Для помощи в разработке модулей, если у вас есть такое желание, пожалуйста, прочитайте Информация о сообществе и участие в разработке, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/cnos_conditional_command_module.html