{
  "repo": "tidbcloud/dbaas",
  "binary": "server",
  "binary_path": "core/cmd/server/main.go",
  "surface_kind": "grpc_service",
  "type": "grpc_service",
  "services": [
    {
      "name": "CoreService",
      "package": "core",
      "proto_path": "idl/idl/core/core/core.proto",
      "methods": [
        {"name": "SyncInfraProfile", "name_key": "CoreService.SyncInfraProfile", "input": "SyncInfraProfileReq", "output": "SyncInfraProfileResp"},
        {"name": "ReplaceProfileByYaml", "name_key": "CoreService.ReplaceProfileByYaml", "input": "ReplaceProfileByYamlReq", "output": "ReplaceProfileByYamlResp"},
        {"name": "ListNodeProfiles4Tenant", "name_key": "CoreService.ListNodeProfiles4Tenant", "input": "ListNodeProfiles4TenantReq", "output": "ListNodeProfiles4TenantResp"},
        {"name": "ListCloudProviders", "name_key": "CoreService.ListCloudProviders", "input": "ListCloudProvidersReq", "output": "ListCloudProvidersResp"},
        {"name": "CreateIamRole", "name_key": "CoreService.CreateIamRole", "input": "CreateIamRoleReq", "output": "CreateIamRoleResp"},
        {"name": "DeleteIamRole", "name_key": "CoreService.DeleteIamRole", "input": "DeleteIamRoleReq", "output": "DeleteIamRoleResp"},
        {"name": "ListIamRoles", "name_key": "CoreService.ListIamRoles", "input": "ListIamRolesReq", "output": "ListIamRolesResp"},
        {"name": "CreateCluster", "name_key": "CoreService.CreateCluster", "input": "CreateClusterReq", "output": "CreateClusterResp"},
        {"name": "CreateClusterSnapshot", "name_key": "CoreService.CreateClusterSnapshot", "input": "CreateClusterSnapshotReq", "output": "CreateClusterSnapshotResp"},
        {"name": "BatchGetClusterSnapshot", "name_key": "CoreService.BatchGetClusterSnapshot", "input": "BatchGetClusterSnapshotReq", "output": "BatchGetClusterSnapshotResp"},
        {"name": "ScaleCluster", "name_key": "CoreService.ScaleCluster", "input": "ScaleClusterReq", "output": "ScaleClusterResp"},
        {"name": "CalcClusterFee", "name_key": "CoreService.CalcClusterFee", "input": "CalcClusterFeeReq", "output": "CalcClusterFeeResp"},
        {"name": "ListClusters", "name_key": "CoreService.ListClusters", "input": "ListClustersReq", "output": "ListClustersResp"},
        {"name": "CountClusters", "name_key": "CoreService.CountClusters", "input": "CountClustersReq", "output": "CountClustersResp"},
        {"name": "CreateXAccountDeploy", "name_key": "CoreService.CreateXAccountDeploy", "input": "CreateXAccountDeployReq", "output": "CreateXAccountDeployResp"},
        {"name": "ListXAccountDeploy", "name_key": "CoreService.ListXAccountDeploy", "input": "ListXAccountDeployReq", "output": "ListXAccountDeployResp"},
        {"name": "DeleteXAccountDeploy", "name_key": "CoreService.DeleteXAccountDeploy", "input": "DeleteXAccountDeployReq", "output": "DeleteXAccountDeployResp"},
        {"name": "ListRegionCIDROfProject", "name_key": "CoreService.ListRegionCIDROfProject", "input": "ListRegionCIDROfProjectReq", "output": "ListRegionCIDROfProjectResp"},
        {"name": "CreateClusterConn", "name_key": "CoreService.CreateClusterConn", "input": "CreateClusterConnReq", "output": "CreateClusterConnResp"},
        {"name": "CreateNetworkPeer", "name_key": "CoreService.CreateNetworkPeer", "input": "CreateNetworkPeerReq", "output": "CreateNetworkPeerResp"},
        {"name": "DeleteNetworkPeer", "name_key": "CoreService.DeleteNetworkPeer", "input": "DeleteNetworkPeerReq", "output": "DeleteNetworkPeerResp"},
        {"name": "ListNetworkPeer", "name_key": "CoreService.ListNetworkPeer", "input": "ListNetworkPeerReq", "output": "ListNetworkPeerResp"},
        {"name": "RestoreCluster", "name_key": "CoreService.RestoreCluster", "input": "RestoreClusterReq", "output": "RestoreClusterResp"},
        {"name": "ListBackups", "name_key": "CoreService.ListBackups", "input": "ListBackupsReq", "output": "ListBackupsResp"},
        {"name": "ListBackupsOfCluster", "name_key": "CoreService.ListBackupsOfCluster", "input": "ListBackupsOfClusterReq", "output": "ListBackupsOfClusterResp"},
        {"name": "CreateReplication", "name_key": "CoreService.CreateReplication", "input": "CreateReplicationReq", "output": "CreateReplicationResp"},
        {"name": "Measure", "name_key": "CoreService.Measure", "input": "MeasureReq", "output": "MeasureResp"}
      ]
    }
  ],
  "extensions": {}
}
