Модуль graphiant.naas.graphiant_data_exchange — управление сервисами, клиентами, сопоставлениями и приглашениями Graphiant Data Exchange
Примечание
Этот модуль входит в коллекцию graphiant.naas (версия 26.4.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install graphiant.naas. Для работы с этим модулем нужны дополнительные требования; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: graphiant.naas.graphiant_data_exchange.
Добавлено в graphiant.naas 25.11.0
Краткое описание
- Модуль предоставляет широкие возможности управления Data Exchange для платформы B2B-пиринга Graphiant.
- Позволяет создавать и удалять сервисы и клиентов Data Exchange.
- Предоставляет операции сопоставления сервисов с клиентами и автоматически управляет файлами ответов сопоставления.
- Поддерживает принятие приглашений с развертыванием шлюзового сервиса и настройкой VPN.
Требования
На узле, выполняющем этот модуль, необходимы следующие компоненты.
- python >= 3.7
- graphiant-sdk >= 26.4.0
- tabulate
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен Bearer для аутентификации через API (например, полученный с помощью Если параметр не передан модулю, коллекция считывает Если токен Bearer задан (в параметре модуля или в окружении), он имеет приоритет над Если действительный токен недоступен, модуль выполняет аутентификацию с помощью |
config_file string | Путь к файлу конфигурации YAML для выполнения операции. Обязателен для операций Может быть абсолютным или относительным. Относительные пути разрешаются с использованием настроенного config_path. Файлы конфигурации поддерживают синтаксис шаблонов Jinja2 для динамической генерации. Для для каждого сервиса прикрепляет политики маршрутизации Graphiant к устройствам (имена устройств преобразуются в идентификаторы). Для Для Для для каждого принятого приглашения прикрепляет политики маршрутизации Graphiant к шлюзовым устройствам (имена устройств преобразуются в идентификаторы). Ответы сопоставления сохраняются в каталоге output/ рядом с файлом конфигурации. |
detailed_logs boolean | Включить подробное ведение журнала для устранения неполадок и мониторинга. Если параметр включен, в журнал записываются подробные сведения обо всех операциях Data Exchange. Журналы сохраняются и включаются в возвращаемое значение Варианты:
|
host псевдонимы: base_url string / обязательный | URL хоста портала Graphiant для подключения к API. Пример: «https://api.graphiant.com» |
matches_file string | Путь к JSON-файлу с ответами сопоставления для поиска идентификатора сопоставления. Необязателен для операции Может быть абсолютным или относительным. Относительные пути разрешаются с использованием настроенного config_path. Этот файл автоматически создается операцией Файл содержит сведения о сопоставлениях, включая customer_id, service_id, match_id и status. Приоритет способов разрешения идентификатора сопоставления:
|
operation string / обязательный | Операция Data Exchange, которую необходимо выполнить.
Файл конфигурации должен содержать список data_exchange_services с описаниями сервисов. Сервисы определяют услуги пиринга с сегментами LAN, площадками и префиксами сервисов. Необязательный параметр policy.globalObjectOps: ключами могут быть имена устройств (преобразуются в идентификаторы устройств) или идентификаторы устройств; значения могут содержать routingPolicyOps для прикрепления фильтров Graphiant к каждому устройству (например, Policy-DC1-Primary: Attach). Сначала настройте фильтры Graphiant с помощью graphiant.naas.graphiant_global_config и configure_graphiant_filters.
Файл конфигурации должен содержать список data_exchange_customers с описаниями клиентов. Клиентами могут быть пиры, не использующие Graphiant, которых можно пригласить подключиться к сервисам.
Файл конфигурации должен содержать список data_exchange_matches с описаниями сопоставлений. Ответы сопоставления автоматически сохраняются в JSON-файл для использования в рабочем процессе 4. Обновляет существующие записи сопоставлений или добавляет новые на основе customer_name и service_name.
Файл конфигурации должен содержать список data_exchange_acceptances со сведениями о принятии приглашений. Для поиска идентификатора сопоставления требуется Поддерживается режим пробного запуска для проверки без вызовов API. Настраивает полное развертывание шлюза IPSec с двумя туннелями, статической маршрутизацией и профилями VPN. Для операций запроса (get_services_summary, get_customers_summary, get_service_health) вместо этого используйте модуль graphiant.naas.graphiant_data_exchange_info. Варианты:
|
password string | Пароль портала Graphiant для аутентификации. Обязателен для входа по паролю, если действительный токен Bearer недоступен через |
state string | |
username string | Имя пользователя портала Graphiant для аутентификации. Обязательно для входа по паролю, если действительный токен Bearer недоступен через |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Поддерживается. В режиме проверки записи через API не выполняются; отправляемые данные записываются в журнал с префиксом |
Примечания
Примечание
- Рабочие процессы Data Exchange:
- - Рабочий процесс 1 (создание сервисов): создание сервисов Data Exchange, которыми можно делиться с клиентами.
- - Рабочий процесс 2 (создание клиентов): создание клиентов Data Exchange (пиры, не использующие Graphiant).
- - Рабочий процесс 3 (сопоставление сервисов): сопоставление сервисов с клиентами и установление отношений пиринга.
- - Рабочий процесс 4 (принятие приглашения): принятие приглашений в сервис для клиентов, не использующих Graphiant.
- Файлы конфигурации поддерживают синтаксис шаблонов Jinja2 для динамической генерации конфигурации.
- Ответы сопоставления автоматически сохраняются в JSON-файлы в каталоге output рядом с файлом конфигурации.
- Модуль автоматически преобразует имена площадок, сегментов LAN, сервисов, клиентов и регионов в идентификаторы.
- Все операции идемпотентны и безопасны для многократного выполнения: дубликаты не создаются.
- Для операции accept_invitation требуется не менее двух шлюзов в каждом регионе для обеспечения избыточности.
- Поддерживается режим проверки (
--check). В этом режиме модуль выполняет всю логику (загрузка конфигурации, проверка, - преобразование имен в идентификаторы), но клиент API пропускает операции записи и записывает данные в журнал с
[check_mode]. - Используйте
--checkдля проверки accept_invitation без вызовов API.
См. также
См. также
- graphiant.naas.graphiant_interfaces
-
Настройка интерфейсов и каналов, необходимых для Data Exchange
- graphiant.naas.graphiant_global_config
-
Настройка глобальных объектов (сегментов LAN, профилей VPN), необходимых для Data Exchange
- graphiant.naas.graphiant_sites
-
Настройка площадок, необходимых для сервисов Data Exchange
- graphiant.naas.graphiant_data_exchange_info
-
Получение сведений о сервисах и клиентах Data Exchange, а также о состоянии сервисов
Примеры
- name: Workflow 1 - Create Data Exchange services
graphiant.naas.graphiant_data_exchange:
operation: create_services
config_file: "de_workflows_configs/sample_data_exchange_services.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
register: create_services_result
- name: Display services creation result
ansible.builtin.debug:
msg: "{{ create_services_result.msg }}"
- name: Workflow 1 - Create services with Jinja2 template (scale testing)
graphiant.naas.graphiant_data_exchange:
operation: create_services
config_file: "de_workflows_configs/sample_data_exchange_services_scale.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
- name: Workflow 2 - Create Data Exchange customers
graphiant.naas.graphiant_data_exchange:
operation: create_customers
config_file: "de_workflows_configs/sample_data_exchange_customers.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
register: create_customers_result
- name: Display customers creation result
ansible.builtin.debug:
msg: "{{ create_customers_result.msg }}"
- name: Workflow 2 - Create customers with Jinja2 template (scale testing)
graphiant.naas.graphiant_data_exchange:
operation: create_customers
config_file: "de_workflows_configs/sample_data_exchange_customers_scale2.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
- name: Workflow 3 - Match Data Exchange services to customers
graphiant.naas.graphiant_data_exchange:
operation: match_service_to_customers
config_file: "de_workflows_configs/sample_data_exchange_matches.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
register: match_result
- name: Display match result
ansible.builtin.debug:
msg: "{{ match_result.msg }}"
- name: Workflow 4 - Accept Data Exchange service invitation (check mode)
graphiant.naas.graphiant_data_exchange:
operation: accept_invitation
config_file: "de_workflows_configs/sample_data_exchange_acceptance.yaml"
matches_file: "de_workflows_configs/output/sample_data_exchange_matches_responses_latest.json"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
register: accept_result
# Run playbook with: ansible-playbook playbook.yml --check
- name: Display acceptance result
ansible.builtin.debug:
msg: "{{ accept_result.msg }}"
- name: Workflow 4 - Accept Data Exchange service invitation (apply)
graphiant.naas.graphiant_data_exchange:
operation: accept_invitation
config_file: "de_workflows_configs/sample_data_exchange_acceptance.yaml"
matches_file: "de_workflows_configs/output/sample_data_exchange_matches_responses_latest.json"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
register: accept_result
- name: Display acceptance result
ansible.builtin.debug:
msg: "{{ accept_result.msg }}"
- name: Delete Data Exchange customers (must be deleted before services)
graphiant.naas.graphiant_data_exchange:
operation: delete_customers
config_file: "de_workflows_configs/sample_data_exchange_customers.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
- name: Delete Data Exchange services
graphiant.naas.graphiant_data_exchange:
operation: delete_services
config_file: "de_workflows_configs/sample_data_exchange_services.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
- name: Complete Data Exchange workflow (all four workflows)
block:
- name: Workflow 1 - Create services
graphiant.naas.graphiant_data_exchange:
operation: create_services
config_file: "de_workflows_configs/sample_data_exchange_services.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
register: create_services_result
- name: Workflow 2 - Create customers
graphiant.naas.graphiant_data_exchange:
operation: create_customers
config_file: "de_workflows_configs/sample_data_exchange_customers.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
register: create_customers_result
- name: Workflow 3 - Match services to customers
graphiant.naas.graphiant_data_exchange:
operation: match_service_to_customers
config_file: "de_workflows_configs/sample_data_exchange_matches.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
register: match_result
- name: Workflow 4 - Accept invitations
graphiant.naas.graphiant_data_exchange:
operation: accept_invitation
config_file: "de_workflows_configs/sample_data_exchange_acceptance.yaml"
matches_file: "de_workflows_configs/output/sample_data_exchange_matches_responses_latest.json"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
register: accept_result
- name: Display workflow results
ansible.builtin.debug:
msg: "{{ item.msg }}"
loop:
- "{{ create_services_result }}"
- "{{ create_customers_result }}"
- "{{ match_result }}"
- "{{ accept_result }}"
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
changed boolean | Указывает, внесла ли операция изменения в систему.
Возвращается: всегда Пример: |
config_file string | Файл конфигурации, использованный для операции. Возвращается только для операций, требующих файл конфигурации. Возвращается: если применимо Пример: |
msg string | Сообщение с результатом операции, включая подробные журналы, если включен параметр Для операций получения сводки содержит табличные данные для удобства чтения. Для операций проверки состояния содержит табличные сведения о состоянии всех сопоставленных клиентов. Возвращается: всегда Пример: |
operation string | Выполненная операция. Одно из значений: Возвращается: всегда Пример: |
result_data dictionary | Данные результата операции, включая структурированные данные для операций получения сводки и проверки состояния. Для операций получения сводки содержит сведения о сервисах и клиентах, включая идентификаторы, имена, состояния и счетчики. Для операций проверки состояния содержит показатели состояния всех сопоставленных клиентов. Возвращается: если применимо Пример: |
Ссылки на коллекцию
© 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_data_exchange_module.html