syntax = "proto3";

package tidb_mgmt_service.v1;

import "global/nextgen/v1/backup.proto";
import "global/nextgen/v1/backup_common.proto";
import "global/serverless/v1/services.proto";

// All APIs here are for global control plane internal use only.
service BackupService {
  rpc OverrideFlexibleBackupRetention(global.nextgen.v1.OverrideFlexibleBackupRetentionRequest) returns (global.nextgen.v1.BackupSetting);
}

// ServerlessPGBackupProxyService proxies PostgreSQL backup APIs from
// serverless-service to serverless-global-service through tidb-mgmt-service.
service ServerlessPGBackupProxyService {
  rpc CreatePGBackup(global.serverless.v1.CreatePGBackupRequest) returns (global.serverless.v1.CreatePGBackupResponse);
  rpc ListPGBackups(global.serverless.v1.ListPGBackupsRequest) returns (global.serverless.v1.ListPGBackupsResponse);
  rpc GetPGBackup(global.serverless.v1.GetPGBackupRequest) returns (global.serverless.v1.GetPGBackupResponse);
  rpc GetPGBackupPolicy(global.serverless.v1.GetPGBackupPolicyRequest) returns (global.serverless.v1.GetPGBackupPolicyResponse);
  rpc UpdatePGBackupPolicy(global.serverless.v1.UpdatePGBackupPolicyRequest) returns (global.serverless.v1.UpdatePGBackupPolicyResponse);
}
