Модуль graphiant.naas.graphiant_device_system — настройка имени устройства, региона и сайта (Edge или Core)
Примечание
Этот модуль входит в коллекцию graphiant.naas (версия 26.4.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install graphiant.naas. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в сценарии, укажите: graphiant.naas.graphiant_device_system.
Добавлено в graphiant.naas 26.4.0
Краткое описание
- Задает
name,regionNameиsiteдля объектаedgeилиcoreдляPUT /v1/devices/{device_id}/configв соответствии с https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/docs/V1DevicesDeviceIdConfigPutRequest.md. - В YAML и параметрах модуля используются те же ключи, что и в полезной нагрузке ветви API (кроме необязательного
device_type, который выбирает ветвьedgeилиcoreи не отправляется в теле запроса). - После
GET /v1/devices/{id}модуль сопоставляет значениеroleна портале с ветвью конфигурации (core→core,cpe→edge), еслиdevice_typeне указан. Если заданdevice_type, он должен соответствовать этому сопоставлению. - Укажите
system_config_fileдля спискаdevice_system, содержащего несколько устройств, и/илиdeviceсname/regionName/site, чтобы обработать одно устройство или переопределить параметры одного устройства из файла. - Только заданные вами ключи объединяются с текущим состоянием устройства; незаданные ключи остаются без изменений.
- Если задан
site.name, проверяется наличие сайта на портале. - Модуль идемпотентен, если объединенная полезная нагрузка уже соответствует устройству. Текущее состояние считывается из
GET /v1/devices/{id}с использованиемhostnameв качествеname,regionOverride.name, если он задан, иначеregion.nameв качествеregionName, иsite.nameв качествеsite, в соответствии с объектом устройства на портале. - Полностью опустите
site, чтобы оставить сайт на портале без изменений. Ключ YAMLsiteс пустым значением или безnameсчитается незаданным (это не запрос на удаление сайта). - Если у устройства нет сайта на портале, а нужная конфигурация также не содержит
site, отправка конфигурации не выполняется, поскольку API может отклонить обновление. Задача завершается с ошибкой, а вskipped_no_siteперечисляются затронутые имена узлов. В этом запуске (прерванном) никакие другие устройства в том же сценарии не обновляются, пока вы не назначите сайт на портале или не зададитеsiteв YAML.
Требования
На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 3.7
- graphiant-sdk >= 26.4.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен Bearer для аутентификации в API (например, полученный с помощью Если аргумент модуля не задан, коллекция считывает Если токен Bearer указан (в аргументе модуля или в переменной окружения), он имеет приоритет над Если действительный токен недоступен, модуль проходит аутентификацию с помощью |
detailed_logs boolean | Включить подробное журналирование в сообщении о результате задачи. Допустимые значения:
|
device string | Имя устройства на портале для Обязательно, если не задан |
device_type string | Выбирает ветвь Необязательный параметр. Если он не задан, ветвь определяется по значению Допустимые значения:
|
host псевдонимы: base_url string / обязательный | URL хоста портала Graphiant для подключения к API. Пример: «https://api.graphiant.com» |
name string | Имя узла устройства (API |
operation string | Поддерживается только Допустимые значения:
|
password string | Пароль портала Graphiant для аутентификации. Обязателен для входа по паролю, если действительный токен Bearer недоступен из |
regionName string | Название региона устройства (API |
site dictionary | Объект сайта (API |
state string | Поддерживается только Допустимые значения:
|
system_config_file псевдонимы: device_system_file string | Путь к YAML-файлу (необязателен, если задан Относительные пути разрешаются относительно пути конфигурации коллекции (см. Ключ верхнего уровня |
username string | Имя пользователя портала Graphiant для аутентификации. Обязательно для входа по паролю, если действительный токен Bearer недоступен из |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная В режиме проверки конфигурация не отправляется; модуль считывает текущее состояние устройства, чтобы определить, потребуются ли изменения. Значение | Поддерживает режим проверки аналогично другим модулям конфигурации устройств. |
diff_mode | Поддержка: полная Если сценарий выполняется с | Поддерживает |
Примечания
Примечание
- Отмена конфигурации не поддерживается; применяйте нужные значения с помощью
operation=configure. - Файлы конфигурации поддерживают синтаксис шаблонов Jinja2 для динамической подстановки значений.
- В режиме
ansible-playbook --checkзапись не выполняется, ноchangedотражает, обновило бы применение хотя бы одно устройство, если только для устройства не нарушено правило отсутствия сайта; в этом случае задача завершается с ошибкой, аchangedравно false. Используйте--diffвместе с режимом проверки, чтобы предварительно просмотреть изменения ветвей, если запуск завершился бы успешно.
См. также
См. также
- graphiant.naas.graphiant_device_config
-
Отправка произвольных необработанных полезных нагрузок конфигурации устройства.
- graphiant.naas.graphiant_sites
-
Создание сайтов, на которые ссылается
site.name, и управление ими.
Примеры
- name: Configure from YAML (device_system list)
graphiant.naas.graphiant_device_system:
operation: configure
system_config_file: "sample_device_system.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
detailed_logs: true
register: sys_result
- name: Single device from module parameters (branch from portal role if device_type omitted)
graphiant.naas.graphiant_device_system:
operation: configure
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
device: "edge-3-sdktest"
name: "edge-3-sdktest"
regionName: "us-east-2 (Atlanta)"
site:
name: "New York-sdktest"
detailed_logs: true
- name: Override site for one device from the file
graphiant.naas.graphiant_device_system:
operation: configure
system_config_file: "sample_device_system.yaml"
host: "{{ graphiant_host }}"
username: "{{ graphiant_username }}"
password: "{{ graphiant_password }}"
device: "edge-3-sdktest"
site:
name: "San Jose-sdktest"
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
aborted_pushes_due_to_no_site boolean |
Возвращается: при ошибке, если пакетная операция была прервана |
changed boolean | Была ли конфигурация отправлена хотя бы на одно устройство. Возвращается: всегда |
configured_devices list / элементы=string | Имена устройств, для которых было применено обновление. Возвращается: если поддерживается |
details dictionary | Структурированная полезная нагрузка от менеджера (списки устройств, записи Возвращается: всегда |
diff dictionary | Полезная нагрузка Возвращается: если сценарий использует |
msg string | Удобочитаемый результат (содержит подробные журналы, если они включены). Возвращается: всегда |
operation string | Выполненная операция (всегда Возвращается: всегда |
skipped_devices list / элементы=string | Имена устройств, пропущенных, поскольку их состояние уже соответствовало требуемому. Возвращается: если поддерживается |
skipped_no_site list / элементы=string | Имена устройств, для которых отправка не выполнялась, поскольку на портале устройству не назначен сайт, а в требуемой полезной нагрузке edge/core отсутствует Возвращается: при ошибке |
system_config_file string | Путь к использованному YAML-файлу, если он был указан. Возвращается: если указан |
would_configure_devices list / элементы=string | Если задача завершилась с ошибкой из-за Возвращается: при ошибке, если пакетная операция была прервана |
Ссылки на коллекцию
© 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_device_system_module.html