community.network.exos_config – Управление разделами конфигурации Extreme Networks EXOS
Примечание
Этот плагин является частью коллекции community.network (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.network
Для использования в книге задач укажите: community.network.exos_config
Обзор
- Конфигурации Extreme EXOS используют простой синтаксис текстового файла. Этот модуль предоставляет реализацию для работы с строками конфигурации EXOS детерминированным способом.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after строка | Упорядоченный набор команд для добавления в конец стека команд, если требуется внести изменения. Подобно параметру before, это позволяет разработчику книги задач добавить набор команд, которые будут выполнены после набора команд. | ||
| backup булево |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением любых изменений. Если значение backup_options не указано, резервная копия файла записывается в папку backup в корневой директории книги задач. Если директория не существует, она создается. | |
| backup_options словарь | Это объект типа dict, содержащий настраиваемые параметры, связанные с путем к резервному файлу. Значение этого параметра считывается только при backup = да, если backup = нет, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр указывает путь, заканчивающийся именем каталога, в котором будет храниться резервный файл конфигурации. Если директория не существует, она будет создана, а имя файла будет либо значением filename, либо именем по умолчанию, как описано в описании параметров filename. Если значение пути не задано, в текущем рабочем каталоге будет создана директория backup, и резервная копия конфигурации будет скопирована в filename внутри директории backup. | ||
| filename строка | Имя файла, используемое для хранения резервной копии конфигурации. Если имя файла не задано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время> | ||
| before строка | Упорядоченный набор команд для добавления в стек команд, если требуется внести изменения. Это позволяет разработчику книги задач выполнить команды конфигурации до внесения любых изменений без влияния на способ сопоставления набора команд с системой. | ||
| defaults булево |
| Этот аргумент указывает, нужно ли собирать все значения по умолчанию при получении текущей конфигурации удаленного устройства. При включении модуль получит текущую конфигурацию, выполнив команду show running-config all | |
| diff_against строка |
| При использовании аргумента ansible-playbook --diff модуль может генерировать различия по различным источникам.При настройке этого параметра как стартовая модуль вернет разницу между текущей конфигурацией (running-config) и стартовой конфигурацией (startup-config). При настройке этого параметра как запланированная модуль вернет разницу между текущей конфигурацией (running-config) и конфигурацией, указанной в аргументе intended_config.При настройке этого параметра как текущая модуль вернет разницу между текущей и предыдущей конфигурацией (running-config) относительно любых изменений, внесенных в конфигурацию устройства. | |
| diff_ignore_lines строка | Используйте этот аргумент для указания одной или нескольких строк, которые должны быть проигнорированы при вычислении различий. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. | ||
| intended_config строка | intended_config предоставляет основную конфигурацию, к которой должен соответствовать узел, и используется для проверки конечной текущей конфигурации. Этот аргумент не будет изменять настройки на удаленном устройстве и используется только для проверки соответствия текущей конфигурации устройства заданной. При указании этого аргумента необходимо также изменить значение diff_against и установить его в значение запланированная. | ||
| lines строка | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в текущей конфигурации устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются анализатором конфигурации устройства. псевдонимы: команды | ||
| match строка |
| Указывает модулю способ сравнения набора команд с текущей конфигурацией устройства. Если match = строка, команды сравниваются по строкам. Если match = строгий, строки команд сравниваются относительно позиции. Если match = точный, строки команд должны быть идентичны. Наконец, если match = нет, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией на удаленном устройстве. | |
| replace строка |
| Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace = строка, измененные строки передаются устройству в режиме конфигурации. Если аргумент replace = блок, весь блок команд передается устройству в режиме конфигурации, если какая-либо строка некорректна. | |
| running_config строка | По умолчанию модуль подключается к удаленному устройству и получает текущую running-конфигурацию для использования в качестве основы для сравнения с содержимым источника. Иногда нежелательно, чтобы задача получала текущую running-конфигурацию для каждой задачи в книге задач. Аргумент running_config позволяет разработчику передать конфигурацию, используемую в качестве базовой конфигурации для сравнения. псевдонимы: конфигурация | ||
| save_when строка |
| Когда в конфигурации running-конфигурации устройства вносятся изменения, эти изменения по умолчанию не копируются в постоянную память. С помощью этого аргумента можно изменить это поведение. Если аргумент установлен в всегда, то running-конфигурация всегда копируется в startup-конфигурацию, и флаг изменён всегда устанавливается в True. Если аргумент установлен в изменён, то running-конфигурация копируется в startup-конфигурацию только в том случае, если она изменилась с момента последней записи в startup-конфигурацию. Если аргумент установлен в никогда, running-конфигурация никогда не копируется в startup-конфигурацию. Если аргумент установлен в изменился, то running-конфигурация копируется в startup-конфигурацию только в том случае, если задача внесла изменение. | |
| src строка | Указывает путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путем на хосте Ansible или относительным путем от корня книги задач или роли. Этот аргумент взаимоисключает с строками. | ||
Примечания
Примечание
- Тестировано с 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 = да | Полный путь к резервному файлу Пример: /playbooks/ansible/backup/x870_config.2018-08-08@15:00:21 |
| commands список / элементы=строка | всегда | Набор команд, которые будут отправлены на удаленное устройство Пример: ['создать vlan "foo"', 'настроить snmp sysName "x620-red"'] |
| updates список / элементы=строка | всегда | Набор команд, которые будут отправлены на удаленное устройство Пример: ['switch-attributes hostname foo', 'router ospf', 'area 0'] |
Авторы
- Лэнс Ричардсон (@hlrichardson)
© 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/exos_config_module.html