{
  "repo": "tidbcloud/cluster-service-ng",
  "binary": "cluster_ng_server",
  "binary_path": "cmd/cluster_ng_server/main.go",
  "surface_kind": "mixed_service",
  "type": "service",
  "services": [
    {
      "name": "SharedPoolService",
      "package": "cluster_service_ng.v1beta",
      "methods": [
        {"name": "CreateSharedPool", "name_key": "SharedPoolService.CreateSharedPool", "input": "CreateSharedPoolRequest", "output": "SharedPool"},
        {"name": "ListSharedPools", "name_key": "SharedPoolService.ListSharedPools", "input": "ListSharedPoolsRequest", "output": "ListSharedPoolsResponse"},
        {"name": "GetSharedPool", "name_key": "SharedPoolService.GetSharedPool", "input": "GetSharedPoolRequest", "output": "SharedPool"},
        {"name": "DeleteSharedPool", "name_key": "SharedPoolService.DeleteSharedPool", "input": "DeleteSharedPoolRequest", "output": "SharedPool"},
        {"name": "ScaleSharedPool", "name_key": "SharedPoolService.ScaleSharedPool", "input": "ScaleSharedPoolRequest", "output": "SharedPool"},
        {"name": "SetSharedPoolComponentQuota", "name_key": "SharedPoolService.SetSharedPoolComponentQuota", "input": "SetSharedPoolComponentQuotaRequest", "output": "Component"},
        {"name": "SetSharedPoolComponentLabels", "name_key": "SharedPoolService.SetSharedPoolComponentLabels", "input": "SetSharedPoolComponentLabelsRequest", "output": "Component"},
        {"name": "SetSharedPoolComponentNodeVersion", "name_key": "SharedPoolService.SetSharedPoolComponentNodeVersion", "input": "SetSharedPoolComponentNodeVersionRequest", "output": "Component"},
        {"name": "SetSharedPoolComponentConfigVersion", "name_key": "SharedPoolService.SetSharedPoolComponentConfigVersion", "input": "SetSharedPoolComponentConfigVersionRequest", "output": "google.protobuf.Empty"},
        {"name": "CreateTiKVGroup", "name_key": "SharedPoolService.CreateTiKVGroup", "input": "CreateTiKVGroupRequest", "output": "Component"},
        {"name": "ApplySharedPool", "name_key": "SharedPoolService.ApplySharedPool", "input": "ApplySharedPoolRequest", "output": "google.protobuf.Empty"},
        {"name": "ListLightweightBackups", "name_key": "SharedPoolService.ListLightweightBackups", "input": "ListLightweightBackupsRequest", "output": "ListLightweightBackupsResponse"},
        {"name": "CreateLightweightRestore", "name_key": "SharedPoolService.CreateLightweightRestore", "input": "CreateLightweightRestoreRequest", "output": "google.protobuf.Empty"},
        {"name": "GetLightweightRestore", "name_key": "SharedPoolService.GetLightweightRestore", "input": "GetLightweightRestoreRequest", "output": "LightweightRestore"},
        {"name": "GetLightweightRestorePostActions", "name_key": "SharedPoolService.GetLightweightRestorePostActions", "input": "GetLightweightRestorePostActionsRequest", "output": "GetLightweightRestorePostActionsResponse"},
        {"name": "DeleteLightweightRestore", "name_key": "SharedPoolService.DeleteLightweightRestore", "input": "DeleteLightweightRestoreRequest", "output": "google.protobuf.Empty"},
        {"name": "CreateClassicRestore", "name_key": "SharedPoolService.CreateClassicRestore", "input": "CreateClassicRestoreRequest", "output": "google.protobuf.Empty"},
        {"name": "GetClassicRestore", "name_key": "SharedPoolService.GetClassicRestore", "input": "GetClassicRestoreRequest", "output": "ClassicRestore"},
        {"name": "DeleteClassicRestore", "name_key": "SharedPoolService.DeleteClassicRestore", "input": "DeleteClassicRestoreRequest", "output": "google.protobuf.Empty"},
        {"name": "UpdateBackupGcSetting", "name_key": "SharedPoolService.UpdateBackupGcSetting", "input": "UpdateBackupGcSettingRequest", "output": "BackupGcSetting"},
        {"name": "GetBackupGcSetting", "name_key": "SharedPoolService.GetBackupGcSetting", "input": "GetBackupGcSettingRequest", "output": "BackupGcSetting"},
        {"name": "CheckPods", "name_key": "SharedPoolService.CheckPods", "input": "CheckPodsRequest", "output": "CheckPodsResponse"},
        {"name": "CreateDMCluster", "name_key": "SharedPoolService.CreateDMCluster", "input": "CreateDMClusterRequest", "output": "DMCluster"},
        {"name": "ListDMClusters", "name_key": "SharedPoolService.ListDMClusters", "input": "ListDMClustersRequest", "output": "ListDMClustersResponse"},
        {"name": "GetDMCluster", "name_key": "SharedPoolService.GetDMCluster", "input": "GetDMClusterRequest", "output": "DMCluster"},
        {"name": "ScaleDMCluster", "name_key": "SharedPoolService.ScaleDMCluster", "input": "ScaleDMClusterRequest", "output": "DMCluster"},
        {"name": "DeleteDMCluster", "name_key": "SharedPoolService.DeleteDMCluster", "input": "DeleteDMClusterRequest", "output": "google.protobuf.Empty"},
        {"name": "SetHPASpec", "name_key": "SharedPoolService.SetHPASpec", "input": "SetHPASpecRequest", "output": "google.protobuf.Empty"},
        {"name": "GetHPASpec", "name_key": "SharedPoolService.GetHPASpec", "input": "GetHPASpecRequest", "output": "GetHPASpecResponse"},
        {"name": "SetScaleOutConfig", "name_key": "SharedPoolService.SetScaleOutConfig", "input": "SetScaleOutConfigRequest", "output": "google.protobuf.Empty"},
        {"name": "SetHPAScaleBehavior", "name_key": "SharedPoolService.SetHPAScaleBehavior", "input": "SetHPAScaleBehaviorRequest", "output": "google.protobuf.Empty"}
      ]
    },
    {
      "name": "NodeInstanceGroupService",
      "package": "cluster_service_ng.v1beta",
      "methods": [
        {"name": "CreateNodeInstanceGroup", "name_key": "NodeInstanceGroupService.CreateNodeInstanceGroup", "input": "CreateNodeInstanceGroupRequest", "output": "NodeInstanceGroup"},
        {"name": "ListNodeInstanceGroups", "name_key": "NodeInstanceGroupService.ListNodeInstanceGroups", "input": "ListNodeInstanceGroupsRequest", "output": "ListNodeInstanceGroupsResponse"},
        {"name": "DeprecateNodeInstanceGroup", "name_key": "NodeInstanceGroupService.DeprecateNodeInstanceGroup", "input": "DeprecateNodeInstanceGroupRequest", "output": "NodeInstanceGroup"},
        {"name": "SetNodeInstanceGroupStatus", "name_key": "NodeInstanceGroupService.SetNodeInstanceGroupStatus", "input": "SetNodeInstanceGroupStatusRequest", "output": "NodeInstanceGroup"},
        {"name": "ListDataplaneNodeInstanceGroups", "name_key": "NodeInstanceGroupService.ListDataplaneNodeInstanceGroups", "input": "ListDataplaneNodeInstanceGroupsRequest", "output": "ListDataplaneNodeInstanceGroupsResponse"},
        {"name": "SetDataplaneNodeInstanceGroupStatus", "name_key": "NodeInstanceGroupService.SetDataplaneNodeInstanceGroupStatus", "input": "SetDataplaneNodeInstanceGroupStatusRequest", "output": "DataplaneNodeInstanceGroup"},
        {"name": "SetNodeInstanceGroupInstanceTypeStatus", "name_key": "NodeInstanceGroupService.SetNodeInstanceGroupInstanceTypeStatus", "input": "SetNodeInstanceGroupInstanceTypeStatusRequest", "output": "NodeInstanceGroup"},
        {"name": "DeleteNodeInstanceGroup", "name_key": "NodeInstanceGroupService.DeleteNodeInstanceGroup", "input": "DeleteNodeInstanceGroupRequest", "output": "NodeInstanceGroup"},
        {"name": "UpdateNodeInstanceGroup", "name_key": "NodeInstanceGroupService.UpdateNodeInstanceGroup", "input": "UpdateNodeInstanceGroupRequest", "output": "NodeInstanceGroup"}
      ]
    },
    {
      "name": "TiDBClusterService",
      "package": "cluster_service_ng.v1beta",
      "methods": [
        {"name": "CreateTiDBCluster", "name_key": "TiDBClusterService.CreateTiDBCluster", "input": "CreateTiDBClusterRequest", "output": "Cluster"},
        {"name": "ListTiDBClusters", "name_key": "TiDBClusterService.ListTiDBClusters", "input": "ListTiDBClustersRequest", "output": "ListTiDBClustersResponse"},
        {"name": "GetTiDBCluster", "name_key": "TiDBClusterService.GetTiDBCluster", "input": "GetTiDBClusterRequest", "output": "Cluster"},
        {"name": "UpdateTiDBCluster", "name_key": "TiDBClusterService.UpdateTiDBCluster", "input": "UpdateTiDBClusterRequest", "output": "Cluster"},
        {"name": "DeleteTiDBCluster", "name_key": "TiDBClusterService.DeleteTiDBCluster", "input": "DeleteTiDBClusterRequest", "output": "Cluster"},
        {"name": "GetTiDBClusterTiProxyNodeQuota", "name_key": "TiDBClusterService.GetTiDBClusterTiProxyNodeQuota", "input": "GetTiDBClusterTiProxyNodeQuotaRequest", "output": "NodeQuota"},
        {"name": "SetAuditLogSetting", "name_key": "TiDBClusterService.SetAuditLogSetting", "input": "SetAuditLogSettingRequest", "output": "Cluster.AuditLogSetting"},
        {"name": "GetProviderRole", "name_key": "TiDBClusterService.GetProviderRole", "input": "GetProviderRoleRequest", "output": "ProviderRole"},
        {"name": "CreateTiDBGroup", "name_key": "TiDBClusterService.CreateTiDBGroup", "input": "CreateTiDBGroupRequest", "output": "TiDBGroup"},
        {"name": "ListTiDBGroups", "name_key": "TiDBClusterService.ListTiDBGroups", "input": "ListTiDBGroupsRequest", "output": "ListTiDBGroupsResponse"},
        {"name": "GetTiDBGroup", "name_key": "TiDBClusterService.GetTiDBGroup", "input": "GetTiDBGroupRequest", "output": "TiDBGroup"},
        {"name": "DeleteTiDBGroup", "name_key": "TiDBClusterService.DeleteTiDBGroup", "input": "DeleteTiDBGroupRequest", "output": "TiDBGroup"},
        {"name": "UpdateTiDBGroup", "name_key": "TiDBClusterService.UpdateTiDBGroup", "input": "UpdateTiDBGroupRequest", "output": "TiDBGroup"},
        {"name": "ScaleTiDBGroup", "name_key": "TiDBClusterService.ScaleTiDBGroup", "input": "ScaleTiDBGroupRequest", "output": "TiDBGroup"},
        {"name": "ApplyTiDBGroup", "name_key": "TiDBClusterService.ApplyTiDBGroup", "input": "ApplyTiDBGroupRequest", "output": "google.protobuf.Empty"},
        {"name": "CreatePrivateLinkService", "name_key": "TiDBClusterService.CreatePrivateLinkService", "input": "CreatePrivateLinkServiceRequest", "output": "PrivateLinkService"},
        {"name": "GetPrivateLinkService", "name_key": "TiDBClusterService.GetPrivateLinkService", "input": "GetPrivateLinkServiceRequest", "output": "PrivateLinkService"},
        {"name": "UpdatePrivateLinkService", "name_key": "TiDBClusterService.UpdatePrivateLinkService", "input": "UpdatePrivateLinkServiceRequest", "output": "PrivateLinkService"},
        {"name": "DeletePrivateLinkService", "name_key": "TiDBClusterService.DeletePrivateLinkService", "input": "DeletePrivateLinkServiceRequest", "output": "google.protobuf.Empty"},
        {"name": "UpdateAutoBackupMetering", "name_key": "TiDBClusterService.UpdateAutoBackupMetering", "input": "UpdateAutoBackupMeteringRequest", "output": "google.protobuf.Empty"},
        {"name": "CreateManualBackup", "name_key": "TiDBClusterService.CreateManualBackup", "input": "CreateManualBackupRequest", "output": "google.protobuf.Empty"},
        {"name": "GetManualBackup", "name_key": "TiDBClusterService.GetManualBackup", "input": "GetManualBackupRequest", "output": "ManualBackup"},
        {"name": "DeleteManualBackup", "name_key": "TiDBClusterService.DeleteManualBackup", "input": "DeleteManualBackupRequest", "output": "google.protobuf.Empty"},
        {"name": "CreateManualBackupRestore", "name_key": "TiDBClusterService.CreateManualBackupRestore", "input": "CreateManualBackupRestoreRequest", "output": "google.protobuf.Empty"},
        {"name": "GetManualBackupRestore", "name_key": "TiDBClusterService.GetManualBackupRestore", "input": "GetManualBackupRestoreRequest", "output": "ManualBackupRestore"},
        {"name": "GetManualBackupRestorePostActions", "name_key": "TiDBClusterService.GetManualBackupRestorePostActions", "input": "GetManualBackupRestorePostActionsRequest", "output": "GetManualBackupRestorePostActionsResponse"},
        {"name": "DeleteManualBackupRestore", "name_key": "TiDBClusterService.DeleteManualBackupRestore", "input": "DeleteManualBackupRestoreRequest", "output": "google.protobuf.Empty"}
      ]
    },
    {
      "name": "RuConfigService",
      "package": "cluster_service_ng.v1beta",
      "methods": [
        {"name": "GetRuConfig", "name_key": "RuConfigService.GetRuConfig", "input": "GetRuConfigRequest", "output": "RuConfig"},
        {"name": "SetRuConfig", "name_key": "RuConfigService.SetRuConfig", "input": "SetRuConfigRequest", "output": "RuConfig"}
      ]
    },
    {
      "name": "RestoreService",
      "package": "cluster_service_ng.v1beta",
      "methods": [
        {"name": "TestClassicBackupAccess", "name_key": "RestoreService.TestClassicBackupAccess", "input": "TestClassicBackupAccessRequest", "output": "TestClassicBackupAccessResponse"}
      ]
    },
    {
      "name": "ExportService",
      "package": "cluster_service_ng.v1beta",
      "methods": [
        {"name": "ListExports", "name_key": "ExportService.ListExports", "input": "ListExportsRequest", "output": "ListExportsResponse"},
        {"name": "GetExport", "name_key": "ExportService.GetExport", "input": "GetExportRequest", "output": "Export"},
        {"name": "CreateExport", "name_key": "ExportService.CreateExport", "input": "CreateExportRequest", "output": "Export"},
        {"name": "CancelExport", "name_key": "ExportService.CancelExport", "input": "CancelExportRequest", "output": "Export"}
      ]
    },
    {
      "name": "TemplateService",
      "package": "cluster_service_ng.v1beta",
      "methods": [
        {"name": "GetComponentTemplate", "name_key": "TemplateService.GetComponentTemplate", "input": "GetComponentTemplateRequest", "output": "GetComponentTemplateResponse"},
        {"name": "ListComponentTemplateVersions", "name_key": "TemplateService.ListComponentTemplateVersions", "input": "ListComponentTemplateVersionsRequest", "output": "ListComponentTemplateVersionsResponse"},
        {"name": "SetComponentTemplateVersionStatus", "name_key": "TemplateService.SetComponentTemplateVersionStatus", "input": "SetComponentTemplateVersionStatusRequest", "output": "TemplateVersionInfo"},
        {"name": "ListComponentTemplates", "name_key": "TemplateService.ListComponentTemplates", "input": "ListComponentTemplatesRequest", "output": "ListComponentTemplatesResponse"},
        {"name": "GetTemplate", "name_key": "TemplateService.GetTemplate", "input": "GetTemplateRequest", "output": "GetTemplateResponse"},
        {"name": "ListTemplateVersions", "name_key": "TemplateService.ListTemplateVersions", "input": "ListTemplateVersionsRequest", "output": "ListTemplateVersionsResponse"},
        {"name": "SetTemplateVersionStatus", "name_key": "TemplateService.SetTemplateVersionStatus", "input": "SetTemplateVersionStatusRequest", "output": "TemplateVersionInfo"},
        {"name": "ListTemplates", "name_key": "TemplateService.ListTemplates", "input": "ListTemplatesRequest", "output": "ListTemplatesResponse"}
      ]
    }
  ],
  "extensions": {}
}
