diff --git a/proto/v1/mysql.proto b/proto/v1/mysql.proto index 0fc53c2..c7aaebe 100644 --- a/proto/v1/mysql.proto +++ b/proto/v1/mysql.proto @@ -8,24 +8,24 @@ import "cloud/proto/v1/structures.proto"; // // Предоставляет набор методов для работы с базами данных, доступами и параметрами МySQL. service MysqlService { - // Получить параметры MySQL + // Получить конфигурацию MySQL // - // Возвращает список текущих параметров MySQL. + // Возвращает список текущих параметров конфигурации MySQL. // // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод - // "Получить информацию о сервисах" из API "Управляемые сервисы". + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". rpc getConfig(GetConfigRequest) returns (GetConfigResponse) { option (google.api.http) = { get: "/v1/cloud/mysql/{service_id}/config", }; } - // Изменить параметры MySQL + // Изменить конфигурацию MySQL // - // Меняет параметры MySQL на заданные. + // Изменяет параметры конфигурации MySQL на заданные. // // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод - // "Получить информацию о сервисах" из API "Управляемые сервисы". + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". rpc setConfig(SetConfigRequest) returns (SetConfigResponse) { option (google.api.http) = { put: "/v1/cloud/mysql/{service_id}/config", @@ -38,7 +38,7 @@ service MysqlService { // Возвращает список баз данных в MySQL. // // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод - // "Получить информацию о сервисах" из API "Управляемые сервисы". + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". rpc getDbList(GetDbListRequest) returns (GetDbListResponse) { option (google.api.http) = { get: "/v1/cloud/mysql/{service_id}/db", @@ -50,7 +50,7 @@ service MysqlService { // Создает новую базу данных в MySQL. // // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод - // "Получить информацию о сервисах" из API "Управляемые сервисы". + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". rpc createDb(CreateDbRequest) returns (CreateDbResponse) { option (google.api.http) = { post: "/v1/cloud/mysql/{service_id}/db", @@ -63,10 +63,10 @@ service MysqlService { // Удаляет указанную базу данных из MySQL со всеми хранящимися в ней данными. // // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод - // "Получить информацию о сервисах" из API "Управляемые сервисы". + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". // // Для получения доступных имён баз данных `db_name` необходимо использовать метод - // "Получить список баз данных" из API "Управляемые сервисы". + // "Получить список баз данных" из API "Управляемые сервисы" -> "Управление MySQL". rpc removeDb(RemoveDbRequest) returns (RemoveDbResponse) { option (google.api.http) = { delete: "/v1/cloud/mysql/{service_id}/db/{db_name}", @@ -78,10 +78,10 @@ service MysqlService { // Создает отдельный доступ для базы данных. // // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод - // "Получить информацию о сервисах" из API "Управляемые сервисы". + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". // // Для получения доступных имён баз данных `db_name` необходимо использовать метод - // "Получить список баз данных" из API "Управляемые сервисы". + // "Получить список баз данных" из API "Управляемые сервисы" -> "Управление MySQL". rpc createAccess(CreateAccessRequest) returns (CreateAccessResponse) { option (google.api.http) = { post: "/v1/cloud/mysql/{service_id}/db/{db_name}/access", @@ -94,10 +94,10 @@ service MysqlService { // Удаляет указанный отдельный доступ для базы данных. // // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод - // "Получить информацию о сервисах" из API "Управляемые сервисы". + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". // // Для получения доступных имён баз данных `db_name` и хостов `host` необходимо использовать метод - // "Получить список баз данных" из API "Управляемые сервисы". + // "Получить список баз данных" из API "Управляемые сервисы" -> "Управление MySQL". rpc removeAccess(RemoveAccessRequest) returns (RemoveAccessResponse) { option (google.api.http) = { delete: "/v1/cloud/mysql/{service_id}/db/{db_name}/access/{host}", @@ -109,10 +109,10 @@ service MysqlService { // Изменяет пароль для указанного доступа к базе данных. // // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод - // "Получить информацию о сервисах" из API "Управляемые сервисы". + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". // // Для получения доступных имён баз данных `db_name` и хостов `host` необходимо использовать метод - // "Получить список баз данных" из API "Управляемые сервисы". + // "Получить список баз данных" из API "Управляемые сервисы" -> "Управление MySQL". rpc changeAccessPassword(ChangeAccessPasswordRequest) returns (ChangeAccessPasswordResponse) { option (google.api.http) = { patch: "/v1/cloud/mysql/{service_id}/db/{db_name}/access/{host}", @@ -120,15 +120,16 @@ service MysqlService { }; } - // Обновить описание базы данных + // Изменить информацию о базе данных // - // Изменяет описание базы данных. + // Обновляет следующую информацию о базе данных: + // - Описание базы данных // // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод - // "Получить информацию о сервисах" из API "Управляемые сервисы". + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". // // Для получения доступных имён баз данных `db_name` необходимо использовать метод - // "Получить список баз данных" из API "Управляемые сервисы". + // "Получить список баз данных" из API "Управляемые сервисы" -> "Управление MySQL". rpc updateDb(UpdateDbRequest) returns (UpdateDbResponse){ option (google.api.http) = { patch: "/v1/cloud/mysql/{service_id}/db/{db_name}", diff --git a/proto/v1/postgresql.proto b/proto/v1/postgresql.proto index 44e32b6..891fbcd 100644 --- a/proto/v1/postgresql.proto +++ b/proto/v1/postgresql.proto @@ -4,13 +4,31 @@ package beget.cloud.v1.postgresql; import "google/api/annotations.proto"; import "cloud/proto/v1/structures.proto"; +// Управление PostgreSQL +// +// Предоставляет набор методов для работы с базами данных, пользователями, ролями и параметрами PostgreSQL. service PostgresqlService { + // Получить конфигурацию PostgreSQL + // + // Возвращает список текущих параметров конфигурации PostgreSQL. + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". rpc getConfig(PgGetConfigRequest) returns (PgGetConfigResponse) { option (google.api.http) = { get: "/v1/cloud/postgresql/{service_id}/config", }; } + // Изменить конфигурацию PostgreSQL + // + // Изменяет параметры конфигурации PostgreSQL на заданные. + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". + // + // Список доступных для изменения параметров конфигурации можно получить с помощью метода + // "Получить конфигурацию PostgreSQL" из "Управляемые сервисы" -> "Управление PostgreSQL" rpc setConfig(PgSetConfigRequest) returns (PgSetConfigResponse) { option (google.api.http) = { put: "/v1/cloud/postgresql/{service_id}/config", @@ -18,12 +36,24 @@ service PostgresqlService { }; } + // Получить список баз данных + // + // Возвращает список баз данных в PostgreSQL. + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". rpc getDbList(PgGetDbListRequest) returns (PgGetDbListResponse) { option (google.api.http) = { get: "/v1/cloud/postgresql/{service_id}/db", }; } + // Создать базу данных + // + // Создает новую базу данных в PostgreSQL. + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". rpc createDb(PgCreateDbRequest) returns (PgCreateDbResponse) { option (google.api.http) = { post: "/v1/cloud/postgresql/{service_id}/db", @@ -31,6 +61,16 @@ service PostgresqlService { }; } + // Изменить информацию о базе данных + // + // Обновляет следующую информацию о базе данных: + // - Описание базы данных + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". + // + // Для получения доступных имён баз данных `db_name` необходимо использовать метод + // "Получить список баз данных" из API "Управляемые сервисы" -> "Управление PostgreSQL" . rpc updateDb(PgUpdateDbRequest) returns (PgUpdateDbResponse){ option (google.api.http) = { patch: "/v1/cloud/postgresql/{service_id}/db/{db_name}", @@ -38,18 +78,39 @@ service PostgresqlService { }; } + // Удалить базу данных + // + // Удаляет указанную базу данных из PostgreSQL со всеми хранящимися в ней данными. + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". + // + // Для получения доступных имён баз данных `db_name` необходимо использовать метод + // "Получить список баз данных" из API "Управляемые сервисы" -> "Управление PostgreSQL" . rpc removeDb(PgRemoveDbRequest) returns (PgRemoveDbResponse) { option (google.api.http) = { delete: "/v1/cloud/postgresql/{service_id}/db/{db_name}", }; } + // Получить список пользователей + // + // Возвращает список ролей/пользователей в кластере PostgreSQL с информацией о родительских ролях и доступах + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". rpc getRoleList(PgGetRoleListRequest) returns (PgGetRoleListResponse) { option (google.api.http) = { get: "/v1/cloud/postgresql/{service_id}/role" }; } + // Создать пользователя + // + // Создает нового пользователя/роль в кластере PostgreSQL с заданными параметрами + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". rpc createRole(PgCreateRoleRequest) returns (PgCreateRoleResponse) { option (google.api.http) = { post: "/v1/cloud/postgresql/{service_id}/role", @@ -57,6 +118,17 @@ service PostgresqlService { }; } + // Изменить пользователя + // + // Изменяет пользователя/роль в кластере PostgreSQL. Можно изменить: + // - Пароль для подключения к кластеру + // - Список родительских пользователей/ролей + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". + // + // Для получения доступных пользователей в заданном кластере PostgreSQL `role_name` необходимо использовать метод + // "Получить список пользователей" из API "Управляемые сервисы" -> "Управление PostgreSQL" rpc updateRole(PgUpdateRoleRequest) returns (PgUpdateRoleResponse) { option (google.api.http) = { patch: "/v1/cloud/postgresql/{service_id}/role/{role_name}", @@ -64,18 +136,40 @@ service PostgresqlService { }; } + // Удалить пользователя + // + // Удаляет пользователя/роль в кластере PostgreSQL. Возможно удаление только тех пользователей, + // которые не являются владельцами существующих баз данных + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". + // + // Для получения доступных пользователей в заданном кластере PostgreSQL `role_name` необходимо использовать метод + // "Получить список пользователей" из API "Управляемые сервисы" -> "Управление PostgreSQL" rpc removeRole(PgRemoveRoleRequest) returns (PgRemoveRoleResponse) { option (google.api.http) = { delete: "/v1/cloud/postgresql/{service_id}/role/{role_name}", }; } + // Получить список внешних сетей + // + // Возвращает список внешних сетей в формате CIDR, для которых разрешено подключение к кластеру PostgreSQL. + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". rpc getRemoteAccess(PgGetRemoteAccessRequest) returns (PgGetRemoteAccessResponse) { option (google.api.http) = { get: "/v1/cloud/postgresql/{service_id}/remote-access" }; } + // Изменить список внешних сетей + // + // Изменяет список внешних сетей, с которых будет разрешено подключение к кластеру PostgreSQL. + // + // Для получения доступных идентификаторов сервисов `service_id` необходимо использовать метод + // "Получить информацию о сервисах" из API "Управляемые сервисы" -> "Управление сервисами". rpc updateRemoteAccess(PgUpdateRemoteAccessRequest) returns (PgUpdateRemoteAccessResponse) { option (google.api.http) = { put: "/v1/cloud/postgresql/{service_id}/remote-access", @@ -367,10 +461,10 @@ message PgUpdateRoleRequest { // Имя пользователя string role_name = 2; - // Пароль + // Новый пароль string password = 3; - // Список ролей наследуемых пользователем + // Новый список пользователей/ролей, от которых будут унаследованы права repeated string parent_role = 5; }