cnos_conditional_command – Выполнение одной команды на основе условия на устройствах с Lenovo CNOS
Новая версия 2.3.
Описание
- Этот модуль позволяет изменять текущую конфигурацию коммутатора. Он предоставляет способ выполнения одной команды CNOS на сетевом устройстве, оценивая текущую конфигурацию и выполняя команду только в том случае, если соответствующие настройки ещё не были сконфигурированы. Команда CNOS передается как аргумент метода. Этот модуль работает аналогично модулю cnos_command. Единственное исключение состоит в том, что можно указать следующую переменную инвентаризации [“condition = <строка флага>”] При указании этой переменной инвентаризации как переменной задачи, команда выполняется для сетевого элемента, соответствующего строке флага. Обычно команды выполняются для группы сетевых устройств. Если необходимо пропустить выполнение команды на одном или нескольких устройствах, рекомендуется использовать этот модуль. Этот модуль использует SSH для управления конфигурацией сетевых устройств.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| clicommand - / обязательно | Значение по умолчанию: null | Этот параметр указывает команду CLI как атрибут этого метода. Команда передается в двойных кавычках. Переменные могут быть размещены непосредственно в командах CLI или вызываться из каталога vars. |
| condition - / обязательно | Значение по умолчанию: null | Если вы укажете condition=false в файле инвентаризации для любого устройства, выполнение команды для этого устройства будет пропущено. |
| deviceType строка / обязательно добавлено в 2.3 |
| Этот параметр указывает тип устройства, на котором выполняется метод. Варианты NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены начиная с Ansible 2.4. Вариант NE0152T добавлен начиная с 2.8. |
| enablePassword строка добавлено в 2.3 | Настраивает пароль, используемый для входа в режим команды глобальной конфигурации на коммутаторе. Если коммутатор не запрашивает этот пароль, параметр игнорируется. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | |
| flag - / обязательно | Значение по умолчанию: null | Если задача должна быть выполнена, вы должны установить флаг так же, как он указан в инвентаризации для этого устройства. |
| host строка / обязательно добавлено в 2.3 | Эта переменная используется для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на которое будет применена шаблон. Обычно в плейбуке используется ключевое слово Ansible {{ inventory_hostname }} как абстракция группы сетевых элементов, которые необходимо сконфигурировать. | |
| outputfile строка / обязательно добавлено в 2.3 | Этот параметр указывает путь к файлу, в котором сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединенном файле шаблона, и каждый ответ от устройства. Обычно расположение находится в папке результатов, но вы можете выбрать другое расположение в зависимости от ваших прав записи. | |
| password строка / обязательно добавлено в 2.3 | Настраивает пароль, используемый для аутентификации подключения к удаленному устройству. Значение параметра password используется для аутентификации сеанса SSH. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | |
| username строка / обязательно добавлено в 2.3 | Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Значение параметра username используется для аутентификации сеанса SSH. Хотя обычно значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. |
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления устройствами Lenovo Network см. на странице 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
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 строка | всегда | Сообщение об успехе или ошибке Пример: Команда применена |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [предварительная версия]
- Этот модуль поддерживается сообществом 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.8/modules/cnos_conditional_command_module.html