Модуль arista.eos.eos_config — управление разделами конфигурации Arista EOS
Примечание
Этот модуль входит в коллекцию arista.eos (версия 12.1.2).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install arista.eos.
Чтобы использовать коллекцию в плейбуке, укажите: arista.eos.eos_config.
Добавлено в arista.eos 1.0.0
Краткое описание
- Конфигурации Arista EOS используют простой формат файла с блочными отступами для разделения конфигурации на разделы. Этот модуль предоставляет реализацию для детерминированной работы с разделами конфигурации EOS. Модуль работает как с транспортом CLI, так и с eAPI.
Примечание
Этому модулю соответствует плагин действий.
Псевдонимы: config
Параметры
Параметр | Комментарии |
|---|---|
after list / elements=string | Упорядоченный набор команд, добавляемых в конец стека команд, если требуется внести изменение. Как и before, этот параметр позволяет разработчику плейбука добавить набор команд, которые будут выполнены после набора команд. |
backup boolean | Этот аргумент заставляет модуль создать полную резервную копию текущей Варианты:
|
backup_options dictionary | Это объект dict, содержащий настраиваемые параметры пути к файлу резервной копии. Значение этого параметра считывается, только если для |
|
dir_path path |
Этот параметр задаёт путь, заканчивающийся именем каталога, в котором будет храниться файл резервной копии конфигурации. Если каталог не существует, сначала он будет создан. Имя файла будет либо значением |
|
filename string |
Имя файла для сохранения резервной копии конфигурации. Если имя файла не указано, оно будет сформировано на основе имени хоста, текущих даты и времени в формате <hostname>_config.<current-date>@<current-time> |
before list / elements=string | Упорядоченный набор команд, добавляемых в стек команд, если требуется внести изменение. Это позволяет разработчику плейбука выполнить команды конфигурации до отправки каких-либо изменений, не влияя на сопоставление набора команд с системой. |
content string | Содержимое конфигурации для применения на устройстве. Здесь должен быть текст отрендеренной конфигурации, а не путь к файлу. Это рекомендуемый способ передачи шаблонных конфигураций. Используйте lookup Этот аргумент несовместим с src, lines и parents. Пример: |
defaults boolean | Аргумент defaults влияет на способ получения running-config с устройства. Если задано значение true, к команде получения running-config добавляется ключевое слово all. Если задано значение false, команда выполняется без ключевого слова all. Варианты:
|
diff_against string | При использовании аргумента командной строки Если для этого параметра задано значение startup, модуль вернёт различия между running-config и startup-config. Если для этого параметра задано значение intended, модуль вернёт различия между running-config и конфигурацией, переданной в аргументе Если для этого параметра задано значение running, модуль вернёт различия между состояниями running-config до и после любых изменений конфигурации устройства. Если для этого параметра задано значение Если для этого параметра задано значение Варианты:
|
diff_ignore_lines list / elements=string | Используйте этот аргумент, чтобы указать одну или несколько строк, которые следует игнорировать при сравнении различий. Он предназначен для строк конфигурации, автоматически обновляемых системой. Аргумент принимает список регулярных выражений или точных совпадений строк. |
intended_config string | Параметр |
lines псевдонимы: commands list / elements=string | Упорядоченный набор команд, которые должны быть настроены в разделе. Для обеспечения идемпотентности и правильного сравнения различий команды должны в точности совпадать с командами из running-config устройства. Обратите внимание на синтаксис команд конфигурации: некоторые команды автоматически изменяются парсером конфигурации устройства. |
match string | Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если для match задано значение line, команды сопоставляются построчно. Если для match задано значение strict, строки команд сопоставляются с учётом их положения. Если для match задано значение exact, строки команд должны полностью совпадать. Если для match задано значение none, модуль не будет пытаться сравнивать исходную конфигурацию с running configuration на удалённом устройстве. Варианты:
|
parents list / elements=string | Упорядоченный набор родительских элементов, однозначно определяющих раздел или иерархию, относительно которых следует проверять команды. Если аргумент parents опущен, команды проверяются относительно набора команд верхнего уровня или глобальных команд. |
replace string | Указывает модулю способ применения конфигурации на устройстве. Если для аргумента replace задано значение line, изменённые строки отправляются на устройство в режиме конфигурации. Если для аргумента replace задано значение block, весь блок команд отправляется на устройство в режиме конфигурации, если хотя бы одна строка указана неверно. Варианты:
|
running_config псевдонимы: config string | По умолчанию модуль подключается к удалённому устройству и получает текущую running-config, чтобы использовать её как основу для сравнения с содержимым источника. Иногда нежелательно, чтобы задача получала текущую running-config при каждом запуске в плейбуке. Аргумент running_config позволяет передать конфигурацию, которая будет использоваться этим модулем в качестве базовой. Строки конфигурации для этого параметра должны соответствовать тому виду, который они имели бы в running-configuration устройства, включая отступы, чтобы обеспечить идемпотентность и правильное сравнение различий. |
save_when string | По умолчанию изменения running-configuration устройства не копируются в энергонезависимую память. Этот аргумент изменяет такое поведение. Если аргументу задано значение always, running-config всегда копируется в startup-config, а флаг modified всегда устанавливается в True. Если аргументу задано значение modified, running-config копируется в startup-config, только если она изменилась с момента последнего сохранения в startup-config. Если аргументу задано значение never, running-config никогда не копируется в startup-config. Если аргументу задано значение changed, running-config копируется в startup-config, только если задача внесла изменение. Поддержка changed добавлена в Ansible 2.5. Варианты:
|
src path | Указывает путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путём на управляющем узле Ansible или относительным путём от корневого каталога плейбука или роли. Этот аргумент несовместим с lines, parents и content. Строки конфигурации в исходном файле должны соответствовать тому виду, который они имели бы в running-configuration (текущей конфигурации коммутатора) устройства, включая отступы, чтобы обеспечить идемпотентность и правильное сравнение различий. В конфигурации устройств Arista EOS используются отступы в 3 пробела. ПРИМЕЧАНИЕ: начиная с января 2028 года параметр src больше не будет обрабатывать шаблоны Jinja2. Для использования шаблонных конфигураций отрендерите шаблон с помощью lookup |
Примечания
Примечание
- Проверено на Arista EOS 4.24.6F
- Сокращённые команды НЕ являются идемпотентными. См. часто задаваемые вопросы о сетях.
- Для обеспечения идемпотентности и правильного сравнения различий строки конфигурации в соответствующих параметрах модуля должны соответствовать тому виду, который они имеют в текущей конфигурации устройства, включая отступы.
Примеры
- name: configure top level settings
arista.eos.eos_config:
lines: hostname {{ inventory_hostname }}
- name: load an acl into the device
arista.eos.eos_config:
lines:
- 10 permit ip host 192.0.2.1 any log
- 20 permit ip host 192.0.2.2 any log
- 30 permit ip host 192.0.2.3 any log
- 40 permit ip host 192.0.2.4 any log
parents: ip access-list test
before: no ip access-list test
replace: block
- name: load configuration from file
arista.eos.eos_config:
src: eos.cfg
- name: Render a Jinja2 template onto an Arista switch (DEPRECATED - use content parameter)
arista.eos.eos_config:
backup: true
src: eos_template.j2
- name: Apply templated configuration using content parameter (RECOMMENDED)
arista.eos.eos_config:
content: "{{ lookup('ansible.builtin.template', 'eos_template.j2') }}"
backup: true
- name: Apply templated configuration with backup options (RECOMMENDED)
arista.eos.eos_config:
content: "{{ lookup('ansible.builtin.template', 'eos_template.j2') }}"
backup: true
backup_options:
filename: backup.cfg
dir_path: /home/user
- name: Load configuration from pre-rendered template
arista.eos.eos_config:
content: |
interface Ethernet1
description Uplink to Core
ip address 10.1.1.1/24
no shutdown
- name: diff the running config against a master config
arista.eos.eos_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
- name: for idempotency, use full-form commands
arista.eos.eos_config:
lines:
- shutdown
parents: interface Ethernet1
- name: configurable backup path
arista.eos.eos_config:
src: eos_template.j2
backup: true
backup_options:
filename: backup.cfg
dir_path: /home/user
Возвращаемые значения
Общие возвращаемые значения описаны здесь. Ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
backup_path string | Полный путь к файлу резервной копии Возвращается: если backup имеет значение true Пример: |
commands list / elements=string | Набор команд, которые будут отправлены на удалённое устройство Возвращается: всегда Пример: |
date string | Дата, извлечённая из имени файла резервной копии Возвращается: если backup имеет значение true Пример: |
filename string | Имя файла резервной копии Возвращается: если backup имеет значение true и имя файла не указано в параметрах резервного копирования Пример: |
shortname string | Полный путь к файлу резервной копии без временной метки Возвращается: если backup имеет значение true и имя файла не указано в параметрах резервного копирования Пример: |
time string | Время, извлечённое из имени файла резервной копии Возвращается: если backup имеет значение true Пример: |
updates list / elements=string | Набор команд, которые будут отправлены на удалённое устройство Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/arista/eos/eos_config_module.html