Spec-Zone.ru › Ansible

arista.eos.eos_config модуль — Управление разделами конфигурации Arista EOS

Примечание

Этот модуль входит в коллекцию arista.eos (версия 9.0.0).

Возможно, эта коллекция уже установлена, если вы используете пакет 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

Параметры

Параметр

Комментарии

после

список / элементы=строка

Упорядоченный набор команд, добавляемых в конец стека команд, если требуется изменение. Подобно параметру перед, это позволяет разработчику плейбука добавить набор команд, которые будут выполнены после набора команд.

резервная копия

логический

Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не задано, файл резервной копии записывается в папку backup в корневом каталоге плейбука или корневом каталоге роли, если плейбук является частью роли Ansible. Если каталог не существует, он будет создан.

Варианты:

  • false ← (по умолчанию)
  • true

параметры_резервной_копии

словарь

Это объект словаря, содержащий настраиваемые параметры, относящиеся к пути к файлу резервной копии. Значение этого параметра считывается только тогда, когда backup установлено в true, если backup установлено в no, этот параметр будет проигнорирован.

путь_к_каталогу

путь

Этот параметр предоставляет путь, заканчивающийся именем каталога, в котором будет храниться файл резервной копии конфигурации. Если каталог не существует, он будет создан, а имя файла — это значение filename или имя файла по умолчанию, как описано в filename описании параметров. Если значение пути не задано, в текущем рабочем каталоге будет создан каталог backup, и резервная копия конфигурации будет скопирована в filename в каталоге backup.

имя_файла

строка

Имя файла, используемого для хранения резервной копии конфигурации. Если имя файла не задано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>

перед

список / элементы=строка

Упорядоченный набор команд, добавляемых в стек команд, если необходимо внести изменения. Это позволяет разработчику плейбука выполнить команды конфигурации перед внесением каких-либо изменений, не влияя на то, как набор команд сопоставляется с системой.

значения_по_умолчанию

логический

Аргумент значения_по_умолчанию повлияет на то, как собирается running-config с устройства. При значении true команда для сбора running-config дополняется ключевым словом all. При значении false команда выполняется без ключевого слова all.

Варианты:

  • false ← (по умолчанию)
  • true

сравнить_с

строка

При использовании аргумента командной строки ansible-playbook --diff модуль может генерировать разницы по отношению к разным источникам.

При настройке этого параметра как startup, модуль вернёт разницу между running-config и startup-config.

При настройке этого параметра как intended, модуль вернёт разницу между running-config и конфигурацией, предоставленной в аргументе intended_config.

При настройке этого параметра как running, модуль вернёт разницу до и после running-config относительно любых изменений, внесённых в конфигурацию устройства.

При настройке этого параметра как session, возвращаемая разница будет основана на сессии конфигурации.

При настройке этого параметра как validate_config, модуль вернёт значения before с running-config до применения intended-config и after с конфигурацией сессии после применения intended-config к сессии.

Варианты:

  • "startup"
  • "running"
  • "intended"
  • "session" ← (по умолчанию)
  • "validate_config"

сравнить_игнорировать_строки

список / элементы=строка

Используйте этот аргумент, чтобы указать одну или несколько строк, которые должны быть проигнорированы при сравнении. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк.

намеченная_конфигурация

строка

intended_config предоставляет основную конфигурацию, которой должен соответствовать узел, и используется для проверки окончательной running-config. Этот аргумент не будет изменять какие-либо настройки на удалённом устройстве и используется исключительно для проверки соответствия текущей конфигурации устройства. При указании этого аргумента задача также должна изменить значение diff_against и установить его в intended. Строки конфигурации для этого значения должны быть аналогичны тому, как они будут отображаться, если они присутствуют в running-конфигурации устройства, включая отступы для обеспечения правильного сравнения.

строки

псевдонимы: команды

список / элементы=строка

Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в running-конфигурации устройства, чтобы обеспечить идемпотентность и правильное сравнение. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются анализатором конфигурации устройства.

сопоставление

строка

Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если сопоставление установлено в строка, команды сопоставляются построчно. Если сопоставление установлено в строго, строки команд сопоставляются по положению. Если сопоставление установлено в точно, строки команд должны точно совпадать. Наконец, если сопоставление установлено в нет, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией на удалённом устройстве.

Варианты:

  • "line" ← (по умолчанию)
  • "strict"
  • "exact"
  • "none"

родители

список / элементы=строка

Упорядоченный набор родительских элементов, которые однозначно идентифицируют раздел или иерархию, с которой должны быть проверены команды. Если аргумент родители опущен, команды проверяются по отношению к набору команд верхнего уровня или глобальным командам.

replace

string

Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен в line, изменённые строки передаются устройству в режиме конфигурации. Если аргумент replace установлен в block, весь блок команд передаётся устройству в режиме конфигурации, если какая-либо строка неверна.

Выбори:

  • "line" ← (по умолчанию)
  • "block"
  • "config"

running_config

aliases: config

string

Модуль по умолчанию подключится к удалённому устройству и извлечёт текущую конфигурацию running-config, чтобы использовать её в качестве основы для сравнения с содержимым source. Бывают случаи, когда нежелательно, чтобы задача получала текущую конфигурацию running-config для каждой задачи в playbook. Аргумент running_config позволяет реализатору передать конфигурацию для использования в качестве базовой конфигурации для данного модуля. Строки конфигурации для этого параметра должны быть похожи на то, как они будут отображаться при наличии в конфигурации running-configuration устройства, включая отступы, чтобы обеспечить идемпотентность и правильный diff.

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.

Выбори:

  • "always"
  • "never" ← (по умолчанию)
  • "modified"
  • "changed"

src

path

Аргумент src указывает путь к файлу конфигурации, который нужно загрузить в удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованного роли или playbook. Этот аргумент несовместим с аргументами lines и parents. Он также может быть шаблоном Jinja2. Строки конфигурации в исходном файле должны быть похожи на то, как они отображаются при наличии в конфигурации running-configuration (текущей конфигурации коммутатора) устройства, включая отступы, чтобы обеспечить идемпотентность и правильный diff. Конфигурация устройства Arista EOS использует 3 пробела для отступа.

Примечания

Примечание

  • Тестировалось на Arista EOS 4.24.6F
  • Сокращённые команды НЕ идемпотентны, см. Network FAQ.
  • Для обеспечения идемпотентности и правильного diff строки конфигурации в соответствующих параметрах модуля должны быть похожи на то, как они отображаются в текущей конфигурации (running configuration) устройства, включая отступы.

Примеры

- 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
  arista.eos.eos_config:
    backup: true
    src: eos_template.j2

- 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

Пример: "/playbooks/ansible/backup/eos_config.2016-07-16@22:28:34"

commands

list / elements=string

Набор команд, которые будут переданы удалённому устройству

Возвращается: всегда

Пример: ["hostname switch01", "interface Ethernet1", "no shutdown"]

date

string

Дата, извлечённая из имени файла резервной копии

Возвращается: когда backup=true

Пример: "2016-07-16"

filename

string

Имя файла резервной копии

Возвращается: когда backup=true и filename не указан в опциях backup

Пример: "eos_config.2016-07-16@22:28:34"

shortname

string

Полный путь к файлу резервной копии без отметки времени

Возвращается: когда backup=true и filename не указан в опциях backup

Пример: "/playbooks/ansible/backup/eos_config"

time

string

Время, извлечённое из имени файла резервной копии

Возвращается: когда backup=true

Пример: "22:28:34"

updates

list / elements=string

Набор команд, которые будут переданы удалённому устройству

Возвращается: всегда

Пример: ["hostname switch01", "interface Ethernet1", "no shutdown"]

Авторы

  • Peter Sprygada (@privateip)

Ссылки на коллекцию

  • Система отслеживания ошибок
  • Репозиторий (исходные коды)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/arista/eos/eos_config_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API