community.network.cnos_conditional_command – Выполнение единственной команды на основе условия на устройствах с Lenovo CNOS
Примечание
Этот плагин является частью коллекции community.network (версия 2.0.1).
Для его установки используйте: 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/network/cnos_conditional_command_module.html