Spec-Zone.ru › Ansible

graphiant.naas.graphiant_site_to_site_vpn module – Управление конфигурацией Graphiant Site-to-Site VPN

Примечание

Этот модуль входит в коллекцию graphiant.naas (версия 26.4.0).

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

Для установки используйте: ansible-galaxy collection install graphiant.naas. Для работы с этим модулем требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: graphiant.naas.graphiant_site_to_site_vpn.

Добавлено в graphiant.naas 26.2.0

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

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

  • Этот модуль предоставляет широкие возможности управления Site-to-Site VPN для устройств Graphiant Edge.
  • Поддерживает создание и удаление Site-to-Site VPN с использованием статической маршрутизации или BGP.
  • Для всех операций используются шаблоны Jinja2, обеспечивающие единообразное развертывание конфигурации.
  • Файлы конфигурации поддерживают шаблоны Jinja2 для динамической генерации.

Требования

На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.

  • python >= 3.7
  • graphiant-sdk >= 26.4.0

Параметры

Параметр

Комментарии

access_token

строка

Токен Bearer для аутентификации API (например, полученный с помощью graphiant login, который открывает браузер для входа (SSO или без SSO) и получает токен).

Если аргумент модуля не задан, коллекция считывает GRAPHIANT_ACCESS_TOKEN (устанавливается после graphiant login при выполнении source ~/.graphiant/env.sh).

Если токен Bearer задан (в аргументе модуля или переменной окружения), он имеет приоритет над username и password.

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

detailed_logs

логическое значение

Включить подробное ведение журналов для устранения неполадок и мониторинга.

При включении предоставляет подробные журналы всех операций Site-to-Site VPN.

Журналы собираются и включаются в result_msg для отображения с помощью модуля ansible.builtin.debug.

Варианты:

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

host

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

строка / обязательный

URL-адрес хоста портала Graphiant для подключения к API.

Пример: “https://api.graphiant.com”

operation

строка

Операция Site-to-Site VPN, которую необходимо выполнить.

create: создание подключений Site-to-Site VPN на пограничных устройствах.

delete: удаление подключений Site-to-Site VPN с пограничных устройств.

Варианты:

  • "create"
  • "delete"

password

строка

Пароль портала Graphiant для аутентификации.

Требуется для входа по паролю, если действительный токен Bearer из access_token или GRAPHIANT_ACCESS_TOKEN недоступен.

site_to_site_vpn_config_file

строка / обязательный

Путь к YAML-файлу конфигурации Site-to-Site VPN.

Обязателен для всех операций.

Может быть абсолютным или относительным. Относительные пути разрешаются с использованием настроенного config_path.

Файлы конфигурации поддерживают синтаксис шаблонов Jinja2 для динамической генерации.

Файл должен содержать описания Site-to-Site VPN с именами устройств и конфигурациями VPN.

state

строка

Требуемое состояние конфигурации Site-to-Site VPN.

present: соответствует create, если operation не задан.

absent: соответствует delete, если operation не задан.

Варианты:

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

username

строка

Имя пользователя портала Graphiant для аутентификации.

Требуется для входа по паролю, если действительный токен Bearer из access_token или GRAPHIANT_ACCESS_TOKEN недоступен.

vault_bgp_md5_passwords

словарь

Словарь, сопоставляющий имена VPN с паролями BGP MD5 (только для создания). Передавайте из переменных плейбука, загруженных из зашифрованного файла vault_secrets.yml; секреты хранятся только в памяти.

Ключ должен совпадать с name VPN в конфигурации. Параметр необязательный; для VPN с BGP без записи не задаётся md5Password.

По умолчанию: {}

vault_site_to_site_vpn_keys

словарь

Словарь, сопоставляющий имена VPN с предварительно согласованными ключами (только для создания). Передавайте из переменных плейбука, загруженных из зашифрованного файла vault_secrets.yml; секреты хранятся только в памяти.

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

По умолчанию: {}

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

При запуске с --check модуль регистрирует точные данные, которые были бы отправлены, с префиксом [check_mode], чтобы можно было увидеть применяемую конфигурацию. Модуль не сравнивает состояния, поэтому changed может иметь значение True, даже если конфигурация уже применена.

Поддерживает режим проверки. В режиме проверки конфигурация не отправляется на устройства, однако данные, которые были бы отправлены, записываются с [check_mode].

Примечания

Примечание

  • Режим проверки (--check): конфигурация не отправляется; данные, которые были бы отправлены, записываются с [check_mode].
  • Операции Site-to-Site VPN:
  • - Создание: создание подключений Site-to-Site VPN на пограничных устройствах.
  • - Удаление: удаление подключений Site-to-Site VPN с пограничных устройств.
  • Файлы конфигурации поддерживают синтаксис шаблонов Jinja2 для динамической генерации конфигурации.
  • Модуль автоматически преобразует имена устройств в идентификаторы.
  • Все операции идемпотентны и безопасны при многократном выполнении.
  • Создание: модуль сравнивает требуемую конфигурацию с текущим состоянием устройства (ipsecTunnels). Если они совпадают, конфигурация не отправляется, а changed принимает значение false.
  • Удаление: удаляются только VPN, существующие на устройстве; повторное удаление не выполняет никаких действий и возвращает changed false.
  • Перед применением Site-to-Site VPN необходимо сначала настроить каналы и интерфейсы.
  • Vault (только для создания): vault_site_to_site_vpn_keys, vault_bgp_md5_passwords.
  • Используйте зашифрованные файлы configs/vault_secrets.yml, configs/vault-password-file.sh; не храните данные в открытом виде.
  • Загружайте данные с помощью ansible.builtin.include_vars (no_log true); передавайте словари, чтобы секреты оставались в памяти.
  • Ключ Vault должен совпадать с name VPN. См. configs/vault_secrets.yml.example. Запускайте с --vault-password-file configs/vault-password-file.sh.

См. также

См. также

graphiant.naas.graphiant_interfaces

Настройте интерфейсы перед установкой Site-to-Site VPN

graphiant.naas.graphiant_device_config

Альтернативный способ настройки устройства

Примеры

# Playbook: use encrypted configs/vault_secrets.yml (from vault_secrets.yml.example),
# decrypt with configs/vault-password-file.sh (ANSIBLE_VAULT_PASSPHRASE). Run with:
#   ansible-playbook site_to_site_vpn.yml --vault-password-file configs/vault-password-file.sh --tags create

- name: Create Site-to-Site VPN (vault dicts from include_vars; secrets in memory only)
  graphiant.naas.graphiant_site_to_site_vpn:
    operation: create
    site_to_site_vpn_config_file: "sample_site_to_site_vpn.yaml"
    host: "{{ graphiant_host }}"
    username: "{{ graphiant_username }}"
    password: "{{ graphiant_password }}"
    vault_site_to_site_vpn_keys: "{{ vault_site_to_site_vpn_keys | default({}) }}"
    vault_bgp_md5_passwords: "{{ vault_bgp_md5_passwords | default({}) }}"
    detailed_logs: true
  no_log: true
  register: vpn_result

- name: Delete Site-to-Site VPN
  graphiant.naas.graphiant_site_to_site_vpn:
    operation: delete
    site_to_site_vpn_config_file: "sample_site_to_site_vpn.yaml"
    host: "{{ graphiant_host }}"
    username: "{{ graphiant_username }}"
    password: "{{ graphiant_password }}"

- name: Create using state (pass vault dicts when creating)
  graphiant.naas.graphiant_site_to_site_vpn:
    state: present
    site_to_site_vpn_config_file: "sample_site_to_site_vpn.yaml"
    host: "{{ graphiant_host }}"
    username: "{{ graphiant_username }}"
    password: "{{ graphiant_password }}"
    vault_site_to_site_vpn_keys: "{{ vault_site_to_site_vpn_keys | default({}) }}"
    vault_bgp_md5_passwords: "{{ vault_bgp_md5_passwords | default({}) }}"
  no_log: true

- name: Delete using state
  graphiant.naas.graphiant_site_to_site_vpn:
    state: absent
    site_to_site_vpn_config_file: "sample_site_to_site_vpn.yaml"
    host: "{{ graphiant_host }}"
    username: "{{ graphiant_username }}"
    password: "{{ graphiant_password }}"

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

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

Ключ

Описание

changed

логическое значение

Изменило ли действие состояние системы.

true, если конфигурация отправлена хотя бы на одно устройство; false, если требуемое состояние уже соответствовало текущему (создание) или отсутствовали VPN для удаления (удаление).

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

Пример: true

msg

строка

Сообщение о результате операции, включая подробные журналы, если включён параметр detailed_logs.

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

Пример: "Successfully created Site-to-Site VPN"

operation

строка

Выполненная операция.

Одно из значений: create или delete.

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

Пример: "create"

site_to_site_vpn_config_file

строка

Файл конфигурации Site-to-Site VPN, использованный для операции.

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

Пример: "sample_site_to_site_vpn.yaml"

Авторы

  • Команда Graphiant (@graphiant)

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

  • Отслеживание ошибок
  • Главная страница
  • Репозиторий (исходный код)
  • Сообщить о проблеме
  • Просмотреть исходный код
  • Связь

© 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/graphiant/naas/graphiant_site_to_site_vpn_module.html

Spec-Zone.ru

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