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 обязательно | Значение по умолчанию: None | Это указывает команду CLI как атрибут этого метода. Команда передается в двойных кавычках. Переменные могут быть размещены непосредственно в командах CLI или вызваны из каталога vars. |
| condition обязательно | Значение по умолчанию: None | Если вы укажете condition=false в файле инвентаризации для любого устройства, выполнение команды для этого устройства будет пропущено. |
| deviceType обязательно (добавлено в 2.3) |
None | Это указывает тип устройства, на котором выполняется метод. Выбор NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлен с версии 2.4 |
| enablePassword (добавлено в 2.3) | Значение по умолчанию: None | Настраивает пароль, используемый для входа в режим глобальной конфигурации на коммутаторе. Если коммутатор не запрашивает этот пароль, параметр игнорируется. Хотя значение обычно должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. |
| flag обязательно | Значение по умолчанию: None | Если задача должна быть выполнена, вы должны установить флаг так же, как он указан в инвентаризации для этого устройства. |
| host обязательно (добавлено в 2.3) | Значение по умолчанию: None | Эта переменная используется для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на котором будет применена шаблон. Обычно в плейбуке в качестве абстракции группы сетевых элементов, которые нужно настроить, используется ключевое слово Ansible {{ inventory_hostname }}. |
| outputfile обязательно (добавлено в 2.3) | Значение по умолчанию: None | Это указывает путь к файлу, где сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединенном файле шаблона, и каждый ответ от устройства. Обычно расположение находится в папке результатов, но вы можете выбрать другое расположение в зависимости от разрешений на запись. |
| password обязательно (добавлено в 2.3) | Значение по умолчанию: None | Настраивает пароль, используемый для аутентификации подключения к удаленному устройству. Значение параметра password используется для аутентификации сеанса SSH. Хотя значение обычно должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. |
| username обязательно (добавлено в 2.3) | Значение по умолчанию: None | Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Значение параметра 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
cnos_conditional_command:
host: "{{ inventory_hostname }}"
username: "{{ hostvars[inventory_hostname]['ansible_ssh_user'] }}"
password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
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"
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| 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.5/modules/cnos_conditional_command_module.html