{
  "repo": "tidbcloud/tidb-management-service",
  "binary": "tidb-mgmt-service",
  "binary_path": "tidb-mgmt-service/cmd/tidb-mgmt-service/main.go",
  "surface_kind": "mixed_service",
  "type": "mixed_service",
  "services": [
    {
      "name": "TidbMgmtLifecycle",
      "package": "main",
      "methods": [
        {
          "name": "Startup",
          "name_key": "TidbMgmtLifecycle.Startup",
          "input": "config file path",
          "output": "running gRPC server + reverse proxies + workers",
          "type": "local"
        },
        {
          "name": "RegisterBusinessHandlers",
          "name_key": "TidbMgmtLifecycle.RegisterBusinessHandlers",
          "input": "TiInf + repos + workflow + downstream clients",
          "output": "registered gRPC/openapi/bff/core servers",
          "type": "local"
        },
        {
          "name": "SetupRegionalReverseProxy",
          "name_key": "TidbMgmtLifecycle.SetupRegionalReverseProxy",
          "input": "gin.Engine + dedicated/nextgen global clients",
          "output": "/proxy/* HTTP reverse proxy routes",
          "type": "local"
        },
        {
          "name": "StartShadowPoolWorker",
          "name_key": "TidbMgmtLifecycle.StartShadowPoolWorker",
          "input": "shadow pool worker runner",
          "output": "background shadow pool worker",
          "type": "local"
        }
      ]
    },
    {
      "name": "ClusterService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/dedicated/v1beta1",
      "type": "dedicated_openapi",
      "methods": [
        {
          "name": "CreateCluster",
          "name_key": "DedicatedClusterService.CreateCluster",
          "input": "CreateClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "ListClusters",
          "name_key": "DedicatedClusterService.ListClusters",
          "input": "ListClustersRequest",
          "output": "ListClustersResponse"
        },
        {
          "name": "GetCluster",
          "name_key": "DedicatedClusterService.GetCluster",
          "input": "GetClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "DeleteCluster",
          "name_key": "DedicatedClusterService.DeleteCluster",
          "input": "DeleteClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "UpdateCluster",
          "name_key": "DedicatedClusterService.UpdateCluster",
          "input": "UpdateClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "PauseCluster",
          "name_key": "DedicatedClusterService.PauseCluster",
          "input": "PauseClusterRequest",
          "output": "PauseClusterResponse"
        },
        {
          "name": "ResumeCluster",
          "name_key": "DedicatedClusterService.ResumeCluster",
          "input": "ResumeClusterRequest",
          "output": "ResumeClusterResponse"
        },
        {
          "name": "ResetRootPassword",
          "name_key": "DedicatedClusterService.ResetRootPassword",
          "input": "ResetRootPasswordRequest",
          "output": "ResetRootPasswordResponse"
        },
        {
          "name": "ListNodeInstances",
          "name_key": "DedicatedClusterService.ListNodeInstances",
          "input": "ListNodeInstancesRequest",
          "output": "ListNodeInstancesResponse"
        },
        {
          "name": "GetNodeInstance",
          "name_key": "DedicatedClusterService.GetNodeInstance",
          "input": "GetNodeInstanceRequest",
          "output": "NodeInstance"
        },
        {
          "name": "ShowNodeQuota",
          "name_key": "DedicatedClusterService.ShowNodeQuota",
          "input": "ShowNodeQuotaRequest",
          "output": "ShowNodeQuotaResponse"
        },
        {
          "name": "GetLogRedactionPolicy",
          "name_key": "DedicatedClusterService.GetLogRedactionPolicy",
          "input": "GetLogRedactionPolicyRequest",
          "output": "LogRedactionPolicy"
        },
        {
          "name": "UpdateLogRedactionPolicy",
          "name_key": "DedicatedClusterService.UpdateLogRedactionPolicy",
          "input": "UpdateLogRedactionPolicyRequest",
          "output": "LogRedactionPolicy"
        }
      ]
    },
    {
      "name": "NetworkContainerService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/dedicated/v1beta1",
      "type": "dedicated_openapi",
      "methods": [
        {
          "name": "CreateNetworkContainer",
          "name_key": "DedicatedNetworkContainerService.CreateNetworkContainer",
          "input": "CreateNetworkContainerRequest",
          "output": "NetworkContainer"
        },
        {
          "name": "GetNetworkContainer",
          "name_key": "DedicatedNetworkContainerService.GetNetworkContainer",
          "input": "GetNetworkContainerRequest",
          "output": "NetworkContainer"
        },
        {
          "name": "ListNetworkContainers",
          "name_key": "DedicatedNetworkContainerService.ListNetworkContainers",
          "input": "ListNetworkContainersRequest",
          "output": "ListNetworkContainersResponse"
        },
        {
          "name": "DeleteNetworkContainer",
          "name_key": "DedicatedNetworkContainerService.DeleteNetworkContainer",
          "input": "DeleteNetworkContainerRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "CreateVpcPeering",
          "name_key": "DedicatedNetworkContainerService.CreateVpcPeering",
          "input": "CreateVpcPeeringRequest",
          "output": "VpcPeering"
        },
        {
          "name": "DeleteVpcPeering",
          "name_key": "DedicatedNetworkContainerService.DeleteVpcPeering",
          "input": "DeleteVpcPeeringRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ListVpcPeerings",
          "name_key": "DedicatedNetworkContainerService.ListVpcPeerings",
          "input": "ListVpcPeeringsRequest",
          "output": "ListVpcPeeringsResponse"
        },
        {
          "name": "GetVpcPeering",
          "name_key": "DedicatedNetworkContainerService.GetVpcPeering",
          "input": "GetVpcPeeringRequest",
          "output": "VpcPeering"
        }
      ]
    },
    {
      "name": "RegionService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/dedicated/v1beta1",
      "type": "dedicated_openapi",
      "methods": [
        {
          "name": "ListRegions",
          "name_key": "DedicatedRegionService.ListRegions",
          "input": "ListRegionsRequest",
          "output": "ListRegionsResponse"
        },
        {
          "name": "GetRegion",
          "name_key": "DedicatedRegionService.GetRegion",
          "input": "GetRegionRequest",
          "output": "Region"
        },
        {
          "name": "ShowCloudProviders",
          "name_key": "DedicatedRegionService.ShowCloudProviders",
          "input": "ShowCloudProvidersRequest",
          "output": "ShowCloudProvidersResponse"
        },
        {
          "name": "ListNodeSpecs",
          "name_key": "DedicatedRegionService.ListNodeSpecs",
          "input": "ListNodeSpecsRequest",
          "output": "ListNodeSpecsResponse"
        },
        {
          "name": "GetNodeSpec",
          "name_key": "DedicatedRegionService.GetNodeSpec",
          "input": "GetNodeSpecRequest",
          "output": "NodeSpec"
        }
      ]
    },
    {
      "name": "MaintenanceService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/dedicated/v1beta1",
      "type": "dedicated_openapi",
      "methods": [
        {
          "name": "GetMaintenanceWindow",
          "name_key": "DedicatedMaintenanceService.GetMaintenanceWindow",
          "input": "GetMaintenanceWindowRequest",
          "output": "MaintenanceWindow"
        },
        {
          "name": "ListMaintenanceWindows",
          "name_key": "DedicatedMaintenanceService.ListMaintenanceWindows",
          "input": "ListMaintenanceWindowsRequest",
          "output": "ListMaintenanceWindowsResponse"
        },
        {
          "name": "UpdateMaintenanceWindow",
          "name_key": "DedicatedMaintenanceService.UpdateMaintenanceWindow",
          "input": "UpdateMaintenanceWindowRequest",
          "output": "MaintenanceWindow"
        },
        {
          "name": "ListMaintenanceTasks",
          "name_key": "DedicatedMaintenanceService.ListMaintenanceTasks",
          "input": "ListMaintenanceTasksRequest",
          "output": "ListMaintenanceTasksResponse"
        },
        {
          "name": "GetMaintenanceTask",
          "name_key": "DedicatedMaintenanceService.GetMaintenanceTask",
          "input": "GetMaintenanceTaskRequest",
          "output": "MaintenanceTask"
        },
        {
          "name": "UpdateMaintenanceTask",
          "name_key": "DedicatedMaintenanceService.UpdateMaintenanceTask",
          "input": "UpdateMaintenanceTaskRequest",
          "output": "MaintenanceTask"
        }
      ]
    },
    {
      "name": "TidbNodeGroupService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/dedicated/v1beta1",
      "type": "dedicated_openapi",
      "methods": [
        {
          "name": "CreateTidbNodeGroup",
          "name_key": "DedicatedTidbNodeGroupService.CreateTidbNodeGroup",
          "input": "CreateTidbNodeGroupRequest",
          "output": "TidbNodeGroup"
        },
        {
          "name": "ListTidbNodeGroups",
          "name_key": "DedicatedTidbNodeGroupService.ListTidbNodeGroups",
          "input": "ListTidbNodeGroupsRequest",
          "output": "ListTidbNodeGroupsResponse"
        },
        {
          "name": "GetTidbNodeGroup",
          "name_key": "DedicatedTidbNodeGroupService.GetTidbNodeGroup",
          "input": "GetTidbNodeGroupRequest",
          "output": "TidbNodeGroup"
        },
        {
          "name": "DeleteTidbNodeGroup",
          "name_key": "DedicatedTidbNodeGroupService.DeleteTidbNodeGroup",
          "input": "DeleteTidbNodeGroupRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "UpdateTidbNodeGroup",
          "name_key": "DedicatedTidbNodeGroupService.UpdateTidbNodeGroup",
          "input": "UpdateTidbNodeGroupRequest",
          "output": "TidbNodeGroup"
        },
        {
          "name": "GetPublicEndpointSetting",
          "name_key": "DedicatedTidbNodeGroupService.GetPublicEndpointSetting",
          "input": "GetPublicEndpointSettingRequest",
          "output": "PublicEndpointSetting"
        },
        {
          "name": "UpdatePublicEndpointSetting",
          "name_key": "DedicatedTidbNodeGroupService.UpdatePublicEndpointSetting",
          "input": "UpdatePublicEndpointSettingRequest",
          "output": "PublicEndpointSetting"
        }
      ]
    },
    {
      "name": "PrivateEndpointConnectionService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/dedicated/v1beta1",
      "type": "dedicated_openapi",
      "methods": [
        {
          "name": "GetPrivateLinkService",
          "name_key": "DedicatedPrivateEndpointConnectionService.GetPrivateLinkService",
          "input": "GetPrivateLinkServiceRequest",
          "output": "PrivateLinkService"
        },
        {
          "name": "CreatePrivateEndpointConnection",
          "name_key": "DedicatedPrivateEndpointConnectionService.CreatePrivateEndpointConnection",
          "input": "CreatePrivateEndpointConnectionRequest",
          "output": "PrivateEndpointConnection"
        },
        {
          "name": "ListPrivateEndpointConnections",
          "name_key": "DedicatedPrivateEndpointConnectionService.ListPrivateEndpointConnections",
          "input": "ListPrivateEndpointConnectionsRequest",
          "output": "ListPrivateEndpointConnectionsResponse"
        },
        {
          "name": "GetPrivateEndpointConnection",
          "name_key": "DedicatedPrivateEndpointConnectionService.GetPrivateEndpointConnection",
          "input": "GetPrivateEndpointConnectionRequest",
          "output": "PrivateEndpointConnection"
        },
        {
          "name": "DeletePrivateEndpointConnection",
          "name_key": "DedicatedPrivateEndpointConnectionService.DeletePrivateEndpointConnection",
          "input": "DeletePrivateEndpointConnectionRequest",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "DatabaseAuditLogService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/dedicated/v1beta1",
      "type": "dedicated_openapi",
      "methods": [
        {
          "name": "GetAuditLogConfig",
          "name_key": "DedicatedDatabaseAuditLogService.GetAuditLogConfig",
          "input": "GetAuditLogConfigRequest",
          "output": "AuditLogConfig"
        },
        {
          "name": "UpdateAuditLogConfig",
          "name_key": "DedicatedDatabaseAuditLogService.UpdateAuditLogConfig",
          "input": "UpdateAuditLogConfigRequest",
          "output": "AuditLogConfig"
        },
        {
          "name": "CreateAuditLogFilterRule",
          "name_key": "DedicatedDatabaseAuditLogService.CreateAuditLogFilterRule",
          "input": "CreateAuditLogFilterRuleRequest",
          "output": "AuditLogFilterRule"
        },
        {
          "name": "ReplaceAuditLogFilterRule",
          "name_key": "DedicatedDatabaseAuditLogService.ReplaceAuditLogFilterRule",
          "input": "ReplaceAuditLogFilterRuleRequest",
          "output": "ReplaceAuditLogFilterRuleResponse"
        },
        {
          "name": "GetAuditLogFilterRule",
          "name_key": "DedicatedDatabaseAuditLogService.GetAuditLogFilterRule",
          "input": "GetAuditLogFilterRuleRequest",
          "output": "AuditLogFilterRule"
        },
        {
          "name": "ListAuditLogFilterRules",
          "name_key": "DedicatedDatabaseAuditLogService.ListAuditLogFilterRules",
          "input": "ListAuditLogFilterRulesRequest",
          "output": "ListAuditLogFilterRulesResponse"
        },
        {
          "name": "DeleteAuditLogFilterRule",
          "name_key": "DedicatedDatabaseAuditLogService.DeleteAuditLogFilterRule",
          "input": "DeleteAuditLogFilterRuleRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ShowObjectStorageAccessIamPrincipal",
          "name_key": "DedicatedDatabaseAuditLogService.ShowObjectStorageAccessIamPrincipal",
          "input": "ShowObjectStorageAccessIamPrincipalRequest",
          "output": "ShowObjectStorageAccessIamPrincipalResponse"
        },
        {
          "name": "QueryAuditLogFiles",
          "name_key": "DedicatedDatabaseAuditLogService.QueryAuditLogFiles",
          "input": "QueryAuditLogFilesRequest",
          "output": "QueryAuditLogFilesResponse"
        },
        {
          "name": "GenerateAuditLogFileDownloadAddress",
          "name_key": "DedicatedDatabaseAuditLogService.GenerateAuditLogFileDownloadAddress",
          "input": "GenerateAuditLogFileDownloadAddressRequest",
          "output": "GenerateAuditLogFileDownloadAddressResponse"
        }
      ]
    },
    {
      "name": "CustomerManagedEncryptionKeyService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/dedicated/v1beta1",
      "type": "dedicated_openapi",
      "methods": [
        {
          "name": "CreateCustomerManagedEncryptionKey",
          "name_key": "DedicatedCustomerManagedEncryptionKeyService.CreateCustomerManagedEncryptionKey",
          "input": "CreateCustomerManagedEncryptionKeyRequest",
          "output": "CustomerManagedEncryptionKey"
        },
        {
          "name": "GetCustomerManagedEncryptionKey",
          "name_key": "DedicatedCustomerManagedEncryptionKeyService.GetCustomerManagedEncryptionKey",
          "input": "GetCustomerManagedEncryptionKeyRequest",
          "output": "CustomerManagedEncryptionKey"
        },
        {
          "name": "ListCustomerManagedEncryptionKeys",
          "name_key": "DedicatedCustomerManagedEncryptionKeyService.ListCustomerManagedEncryptionKeys",
          "input": "ListCustomerManagedEncryptionKeysRequest",
          "output": "ListCustomerManagedEncryptionKeysResponse"
        },
        {
          "name": "DeleteCustomerManagedEncryptionKey",
          "name_key": "DedicatedCustomerManagedEncryptionKeyService.DeleteCustomerManagedEncryptionKey",
          "input": "DeleteCustomerManagedEncryptionKeyRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ShowCmekAccessIamPrincipal",
          "name_key": "DedicatedCustomerManagedEncryptionKeyService.ShowCmekAccessIamPrincipal",
          "input": "ShowCmekAccessIamPrincipalRequest",
          "output": "ShowCmekAccessIamPrincipalResponse"
        }
      ]
    },
    {
      "name": "TidbService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/nextgen/v1beta2",
      "type": "nextgen_openapi",
      "methods": [
        {
          "name": "CreateTidb",
          "name_key": "NextgenTidbService.CreateTidb",
          "input": "CreateTidbRequest",
          "output": "Tidb"
        },
        {
          "name": "ListTidbs",
          "name_key": "NextgenTidbService.ListTidbs",
          "input": "ListTidbsRequest",
          "output": "ListTidbsResponse"
        },
        {
          "name": "GetTidb",
          "name_key": "NextgenTidbService.GetTidb",
          "input": "GetTidbRequest",
          "output": "Tidb"
        },
        {
          "name": "DeleteTidb",
          "name_key": "NextgenTidbService.DeleteTidb",
          "input": "DeleteTidbRequest",
          "output": "Tidb"
        },
        {
          "name": "UpdateTidb",
          "name_key": "NextgenTidbService.UpdateTidb",
          "input": "UpdateTidbRequest",
          "output": "Tidb"
        },
        {
          "name": "ResetRootPassword",
          "name_key": "NextgenTidbService.ResetRootPassword",
          "input": "ResetRootPasswordRequest",
          "output": "ResetRootPasswordResponse"
        },
        {
          "name": "GetCloudProviderInfo",
          "name_key": "NextgenTidbService.GetCloudProviderInfo",
          "input": "GetCloudProviderInfoRequest",
          "output": "CloudProviderInfo"
        },
        {
          "name": "EstimatePrice",
          "name_key": "NextgenTidbService.EstimatePrice",
          "input": "EstimatePriceRequest",
          "output": "EstimatePriceResponse"
        },
        {
          "name": "ListBackupPolicies",
          "name_key": "NextgenTidbService.ListBackupPolicies",
          "input": "ListBackupPoliciesRequest",
          "output": "ListBackupPoliciesResponse"
        },
        {
          "name": "GetBackupSetting",
          "name_key": "NextgenTidbService.GetBackupSetting",
          "input": "GetBackupSettingRequest",
          "output": "BackupSetting"
        },
        {
          "name": "UpdateBackupSetting",
          "name_key": "NextgenTidbService.UpdateBackupSetting",
          "input": "UpdateBackupSettingRequest",
          "output": "BackupSetting"
        },
        {
          "name": "ListTidbBackups",
          "name_key": "NextgenTidbService.ListTidbBackups",
          "input": "ListTidbBackupsRequest",
          "output": "ListTidbBackupsResponse"
        },
        {
          "name": "DeleteTidbBackup",
          "name_key": "NextgenTidbService.DeleteTidbBackup",
          "input": "DeleteTidbBackupRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "CreateTidbBackup",
          "name_key": "NextgenTidbService.CreateTidbBackup",
          "input": "CreateTidbBackupRequest",
          "output": "CreateTidbBackupResponse"
        },
        {
          "name": "RestoreTidb",
          "name_key": "NextgenTidbService.RestoreTidb",
          "input": "RestoreTidbRequest",
          "output": "RestoreTidbResponse"
        },
        {
          "name": "RestoreStatus",
          "name_key": "NextgenTidbService.RestoreStatus",
          "input": "RestoreStatusRequest",
          "output": "RestoreStatusResponse"
        },
        {
          "name": "GetRestoreStatus",
          "name_key": "NextgenTidbService.GetRestoreStatus",
          "input": "GetRestoreStatusRequest",
          "output": "GetRestoreStatusResponse"
        },
        {
          "name": "ValidateClassicBackup",
          "name_key": "NextgenTidbService.ValidateClassicBackup",
          "input": "ValidateClassicBackupRequest",
          "output": "ValidateClassicBackupResponse"
        },
        {
          "name": "GetCaCertificateDownloadUrl",
          "name_key": "NextgenTidbService.GetCaCertificateDownloadUrl",
          "input": "GetCaCertificateDownloadUrlRequest",
          "output": "CaCertificateDownloadUrl"
        },
        {
          "name": "UpdateTidbDualLayerEncryption",
          "name_key": "NextgenTidbService.UpdateTidbDualLayerEncryption",
          "input": "UpdateTidbDualLayerEncryptionRequest",
          "output": "TidbDualLayerEncryption"
        },
        {
          "name": "GetTidbDualLayerEncryption",
          "name_key": "NextgenTidbService.GetTidbDualLayerEncryption",
          "input": "GetTidbDualLayerEncryptionRequest",
          "output": "TidbDualLayerEncryption"
        }
      ]
    },
    {
      "name": "BackupService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/nextgen/v1beta2",
      "type": "nextgen_openapi",
      "methods": [
        {
          "name": "ListBackups",
          "name_key": "NextgenBackupService.ListBackups",
          "input": "ListBackupsRequest",
          "output": "ListBackupsResponse"
        },
        {
          "name": "DeleteBackup",
          "name_key": "NextgenBackupService.DeleteBackup",
          "input": "DeleteBackupRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ListDeletedTidbs",
          "name_key": "NextgenBackupService.ListDeletedTidbs",
          "input": "ListDeletedTidbsRequest",
          "output": "ListDeletedTidbsResponse"
        }
      ]
    },
    {
      "name": "ExportService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/nextgen/v1beta2",
      "type": "nextgen_openapi",
      "methods": [
        {
          "name": "ListExports",
          "name_key": "NextgenExportService.ListExports",
          "input": "ListExportsRequest",
          "output": "ListExportsResponse"
        },
        {
          "name": "GetExport",
          "name_key": "NextgenExportService.GetExport",
          "input": "GetExportRequest",
          "output": "Export"
        },
        {
          "name": "CreateExport",
          "name_key": "NextgenExportService.CreateExport",
          "input": "CreateExportRequest",
          "output": "Export"
        },
        {
          "name": "DeleteExport",
          "name_key": "NextgenExportService.DeleteExport",
          "input": "DeleteExportRequest",
          "output": "Export"
        },
        {
          "name": "CancelExport",
          "name_key": "NextgenExportService.CancelExport",
          "input": "CancelExportRequest",
          "output": "Export"
        }
      ]
    },
    {
      "name": "RegionService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/nextgen/v1beta2",
      "type": "nextgen_openapi",
      "methods": [
        {
          "name": "ListRegions",
          "name_key": "NextgenRegionService.ListRegions",
          "input": "ListRegionsRequest",
          "output": "ListRegionsResponse"
        },
        {
          "name": "ListCloudProviders",
          "name_key": "NextgenRegionService.ListCloudProviders",
          "input": "ListCloudProvidersRequest",
          "output": "ListCloudProvidersResponse"
        },
        {
          "name": "ListOpsAuditLogSettings",
          "name_key": "NextgenRegionService.ListOpsAuditLogSettings",
          "input": "ListOpsAuditLogSettingsRequest",
          "output": "ListOpsAuditLogSettingsResponse"
        },
        {
          "name": "ListRegionCapacities",
          "name_key": "NextgenRegionService.ListRegionCapacities",
          "input": "ListRegionCapacitiesRequest",
          "output": "ListRegionCapacitiesResponse"
        }
      ]
    },
    {
      "name": "CustomerManagedEncryptionKeyService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/nextgen/v1beta2",
      "type": "nextgen_openapi",
      "methods": [
        {
          "name": "GetCmekAccessIamPrincipal",
          "name_key": "NextgenCustomerManagedEncryptionKeyService.GetCmekAccessIamPrincipal",
          "input": "GetCmekAccessIamPrincipalRequest",
          "output": "CmekAccessIamPrincipal"
        },
        {
          "name": "VerifyCmekAccessIamPrincipal",
          "name_key": "NextgenCustomerManagedEncryptionKeyService.VerifyCmekAccessIamPrincipal",
          "input": "VerifyCmekAccessIamPrincipalRequest",
          "output": "VerifyCmekAccessIamPrincipalResponse"
        },
        {
          "name": "GetCustomerManagedEncryptionKey",
          "name_key": "NextgenCustomerManagedEncryptionKeyService.GetCustomerManagedEncryptionKey",
          "input": "GetCustomerManagedEncryptionKeyRequest",
          "output": "CustomerManagedEncryptionKey"
        },
        {
          "name": "GetCustomerManagedEncryptionKeyByClusterId",
          "name_key": "NextgenCustomerManagedEncryptionKeyService.GetCustomerManagedEncryptionKeyByClusterId",
          "input": "GetCustomerManagedEncryptionKeyByClusterIdRequest",
          "output": "CustomerManagedEncryptionKey"
        },
        {
          "name": "ListCustomerManagedEncryptionKeys",
          "name_key": "NextgenCustomerManagedEncryptionKeyService.ListCustomerManagedEncryptionKeys",
          "input": "ListCustomerManagedEncryptionKeysRequest",
          "output": "ListCustomerManagedEncryptionKeysResponse"
        }
      ]
    },
    {
      "name": "DatabaseAuditLogService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/nextgen/v1beta2",
      "type": "nextgen_openapi",
      "methods": [
        {
          "name": "GetAuditLogSetting",
          "name_key": "NextgenDatabaseAuditLogService.GetAuditLogSetting",
          "input": "GetAuditLogSettingRequest",
          "output": "AuditLogSetting"
        },
        {
          "name": "UpdateAuditLogSetting",
          "name_key": "NextgenDatabaseAuditLogService.UpdateAuditLogSetting",
          "input": "UpdateAuditLogSettingRequest",
          "output": "AuditLogSetting"
        },
        {
          "name": "ListAuditLogFilterRules",
          "name_key": "NextgenDatabaseAuditLogService.ListAuditLogFilterRules",
          "input": "ListAuditLogFilterRulesRequest",
          "output": "ListAuditLogFilterRulesResponse"
        },
        {
          "name": "CreateAuditLogFilterRule",
          "name_key": "NextgenDatabaseAuditLogService.CreateAuditLogFilterRule",
          "input": "CreateAuditLogFilterRuleRequest",
          "output": "AuditLogFilterRule"
        },
        {
          "name": "DeleteAuditLogFilterRule",
          "name_key": "NextgenDatabaseAuditLogService.DeleteAuditLogFilterRule",
          "input": "DeleteAuditLogFilterRuleRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "UpdateAuditLogFilterRule",
          "name_key": "NextgenDatabaseAuditLogService.UpdateAuditLogFilterRule",
          "input": "UpdateAuditLogFilterRuleRequest",
          "output": "AuditLogFilterRule"
        }
      ]
    },
    {
      "name": "LogRedactionPolicyService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/nextgen/v1beta2",
      "type": "nextgen_openapi",
      "methods": [
        {
          "name": "GetLogRedactionPolicy",
          "name_key": "NextgenLogRedactionPolicyService.GetLogRedactionPolicy",
          "input": "GetLogRedactionPolicyRequest",
          "output": "LogRedactionPolicy"
        },
        {
          "name": "UpdateLogRedactionPolicy",
          "name_key": "NextgenLogRedactionPolicyService.UpdateLogRedactionPolicy",
          "input": "UpdateLogRedactionPolicyRequest",
          "output": "LogRedactionPolicy"
        }
      ]
    },
    {
      "name": "PrivateLinkConnectionService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/nextgen/v1beta2",
      "type": "nextgen_openapi",
      "methods": [
        {
          "name": "ListPrivateLinkServices",
          "name_key": "NextgenPrivateLinkConnectionService.ListPrivateLinkServices",
          "input": "ListPrivateLinkServicesRequest",
          "output": "ListPrivateLinkServicesResponse"
        },
        {
          "name": "CreatePrivateLinkConnection",
          "name_key": "NextgenPrivateLinkConnectionService.CreatePrivateLinkConnection",
          "input": "CreatePrivateLinkConnectionRequest",
          "output": "PrivateLinkConnection"
        },
        {
          "name": "DeletePrivateLinkConnection",
          "name_key": "NextgenPrivateLinkConnectionService.DeletePrivateLinkConnection",
          "input": "DeletePrivateLinkConnectionRequest",
          "output": "PrivateLinkConnection"
        },
        {
          "name": "GetPrivateLinkConnection",
          "name_key": "NextgenPrivateLinkConnectionService.GetPrivateLinkConnection",
          "input": "GetPrivateLinkConnectionRequest",
          "output": "PrivateLinkConnection"
        },
        {
          "name": "ListPrivateLinkConnections",
          "name_key": "NextgenPrivateLinkConnectionService.ListPrivateLinkConnections",
          "input": "ListPrivateLinkConnectionsRequest",
          "output": "ListPrivateLinkConnectionsResponse"
        }
      ]
    },
    {
      "name": "PublicConnectionSettingService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/nextgen/v1beta2",
      "type": "nextgen_openapi",
      "methods": [
        {
          "name": "GetPublicConnectionSetting",
          "name_key": "NextgenPublicConnectionSettingService.GetPublicConnectionSetting",
          "input": "GetPublicConnectionSettingRequest",
          "output": "PublicConnectionSetting"
        },
        {
          "name": "UpdatePublicConnectionSetting",
          "name_key": "NextgenPublicConnectionSettingService.UpdatePublicConnectionSetting",
          "input": "UpdatePublicConnectionSettingRequest",
          "output": "PublicConnectionSetting"
        }
      ]
    },
    {
      "name": "QuotaService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/nextgen/v1beta2",
      "type": "nextgen_openapi",
      "methods": [
        {
          "name": "ListQuotas",
          "name_key": "NextgenQuotaService.ListQuotas",
          "input": "ListQuotasRequest",
          "output": "ListQuotasResponse"
        }
      ]
    },
    {
      "name": "ClusterService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/serverless/v1beta1",
      "type": "serverless_openapi",
      "methods": [
        {
          "name": "CreateCluster",
          "name_key": "ServerlessClusterService.CreateCluster",
          "input": "CreateClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "ListClusters",
          "name_key": "ServerlessClusterService.ListClusters",
          "input": "ListClustersRequest",
          "output": "ListClustersResponse"
        },
        {
          "name": "GetCluster",
          "name_key": "ServerlessClusterService.GetCluster",
          "input": "GetClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "DeleteCluster",
          "name_key": "ServerlessClusterService.DeleteCluster",
          "input": "DeleteClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "PartialUpdateCluster",
          "name_key": "ServerlessClusterService.PartialUpdateCluster",
          "input": "PartialUpdateClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "ChangeRootPassword",
          "name_key": "ServerlessClusterService.ChangeRootPassword",
          "input": "ChangeRootPasswordRequest",
          "output": "ChangeRootPasswordResponse"
        },
        {
          "name": "ListRegions",
          "name_key": "ServerlessClusterService.ListRegions",
          "input": "ListRegionsRequest",
          "output": "ListRegionsResponse"
        },
        {
          "name": "ListCloudProviders",
          "name_key": "ServerlessClusterService.ListCloudProviders",
          "input": "ListCloudProvidersRequest",
          "output": "ListCloudProvidersResponse"
        },
        {
          "name": "BatchCreateClusters",
          "name_key": "ServerlessClusterService.BatchCreateClusters",
          "input": "BatchCreateClustersRequest",
          "output": "BatchCreateClustersResponse"
        },
        {
          "name": "BatchGetClusters",
          "name_key": "ServerlessClusterService.BatchGetClusters",
          "input": "BatchGetClustersRequest",
          "output": "BatchGetClustersResponse"
        },
        {
          "name": "ClaimClusterFromZero",
          "name_key": "ServerlessClusterService.ClaimClusterFromZero",
          "input": "ClaimClusterFromZeroRequest",
          "output": "Cluster"
        },
        {
          "name": "TakeoverClusterFromPool",
          "name_key": "ServerlessClusterService.TakeoverClusterFromPool",
          "input": "TakeoverClusterFromPoolRequest",
          "output": "Cluster"
        }
      ]
    },
    {
      "name": "ZeroInstanceService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/zero/v1beta1",
      "type": "zero_openapi",
      "methods": [
        {
          "name": "AllocateZeroInstance",
          "name_key": "ZeroInstanceService.AllocateZeroInstance",
          "input": "AllocateZeroInstanceRequest",
          "output": "AllocateZeroInstanceResponse"
        },
        {
          "name": "GetZeroInstance",
          "name_key": "ZeroInstanceService.GetZeroInstance",
          "input": "GetZeroInstanceRequest",
          "output": "GetZeroInstanceResponse"
        }
      ]
    },
    {
      "name": "ClusterService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "ListClusters",
          "name_key": "InternalClusterService.ListClusters",
          "input": "ListClustersRequest",
          "output": "ListClustersResponse"
        },
        {
          "name": "CountClusters",
          "name_key": "InternalClusterService.CountClusters",
          "input": "CountClustersRequest",
          "output": "CountClustersResponse"
        },
        {
          "name": "CleanClusters",
          "name_key": "InternalClusterService.CleanClusters",
          "input": "CleanClustersRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "CleanProjectResource",
          "name_key": "InternalClusterService.CleanProjectResource",
          "input": "CleanProjectResourceRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "CleanOrganizationResource",
          "name_key": "InternalClusterService.CleanOrganizationResource",
          "input": "CleanOrganizationResourceRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ApplyCluster",
          "name_key": "InternalClusterService.ApplyCluster",
          "input": "ApplyClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "RestoreDedicatedCluster",
          "name_key": "InternalClusterService.RestoreDedicatedCluster",
          "input": "RestoreDedicatedClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "RestoreServerlessCluster",
          "name_key": "InternalClusterService.RestoreServerlessCluster",
          "input": "RestoreServerlessClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "CreateServerlessCluster",
          "name_key": "InternalClusterService.CreateServerlessCluster",
          "input": "CreateServerlessClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "UpdateServerlessRegionalClusterAnnotations",
          "name_key": "InternalClusterService.UpdateServerlessRegionalClusterAnnotations",
          "input": "UpdateServerlessRegionalClusterAnnotationsRequest",
          "output": "Cluster"
        },
        {
          "name": "DeleteCluster",
          "name_key": "InternalClusterService.DeleteCluster",
          "input": "DeleteClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "ModifyClusterVolume",
          "name_key": "InternalClusterService.ModifyClusterVolume",
          "input": "ModifyClusterVolumeRequest",
          "output": "Cluster"
        },
        {
          "name": "ScaleClusterPdComponent",
          "name_key": "InternalClusterService.ScaleClusterPdComponent",
          "input": "ScaleClusterPdComponentRequest",
          "output": "Cluster"
        },
        {
          "name": "ScaleClusterTiProxyComponent",
          "name_key": "InternalClusterService.ScaleClusterTiProxyComponent",
          "input": "ScaleClusterTiProxyComponentRequest",
          "output": "Cluster"
        },
        {
          "name": "ScaleClusterComponents",
          "name_key": "InternalClusterService.ScaleClusterComponents",
          "input": "ScaleClusterComponentsRequest",
          "output": "Cluster"
        },
        {
          "name": "CreateClusterWithClusterConfiguration",
          "name_key": "InternalClusterService.CreateClusterWithClusterConfiguration",
          "input": "CreateClusterWithClusterConfigurationRequest",
          "output": "Cluster"
        },
        {
          "name": "ShowComponentNodeInfo",
          "name_key": "InternalClusterService.ShowComponentNodeInfo",
          "input": "ShowComponentNodeInfoRequest",
          "output": "ShowComponentNodeInfoResponse"
        },
        {
          "name": "CountBillableClusters",
          "name_key": "InternalClusterService.CountBillableClusters",
          "input": "CountBillableClustersRequest",
          "output": "CountBillableClustersResponse"
        },
        {
          "name": "BuildComponentSpecDiffReports",
          "name_key": "InternalClusterService.BuildComponentSpecDiffReports",
          "input": "BuildComponentSpecDiffReportsRequest",
          "output": "BuildComponentSpecDiffReportsResponse"
        },
        {
          "name": "GetCloudIamInfo",
          "name_key": "InternalClusterService.GetCloudIamInfo",
          "input": "GetCloudIamInfoRequest",
          "output": "CloudIamInfo"
        },
        {
          "name": "UpdateClusterRuVersion",
          "name_key": "InternalClusterService.UpdateClusterRuVersion",
          "input": "UpdateClusterRuVersionRequest",
          "output": "Cluster"
        }
      ]
    },
    {
      "name": "ClusterCustomStatusService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "SetClusterCustomStatus",
          "name_key": "ClusterCustomStatusService.SetClusterCustomStatus",
          "input": "SetClusterCustomStatusRequest",
          "output": "ClusterCustomStatus"
        },
        {
          "name": "GetClusterCustomStatusByID",
          "name_key": "ClusterCustomStatusService.GetClusterCustomStatusByID",
          "input": "GetClusterCustomStatusByIDRequest",
          "output": "ClusterCustomStatus"
        },
        {
          "name": "GetClusterCustomStatusByName",
          "name_key": "ClusterCustomStatusService.GetClusterCustomStatusByName",
          "input": "GetClusterCustomStatusByNameRequest",
          "output": "ClusterCustomStatus"
        },
        {
          "name": "DeleteClusterCustomStatus",
          "name_key": "ClusterCustomStatusService.DeleteClusterCustomStatus",
          "input": "DeleteClusterCustomStatusRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "IsClusterCustomStatusExisted",
          "name_key": "ClusterCustomStatusService.IsClusterCustomStatusExisted",
          "input": "IsClusterCustomStatusExistedRequest",
          "output": "IsClusterCustomStatusExistedResponse"
        },
        {
          "name": "ListClusterCustomStatus",
          "name_key": "ClusterCustomStatusService.ListClusterCustomStatus",
          "input": "ListClusterCustomStatusRequest",
          "output": "ListClusterCustomStatusResponse"
        }
      ]
    },
    {
      "name": "RegionService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "RegisterCloudProvider",
          "name_key": "InternalRegionService.RegisterCloudProvider",
          "input": "RegisterCloudProviderRequest",
          "output": "CloudProvider"
        },
        {
          "name": "ListCloudProviders",
          "name_key": "InternalRegionService.ListCloudProviders",
          "input": "ListCloudProvidersRequest",
          "output": "ListCloudProvidersResponse"
        },
        {
          "name": "RegisterRegion",
          "name_key": "InternalRegionService.RegisterRegion",
          "input": "RegisterRegionRequest",
          "output": "Region"
        },
        {
          "name": "ListRegions",
          "name_key": "InternalRegionService.ListRegions",
          "input": "ListRegionsRequest",
          "output": "ListRegionsResponse"
        },
        {
          "name": "GetRegion",
          "name_key": "InternalRegionService.GetRegion",
          "input": "GetRegionRequest",
          "output": "Region"
        },
        {
          "name": "SelectRegionByOrganizationId",
          "name_key": "InternalRegionService.SelectRegionByOrganizationId",
          "input": "SelectRegionByOrganizationIdRequest",
          "output": "Region"
        },
        {
          "name": "UpdateRegion",
          "name_key": "InternalRegionService.UpdateRegion",
          "input": "UpdateRegionRequest",
          "output": "Region"
        },
        {
          "name": "CheckRegionStatus",
          "name_key": "InternalRegionService.CheckRegionStatus",
          "input": "CheckRegionStatusRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "DeleteRegion",
          "name_key": "InternalRegionService.DeleteRegion",
          "input": "DeleteRegionRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "UpdateRegionOpsAuditLogSetting",
          "name_key": "InternalRegionService.UpdateRegionOpsAuditLogSetting",
          "input": "UpdateRegionOpsAuditLogSettingRequest",
          "output": "global.nextgen.v1.UpdateRegionOpsAuditLogSettingResponse"
        },
        {
          "name": "RegisterRegionProviderIdentity",
          "name_key": "InternalRegionService.RegisterRegionProviderIdentity",
          "input": "RegisterRegionProviderIdentityRequest",
          "output": "global.nextgen.v1.RegionProviderIdentity"
        },
        {
          "name": "ListRegionProviderIdentities",
          "name_key": "InternalRegionService.ListRegionProviderIdentities",
          "input": "ListRegionProviderIdentitiesRequest",
          "output": "global.nextgen.v1.ListRegionProviderIdentitiesResponse"
        }
      ]
    },
    {
      "name": "VpcPeeringService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "CreateVpcPeering",
          "name_key": "VpcPeeringService.CreateVpcPeering",
          "input": "CreateVpcPeeringRequest",
          "output": "CreateVpcPeeringResponse"
        },
        {
          "name": "ListVpcPeerings",
          "name_key": "VpcPeeringService.ListVpcPeerings",
          "input": "ListVpcPeeringsRequest",
          "output": "ListVpcPeeringsResponse"
        },
        {
          "name": "GetVpcPeering",
          "name_key": "VpcPeeringService.GetVpcPeering",
          "input": "GetVpcPeeringRequest",
          "output": "GetVpcPeeringResponse"
        },
        {
          "name": "DeleteVpcPeering",
          "name_key": "VpcPeeringService.DeleteVpcPeering",
          "input": "DeleteVpcPeeringRequest",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "DataPlaneService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "GetCompatCluster",
          "name_key": "DataPlaneService.GetCompatCluster",
          "input": "GetCompatClusterRequest",
          "output": "global.dedicated.v1.CompatCluster"
        },
        {
          "name": "GetCompatNetwork",
          "name_key": "DataPlaneService.GetCompatNetwork",
          "input": "GetCompatNetworkRequest",
          "output": "global.dedicated.v1.CompatNetwork"
        },
        {
          "name": "GetCompatProvider",
          "name_key": "DataPlaneService.GetCompatProvider",
          "input": "GetCompatProviderRequest",
          "output": "global.dedicated.v1.CompatProvider"
        }
      ]
    },
    {
      "name": "SpuService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "CreateSpu",
          "name_key": "SpuService.CreateSpu",
          "input": "CreateSpuRequest",
          "output": "Spu"
        },
        {
          "name": "GetSpu",
          "name_key": "SpuService.GetSpu",
          "input": "GetSpuRequest",
          "output": "Spu"
        },
        {
          "name": "ListSpus",
          "name_key": "SpuService.ListSpus",
          "input": "ListSpusRequest",
          "output": "ListSpusResponse"
        },
        {
          "name": "UpdateSpu",
          "name_key": "SpuService.UpdateSpu",
          "input": "UpdateSpuRequest",
          "output": "Spu"
        },
        {
          "name": "DeleteSpu",
          "name_key": "SpuService.DeleteSpu",
          "input": "DeleteSpuRequest",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "MaintenanceService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "ListMaintenanceWindows",
          "name_key": "InternalMaintenanceService.ListMaintenanceWindows",
          "input": "ListMaintenanceWindowsRequest",
          "output": "ListMaintenanceWindowsResponse"
        },
        {
          "name": "GetMaintenanceWindow",
          "name_key": "InternalMaintenanceService.GetMaintenanceWindow",
          "input": "GetMaintenanceWindowRequest",
          "output": "MaintenanceWindow"
        },
        {
          "name": "UpdateMaintenanceWindow",
          "name_key": "InternalMaintenanceService.UpdateMaintenanceWindow",
          "input": "UpdateMaintenanceWindowRequest",
          "output": "MaintenanceWindow"
        },
        {
          "name": "SyncMaintenanceWindow",
          "name_key": "InternalMaintenanceService.SyncMaintenanceWindow",
          "input": "SyncMaintenanceWindowRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ListMaintenanceTasks",
          "name_key": "InternalMaintenanceService.ListMaintenanceTasks",
          "input": "ListMaintenanceTasksRequest",
          "output": "ListMaintenanceTasksResponse"
        },
        {
          "name": "QueryMaintenanceTasks",
          "name_key": "InternalMaintenanceService.QueryMaintenanceTasks",
          "input": "QueryMaintenanceTasksRequest",
          "output": "QueryMaintenanceTasksResponse"
        },
        {
          "name": "CountMaintenanceTasks",
          "name_key": "InternalMaintenanceService.CountMaintenanceTasks",
          "input": "CountMaintenanceTasksRequest",
          "output": "CountMaintenanceTasksResponse"
        },
        {
          "name": "GetMaintenanceTask",
          "name_key": "InternalMaintenanceService.GetMaintenanceTask",
          "input": "GetMaintenanceTaskRequest",
          "output": "MaintenanceTask"
        },
        {
          "name": "CreateMaintenanceTask",
          "name_key": "InternalMaintenanceService.CreateMaintenanceTask",
          "input": "CreateMaintenanceTaskRequest",
          "output": "MaintenanceTask"
        },
        {
          "name": "UpdateMaintenanceTask",
          "name_key": "InternalMaintenanceService.UpdateMaintenanceTask",
          "input": "UpdateMaintenanceTaskRequest",
          "output": "MaintenanceTask"
        },
        {
          "name": "ListMaintenanceTaskExecutions",
          "name_key": "InternalMaintenanceService.ListMaintenanceTaskExecutions",
          "input": "ListMaintenanceTaskExecutionsRequest",
          "output": "ListMaintenanceTaskExecutionsResponse"
        },
        {
          "name": "UpdateMaintenanceTaskExecution",
          "name_key": "InternalMaintenanceService.UpdateMaintenanceTaskExecution",
          "input": "UpdateMaintenanceTaskExecutionRequest",
          "output": "MaintenanceTaskExecution"
        },
        {
          "name": "QueryMaintenanceTaskExecutions",
          "name_key": "InternalMaintenanceService.QueryMaintenanceTaskExecutions",
          "input": "QueryMaintenanceTaskExecutionsRequest",
          "output": "QueryMaintenanceTaskExecutionsResponse"
        }
      ]
    },
    {
      "name": "VpcService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "ListVpcs",
          "name_key": "VpcService.ListVpcs",
          "input": "ListVpcsRequest",
          "output": "ListVpcsResponse"
        },
        {
          "name": "AddSecondaryCidr",
          "name_key": "VpcService.AddSecondaryCidr",
          "input": "AddSecondaryCidrRequest",
          "output": "global.dedicated.v1.Vpc"
        }
      ]
    },
    {
      "name": "CmekService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "CreateCustomerManagedEncryptionKey",
          "name_key": "CmekService.CreateCustomerManagedEncryptionKey",
          "input": "CreateCustomerManagedEncryptionKeyRequest",
          "output": "CustomerManagedEncryptionKey"
        },
        {
          "name": "GetCustomerManagedEncryptionKey",
          "name_key": "CmekService.GetCustomerManagedEncryptionKey",
          "input": "GetCustomerManagedEncryptionKeyRequest",
          "output": "CustomerManagedEncryptionKey"
        },
        {
          "name": "GetCustomerManagedEncryptionKeyByClusterId",
          "name_key": "CmekService.GetCustomerManagedEncryptionKeyByClusterId",
          "input": "GetCustomerManagedEncryptionKeyByClusterIdRequest",
          "output": "CustomerManagedEncryptionKey"
        },
        {
          "name": "ListCustomerManagedEncryptionKeys",
          "name_key": "CmekService.ListCustomerManagedEncryptionKeys",
          "input": "ListCustomerManagedEncryptionKeysRequest",
          "output": "ListCustomerManagedEncryptionKeysResponse"
        },
        {
          "name": "DeleteCustomerManagedEncryptionKey",
          "name_key": "CmekService.DeleteCustomerManagedEncryptionKey",
          "input": "DeleteCustomerManagedEncryptionKeyRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ShowCmekAccessIamPrincipal",
          "name_key": "CmekService.ShowCmekAccessIamPrincipal",
          "input": "ShowCmekAccessIamPrincipalRequest",
          "output": "ShowCmekAccessIamPrincipalResponse"
        }
      ]
    },
    {
      "name": "PrivateLinkServiceMigrationService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "CreatePrivateLinkServiceMigration",
          "name_key": "PrivateLinkServiceMigrationService.CreatePrivateLinkServiceMigration",
          "input": "CreatePrivateLinkServiceMigrationRequest",
          "output": "PrivateLinkServiceMigration"
        },
        {
          "name": "GetPrivateLinkServiceMigration",
          "name_key": "PrivateLinkServiceMigrationService.GetPrivateLinkServiceMigration",
          "input": "GetPrivateLinkServiceMigrationRequest",
          "output": "PrivateLinkServiceMigration"
        },
        {
          "name": "ListPrivateLinkServiceMigrations",
          "name_key": "PrivateLinkServiceMigrationService.ListPrivateLinkServiceMigrations",
          "input": "ListPrivateLinkServiceMigrationsRequest",
          "output": "ListPrivateLinkServiceMigrationsResponse"
        },
        {
          "name": "CancelPrivateLinkServiceMigration",
          "name_key": "PrivateLinkServiceMigrationService.CancelPrivateLinkServiceMigration",
          "input": "CancelPrivateLinkServiceMigrationRequest",
          "output": "PrivateLinkServiceMigration"
        }
      ]
    },
    {
      "name": "ResourcePoolService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "CreateResourcePool",
          "name_key": "ResourcePoolService.CreateResourcePool",
          "input": "CreateResourcePoolRequest",
          "output": "ResourcePool"
        },
        {
          "name": "GetResourcePool",
          "name_key": "ResourcePoolService.GetResourcePool",
          "input": "GetResourcePoolRequest",
          "output": "ResourcePool"
        },
        {
          "name": "ListResourcePools",
          "name_key": "ResourcePoolService.ListResourcePools",
          "input": "ListResourcePoolsRequest",
          "output": "ListResourcePoolsResponse"
        },
        {
          "name": "ListOrgResourcePools",
          "name_key": "ResourcePoolService.ListOrgResourcePools",
          "input": "ListOrgResourcePoolsRequest",
          "output": "ListOrgResourcePoolsResponse"
        },
        {
          "name": "ListOwnerResourcePools",
          "name_key": "ResourcePoolService.ListOwnerResourcePools",
          "input": "ListOwnerResourcePoolsRequest",
          "output": "ListOwnerResourcePoolsResponse"
        },
        {
          "name": "UpdateResourcePoolName",
          "name_key": "ResourcePoolService.UpdateResourcePoolName",
          "input": "UpdateResourcePoolNameRequest",
          "output": "ResourcePool"
        },
        {
          "name": "UpdateResourcePoolInstanceLimit",
          "name_key": "ResourcePoolService.UpdateResourcePoolInstanceLimit",
          "input": "UpdateResourcePoolInstanceLimitRequest",
          "output": "ResourcePool"
        },
        {
          "name": "UpdateOrgDefaultResourcePool",
          "name_key": "ResourcePoolService.UpdateOrgDefaultResourcePool",
          "input": "UpdateOrgDefaultResourcePoolRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "DeleteResourcePool",
          "name_key": "ResourcePoolService.DeleteResourcePool",
          "input": "DeleteResourcePoolRequest",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "MigrationClusterService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "CreateMigrationCluster",
          "name_key": "MigrationClusterService.CreateMigrationCluster",
          "input": "CreateMigrationClusterRequest",
          "output": "MigrationCluster"
        },
        {
          "name": "GetMigrationCluster",
          "name_key": "MigrationClusterService.GetMigrationCluster",
          "input": "GetMigrationClusterRequest",
          "output": "MigrationCluster"
        },
        {
          "name": "ListMigrationClusters",
          "name_key": "MigrationClusterService.ListMigrationClusters",
          "input": "ListMigrationClustersRequest",
          "output": "ListMigrationClustersResponse"
        },
        {
          "name": "DeleteMigrationCluster",
          "name_key": "MigrationClusterService.DeleteMigrationCluster",
          "input": "DeleteMigrationClusterRequest",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "RcuQuotaService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "GetRcuQuota",
          "name_key": "RcuQuotaService.GetRcuQuota",
          "input": "GetRcuQuotaRequest",
          "output": "RcuQuota"
        },
        {
          "name": "UpdateRcuQuota",
          "name_key": "RcuQuotaService.UpdateRcuQuota",
          "input": "UpdateRcuQuotaRequest",
          "output": "RcuQuota"
        },
        {
          "name": "ListOrgRcuQuotas",
          "name_key": "RcuQuotaService.ListOrgRcuQuotas",
          "input": "ListOrgRcuQuotasRequest",
          "output": "ListOrgRcuQuotasResponse"
        },
        {
          "name": "ListTenantQuota",
          "name_key": "RcuQuotaService.ListTenantQuota",
          "input": "ListTenantQuotaRequest",
          "output": "ListTenantQuotaResponse"
        },
        {
          "name": "UpdateTenantQuota",
          "name_key": "RcuQuotaService.UpdateTenantQuota",
          "input": "UpdateTenantQuotaRequest",
          "output": "TenantQuota"
        }
      ]
    },
    {
      "name": "DataSynchronizationService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "CreateDataSynchronization",
          "name_key": "DataSynchronizationService.CreateDataSynchronization",
          "input": "CreateDataSynchronizationRequest",
          "output": "DataSynchronization"
        },
        {
          "name": "GetDataSynchronization",
          "name_key": "DataSynchronizationService.GetDataSynchronization",
          "input": "GetDataSynchronizationRequest",
          "output": "DataSynchronization"
        },
        {
          "name": "DeleteDataSynchronization",
          "name_key": "DataSynchronizationService.DeleteDataSynchronization",
          "input": "DeleteDataSynchronizationRequest",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "PublicShadowPoolService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "BatchSet",
          "name_key": "PublicShadowPoolService.BatchSet",
          "input": "BatchSetRequest",
          "output": "BatchSetResponse"
        },
        {
          "name": "GetDataByIds",
          "name_key": "PublicShadowPoolService.GetDataByIds",
          "input": "GetDataByIdsRequest",
          "output": "GetDataByIdsResponse"
        }
      ]
    },
    {
      "name": "OrganizationConfigService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1",
      "type": "internal_api",
      "methods": [
        {
          "name": "UpdateOrganizationDefaultRuVersion",
          "name_key": "OrganizationConfigService.UpdateOrganizationDefaultRuVersion",
          "input": "UpdateOrganizationDefaultRuVersionRequest",
          "output": "OrganizationRuConfig"
        },
        {
          "name": "GetOrganizationDefaultRuVersion",
          "name_key": "OrganizationConfigService.GetOrganizationDefaultRuVersion",
          "input": "GetOrganizationDefaultRuVersionRequest",
          "output": "OrganizationRuConfig"
        }
      ]
    },
    {
      "name": "ClusterService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/bff/cluster_management/v1beta1",
      "type": "bff_console_api",
      "methods": [
        {
          "name": "ListClusters",
          "name_key": "BffClusterService.ListClusters",
          "input": "ListClustersRequest",
          "output": "ListClustersResponse"
        },
        {
          "name": "GetCluster",
          "name_key": "BffClusterService.GetCluster",
          "input": "GetClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "AdvancedModifyDedicatedCluster",
          "name_key": "BffClusterService.AdvancedModifyDedicatedCluster",
          "input": "AdvancedModifyDedicatedClusterRequest",
          "output": "Cluster"
        },
        {
          "name": "CheckModificationRisks",
          "name_key": "BffClusterService.CheckModificationRisks",
          "input": "CheckModificationRisksRequest",
          "output": "CheckModificationRisksResponse"
        },
        {
          "name": "EstimatePrice",
          "name_key": "BffClusterService.EstimatePrice",
          "input": "EstimatePriceRequest",
          "output": "EstimatePriceResponse"
        }
      ]
    },
    {
      "name": "TiDBService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/bff/cluster_management/v1beta2",
      "type": "bff_oneconsole_api",
      "methods": [
        {
          "name": "MoveTiDB",
          "name_key": "BffTiDBService.MoveTiDB",
          "input": "MoveTiDBRequest",
          "output": "MoveTiDBResponse"
        },
        {
          "name": "BatchMoveTiDBs",
          "name_key": "BffTiDBService.BatchMoveTiDBs",
          "input": "BatchMoveTiDBsRequest",
          "output": "BatchMoveTiDBsResponse"
        },
        {
          "name": "UpdateClusterProject",
          "name_key": "BffTiDBService.UpdateClusterProject",
          "input": "UpdateClusterProjectRequest",
          "output": "UpdateClusterProjectResponse"
        }
      ]
    },
    {
      "name": "RegionService",
      "package": "github.com/tidbcloud/tidb-management-service/api/spec/bff/cluster_management/v1beta2",
      "type": "bff_oneconsole_api",
      "methods": [
        {
          "name": "GetRegionByClusterId",
          "name_key": "BffRegionService.GetRegionByClusterId",
          "input": "GetRegionByClusterIdRequest",
          "output": "Region"
        },
        {
          "name": "GetRegionByLogicalName",
          "name_key": "BffRegionService.GetRegionByLogicalName",
          "input": "GetRegionByLogicalNameRequest",
          "output": "Region"
        }
      ]
    },
    {
      "name": "CoreService",
      "package": "github.com/tidbcloud/core-svc/idl/pbgen/proto/core",
      "type": "core_api",
      "methods": [
        {
          "name": "GetAccount",
          "name_key": "CoreService.GetAccount",
          "input": "GetAccountRequest",
          "output": "Account"
        },
        {
          "name": "SyncSystemVariables",
          "name_key": "CoreService.SyncSystemVariables",
          "input": "SyncSystemVariablesRequest",
          "output": "SyncSystemVariablesResponse"
        },
        {
          "name": "SyncPdOnlineConfig",
          "name_key": "CoreService.SyncPdOnlineConfig",
          "input": "SyncPdOnlineConfigRequest",
          "output": "SyncPdOnlineConfigResponse"
        }
      ]
    }
  ],
  "extensions": {
    "notes": [
      "Complete scan based on register.go (lines 418-472)",
      "Dedicated v1beta1: 8 services for classic Dedicated tier",
      "NextGen v1beta2: 10 services for Premium/BYOC tier (only 4 main ones scanned in detail)",
      "Serverless v1beta1: 1 service for Starter/Essential tier",
      "Zero v1beta1: 1 service for zero-cost trial instances",
      "Internal v1: 16 services for internal operations",
      "BFF v1beta1: 1 service for console UI",
      "BFF v1beta2: 2 services for one-console UI",
      "Core API: 1 service for core control plane operations",
      "Fresh codex rescan confirmed that RegisterGrpcServer has runtime side effects beyond proto registration: it mounts regional reverse-proxy routes and starts the shadow-pool worker."
    ]
  }
}
