community.network.exos_config – Управление разделами конфигурации Extreme Networks EXOS
Примечание
Этот плагин входит в состав коллекции community.network (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.network.
Для использования в плейбуке укажите: community.network.exos_config.
Обзор
- Конфигурации Extreme EXOS используют простой синтаксис текстового файла. Этот модуль предоставляет реализацию для работы с строками конфигурации EXOS детерминированным способом.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after строка | Упорядоченный набор команд для добавления в конец стека команд, если требуется внести изменения. Аналогично параметру before, это позволяет разработчику плейбука добавить набор команд, которые должны быть выполнены после набора команд. | ||
| backup булево |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config удаленного устройства перед внесением любых изменений. Если значение backup_options не задано, резервный файл записывается в папку backup в корневой директории плейбука. Если папка не существует, она создается. | |
| backup_options словарь | Это объект словаря, содержащий настраиваемые параметры, связанные с путем к резервному файлу. Значение этого параметра читается только тогда, когда backup установлено в yes. Если backup установлено в no, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр предоставляет путь, заканчивающийся именем директории, в которой будет храниться резервная копия конфигурационного файла. Если директория не существует, она будет создана сначала, а имя файла — это либо значение filename, либо имя файла по умолчанию, как описано в описании параметров filename. Если значение пути не указано, в этом случае будет создана папка backup в текущей рабочей директории, и резервная копия конфигурации будет скопирована в filename в папке backup. | ||
| filename строка | Имя файла, используемого для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время> | ||
| before строка | Упорядоченный набор команд, которые должны быть добавлены в стек команд при необходимости внесения изменений. Это позволяет разработчику плейбука выполнить конфигурационные команды перед внесением любых изменений, не влияя на то, как набор команд сопоставляется с системой. | ||
| defaults булево |
| Этот аргумент определяет, собирать ли все значения по умолчанию при получении текущей конфигурации удаленного устройства. При включении модуль получит текущую конфигурацию, выполнив команду show running-config all. | |
| diff_against строка |
| При использовании аргумента командной строки ansible-playbook --diff, модуль может генерировать разницы по различным источникам.Когда этот параметр настроен как startup, модуль вернет разницу между текущей конфигурацией и конфигурацией по умолчанию. Когда этот параметр настроен как intended, модуль вернет разницу между текущей конфигурацией и конфигурацией, предоставленной в аргументе intended_config.Когда этот параметр настроен как running, модуль вернет разницу до и после текущей конфигурации с учётом любых изменений, внесенных в конфигурацию устройства. | |
| diff_ignore_lines строка | Используйте этот аргумент, чтобы указать одну или несколько строк, которые должны быть проигнорированы при вычислении разницы. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. | ||
| intended_config строка | Конфигурация intended_config предоставляет основную конфигурацию, к которой должен соответствовать узел, и используется для проверки окончательной текущей конфигурации. Этот аргумент не будет изменять какие-либо настройки на удаленном устройстве и используется исключительно для проверки соответствия текущей конфигурации устройства. При указании этого аргумента задача также должна изменить значение diff_against и установить его в intended. | ||
| lines строка | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в конфигурации текущего устройства. Обратите внимание на синтаксис конфигурационной команды, поскольку некоторые команды автоматически изменяются анализатором конфигурации устройства. псевдонимы: commands | ||
| match строка |
| Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если match установлен в line, команды сопоставляются по строкам. Если match установлен в strict, строки команд сопоставляются по позиции. Если match установлен в exact, строки команд должны точно совпадать. Наконец, если match установлен в none, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией на удалённом устройстве. | |
| replace строка |
| Указывает модулю способ внесения конфигурации на устройство. Если аргумент replace установлен в line, изменённые строки отправляются на устройство в режиме конфигурации. Если аргумент replace установлен в block, весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка неверна. | |
| running_config строка | Модуль по умолчанию подключается к удаленному устройству и извлекает текущую конфигурацию для использования в качестве основы для сравнения с содержимым источника. В некоторых случаях нежелательно, чтобы задача получала текущую конфигурацию для каждой задачи в плейбуке. Аргумент running_config позволяет реализатору передать конфигурацию для использования в качестве базовой конфигурации для сравнения. псевдонимы: config | ||
| save_when строка |
| Когда в конфигурации текущего устройства вносятся изменения, по умолчанию эти изменения не копируются в постоянное хранилище. Использование этого аргумента изменит это поведение. Если аргумент установлен в always, текущая конфигурация всегда будет скопирована в конфигурацию по умолчанию, а флаг modified всегда будет установлен в True. Если аргумент установлен в modified, текущая конфигурация будет скопирована в конфигурацию по умолчанию только в том случае, если она изменилась с момента последнего сохранения в конфигурацию по умолчанию. Если аргумент установлен в never, текущая конфигурация никогда не будет скопирована в конфигурацию по умолчанию. Если аргумент установлен в changed, текущая конфигурация будет скопирована в конфигурацию по умолчанию только в том случае, если задача внесла изменение. | |
| src строка | Указывает путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путем на хосте Ansible или относительным путем от корневой директории плейбука или роли. Этот аргумент взаимоисключает аргумент lines. | ||
Примечания
Примечание
- Тестировалось с версией EXOS 22.6.0b19
Примеры
- name: Configure SNMP system name
community.network.exos_config:
lines: configure snmp sysName "{{ inventory_hostname }}"
- name: Configure interface settings
community.network.exos_config:
lines:
- configure ports 2 description-string "Master Uplink"
backup: yes
- name: Check the running-config against master config
community.network.exos_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
- name: Check the startup-config against the running-config
community.network.exos_config:
diff_against: startup
diff_ignore_lines:
- ntp clock .*
- name: Save running to startup when modified
community.network.exos_config:
save_when: modified
- name: Configurable backup path
community.network.exos_config:
lines:
- configure ports 2 description-string "Master Uplink"
backup: yes
backup_options:
filename: backup.cfg
dir_path: /home/user
Возвращаемые значения
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | при backup = yes | Полный путь к резервному файлу Пример: /playbooks/ansible/backup/x870_config.2018-08-08@15:00:21 |
| commands список / элементы=строка | всегда | Набор команд, которые будут отправлены на удаленное устройство Пример: ['create vlan "foo"', 'configure snmp sysName "x620-red"'] |
| updates список / элементы=строка | всегда | Набор команд, которые будут отправлены на удаленное устройство Пример: ['switch-attributes hostname foo', 'router ospf', 'area 0'] |
Авторы
- Lance Richardson (@hlrichardson)
© 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/exos_config_module.html