> **Beta Translation:** This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.
Эта спецификация описывает расширенные возможности конфигурации через командную строку для TrustGraph, позволяя пользователям управлять отдельными элементами конфигурации с помощью команд CLI с гранулярным уровнем доступа. Интеграция поддерживает четыре основных сценария использования:
1.**Перечисление элементов конфигурации**: Отображение ключей конфигурации определенного типа
3.**Установка элемента конфигурации**: Установка или обновление отдельных элементов конфигурации
4.**Удаление элемента конфигурации**: Удаление конкретных элементов конфигурации
## Цели
- **Детализированный контроль**: Обеспечение управления отдельными элементами конфигурации, а не пакетными операциями
- **Список по типу**: Предоставление пользователям возможности исследовать элементы конфигурации по типу
- **Операции для отдельных элементов**: Предоставление команд для получения/установки/удаления отдельных элементов конфигурации
- **Интеграция с API**: Использование существующего API для конфигурации для всех операций
- **Единый шаблон CLI**: Соблюдение установленных норм и шаблонов CLI для TrustGraph
- **Обработка ошибок**: Предоставление понятных сообщений об ошибках для некорректных операций
- **Вывод в формате JSON**: Поддержка структурированного вывода для программного использования
- **Документация**: Включение подробной справки и примеров использования
## Предыстория
TrustGraph в настоящее время предоставляет управление конфигурацией через API для конфигурации и один командный интерфейс `tg-show-config`, который отображает всю конфигурацию. Хотя это работает для просмотра конфигурации, оно не обеспечивает возможности детального управления.
Текущие ограничения включают:
- Отсутствие возможности перечисления элементов конфигурации по типу через командную строку
- Отсутствие командной строки для получения конкретных значений конфигурации
- Отсутствие командной строки для установки отдельных элементов конфигурации
- Отсутствие командной строки для удаления отдельных элементов конфигурации
Эта спецификация решает эти проблемы, добавляя четыре новые команды CLI, которые обеспечивают детальное управление конфигурацией. Предоставляя отдельные операции API через команды CLI, TrustGraph может:
- Обеспечить управление конфигурацией через скрипты
- Предоставить пользователям возможность исследовать структуру конфигурации по типу
- Обеспечить целевые обновления конфигурации
- Обеспечить детальный контроль над конфигурацией
## Техническое проектирование
### Архитектура
Для расширенного CLI необходимо следующее техническое:
1.**tg-list-config-items**
- Перечисление ключей конфигурации для указанного типа
- Вызов API-метода Config.list(type)
- Вывод списка ключей конфигурации
Модуль: `trustgraph.cli.list_config_items`
2.**tg-get-config-item**
- Получение конкретного элемента конфигурации(й)
- Вызов API-метода Config.get(keys)
- Вывод значений конфигурации в формате JSON
Модуль: `trustgraph.cli.get_config_item`
3.**tg-put-config-item**
- Установка или обновление элемента конфигурации
- Вызов API-метода Config.put(values)
- Прием параметров type, key и value
Модуль: `trustgraph.cli.put_config_item`
4.**tg-delete-config-item**
- Удаление элемента конфигурации
- Вызов API-метода Config.delete(keys)
- Прием параметров type и key
Модуль: `trustgraph.cli.delete_config_item`
### Модели данных
#### ConfigKey и ConfigValue
Команды используют существующие структуры данных из `trustgraph.api.types`: