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