community.network.cnos_conditional_command – Выполнение одной команды на основе условия на устройствах, работающих под управлением Lenovo CNOS
Примечание
Этот плагин входит в коллекцию community.network (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.network.
Для использования в книге задач укажите: community.network.cnos_conditional_command.
Краткое описание
- Этот модуль позволяет изменять текущую конфигурацию коммутатора. Он предоставляет способ выполнения одной команды CNOS на сетевом устройстве, оценивая текущую рабочую конфигурацию и выполняя команду только в том случае, если определённые настройки ещё не были сконфигурированы. Команда CNOS передаётся в качестве аргумента метода. Этот модуль работает так же, как и модуль cnos_command. Единственное исключение состоит в том, что можно указать переменную инвентаризации [“condition = <строка флага>”]. Когда эта переменная инвентаризации задана в качестве переменной задачи, команда выполняется для сетевого элемента, соответствующего строке флага. Обычно команды выполняются на группе сетевых устройств. Если требуется пропустить выполнение команды на одном или нескольких устройствах, рекомендуется использовать этот модуль. Этот модуль использует SSH для управления конфигурацией сетевого устройства.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| clicommand строка / обязательно | Это указывает команду CLI в качестве атрибута этого метода. Команда передается в двойных кавычках. Переменные можно разместить непосредственно в командах CLI или вызвать их из каталога vars. | |
| condition строка / обязательно | Если вы укажете condition=false в файле инвентаризации для любого устройства, выполнение команды для этого устройства будет пропущено. | |
| deviceType строка / обязательно |
| Это указывает тип устройства, на котором выполняется метод. Варианты NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены с Ansible 2.4. Вариант NE0152T добавлен с 2.8 |
| enablePassword строка | Настраивает пароль, используемый для входа в режим глобальной конфигурации коммутатора. Если коммутатор не запрашивает этот пароль, параметр игнорируется. Хотя, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | |
| flag строка / обязательно | Если задача должна быть выполнена, вам необходимо установить флаг таким же, как он указан в инвентаризации для этого устройства. | |
| host строка / обязательно | Это переменная, используемая для поиска файла хостов по адресу /etc/ansible/hosts и определения IP-адреса устройства, на котором будет применена шаблон. Обычно в книге задач используется ключевое слово Ansible {{ inventory_hostname }} как абстракция группы сетевых элементов, которые необходимо настроить. | |
| outputfile строка / обязательно | Это указывает путь к файлу, в котором сохраняется вывод каждого выполнения команды. Здесь сохраняется каждая команда, указанная в объединённом файле шаблона, и каждый ответ от устройства. Обычно расположение находится в папке результатов, но вы можете выбрать другое расположение в зависимости от прав записи. | |
| password строка / обязательно | Настраивает пароль, используемый для аутентификации подключения к удаленному устройству. Значение параметра password используется для аутентификации сессии SSH. Хотя, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | |
| username строка / обязательно | Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Значение параметра username используется для аутентификации сессии SSH. Хотя, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. |
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами Lenovo см. на странице https://www.ansible.com/ansible-lenovo.
Примеры
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
community.network.cnos_conditional_command:
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
outputfile: "./results/test_conditional_command_
{{ inventory_hostname }}_output.txt"
condition: "{{ hostvars[inventory_hostname]['condition']}}"
flag: leaf_switch2
command: "spanning-tree mode enable"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| msg строка | всегда | Сообщение об успехе или неудаче Пример: Команда применена |
Авторы
- 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/cnos_conditional_command_module.html