Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в коллекцию f5networks.f5_modules (версия 1.31.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

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

Описание

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

Примечание

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

Параметры

Параметр

Комментарии

после

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

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

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

разрешить_дубликаты

булево

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

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

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

Варианты:

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

атрибуты

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

строка

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

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

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

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

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

булево

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

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

Варианты:

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

опции_резервной_копии

словарь

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

путь_к_директории

путь

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

имя_файла

строка

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

перед

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

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

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

сравнивать_с

строка

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

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

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

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

Варианты:

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

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

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

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

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

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

группа

строка

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

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

конфигурация_по_умолчанию

строка

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

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

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

строки

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

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

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

Команды должны быть точно такими же, как те, что найдены в конфигурации текущей рабочей директории устройства (running-config).

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

END_OF_DOCUMENT_MARKER

match

string

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

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

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

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

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

Выбоpы:

  • "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

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

auth_provider

string

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

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

no_f5_teem

boolean

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

Вы можете опустить этот параметр, установив переменную среды F5_TELEMETRY_OFF.

Предыдущая переменная F5_TEEM устарела, так как её название вызывало путаницу.

Выбоpы:

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

password

aliases: 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

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

Выбоpы:

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

user

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

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

Вы можете опустить этот параметр, установив переменную среды F5_USER.

validate_certs

boolean

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

Вы можете опустить этот параметр, установив переменную среды F5_VALIDATE_CERTS.

Выбоpы:

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

replace

string

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

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

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

Варианты:

  • "line" ← (default)
  • "block"

route_domain

string

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

Значение по умолчанию: "0"

running_config

aliases: config

string

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

Иногда не нужно получать текущую конфигурацию running-config для каждой задачи в playbook.

Аргумент 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" ← (default)
  • "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 указывает путь к конфигурационному файлу, который нужно загрузить в удаленную систему.

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

Этот аргумент взаимоисключает аргументы lines и parents.

unsafe_writes

boolean

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

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

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

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

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

Варианты:

  • false ← (default)
  • 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

строка

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

Возвращается: при 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/f5networks/f5_modules/bigip_imish_config_module.html

Spec-Zone.ru

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