{
  "repo": "tidbcloud/dataflow-service",
  "binary": "dataflow",
  "binary_path": "cmd/dataflow/main.go",
  "surface_kind": "mixed_service",
  "type": "mixed_service",
  "services": [
    {
      "name": "BackupInternalService",
      "package": "dataflow",
      "methods": [
        {
          "name": "CreateFinalBackup",
          "name_key": "BackupInternalService.CreateFinalBackup",
          "input": "CreateFinalBackupReq",
          "output": "CreateFinalBackupResp"
        },
        {
          "name": "DeleteDeletedClusterBackups",
          "name_key": "BackupInternalService.DeleteDeletedClusterBackups",
          "input": "ClusterIdReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "DeleteAllManualBackups",
          "name_key": "BackupInternalService.DeleteAllManualBackups",
          "input": "DeleteAllManualBackupsReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "DeleteAllBackups",
          "name_key": "BackupInternalService.DeleteAllBackups",
          "input": "DeleteAllBackupsReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ListRestoreOfProject",
          "name_key": "BackupInternalService.ListRestoreOfProject",
          "input": "ListRestoreOfProjectReq",
          "output": "ListRestoreOfProjectResp"
        },
        {
          "name": "GetRestore",
          "name_key": "BackupInternalService.GetRestore",
          "input": "GetRestoreReq",
          "output": "GetRestoreResp"
        },
        {
          "name": "Restore",
          "name_key": "BackupInternalService.Restore",
          "input": "BackupInternalRestoreReq",
          "output": "RestoreResp"
        },
        {
          "name": "GetBackup",
          "name_key": "BackupInternalService.GetBackup",
          "input": "GetBackupReq",
          "output": "GetBackupResp"
        },
        {
          "name": "GrantAccessBackupBucket",
          "name_key": "BackupInternalService.GrantAccessBackupBucket",
          "input": "GrantAccessBackupBucketReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "RevokeAccessBackupBucket",
          "name_key": "BackupInternalService.RevokeAccessBackupBucket",
          "input": "RevokeAccessBackupBucketReq",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "ImportInnerService",
      "package": "dataflow",
      "methods": [
        {
          "name": "Create",
          "name_key": "ImportInnerService.Create",
          "input": "ImportCreateReq",
          "output": "ClusterImportId"
        },
        {
          "name": "Get",
          "name_key": "ImportInnerService.Get",
          "input": "ClusterImportId",
          "output": "ImportGetResp"
        },
        {
          "name": "Cancel",
          "name_key": "ImportInnerService.Cancel",
          "input": "ClusterImportId",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "GetS3BucketRegion",
          "name_key": "ImportInnerService.GetS3BucketRegion",
          "input": "GetS3BucketRegionReq",
          "output": "GetS3BucketRegionResp"
        },
        {
          "name": "Validate",
          "name_key": "ImportInnerService.Validate",
          "input": "ImportValidateReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "Exit",
          "name_key": "ImportInnerService.Exit",
          "input": "ClusterImportId",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "List",
          "name_key": "ConsoleBackupService.List",
          "name_key": "ConsoleBackupService.List",
          "name_key": "ImportInnerService.List",
          "input": "ListImportReq",
          "output": "ListImportResp"
        }
      ]
    },
    {
      "name": "OpsInternalService",
      "package": "dataflow",
      "methods": [
        {
          "name": "ApplyConfigChanges",
          "name_key": "OpsInternalService.ApplyConfigChanges",
          "input": "ApplyConfigChangesReq",
          "output": "ApplyConfigChangesResp"
        },
        {
          "name": "UpdateTiCDCClusterStorage",
          "name_key": "OpsInternalService.UpdateTiCDCClusterStorage",
          "input": "UpdateTiCDCClusterStorageReq",
          "output": "UpdateTiCDCClusterStorageResp"
        },
        {
          "name": "ListInternalChangefeeds",
          "name_key": "OpsInternalService.ListInternalChangefeeds",
          "input": "ListInternalChangefeedsRequest",
          "output": "ListInternalChangefeedsResponse"
        },
        {
          "name": "GetInternalChangefeed",
          "name_key": "OpsInternalService.GetInternalChangefeed",
          "input": "GetInternalChangefeedRequest",
          "output": "InternalChangefeed"
        },
        {
          "name": "RestartChangefeed",
          "name_key": "OpsInternalService.RestartChangefeed",
          "input": "RestartChangefeedRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "PauseChangefeed",
          "name_key": "OpsInternalService.PauseChangefeed",
          "input": "PauseChangefeedRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ResumeChangefeed",
          "name_key": "OpsInternalService.ResumeChangefeed",
          "input": "ResumeChangefeedRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "GetInternalTiCDCCluster",
          "name_key": "OpsInternalService.GetInternalTiCDCCluster",
          "input": "GetInternalTiCDCClusterRequest",
          "output": "InternalTiCDCCluster"
        },
        {
          "name": "RestartTiCDCCluster",
          "name_key": "OpsInternalService.RestartTiCDCCluster",
          "input": "RestartTiCDCClusterRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "PauseClusterChangefeeds",
          "name_key": "OpsInternalService.PauseClusterChangefeeds",
          "input": "PauseClusterChangefeedsRequest",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "DumplingService",
      "package": "dataflow",
      "methods": [
        {
          "name": "CreateDumplingTask",
          "name_key": "DumplingService.CreateDumplingTask",
          "input": "CreateDumplingTaskReq",
          "output": "DumplingTaskID"
        },
        {
          "name": "GetDumplingTask",
          "name_key": "DumplingService.GetDumplingTask",
          "input": "DumplingTaskID",
          "output": "DumplingTask"
        },
        {
          "name": "CancelDumplingTask",
          "name_key": "DumplingService.CancelDumplingTask",
          "input": "DumplingTaskID",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "ConnectorService",
      "package": "dataflow",
      "methods": [
        {
          "name": "ListConnectors",
          "name_key": "ConnectorService.ListConnectors",
          "input": "ConnectorListReq",
          "output": "Connectors"
        },
        {
          "name": "GetConnector",
          "name_key": "ConnectorService.GetConnector",
          "input": "ConnectorID",
          "output": "Connector"
        },
        {
          "name": "GetClusterTCU",
          "name_key": "ConnectorService.GetClusterTCU",
          "input": "GetClusterTCUReq",
          "output": "GetClusterTCUResp"
        },
        {
          "name": "GetClusterTCUForAdmin",
          "name_key": "ConnectorService.GetClusterTCUForAdmin",
          "input": "GetClusterTCUReq",
          "output": "GetClusterTCUResp"
        },
        {
          "name": "DescribeAdminProfile",
          "name_key": "ConnectorService.DescribeAdminProfile",
          "input": "ClusterIdReq",
          "output": "AdminProfileResp"
        },
        {
          "name": "DescribeSchemaTable",
          "name_key": "ConnectorService.DescribeSchemaTable",
          "input": "DescribeSchemaTableReq",
          "output": "DescribeSchemaTableResp"
        },
        {
          "name": "ScaleChangefeed",
          "name_key": "ConnectorService.ScaleChangefeed",
          "input": "ChangefeedScaleReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "CalChangefeedFee",
          "name_key": "ConnectorService.CalChangefeedFee",
          "input": "CalChangefeedFeeReq",
          "output": "CalChangefeedFeeResp"
        },
        {
          "name": "StartConnector",
          "name_key": "ConnectorService.StartConnector",
          "input": "ConnectorID",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "StopConnector",
          "name_key": "ConnectorService.StopConnector",
          "input": "ConnectorID",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "CreateConnector",
          "name_key": "ConnectorService.CreateConnector",
          "input": "ConnectorCreateReq",
          "output": "ConnectorID"
        },
        {
          "name": "EditConnector",
          "name_key": "ConnectorService.EditConnector",
          "input": "ConnectorEditReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "DeleteConnector",
          "name_key": "ConnectorService.DeleteConnector",
          "input": "ConnectorID",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "TestConnector",
          "name_key": "ConnectorService.TestConnector",
          "input": "ConnectorCreateReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "CreatePrivateLink",
          "name_key": "ConnectorService.CreatePrivateLink",
          "input": "CreateChangefeedPrivateLinkReq",
          "output": "CreateChangefeedPrivateLinkResp"
        },
        {
          "name": "GetPrivateLink",
          "name_key": "ConnectorService.GetPrivateLink",
          "input": "GetChangefeedPrivateLinkReq",
          "output": "GetChangefeedPrivateLinkResp"
        },
        {
          "name": "GetPrivateLinkAuthInfo",
          "name_key": "ConnectorService.GetPrivateLinkAuthInfo",
          "input": "GetPrivateLinkAuthInfoReq",
          "output": "GetPrivateLinkAuthInfoResp"
        },
        {
          "name": "GeneratePrivateLinkAdvertisedPatternGroup",
          "name_key": "ConnectorService.GeneratePrivateLinkAdvertisedPatternGroup",
          "input": "GenerateAdvertisedPatternReq",
          "output": "GenerateAdvertisedPatternResp"
        },
        {
          "name": "GetPrivateLinkAvailableZones",
          "name_key": "ConnectorService.GetPrivateLinkAvailableZones",
          "input": "GetPrivateLinkAvailableZoneReq",
          "output": "GetPrivateLinkAvailableZoneResp"
        },
        {
          "name": "ListConnectorEnabledFeatures",
          "name_key": "ConnectorService.ListConnectorEnabledFeatures",
          "input": "ListConnectorEnabledFeaturesReq",
          "output": "ListConnectorEnabledFeaturesResp"
        },
        {
          "name": "GetChangefeedDetail",
          "name_key": "ConnectorService.GetChangefeedDetail",
          "input": "ConnectorID",
          "output": "google.protobuf.Struct"
        },
        {
          "name": "GetTiCDCCluster",
          "name_key": "ConnectorService.GetTiCDCCluster",
          "input": "ConnectorID",
          "output": "google.protobuf.Struct"
        },
        {
          "name": "ListTiCDCClusters",
          "name_key": "ConnectorService.ListTiCDCClusters",
          "input": "ClusterIdReq",
          "output": "google.protobuf.Struct"
        }
      ]
    },
    {
      "name": "ConsoleImportService",
      "package": "dataflow",
      "methods": [
        {
          "name": "Precheck",
          "name_key": "ConsoleImportService.Precheck",
          "input": "ImportPrecheckReq",
          "output": "ImportPrecheckResp"
        },
        {
          "name": "Create",
          "name_key": "ConsoleImportService.Create",
          "input": "ImportCreateReq",
          "output": "ClusterImportId"
        },
        {
          "name": "Get",
          "name_key": "ConsoleImportService.Get",
          "input": "ClusterImportId",
          "output": "ImportGetResp"
        },
        {
          "name": "List",
          "name_key": "ConsoleImportService.List",
          "input": "ListImportReq",
          "output": "ListImportResp"
        },
        {
          "name": "Cancel",
          "name_key": "ConsoleImportService.Cancel",
          "input": "ClusterImportId",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "Exit",
          "name_key": "ConsoleImportService.Exit",
          "input": "ClusterImportId",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "GetDataIngestionProfile",
          "name_key": "ConsoleImportService.GetDataIngestionProfile",
          "input": "ClusterIdReq",
          "output": "DataIngestionProfile"
        },
        {
          "name": "GetS3BucketRegion",
          "name_key": "ConsoleImportService.GetS3BucketRegion",
          "input": "GetS3BucketRegionReq",
          "output": "GetS3BucketRegionResp"
        },
        {
          "name": "Validate",
          "name_key": "ConsoleImportService.Validate",
          "input": "ImportValidateReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ApplyTableFilters",
          "name_key": "ConsoleImportService.ApplyTableFilters",
          "input": "ImportsApplyTableFiltersReq",
          "output": "ImportsApplyTableFiltersResp"
        },
        {
          "name": "GetSchemasMeta",
          "name_key": "ConsoleImportService.GetSchemasMeta",
          "input": "ImportsGetSchemasMetaReq",
          "output": "ImportsGetSchemasMetaResp"
        },
        {
          "name": "Preview",
          "name_key": "ConsoleImportService.Preview",
          "input": "ImportsPreviewReq",
          "output": "ImportsPreviewResp"
        },
        {
          "name": "PreviewCsvFile",
          "name_key": "ConsoleImportService.PreviewCsvFile",
          "input": "ImportsPreviewCsvFileReq",
          "output": "ImportsPreviewCsvFileResp"
        },
        {
          "name": "GenerateUploadUrl",
          "name_key": "ConsoleImportService.GenerateUploadUrl",
          "input": "ImportsGenerateUploadUrlReq",
          "output": "ImportsGenerateUploadUrlResp"
        },
        {
          "name": "PreviewLocal",
          "name_key": "ConsoleImportService.PreviewLocal",
          "input": "ImportsPreviewLocalReq",
          "output": "ImportsPreviewLocalResp"
        },
        {
          "name": "ListDataTypes",
          "name_key": "ConsoleImportService.ListDataTypes",
          "input": "google.protobuf.Empty",
          "output": "ImportsListDataTypesResp"
        },
        {
          "name": "GetTableColumns",
          "name_key": "ConsoleImportService.GetTableColumns",
          "input": "ImportsGetTableColumnsReq",
          "output": "ImportsGetTableColumnsResp"
        },
        {
          "name": "GetClusterTables",
          "name_key": "ConsoleImportService.GetClusterTables",
          "input": "ImportsGetClusterTablesReq",
          "output": "ImportsGetClusterTablesResp"
        },
        {
          "name": "ValidateTargetTableEmpty",
          "name_key": "ConsoleImportService.ValidateTargetTableEmpty",
          "input": "ImportsValidateTargetTableEmptyReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "SearchImportFiles",
          "name_key": "ConsoleImportService.SearchImportFiles",
          "input": "ImportsSearchImportFilesReq",
          "output": "ImportsSearchImportFilesResp"
        }
      ]
    },
    {
      "name": "SinkEndpointService",
      "package": "dataflow",
      "methods": [
        {
          "name": "CreateSinkEndpoint",
          "name_key": "SinkEndpointService.CreateSinkEndpoint",
          "input": "CreateSinkEndpointRequest",
          "output": "SinkEndpoint"
        },
        {
          "name": "ListSinkEndpoints",
          "name_key": "SinkEndpointService.ListSinkEndpoints",
          "input": "ListSinkEndpointsRequest",
          "output": "ListSinkEndpointsResponse"
        },
        {
          "name": "GetSinkEndpoint",
          "name_key": "SinkEndpointService.GetSinkEndpoint",
          "input": "GetSinkEndpointRequest",
          "output": "SinkEndpoint"
        },
        {
          "name": "DeleteSinkEndpoint",
          "name_key": "SinkEndpointService.DeleteSinkEndpoint",
          "input": "DeleteSinkEndpointRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ListSinkAvailabilityZones",
          "name_key": "SinkEndpointService.ListSinkAvailabilityZones",
          "input": "ListSinkAvailabilityZonesRequest",
          "output": "ListSinkAvailabilityZonesResponse"
        },
        {
          "name": "GenerateSinkAdvertisedListener",
          "name_key": "SinkEndpointService.GenerateSinkAdvertisedListener",
          "input": "GenerateSinkAdvertisedListenerRequest",
          "output": "GenerateSinkAdvertisedListenerResponse"
        },
        {
          "name": "ValidateSinkAdvertisedListenerDomain",
          "name_key": "SinkEndpointService.ValidateSinkAdvertisedListenerDomain",
          "input": "ValidateSinkAdvertisedListenerDomainRequest",
          "output": "ValidateSinkAdvertisedListenerDomainResponse"
        },
        {
          "name": "GetSinkEndpointAuthInfo",
          "name_key": "SinkEndpointService.GetSinkEndpointAuthInfo",
          "input": "GetSinkEndpointAuthInfoRequest",
          "output": "GetSinkEndpointAuthInfoResponse"
        }
      ]
    },
    {
      "name": "ReplayService",
      "package": "replay",
      "methods": [
        {
          "name": "CreateReplay",
          "name_key": "ReplayService.CreateReplay",
          "input": "CreateReplayRequest",
          "output": "CreateReplayResponse"
        },
        {
          "name": "ListReplays",
          "name_key": "ReplayService.ListReplays",
          "input": "ListReplaysRequest",
          "output": "ListReplaysResponse"
        },
        {
          "name": "GetReplay",
          "name_key": "ReplayService.GetReplay",
          "input": "GetReplayRequest",
          "output": "GetReplayResponse"
        },
        {
          "name": "UpdateReplay",
          "name_key": "ReplayService.UpdateReplay",
          "input": "UpdateReplayRequest",
          "output": "UpdateReplayResponse"
        },
        {
          "name": "DeleteReplay",
          "name_key": "ReplayService.DeleteReplay",
          "input": "DeleteReplayRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "StartReplay",
          "name_key": "ReplayService.StartReplay",
          "input": "StartReplayRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "StopReplay",
          "name_key": "ReplayService.StopReplay",
          "input": "StopReplayRequest",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "ConsoleBackupService",
      "package": "dataflow",
      "methods": [
        {
          "name": "List",
          "name_key": "ConsoleBackupService.List",
          "input": "BackupListReq",
          "output": "Backups"
        },
        {
          "name": "ListLogBackups",
          "name_key": "ConsoleBackupService.ListLogBackups",
          "input": "LogBackupListReq",
          "output": "LogBackupListResp"
        },
        {
          "name": "GetBackupOptions",
          "name_key": "ConsoleBackupService.GetBackupOptions",
          "input": "BackupOptionsReq",
          "output": "BackupOptionsResp"
        },
        {
          "name": "ModifyBackupSetting",
          "name_key": "ConsoleBackupService.ModifyBackupSetting",
          "input": "ModifyBackupSettingReq",
          "output": "BackupSettingResp"
        },
        {
          "name": "GetBackupSetting",
          "name_key": "ConsoleBackupService.GetBackupSetting",
          "input": "BackupSettingReq",
          "output": "BackupSettingResp"
        },
        {
          "name": "CreateBackupSchedule",
          "name_key": "ConsoleBackupService.CreateBackupSchedule",
          "input": "BackupCreateReq",
          "output": "CreateBackupScheduleResp"
        },
        {
          "name": "GetAutoSetting",
          "name_key": "ConsoleBackupService.GetAutoSetting",
          "input": "AutoBackupSettingReq",
          "output": "AutoBackupSetting"
        },
        {
          "name": "Delete",
          "name_key": "ConsoleBackupService.Delete",
          "input": "BackupReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "Restore",
          "name_key": "ConsoleBackupService.Restore",
          "input": "BackupRestoreReq",
          "output": "RestoreResp"
        },
        {
          "name": "ListPiTRTimeRanges",
          "name_key": "ConsoleBackupService.ListPiTRTimeRanges",
          "input": "PiTRTimeRangeListReq",
          "output": "PiTRTimeRangeListResp"
        },
        {
          "name": "GetRestoreProgress",
          "name_key": "ConsoleBackupService.GetRestoreProgress",
          "input": "RestoreProgressReq",
          "output": "RestoreProgressResp"
        },
        {
          "name": "ListRecycleBinClusters",
          "name_key": "ConsoleBackupService.ListRecycleBinClusters",
          "input": "ListRecycleBinClustersReq",
          "output": "ListRecycleBinClustersResp"
        },
        {
          "name": "ListRecycleBinClustersV2",
          "name_key": "ConsoleBackupService.ListRecycleBinClustersV2",
          "input": "ListRecycleBinClustersV2Req",
          "output": "ListRecycleBinClustersV2Resp"
        },
        {
          "name": "GetRecycleBinCluster",
          "name_key": "ConsoleBackupService.GetRecycleBinCluster",
          "input": "GetRecycleBinClusterReq",
          "output": "GetRecycleBinClusterResp"
        },
        {
          "name": "DeleteDeletedClusterAndBackups",
          "name_key": "ConsoleBackupService.DeleteDeletedClusterAndBackups",
          "input": "ClusterIdReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ListServerlessRestores",
          "name_key": "ConsoleBackupService.ListServerlessRestores",
          "input": "ListServerlessRestoresReq",
          "output": "ListServerlessRestoresResp"
        },
        {
          "name": "ListServerlessPiTRTimeRanges",
          "name_key": "ConsoleBackupService.ListServerlessPiTRTimeRanges",
          "input": "ListServerlessPiTRTimeRangesReq",
          "output": "ListServerlessPiTRTimeRangesResp"
        }
      ]
    },
    {
      "name": "BackupConsoleService",
      "package": "dataflow",
      "methods": [
        {
          "name": "ModifyBackupSetting",
          "name_key": "BackupConsoleService.ModifyBackupSetting",
          "input": "ModifyBackupSettingReqV2",
          "output": "ModifyBackupSettingRespV2"
        },
        {
          "name": "QueryBackupSetting",
          "name_key": "BackupConsoleService.QueryBackupSetting",
          "input": "QueryBackupSettingReq",
          "output": "QueryBackupSettingResp"
        },
        {
          "name": "ListRestores",
          "name_key": "BackupConsoleService.ListRestores",
          "input": "ListRestoresReq",
          "output": "ListRestoresResp"
        },
        {
          "name": "GetBackupExportProfile",
          "name_key": "BackupConsoleService.GetBackupExportProfile",
          "input": "GetBackupExportProfileReq",
          "output": "GetBackupExportProfileResp"
        },
        {
          "name": "CreateBackupExport",
          "name_key": "BackupConsoleService.CreateBackupExport",
          "input": "CreateBackupExportReq",
          "output": "CreateBackupExportResp"
        },
        {
          "name": "CancelBackupExport",
          "name_key": "BackupConsoleService.CancelBackupExport",
          "input": "CancelBackupExportReq",
          "output": "CancelBackupExportResp"
        },
        {
          "name": "ListBackupExports",
          "name_key": "BackupConsoleService.ListBackupExports",
          "input": "ListBackupExportsReq",
          "output": "ListBackupExportsResp"
        }
      ]
    },
    {
      "name": "ConnProfileService",
      "package": "dataflow",
      "methods": [
        {
          "name": "CreateConnProfile",
          "name_key": "ConnProfileService.CreateConnProfile",
          "input": "CreateConnProfileReq",
          "output": "CreateConnProfileResp"
        },
        {
          "name": "GetIPWhiteList",
          "name_key": "ConnProfileService.GetIPWhiteList",
          "input": "GetIPWhiteListReq",
          "output": "GetIPWhiteListResp"
        },
        {
          "name": "CreatePrivateLinkEndpoint",
          "name_key": "ConnProfileService.CreatePrivateLinkEndpoint",
          "input": "CreatePrivateLinkEndpointReq",
          "output": "CreatePrivateLinkEndpointResp"
        },
        {
          "name": "GetPrivateLinkEndpoint",
          "name_key": "ConnProfileService.GetPrivateLinkEndpoint",
          "input": "GetPrivateLinkEndpointReq",
          "output": "GetPrivateLinkEndpointResp"
        },
        {
          "name": "ValidateRemoteDBConnectivity",
          "name_key": "ConnProfileService.ValidateRemoteDBConnectivity",
          "input": "ValidateRemoteDBConnectivityReq",
          "output": "ValidateRemoteDBConnectivityResp"
        },
        {
          "name": "ValidateClusterConnectivity",
          "name_key": "ConnProfileService.ValidateClusterConnectivity",
          "input": "ValidateClusterConnectivityReq",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "DPFeatureService",
      "package": "dataflow",
      "methods": [
        {
          "name": "GetEnabledDPFeaturesForCluster",
          "name_key": "DPFeatureService.GetEnabledDPFeaturesForCluster",
          "input": "EnabledDPFeaturesForClusterReq",
          "output": "EnabledDPFeaturesForClusterResp"
        }
      ]
    },
    {
      "name": "ChangefeedInstanceTypeService",
      "package": "dataflow",
      "methods": [
        {
          "name": "List",
          "name_key": "ChangefeedInstanceTypeService.List",
          "input": "ChangefeedInstanceTypeListReq",
          "output": "ChangefeedInstanceTypes"
        }
      ]
    },
    {
      "name": "Backup",
      "package": "openapi.dp",
      "methods": [
        {
          "name": "ListBackupOfCluster",
          "name_key": "Backup.ListBackupOfCluster",
          "input": "ListBackupOfClusterReq",
          "output": "ListBackupOfClusterResp"
        },
        {
          "name": "GetBackupOfCluster",
          "name_key": "Backup.GetBackupOfCluster",
          "input": "GetBackupOfClusterReq",
          "output": "GetBackupOfClusterResp"
        },
        {
          "name": "CreateBackup",
          "name_key": "Backup.CreateBackup",
          "input": "CreateBackupReq",
          "output": "CreateBackupResp"
        },
        {
          "name": "DeleteBackup",
          "name_key": "Backup.DeleteBackup",
          "input": "DeleteBackupReq",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "Restore",
      "package": "openapi.dp",
      "methods": [
        {
          "name": "ListRestoreOfProject",
          "name_key": "Restore.ListRestoreOfProject",
          "input": "ListRestoreOfProjectReq",
          "output": "ListRestoreOfProjectResp"
        },
        {
          "name": "GetRestore",
          "name_key": "Restore.GetRestore",
          "input": "GetRestoreReq",
          "output": "GetRestoreResp"
        },
        {
          "name": "CreateRestore",
          "name_key": "Restore.CreateRestore",
          "input": "CreateRestoreReq",
          "output": "CreateRestoreResp"
        }
      ]
    },
    {
      "name": "Import",
      "package": "openapi.dp",
      "methods": [
        {
          "name": "ListImportTasks",
          "name_key": "Import.ListImportTasks",
          "input": "ListImportTasksReq",
          "output": "ListImportTasksResp"
        },
        {
          "name": "GetImportTask",
          "name_key": "Import.GetImportTask",
          "input": "GetImportTaskReq",
          "output": "GetImportTaskResp"
        },
        {
          "name": "GetImportTaskRoleInfo",
          "name_key": "Import.GetImportTaskRoleInfo",
          "input": "GetImportTaskRoleInfoReq",
          "output": "GetImportTaskRoleInfoResp"
        },
        {
          "name": "CreateImportTask",
          "name_key": "Import.CreateImportTask",
          "input": "CreateImportTaskReq",
          "output": "CreateImportTaskResp"
        },
        {
          "name": "UpdateImportTask",
          "name_key": "Import.UpdateImportTask",
          "input": "UpdateImportTaskReq",
          "output": "UpdateImportTaskResp"
        },
        {
          "name": "UploadLocalFile",
          "name_key": "Import.UploadLocalFile",
          "input": "UploadLocalFileReq",
          "output": "UploadLocalFileResp"
        },
        {
          "name": "PreviewImportData",
          "name_key": "Import.PreviewImportData",
          "input": "PreviewImportDataReq",
          "output": "PreviewImportDataResp"
        }
      ]
    },
    {
      "name": "ChangefeedService",
      "package": "openapi.v1beta1",
      "methods": [
        {
          "name": "ListChangefeeds",
          "name_key": "ChangefeedService.ListChangefeeds",
          "input": "ListChangefeedsRequest",
          "output": "ListChangefeedsResponse"
        },
        {
          "name": "GetChangefeed",
          "name_key": "ChangefeedService.GetChangefeed",
          "input": "GetChangefeedRequest",
          "output": "Changefeed"
        },
        {
          "name": "PauseChangefeed",
          "name_key": "ChangefeedService.PauseChangefeed",
          "input": "PauseChangefeedRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ResumeChangefeed",
          "name_key": "ChangefeedService.ResumeChangefeed",
          "input": "ResumeChangefeedRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "GetEventFilters",
          "name_key": "ChangefeedService.GetEventFilters",
          "input": "GetEventFiltersRequest",
          "output": "EventFilters"
        },
        {
          "name": "SetEventFilters",
          "name_key": "ChangefeedService.SetEventFilters",
          "input": "SetEventFiltersRequest",
          "output": "SetEventFiltersResponse"
        }
      ]
    },
    {
      "name": "DMService",
      "package": "dm",
      "methods": [
        {
          "name": "GetSupportedSources",
          "name_key": "DMService.GetSupportedSources",
          "input": "GetSupportedSourcesReq",
          "output": "GetSupportedSourcesResp"
        },
        {
          "name": "ListJobSpecs",
          "name_key": "DMService.ListJobSpecs",
          "input": "google.protobuf.Empty",
          "output": "ListJobSpecsResp"
        },
        {
          "name": "PrecheckJob",
          "name_key": "DMService.PrecheckJob",
          "input": "CreateJobReq",
          "output": "CreateJobResp"
        },
        {
          "name": "CreateJob",
          "name_key": "DMService.CreateJob",
          "input": "CreateJobReq",
          "output": "CreateJobResp"
        },
        {
          "name": "GetJob",
          "name_key": "DMService.GetJob",
          "input": "GetJobReq",
          "output": "GetJobResp"
        },
        {
          "name": "ListJobs",
          "name_key": "DMService.ListJobs",
          "input": "ListJobsReq",
          "output": "ListJobsResp"
        },
        {
          "name": "UpdateJob",
          "name_key": "DMService.UpdateJob",
          "input": "UpdateJobReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "DeleteJob",
          "name_key": "DMService.DeleteJob",
          "input": "DeleteJobReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "OperateJob",
          "name_key": "DMService.OperateJob",
          "input": "OperateJobReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "GetSourceTables",
          "name_key": "DMService.GetSourceTables",
          "input": "ValidateRemoteDBConnectivityReq",
          "output": "GetSourceTablesResp"
        },
        {
          "name": "CancelPrecheck",
          "name_key": "DMService.CancelPrecheck",
          "input": "CancelPrecheckReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "GetPrecheck",
          "name_key": "DMService.GetPrecheck",
          "input": "GetPrecheckJobReq",
          "output": "GetPrecheckJobResp"
        },
        {
          "name": "GetQuota",
          "name_key": "DMService.GetQuota",
          "input": "GetQuotaReq",
          "output": "GetQuotaResp"
        },
        {
          "name": "GetCost",
          "name_key": "DMService.GetCost",
          "input": "GetCostReq",
          "output": "GetCostResp"
        },
        {
          "name": "ScaleUpDownJob",
          "name_key": "DMService.ScaleUpDownJob",
          "input": "ScaleUpDownJobReq",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "PremiumMigrationService",
      "package": "premium_dm.v1beta2",
      "methods": [
        {
          "name": "CreatePremiumMigration",
          "name_key": "PremiumMigrationService.CreatePremiumMigration",
          "input": "CreatePremiumMigrationReq",
          "output": "PremiumMigration"
        },
        {
          "name": "GetPremiumMigration",
          "name_key": "PremiumMigrationService.GetPremiumMigration",
          "input": "GetPremiumMigrationReq",
          "output": "PremiumMigration"
        },
        {
          "name": "ListPremiumMigrations",
          "name_key": "PremiumMigrationService.ListPremiumMigrations",
          "input": "ListPremiumMigrationsReq",
          "output": "ListPremiumMigrationsResp"
        },
        {
          "name": "DeletePremiumMigration",
          "name_key": "PremiumMigrationService.DeletePremiumMigration",
          "input": "DeletePremiumMigrationReq",
          "output": "PremiumMigration"
        },
        {
          "name": "PausePremiumMigration",
          "name_key": "PremiumMigrationService.PausePremiumMigration",
          "input": "PausePremiumMigrationReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ResumePremiumMigration",
          "name_key": "PremiumMigrationService.ResumePremiumMigration",
          "input": "ResumePremiumMigrationReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "CreatePremiumMigrationPrecheck",
          "name_key": "PremiumMigrationService.CreatePremiumMigrationPrecheck",
          "input": "CreatePremiumMigrationReq",
          "output": "CreatePremiumMigrationPrecheckResp"
        },
        {
          "name": "PremiumMigrationCancelPrecheck",
          "name_key": "PremiumMigrationService.PremiumMigrationCancelPrecheck",
          "input": "CancelPremiumMigrationPrecheckReq",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "PremiumMigrationGetPrecheck",
          "name_key": "PremiumMigrationService.PremiumMigrationGetPrecheck",
          "input": "GetPremiumMigrationPrecheckReq",
          "output": "PremiumMigrationPrecheck"
        },
        {
          "name": "GetPremiumMigrationSourceTables",
          "name_key": "PremiumMigrationService.GetPremiumMigrationSourceTables",
          "input": "PremiumMigrationSourceDBConnProfile",
          "output": "GetSourceTablesResp"
        },
        {
          "name": "ValidatePremiumMigrationSourceConn",
          "name_key": "PremiumMigrationService.ValidatePremiumMigrationSourceConn",
          "input": "PremiumMigrationSourceDBConnProfile",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "ValidatePremiumMigrationMigrationTargetConn",
          "name_key": "PremiumMigrationService.ValidatePremiumMigrationMigrationTargetConn",
          "input": "PremiumMigrationTargetDBConnProfile",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "GetSupportedSources",
          "name_key": "PremiumMigrationService.GetSupportedSources",
          "input": "PremiumMigrationGetSupportedSourcesReq",
          "output": "PremiumMigrationGetSupportedSourcesResp"
        }
      ]
    },
    {
      "name": "AdminBackupService",
      "package": "adminapi.v1beta1",
      "methods": [
        {
          "name": "ListBackups",
          "name_key": "AdminBackupService.ListBackups",
          "input": "ListBackupsRequest",
          "output": "ListBackupsResponse"
        },
        {
          "name": "GetBackupExportProfile",
          "name_key": "AdminBackupService.GetBackupExportProfile",
          "input": "GetBackupExportProfileRequest",
          "output": "BackupExportProfile"
        },
        {
          "name": "CreateBackupExport",
          "name_key": "AdminBackupService.CreateBackupExport",
          "input": "CreateBackupExportRequest",
          "output": "BackupExport"
        },
        {
          "name": "ListBackupExports",
          "name_key": "AdminBackupService.ListBackupExports",
          "input": "ListBackupExportsRequest",
          "output": "ListBackupExportsResponse"
        },
        {
          "name": "GetBackupExport",
          "name_key": "AdminBackupService.GetBackupExport",
          "input": "GetBackupExportRequest",
          "output": "BackupExport"
        },
        {
          "name": "CancelBackupExport",
          "name_key": "AdminBackupService.CancelBackupExport",
          "input": "CancelBackupExportRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "CreateBackup",
          "name_key": "AdminBackupService.CreateBackup",
          "input": "CreateBackupRequest",
          "output": "Backup"
        },
        {
          "name": "GetBackup",
          "name_key": "AdminBackupService.GetBackup",
          "input": "GetBackupRequest",
          "output": "Backup"
        },
        {
          "name": "DeleteBackup",
          "name_key": "AdminBackupService.DeleteBackup",
          "input": "DeleteBackupRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "GetBackupOptions",
          "name_key": "AdminBackupService.GetBackupOptions",
          "input": "GetBackupOptionsRequest",
          "output": "BackupOptions"
        },
        {
          "name": "ModifyBackupSetting",
          "name_key": "AdminBackupService.ModifyBackupSetting",
          "input": "ModifyBackupSettingRequest",
          "output": "BackupSetting"
        },
        {
          "name": "GetBackupSetting",
          "name_key": "AdminBackupService.GetBackupSetting",
          "input": "GetBackupSettingRequest",
          "output": "BackupSetting"
        },
        {
          "name": "GetBackupPITRTimeRanges",
          "name_key": "AdminBackupService.GetBackupPITRTimeRanges",
          "input": "GetBackupPITRTimeRangesRequest",
          "output": "GetBackupPITRTimeRangesResponse"
        }
      ]
    },
    {
      "name": "AdminImportService",
      "package": "adminapi.v1beta1",
      "methods": [
        {
          "name": "ListImports",
          "name_key": "AdminImportService.ListImports",
          "input": "ListImportsRequest",
          "output": "ListImportsResponse"
        },
        {
          "name": "CreateImport",
          "name_key": "AdminImportService.CreateImport",
          "input": "CreateImportRequest",
          "output": "Import"
        },
        {
          "name": "GetImport",
          "name_key": "AdminImportService.GetImport",
          "input": "GetImportRequest",
          "output": "Import"
        },
        {
          "name": "CancelImport",
          "name_key": "AdminImportService.CancelImport",
          "input": "CancelImportRequest",
          "output": "google.protobuf.Empty"
        }
      ]
    },
    {
      "name": "ImportIntoService",
      "package": "adminapi.v1beta2",
      "methods": [
        {
          "name": "ListImportIntoTasks",
          "name_key": "ImportIntoService.ListImportIntoTasks",
          "input": "ListImportIntoTasksRequest",
          "output": "ListImportIntoTasksResponse"
        },
        {
          "name": "CreateImportIntoTask",
          "name_key": "ImportIntoService.CreateImportIntoTask",
          "input": "CreateImportIntoTaskRequest",
          "output": "ImportIntoTask"
        },
        {
          "name": "GetImportIntoTask",
          "name_key": "ImportIntoService.GetImportIntoTask",
          "input": "GetImportIntoTaskRequest",
          "output": "ImportIntoTask"
        },
        {
          "name": "CancelImportIntoTask",
          "name_key": "ImportIntoService.CancelImportIntoTask",
          "input": "CancelImportIntoTaskRequest",
          "output": "google.protobuf.Empty"
        },
        {
          "name": "CheckImportSourceConnection",
          "name_key": "ImportIntoService.CheckImportSourceConnection",
          "input": "CheckImportSourceConnectionReq",
          "output": "CheckImportSourceConnectionResp"
        },
        {
          "name": "CheckImportSource",
          "name_key": "ImportIntoService.CheckImportSource",
          "input": "CheckImportSourceReq",
          "output": "CheckImportSourceResp"
        },
        {
          "name": "CheckDatabaseConnectivity",
          "name_key": "ImportIntoService.CheckDatabaseConnectivity",
          "input": "CheckDatabaseConnectivityReq",
          "output": "CheckDatabaseConnectivityResp"
        }
      ]
    }
  ],
  "extensions": {
    "notes": [
      "This interface set reflects services that are actually registered by cmd/dataflow in internal/cmd/bootstrap/dataflow_http.go and dataflow_grpc.go.",
      "The previous KB incorrectly kept ServerlessBackupInternalService and OPSService in this binary even though cmd/dataflow does not register them.",
      "The same binary serves both direct gRPC and grpc-gateway HTTP surfaces; openapi/admin services such as openapi.dp Backup/Restore/Import, adminapi backup/import, and premium-dm are part of the exposed interface set even when their protobuf packages live outside this repository."
    ]
  }
}
