Spec-Zone.ru › Ansible

Модуль community.network.slxos_config – Управление разделами конфигурации Extreme Networks SLX-OS

Примечание

Этот модуль входит в коллекцию community.network (версия 5.0.3).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.network.

Для использования в плейбуке укажите: community.network.slxos_config.

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Конфигурации Extreme SLX-OS используют простой синтаксис с отступами для разделения конфигурации на секции. Этот модуль предоставляет реализацию для работы с секциями конфигурации SLX-OS детерминированным способом.

Псевдонимы: network.slxos.slxos_config

Параметры

Параметр

Комментарии

after

строка

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

backup

логическое

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

Варианты:

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

backup_options

словарь

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

dir_path

путь

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

filename

строка

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

before

строка

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

defaults

логическое

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

Варианты:

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

diff_against

строка

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

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

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

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

Варианты:

  • "running"
  • "startup"
  • "intended"

diff_ignore_lines

строка

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

intended_config

строка

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

строки

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

строка

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

match

строка

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

Варианты:

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

multiline_delimiter

строка

Этот аргумент используется при передаче многострочного элемента конфигурации на устройство SLX-OS. Он определяет символ, используемый в качестве разделителя. Это относится только к действию конфигурирования.

По умолчанию: "@"

parents

строка

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

replace

string

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

Варианты:

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

running_config

псевдонимы: config

string

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

save_when

string

При внесении изменений в текущую конфигурацию устройства, по умолчанию эти изменения не копируются в постоянное хранилище. Использование этого аргумента изменит это поведение. Если аргумент установлен в always, то running-config всегда будет скопирована в startup-config, а флаг modified всегда будет установлен в True. Если аргумент установлен в modified, то running-config будет скопирована в startup-config только в том случае, если она изменилась с момента последнего сохранения в startup-config. Если аргумент установлен в never, running-config никогда не будет скопирована в startup-config. Если аргумент установлен в changed, то running-config будет скопирована в startup-config только в том случае, если задача внесла изменения.

Варианты:

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

src

string

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

Примечания

Примечание

  • Проверено на SLX-OS 17s.1.02

Примеры

- name: Configure top level configuration
  community.network.slxos_config:
    lines: hostname {{ inventory_hostname }}

- name: Configure interface settings
  community.network.slxos_config:
    lines:
      - description test interface
      - ip address 172.31.1.1/24
    parents: interface Ethernet 0/1

- name: Configure multiple interfaces
  community.network.slxos_config:
    lines:
      - lacp timeout long
    parents: "{{ item }}"
  with_items:
    - interface Ethernet 0/1
    - interface Ethernet 0/2

- name: Load new acl into device
  community.network.slxos_config:
    lines:
      - seq 10 permit ip host 1.1.1.1 any log
      - seq 20 permit ip host 2.2.2.2 any log
      - seq 30 permit ip host 3.3.3.3 any log
      - seq 40 permit ip host 4.4.4.4 any log
      - seq 50 permit ip host 5.5.5.5 any log
    parents: ip access-list extended test
    before: no ip access-list extended test
    match: exact

- name: Check the running-config against master config
  community.network.slxos_config:
    diff_against: intended
    intended_config: "{{ lookup('file', 'master.cfg') }}"

- name: Check the startup-config against the running-config
  community.network.slxos_config:
    diff_against: startup
    diff_ignore_lines:
      - ntp clock .*

- name: Save running to startup when modified
  community.network.slxos_config:
    save_when: modified

- name: Configurable backup path
  community.network.slxos_config:
    lines: hostname {{ inventory_hostname }}
    backup: true
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

Значения возврата

Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:

Ключ

Описание

backup_path

string

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

Возвращается: при backup yes

Пример: "/playbooks/ansible/backup/slxos_config.2018-02-12@18:26:34"

commands

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

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

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

Пример: ["switch-attributes hostname foo", "router ospf", "area 0"]

updates

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

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

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

Пример: ["switch-attributes hostname foo", "router ospf", "area 0"]

Авторы

  • Lindsay Hill (@LindsayHill)

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

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

© 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/community/network/slxos_config_module.html

Spec-Zone.ru

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