Spec-Zone.ru › Ansible 2.11

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

Примечание

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

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

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

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

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

Обзор

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

Примечание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
after
список / элементы=строка
Упорядоченный набор команд, которые добавляются в конец стека команд, если требуется внести изменения.
Так же, как и с параметром before, это позволяет разработчику playbook добавить набор команд, которые будут выполнены после набора команд.
allow_duplicates
логический тип
добавлен в 1.2.0 версии f5networks.f5_modules
    Варианты:
  • нет ←
  • да
Разрешает отправку дублирующихся команд на устройство. Это необходимо для сценариев, где настраиваются семейства адресов.
Используется только с параметром lines.
backup
логический тип
    Варианты:
  • нет ←
  • да
Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений.
Файл резервной копии записывается в папку backup в корневой директории playbook или корневой директории роли, если playbook является частью роли Ansible. Если директория не существует, она создается.
backup_options
словарь
Это объект типа dict, содержащий настраиваемые параметры, связанные с путем к файлу резервной копии. Значение этого параметра является только для чтения, когда backup установлено в да. Если backup установлено в нет, этот параметр будет проигнорирован.
dir_path
путь
Этот параметр предоставляет путь, заканчивающийся именем директории, в которой будет храниться файл конфигурации резервной копии. Если директория не существует, она будет создана, а имя файла будет либо значением filename, либо значением по умолчанию, как описано в параметрах filename. Если значение пути не указано, будет создана директория backup в текущей рабочей директории, а резервная копия конфигурации будет скопирована в filename внутри директории backup.
filename
строка
Имя файла, которое будет использоваться для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>
before
список / элементы=строка
Упорядоченный набор команд, которые добавляются в стек команд, если требуется внести изменения.
Это позволяет разработчику playbook выполнить команды конфигурации перед внесением каких-либо изменений, не влияя на то, как набор команд сопоставляется с системой.
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 для каждой задачи в playbook.
Аргумент running_config позволяет разработчику передать конфигурацию в качестве базовой конфигурации для сравнения.

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

Примечания

Примечание

  • Сокращённые команды НЕ являются идемпотентными, см. Вопросы и ответы по сети.
  • Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на сайте https://www.ansible.com/integrations/networks/f5.
  • Требуется версия ПО BIG-IP ≥ 12.
  • Модули F5 работают только с текущей конфигурацией (running configuration) продукта F5. Чтобы убедиться, что специфическая для BIG-IP конфигурация сохраняется на диске, необходимо включить хотя бы одну задачу, использующую модуль 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/f5networks/f5_modules/bigip_imish_config_module.html

Spec-Zone.ru

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