Spec-Zone.ru › Ansible 2.10

f5networks.f5_modules.bigip_imish_config – Управление разделами расширенной конфигурации маршрутизации BIG-IP

Примечание

Этот плагин входит в коллекцию f5networks.f5_modules (версия 1.6.0).

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

Для использования в playbook укажите: f5networks.f5_modules.bigip_imish_config.

Новое в версии 1.0.0: of f5networks.f5_modules

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

Описание

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

Примечание

Этот модуль имеет соответствующий плагин действий.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
after
список / элементы=строка
Упорядоченный набор команд для добавления в конец стека команд, если требуется внести изменения.
Как и в случае с параметром before, это позволяет разработчику плейбука добавить набор команд, которые будут выполнены после набора команд.
allow_duplicates
булево
добавлен в 1.2.0 модуля f5networks.f5_modules
    Варианты:
  • нет ←
  • да
Разрешает отправку дублирующихся команд на устройство. Это необходимо для сценариев, где настраиваются семейства адресов.
Используется только с параметром lines.
backup
булево
    Варианты:
  • нет ←
  • да
Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением любых изменений.
Файл резервной копии записывается в папку backup в корневом каталоге плейбука или в корневом каталоге роли, если плейбук является частью роли Ansible. Если папка не существует, она будет создана.
backup_options
словарь
Объект типа dict, содержащий настраиваемые параметры, связанные с путем к файлу резервной копии. Значение этого параметра является только для чтения, когда backup установлено в значение да. Если backup установлено в значение нет, этот параметр будет проигнорирован.
dir_path
путь
Этот параметр указывает путь, заканчивающийся именем каталога, в котором будет храниться файл конфигурации резервной копии. Если каталог не существует, он будет создан. Имя файла – это либо значение filename, либо имя файла по умолчанию, как описано в параметрах filename. Если значение пути не указано, в текущей рабочей директории будет создан каталог backup, и файл конфигурации резервной копии будет скопирован в filename внутри каталога backup.
filename
строка
Имя файла, которое будет использоваться для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>
before
список / элементы=строка
Упорядоченный набор команд для помещения в стек команд, если требуется внести изменения.
Это позволяет разработчику плейбука выполнить команды конфигурации перед внесением любых изменений, не влияя на то, как набор команд сопоставляется с системой.
diff_against
строка
    Варианты:
  • startup ←
  • intended
  • running
При использовании аргумента командной строки ansible-playbook --diff, модуль может генерировать разницы по различным источникам.
Когда этот параметр настроен как startup, модуль вернёт разницу между running-config и startup-config.
Когда этот параметр настроен как intended, модуль вернёт разницу между running-config и конфигурацией, предоставленной в аргументе intended_config.
Когда этот параметр настроен как running, модуль вернёт разницу до и после running-config относительно любых изменений, внесённых в конфигурацию устройства.
diff_ignore_lines
список / элементы=строка
Используйте этот аргумент для указания одной или нескольких строк, которые должны быть проигнорированы во время сравнения.
Это используется для строк в конфигурации, которые автоматически обновляются системой.
Этот аргумент принимает список регулярных выражений или точных совпадений строк.
intended_config
строка
intended_config предоставляет основную конфигурацию, к которой должен соответствовать узел, и используется для проверки окончательной running-config.
Этот аргумент не будет изменять никаких настроек на удалённом устройстве и используется исключительно для проверки соответствия текущей конфигурации устройства.
При указании этого аргумента, задача также должна изменить значение diff_against и установить его в значение intended.
lines
список / элементы=строка
Упорядоченный набор команд, которые должны быть настроены в разделе.
Команды должны быть точно такими же, как и в running-config устройства.
Обратите внимание на синтаксис команд конфигурации, поскольку некоторые команды автоматически изменяются анализатором конфигурации устройства.

псевдонимы: команды
match
строка
    Варианты:
  • строка ←
  • строго
  • точно
  • нет
Указывает модулю, как выполнять сопоставление набора команд с текущей конфигурацией устройства.
Если match установлен на строка, команды сопоставляются по строкам.
Если match установлен на строго, строки команд сопоставляются по положению.
Если match установлен на точно, строки команд должны точно совпадать.
Наконец, если match установлен на нет, модуль не будет пытаться сравнить исходную конфигурацию с рабочей конфигурацией на удалённом устройстве.
parents
список / элементы=строка
Упорядоченный набор родителей, уникально определяющих раздел или иерархию, с которой должны сравниваться команды.
Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальных команд.
provider
словарь
добавлен в 1.0.0 модуля f5networks.f5_modules
Объект типа dict, содержащий данные подключения.
auth_provider
строка
Настраивает поставщика аутентификации для получения токенов аутентификации с удалённого устройства.
Этот параметр действительно используется при работе с устройствами BIG-IQ.
no_f5_teem
булево
    Варианты:
  • нет
  • да
Если yes, данные телеметрии TEEM не отправляются в F5.
Вы можете опустить этот параметр, установив переменную среды F5_TEEM.
password
строка / обязательно
Пароль для учётной записи пользователя, используемой для подключения к BIG-IP.
Вы можете опустить этот параметр, установив переменную среды F5_PASSWORD.

псевдонимы: pass, pwd
server
строка / обязательно
Хост BIG-IP.
Вы можете опустить этот параметр, установив переменную среды F5_SERVER.
server_port
целое число
Значение по умолчанию:
443
Порт сервера BIG-IP.
Вы можете опустить этот параметр, установив переменную среды F5_SERVER_PORT.
timeout
целое число
Устанавливает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку.
transport
строка
    Варианты:
  • rest ←
Настраивает транспортное подключение, которое необходимо использовать при подключении к удалённому устройству.
user
строка / обязательно
Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве.
Вы можете опустить этот параметр, установив переменную среды F5_USER.
validate_certs
булево
    Варианты:
  • нет
  • да ←
Если no, сертификаты SSL не проверяются. Используйте только на контролируемых вами сайтах с самозаверяющимися сертификатами.
Вы можете опустить этот параметр, установив переменную среды F5_VALIDATE_CERTS.
replace
строка
    Варианты:
  • строка ←
  • блок
Указывает модулю способ выполнения конфигурации на устройстве.
Если replace установлен на строка, изменённые строки отправляются на устройство в режиме конфигурации.
Если replace установлен на блок, весь блок команды отправляется на устройство в режиме конфигурации, если какая-либо строка некорректна.
route_domain
строка
Значение по умолчанию:
0
Домен маршрутизации, на котором управлять конфигурацией BGP.
running_config
строка
По умолчанию модуль подключается к удалённому устройству и извлекает текущую running-config, чтобы использовать её в качестве основы для сравнения с содержимым источника.
Бывают случаи, когда вы не хотите, чтобы задача получала текущую running-config для каждой задачи в плейбуке.
Аргумент running_config позволяет реализатору указать конфигурацию, которая должна использоваться в качестве базовой конфигурации для сравнения.

псевдонимы: config
save_when
string
    Choices:
  • always
  • никогда ←
  • modified
  • changed
При внесении изменений в конфигурацию устройства, изменения по умолчанию не копируются в энергонезависимую память.
Если аргумент установлен в always, текущая конфигурация всегда будет скопирована в начальную конфигурацию, и флаг modified всегда будет установлен в True.
Если аргумент установлен в modified, текущая конфигурация будет скопирована в начальную конфигурацию только в случае, если она изменилась с момента последней сохранения в начальную конфигурацию.
Если аргумент установлен в никогда, текущая конфигурация никогда не будет скопирована в начальную конфигурацию.
Если аргумент установлен в changed, текущая конфигурация будет скопирована в начальную конфигурацию только в том случае, если задача внесла изменения.
src
путь
Аргумент src указывает путь к файлу конфигурации, который необходимо загрузить на удалённую систему.
Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованной роли или плейбука.
Этот аргумент взаимоисключающий с аргументами lines и parents.

Примечания

Примечание

  • Сокращённые команды НЕ идемпотентны, см. FAQ по сети.
  • Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на https://www.ansible.com/integrations/networks/f5.
  • Требуется версия ПО BIG-IP >= 12.
  • Модули F5 изменяют только текущую конфигурацию продукта F5. Чтобы гарантировать сохранение конфигурации BIG-IP на диске, убедитесь, что включён хотя бы один task, использующий модуль f5networks.f5_modules.bigip_config, для сохранения текущей конфигурации. Обратитесь к документации модуля для правильного использования модуля для сохранения текущей конфигурации.

Примеры

- name: configure top level configuration and save it
  bigip_imish_config:
    lines: bfd slow-timer 2000
    save_when: modified
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

- name: diff the running-config against a provided config
  bigip_imish_config:
    diff_against: intended
    intended_config: "{{ lookup('file', 'master.cfg') }}"
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

- name: Add config to a parent block
  bigip_imish_config:
    lines:
      - bgp graceful-restart restart-time 120
      - redistribute kernel route-map rhi
      - neighbor 10.10.10.11 remote-as 65000
      - neighbor 10.10.10.11 fall-over bfd
      - neighbor 10.10.10.11 remote-as 65000
      - neighbor 10.10.10.11 fall-over bfd
    parents: router bgp 64664
    match: exact
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

- name: Remove an existing acl before writing it
  bigip_imish_config:
    lines:
      - access-list 10 permit 20.20.20.20
      - access-list 10 permit 20.20.20.21
      - access-list 10 deny any
    before: no access-list 10
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

- name: for idempotency, use full-form commands
  bigip_imish_config:
    lines:
      # - desc My interface
      - description My Interface
    # parents: int ANYCAST-P2P-2
    parents: interface ANYCAST-P2P-2
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

- name: configurable backup path
  bigip_imish_config:
    lines: bfd slow-timer 2000
    backup: yes
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
    backup_options:
      filename: backup.cfg
      dir_path: /home/user
  delegate_to: localhost

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

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

Ключ Возвращаемое значение Описание
backup_path
строка
при backup yes
Полный путь к файлу резервной копии.

Пример:
/playbooks/ansible/backup/bigip_imish_config.2016-07-16@22:28:34
commands
список / элементы=строка
всегда
Набор команд, которые будут отправлены на удалённое устройство.

Пример:
['interface ANYCAST-P2P-2', 'neighbor 20.20.20.21 remote-as 65000', 'neighbor 20.20.20.21 fall-over bfd']
updates
список / элементы=строка
всегда
Набор команд, которые будут отправлены на удалённое устройство.

Пример:
['interface ANYCAST-P2P-2', 'neighbor 20.20.20.21 remote-as 65000', 'neighbor 20.20.20.21 fall-over bfd']


Авторы

  • Tim Rupp (@caphrim007)
  • Wojciech Wypior (@wojtek0806)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/f5networks/f5_modules/bigip_imish_config_module.html

Spec-Zone.ru

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