После интеграции инструментов доступа внутри кластера может быть предоставлен RESTful API для текущего ConnectorClass, позволяющий удобно получать ресурсы внутри инструмента. Эти API будут единообразно экспонироваться через Connector API, что позволит пользователям получать ресурсы из инструмента, на который указывает текущий Connector.
Система Connectors предоставляет полный набор механизмов расширения, упрощающих разработчикам расширение возможностей API ConnectorClass.
API Connectors предлагает единый входной пункт для запросов. Когда клиент инициирует запрос ресурса для инструмента, на который указывает конкретный Connector, система перенаправляет запрос на соответствующий API-адрес ConnectorClass, который в свою очередь пересылает запрос на API-адрес инструмента для получения ресурсов внутри инструмента.
Например:
API-адрес
/connectors/v1alpha1/namespaces/{namespace}/connectors/{name}/resources/{resource-name}
namespace
: пространство имён, в котором находится текущий Connector.name
: имя текущего Connector.resource-name
: имя запрашиваемого ресурса, которое можно уточнить в документации соответствующего ConnectorClass.Аутентификация и авторизация
Аутентификация соответствует стандартам Kubernetes и выполняется через механизмы аутентификации и авторизации Kubernetes. Запрашивающий пользователь должен иметь права на чтение соответствующего connector
.
При выполнении конечного запроса к инструменту для аутентификации используется Secret, указанный в Connector.
Параметры запроса
Определяются конкретным API ConnectorClass.
Информация о пагинации
Указывается через параметры запроса.
Имя параметра | Тип | Обязательный | Описание |
---|---|---|---|
page | int | нет | Номер страницы |
itemsPerPage | int | нет | Количество элементов на странице |
Информация об ответе
При возврате списка структура будет следующей:
Имя поля | Тип | Обязательное | Описание |
---|---|---|---|
listMeta | ListMeta | да | Метаданные списка |
listMeta.totalItems | int | да | Общее количество запрошенных ресурсов, может использоваться клиентом для анализа пагинации |
items | [] | да | Элементы данных списка; структура данных определяется API ConnectorClass |
Если ответ не 200, возвращаемая структура данных должна соответствовать k8s status.
Например:
Определения полей и значения перечислений совпадают с k8s status.
Разработчики могут расширять возможности API для ConnectorClass, предоставляя пользователям более богатые возможности получения ресурсов.