Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в коллекцию f5networks.f5_modules (версия 1.39.0).

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

Чтобы установить её, используйте: ansible-galaxy collection install f5networks.f5_modules.

Чтобы использовать её в плейбуке, укажите: f5networks.f5_modules.bigip_imish_config.

Добавлено в f5networks.f5_modules 1.0.0

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

Краткое описание

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

Примечание

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

Параметры

Параметр

Комментарии

after

list / elements=string

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

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

allow_duplicates

boolean

добавлено в f5networks.f5_modules 1.2.0

Разрешает отправку устройству повторяющихся команд. Это необходимо для сценариев, в которых настроены семейства адресов.

Используется только с параметром lines.

Варианты:

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

attributes

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

string

Атрибуты, которые должен иметь результирующий объект файловой системы.

Список поддерживаемых флагов см. на целевой системе в справочной странице chattr.

Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой lsattr.

По умолчанию используется оператор =. В противном случае в строку необходимо включить операторы + или -.

backup

boolean

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

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

Варианты:

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

backup_options

dictionary

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

dir_path

path

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

filename

string

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

before

list / elements=string

Упорядоченный набор команд, помещаемых в стек команд при необходимости внесения изменений.

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

diff_against

string

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

Если для этого параметра задано значение startup, модуль вернет различия между running-config и startup-config.

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

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

Варианты:

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

diff_ignore_lines

list / elements=string

Используйте этот аргумент, чтобы указать одну или несколько строк, которые следует игнорировать при сравнении различий.

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

В качестве значения аргумента принимается список регулярных выражений или точных совпадений строк.

group

string

Имя группы, которой должен принадлежать объект файловой системы; оно передается команде chown.

Если значение не указано, используется текущая группа текущего пользователя, кроме случая, когда пользователь — root; тогда может сохраняться предыдущее владение.

intended_config

string

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

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

При указании этого аргумента задача должна также изменить значение diff_against и задать ему значение intended.

lines

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

list / elements=string

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

Команды должны в точности совпадать с командами в running-config устройства.

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

match

string

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

Если для match задано значение line, команды сопоставляются построчно.

Если для match задано значение strict, строки команд сопоставляются с учетом их расположения.

Если для match задано значение exact, строки команд должны полностью совпадать.

Наконец, если для match задано значение none, модуль не будет пытаться сравнивать исходную конфигурацию с running-config на удаленном устройстве.

Варианты:

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

mode

any

Права доступа, которые должен иметь результирующий объект файловой системы.

Если вы привыкли к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Ansible необходимо предоставить достаточно информации, чтобы правильно их обработать. Для получения предсказуемых результатов заключайте восьмеричные числа в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и самостоятельно преобразовал ее в число. Добавление ведущего нуля (например, 0755) иногда срабатывает, но может привести к ошибкам в циклах и некоторых других случаях.

Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведет к неожиданным результатам.

Начиная с Ansible 1.8, режим можно задавать в символьном виде (например, u+rwx или u=rw,g=r,o=r).

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

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

Указание mode — лучший способ гарантировать, что объекты файловой системы будут созданы с правильными правами доступа. Дополнительные сведения см. в CVE-2020-1736.

owner

string

Имя пользователя, которому должен принадлежать объект файловой системы; оно передается команде chown.

Если значение не указано, используется текущий пользователь, кроме случая, когда пользователь — root; тогда может сохраняться предыдущее владение.

Числовое имя пользователя будет интерпретировано как идентификатор пользователя, а не как имя пользователя. Во избежание неоднозначности не используйте числовые имена пользователей.

parents

list / elements=string

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

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

provider

dictionary

добавлено в f5networks.f5_modules 1.0.0

Объект dict, содержащий сведения для подключения.

auth_provider

string

Настраивает поставщика аутентификации для получения токенов аутентификации с удаленного устройства.

Этот параметр предназначен главным образом для работы с устройствами BIG-IQ.

no_f5_teem

boolean

Если задано yes, данные телеметрии TEEM не отправляются в F5.

Этот параметр можно не указывать, задав переменную среды F5_TELEMETRY_OFF.

Ранее использовавшаяся переменная F5_TEEM объявлена устаревшей, поскольку ее имя было неоднозначным.

Варианты:

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

password

псевдонимы: pass, pwd

string / обязательно

Пароль учетной записи пользователя, используемой для подключения к BIG-IP или BIG-IQ.

Этот параметр можно не указывать, задав переменную среды F5_PASSWORD.

server

string / обязательно

Узел BIG-IP или BIG-IQ.

Этот параметр можно не указывать, задав переменную среды F5_SERVER.

server_port

integer

Порт сервера BIG-IP.

Этот параметр можно не указывать, задав переменную среды F5_SERVER_PORT.

По умолчанию: 443

timeout

integer

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

transport

string

Настраивает транспортное подключение, используемое для соединения с удаленным устройством.

Варианты:

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

user

string / обязательно

Имя пользователя для подключения к BIG-IP или BIG-IQ. У этого пользователя должны быть права администратора на устройстве.

Этот параметр можно не указывать, задав переменную среды F5_USER.

validate_certs

boolean

Если задано no, SSL-сертификаты не проверяются. Используйте этот параметр только на подконтрольных вам сайтах с самоподписанными сертификатами.

Этот параметр можно не указывать, задав переменную среды F5_VALIDATE_CERTS.

Варианты:

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

replace

string

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

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

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

Варианты:

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

route_domain

string

Домен маршрутизации, в котором необходимо управлять конфигурацией BGP.

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

running_config

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

string

По умолчанию модуль подключается к удаленному устройству и получает текущую running-config, используемую в качестве основы для сравнения с содержимым source.

В некоторых случаях не требуется, чтобы задача получала текущую running-config при каждом запуске задачи в плейбуке.

Аргумент running_config позволяет передать конфигурацию, которая будет использоваться как базовая для сравнения.

save_when

string

По умолчанию изменения running-config устройства не копируются в энергонезависимую память.

Если для аргумента задано значение 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"

selevel

string

Уровень контекста объекта файловой системы SELinux.

Это атрибут MLS/MCS, иногда называемый range.

Если задано значение _default, будет использоваться часть политики level, если она доступна.

serole

string

Роль в контексте объекта файловой системы SELinux.

Если задано значение _default, будет использоваться часть политики role, если она доступна.

setype

string

Тип в контексте объекта файловой системы SELinux.

Если задано значение _default, будет использоваться часть политики type, если она доступна.

seuser

string

Пользователь в контексте объекта файловой системы SELinux.

По умолчанию используется политика system, если она применима.

Если задано значение _default, будет использоваться часть политики user, если она доступна.

src

path

Аргумент src задает путь к файлу конфигурации, который необходимо загрузить в удаленную систему.

Путь может быть абсолютным путем к файлу конфигурации, если его значение начинается с /, либо относительным путем от корня используемой роли или плейбука.

Этот аргумент нельзя использовать одновременно с аргументами lines и parents.

unsafe_writes

boolean

Влияет на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения целевого объекта файловой системы.

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

Этот параметр позволяет Ansible переключиться на небезопасные методы обновления объектов файловой системы при сбое атомарных операций (однако он не заставляет Ansible выполнять небезопасную запись).

ВАЖНО! Небезопасная запись подвержена состояниям гонки и может привести к повреждению данных.

Варианты:

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

Примечания

Примечание

  • Сокращенные команды не являются идемпотентными
  • Дополнительные сведения об использовании Ansible для управления устройствами F5 Networks см. на странице https://www.ansible.com/integrations/networks/f5.
  • Требуется версия ПО BIG-IP >= 12.
  • Модули F5 изменяют только текущую конфигурацию продукта 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: true
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
    backup_options:
      filename: backup.cfg
      dir_path: /home/user
  delegate_to: localhost

Возвращаемые значения

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

Ключ

Описание

backup_path

string

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

Возвращается: если backup имеет значение yes

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

commands

list / elements=string

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

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

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

updates

list / elements=string

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

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

Пример: ["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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/f5networks/f5_modules/bigip_imish_config_module.html

Spec-Zone.ru

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