eos_config - Управление разделами конфигурации Arista EOS
Новая в версии 2.1.
Обзор
- Конфигурации Arista EOS используют простой синтаксис вложенного файла для разбиения конфигурации на разделы. Этот модуль предоставляет реализацию для работы с разделами конфигурации EOS детерминированным способом. Этот модуль работает с транспортными средствами CLI или eAPI.
Параметры
| параметр | обязателен | по умолчанию | значения | комментарии | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| after | нет | Упорядоченный набор команд для добавления в конец стека команд, если требуется внести изменения. Аналогично параметру before, это позволяет разработчику playbook добавить набор команд, которые будут выполнены после набора команд. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| auth_pass | нет | none | Указывает пароль, который необходимо использовать, если требуется войти в привилегированный режим на удалённом устройстве. Если параметр authorize имеет значение false, этот аргумент ничего не делает. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTH_PASS. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| authorize | нет |
| Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTHORIZE. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| backup (добавлен в 2.2) | нет |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удалённого устройства перед внесением каких-либо изменений. Файл резервной копии записывается в папку backup в корневой директории playbook. Если папка не существует, она создаётся. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| before | нет | Упорядоченный набор команд для добавления в стек команд, если требуется внести изменения. Это даёт разработчику playbook возможность выполнить команды конфигурации до внесения любых изменений без влияния на то, как набор команд сопоставляется с системой. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| defaults (добавлен в 2.2) | нет |
| Аргумент defaults повлияет на то, как собирается running-config с устройства. Когда значение установлено в true, команда, используемая для сбора running-config, дополняется словом all. Когда значение установлено в false, команда выполняется без ключевого слова all. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| diff_against (добавлен в 2.4) | нет | session |
| При использовании аргумента командной строки ansible-playbook --diff, модуль может генерировать diff по отношению к различным источникам.Когда этот параметр настроен как startup, модуль вернёт diff между running-config и startup-config. Когда этот параметр настроен как intended, модуль вернёт diff между running-config и конфигурацией, предоставленной в аргументе intended_config. Когда этот параметр настроен как running, модуль вернёт diff между running-config до и после любых изменений, внесённых в конфигурацию устройства. Когда этот параметр настроен как session, возвращаемый diff будет основан на сессии конфигурации. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| diff_ignore_lines (добавлен в 2.4) | нет | Используйте этот аргумент, чтобы указать одну или несколько строк, которые должны быть проигнорированы во время diff. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| force | нет |
| Аргумент force инструктирует модуль не учитывать текущую running-config устройства. Если установлено в true, это заставит модуль скопировать содержимое src на устройство без предварительной проверки, настроено ли оно уже. Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалента установите match=none, который является идемпотентным. Этот аргумент будет удален в будущей версии. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| intended_config (добавлен в 2.4) | нет | intended_config предоставляет основную конфигурацию, к которой должен соответствовать узел, и используется для проверки окончательной running-config. Этот аргумент не будет изменять какие-либо настройки на удалённом устройстве и используется исключительно для проверки соответствия текущей конфигурации устройства. При указании этого аргумента задача также должна изменить значение diff_against и установить его в intended. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| lines | нет | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в running-config устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются анализатором конфигурации устройства. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| match | нет | line |
| Инструктирует модуль, как выполнять сопоставление набора команд с текущей конфигурацией устройства. Если match установлен в line, команды сопоставляются построчно. Если match установлен в strict, строки команд сопоставляются с учётом позиции. Если match установлен в exact, строки команд должны быть идентичными. Наконец, если match установлен в none, модуль не будет пытаться сравнить исходную конфигурацию с конфигурацией на удалённом устройстве. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| parents | нет | Упорядоченный набор родителей, которые однозначно идентифицируют раздел, с которым должны сравниваться команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальных команд. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| provider | нет | Объект dict, содержащий данные подключения. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| replace | нет | line |
| Инструктирует модуль, как выполнить конфигурацию на устройстве. Если аргумент replace установлен в line, изменённые строки отправляются на устройство в режиме конфигурации. Если аргумент replace установлен в block, весь блок команды отправляется на устройство в режиме конфигурации, если какая-либо строка неверна. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| running_config (добавлен в 2.4) | нет | Модуль по умолчанию подключается к удалённому устройству и извлекает текущую running-config для сравнения с содержимым source. Иногда нежелательно запрашивать текущую running-config для каждой задачи в playbook. Аргумент running_config позволяет разработчику передать конфигурацию для использования в качестве базовой конфигурации для данного модуля. псевдонимы: config | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| сохранить (добавлено в 2.2)
| нет |
| Аргумент save инструктирует модуль сохранить текущую конфигурацию (running-config) в стартовую конфигурацию (startup-config). Эта операция выполняется после внесения любых изменений в текущую конфигурацию. Если изменений нет, конфигурация всё равно сохраняется в стартовой конфигурации. Этот параметр всегда заставит модуль вернуть значение «изменено».Этот параметр устарел начиная с Ansible 2.4, используйте save_when
| |
| save_when (добавлено в 2.4)
| нет | никогда |
| Когда в конфигурации устройства (running-configuration) вносятся изменения, по умолчанию эти изменения не копируются в энергонезависимую память. Использование этого аргумента изменит это до того, как это произойдет. Если аргумент установлен в всегда, то running-config всегда будет скопирована в startup-config, а флаг изменено всегда будет установлен в True. Если аргумент установлен в изменено, то running-config будет скопирована в startup-config только в том случае, если она изменилась с момента последнего сохранения в startup-config. Если аргумент установлен в никогда, то running-config никогда не будет скопирована в startup-config |
| src (добавлено в 2.2)
| нет | Аргумент src предоставляет путь к файлу конфигурации для загрузки на удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованного роли или плейбука. Этот аргумент взаимоисключает аргументы lines и parents. Он также может быть шаблоном Jinja2. Файл src должен иметь тот же отступ, что и конфигурация live-переключателя. Конфигурация устройства Arista EOS имеет отступ в 3 пробела. |
Примеры
- name: configure top level settings
eos_config:
lines: hostname {{ inventory_hostname }}
- name: diff against a provided master config
eos_config:
diff_against: config
config: "{{ lookup('file', 'master.cfg') }}"
- name: load an acl into the device
eos_config:
lines:
- 10 permit ip 1.1.1.1/32 any log
- 20 permit ip 2.2.2.2/32 any log
- 30 permit ip 3.3.3.3/32 any log
- 40 permit ip 4.4.4.4/32 any log
parents: ip access-list test
before: no ip access-list test
replace: block
- name: load configuration from file
eos_config:
src: eos.cfg
- name: diff the running config against a master config
eos_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
Значения возврата
Общие значения возврата описаны здесь Значения возврата, следующие поля уникальны для данного модуля:
| имя | описание | возвращается | тип | пример |
|---|---|---|---|---|
| backup_path | Полный путь к резервному файлу | при backup равно да | строка | /playbooks/ansible/backup/eos_config.2016-07-16@22:28:34 |
| commands | Набор команд, которые будут отправлены на удалённое устройство | всегда | список | ['hostname switch01', 'interface Ethernet1', 'no shutdown'] |
| updates | Набор команд, которые будут отправлены на удалённое устройство | всегда | список | ['hostname switch01', 'interface Ethernet1', 'no shutdown'] |
Примечания
Примечание
- Тестировалось на EOS 4.15
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Информация о техническом обслуживании
Для получения дополнительной информации о поддержке этого модуля компанией Red Hat, пожалуйста, обратитесь к этому knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
Для помощи в разработке модулей, если вам это нужно, прочитайте Информацию о сообществе и участии, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/eos_config_module.html