You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

pcm.api 16 kB

2 years ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. syntax = "v1"
  2. import (
  3. "core/pcm-core.api"
  4. "hpc/pcm-hpc.api"
  5. "ai/pcm-ai.api"
  6. "storage/pcm-storage.api"
  7. "vm/pcm-vm.api"
  8. "cloud/pcm-cloud.api"
  9. "storelink/pcm-storelink.api"
  10. )
  11. info(
  12. title: "pcm api service"
  13. desc: "type desc here"
  14. author: "type author here"
  15. email: "type email here"
  16. version: "type version here"
  17. )
  18. //core端接口
  19. @server(
  20. prefix: pcm/v1
  21. group : core
  22. )
  23. service pcm {
  24. @doc "查询P端服务列表"
  25. @handler participantListHandler
  26. get /core/participantList returns (participantListResp)
  27. @doc "yaml提交任务"
  28. @handler scheduleTaskByYamlHandler
  29. post /core/scheduleTaskByYaml (scheduleTaskByYamlReq) returns (scheduleTaskByYamlResp)
  30. @doc "提交超算任务"
  31. @handler commitHpcTaskHandler
  32. post /core/commitHpcTask (commitHpcTaskReq) returns (commitHpcTaskResp)
  33. @doc "删除任务"
  34. @handler deleteTaskHandler
  35. delete /core/deleteTask/:id (deleteTaskReq)
  36. @doc "查询任务列表"
  37. @handler TaskListHandler
  38. get /core/taskList (taskListReq) returns (taskListResp)
  39. @doc "查询任务详情"
  40. @handler TaskDetailHandler
  41. get /core/taskDetail/:taskId (taskDetailReq) returns (taskDetailResp)
  42. @doc "任务概览"
  43. @handler JobTotalHandler
  44. get /core/jobTotal returns (jobTotalResp)
  45. @doc "数据中心概览"
  46. @handler listCenterHandler
  47. get /core/listCenter returns (listCenterResp)
  48. @doc "查询集群列表"
  49. @handler listClusterHandler
  50. get /core/listCluster/:centerId (listClusterReq) returns (listClusterResp)
  51. @doc "提交任务(超算)"
  52. @handler submitJobHandler
  53. post /core/submitJob (submitJobReq) returns (submitJobResp)
  54. @doc "获取region"
  55. @handler getRegionHandler
  56. get /core/getRegion returns (getRegionResp)
  57. @doc "获取region列表"
  58. @handler listRegionHandler
  59. get /core/listRegion returns (listRegionResp)
  60. @doc "查询算力"
  61. @handler getComputingPowerHandler
  62. get /core/getComputingPower returns (cpResp)
  63. @doc "查询通用信息"
  64. @handler getGeneralInfoHandler
  65. get /core/getGeneralInfo returns (GiResp)
  66. @doc "查询各域资源信息"
  67. @handler listDomainResourceHandler
  68. get /core/listDomainResource returns (DomainResourceResp)
  69. @doc "查询控制面板配置信息"
  70. @handler getResourcePanelConfigHandler
  71. get /core/getResourcePanelConfigHandler returns (ResourcePanelConfigResp)
  72. @doc "设置控制面板配置信息"
  73. @handler putResourcePanelConfigHandler
  74. put /core/resourcePanelConfigHandler (ResourcePanelConfigReq)
  75. @doc "获取算力统计信息"
  76. @handler getComputilityStatisticsHandler
  77. get /core/getComputilityStatistics returns (ComputilityStatisticsResp)
  78. @doc "获取节点资产"
  79. @handler nodeAssetsHandler
  80. get /core/assets returns (NodeAssetsResp)
  81. @doc "保存hashcat"
  82. @handler saveHashcatHandler
  83. post /core/saveHashcat (SaveHashcatReq)
  84. @doc "Task Data Statistics"
  85. @handler tasksNumHandler
  86. get /core/tasks/num (tasksNumReq) returns (tasksNumResp)
  87. @doc "获取hashcat"
  88. @handler getHashcatHandler
  89. get /core/getHashcat/:crackTaskId (getHashcatHandlerReq) returns (getHashcatHandlerResp)
  90. @doc "Task Count Statistics"
  91. @handler tasksNumHandler
  92. get /core/tasks/num (tasksNumReq) returns (tasksNumResp)
  93. @doc "Hashcat Crack Progress"
  94. @handler crackProgressHandler
  95. get /core/crack/progress returns (crackProgressResp)
  96. @doc "Resource Center Information"
  97. @handler resourceCenterInfoHandler
  98. get /core/center/resource/:participantId (resourceCenterInfoReq) returns (resourceCenterInfoResp)
  99. }
  100. //hpc二级接口
  101. @server(
  102. prefix: pcm/v1
  103. group : hpc
  104. )
  105. service pcm {
  106. @doc "超算查询任务列表"
  107. @handler listJobHandler
  108. get /hpc/listJob (listJobReq) returns (listJobResp)
  109. @doc "超算查询历史任务列表"
  110. @handler listHistoryJobHandler
  111. get /hpc/listHistoryJob (listHistoryJobReq) returns (listHistoryJobResp)
  112. @doc "超算查询资产列表"
  113. @handler queueAssetsHandler
  114. get /queue/assets returns (QueueAssetsResp)
  115. }
  116. //cloud二级接口
  117. @server(
  118. prefix: pcm/v1
  119. group : cloud
  120. )
  121. service pcm {
  122. @doc "云算任务列表"
  123. @handler cloudListHandler
  124. get /task/list returns (cloudListResp)
  125. @doc "yaml删除"
  126. @handler deleteYamlHandler
  127. get /cloud/DeleteYaml (ApplyReq) returns (DeleteResp)
  128. }
  129. //智算二级接口
  130. @server(
  131. prefix: pcm/v1
  132. group : ai
  133. )
  134. service pcm {
  135. @doc "查询数据集列表"
  136. @handler listDataSetHandler
  137. get /ai/listDataSet/:projectId (DataSetReq) returns (DataSetResp)
  138. @doc "创建数据集"
  139. @handler CreateDataSetHandler
  140. post /ai/createDataSet/:projectId (CreateDataSetReq) returns (CreateDataSetResp)
  141. @doc "删除数据集"
  142. @handler DeleteDataSetHandler
  143. delete /ai/deleteDataSet/:projectId/:datasetId (DeleteDataSetReq) returns (DeleteDataSetResp)
  144. @doc "创建导入任务"
  145. @handler CreateTaskHandler
  146. post /ai/CreateTask/:projectId/:datasetId (ImportTaskDataReq) returns (ImportTaskDataResp)
  147. @doc "查询数据集导入任务列表"
  148. @handler ListImportHandler
  149. get /ai/ListImport/:projectId/:datasetId (ListImportTasksReq) returns (ListImportTasksResp)
  150. @doc "查询训练作业列表"
  151. @handler GetListTrainingJobsHandler
  152. get /ai/GetListTrainingJobs/:projectId (ListTrainingJobsreq) returns (ListTrainingJobsresp)
  153. @doc "删除训练作业"
  154. @handler DeleteTrainingJobHandler
  155. delete /ai/DeleteTrainingJob/:projectId/:trainingJobId (DeleteTrainingJobReq) returns (DeleteTrainingJobResp)
  156. @doc "创建算法"
  157. @handler CreateAlgorithmHandler
  158. post /ai/CreateAlgorithm/:projectId (CreateAlgorithmReq) returns (CreateAlgorithmResp)
  159. @doc "查询创建算法列表"
  160. @handler ListAlgorithms
  161. get /ai/ListAlgorithms/:projectId (ListAlgorithmsReq) returns (ListAlgorithmsResp)
  162. @doc "删除算法"
  163. @handler DeleteAlgorithm
  164. delete /ai/DeleteAlgorithm/:projectId/:algorithmId (DeleteAlgorithmReq) returns (DeleteAlgorithmResp)
  165. @doc "创建训练作业"
  166. @handler CreateTrainingJobHandler
  167. post /ai/CreateTrainingJob/:projectId (CreateTrainingJobReq) returns (CreateTrainingJobResp)
  168. @doc "展示算法详情"
  169. @handler ShowAlgorithmByUuid
  170. get /ai/ShowAlgorithmByUuid/:projectId/:algorithmId (ShowAlgorithmByUuidReq) returns (ShowAlgorithmByUuidResp)
  171. @doc "创建导出任务"
  172. @handler CreateExportTaskHandler
  173. post /ai/CreateExportTask/:projectId/:datasetId (CreateExportTaskReq) returns (ExportTaskDataResp)
  174. @doc "获取导出任务数据集"
  175. @handler GetExportTasksOfDatasetHandler
  176. get /ai/GetExportTasksOfDataset/:projectId/:datasetId (GetExportTasksOfDatasetReq) returns (GetExportTasksOfDatasetResp)
  177. @doc "获取导出任务数据集状态"
  178. @handler GetExportTaskStatusOfDatasetHandler
  179. get /ai/GetExportTaskStatusOfDataset/:projectId/:resourceId/:taskId (GetExportTaskStatusOfDatasetReq) returns (GetExportTaskStatusOfDatasetResp)
  180. @doc "创建处理任务"
  181. @handler CreateProcessorTaskHandler
  182. post /ai/CreateProcessorTask (CreateProcessorTaskReq) returns (CreateProcessorTaskResp)
  183. @doc "创建服务"
  184. @handler CreateServiceHandler
  185. post /ai/CreateService/:projectId (CreateServiceReq) returns (CreateServiceResp)
  186. @doc "展示服务"
  187. @handler ListServicesHandler
  188. get /ai/ListServices/:projectId (ListServicesReq) returns (ListServicesResp)
  189. @doc "展示服务详情"
  190. @handler ShowServiceHandler
  191. get /ai/ShowService/:projectId/:serviceId (ShowServiceReq) returns (ShowServiceResp)
  192. @doc "删除服务"
  193. @handler DeleteServiceHandler
  194. delete /ai/DeleteService/:projectId/:serviceId (DeleteServiceReq) returns (DeleteServiceResp)
  195. @doc "查询专属资源池列表"
  196. @handler ListClustersHandler
  197. get /ai/ListClusters (ListClustersReq) returns (ListClustersResp)
  198. /******************Notebook Method start*************************/
  199. @doc "查询notebook列表"
  200. @handler listNotebookHandler
  201. get /ai/listNotebook (ListNotebookReq) returns (ListNotebookResp)
  202. @doc "创建notebook"
  203. @handler createNotebookHandler
  204. post /ai/createNotebook (CreateNotebookReq) returns (CreateNotebookResp)
  205. @doc "启动notebook"
  206. @handler startNotebookHandler
  207. post /ai/startNotebook (StartNotebookReq) returns (StartNotebookResp)
  208. @doc "停止notebook"
  209. @handler stopNotebookHandler
  210. post /ai/stopNotebook (StopNotebookReq) returns (StopNotebookResp)
  211. @doc "查询notebook存储"
  212. @handler getNotebookStorageHandler
  213. get /ai/getNotebookStorage (GetNotebookStorageReq) returns (GetNotebookStorageResp)
  214. @doc "挂载notebook存储"
  215. @handler mountNotebookStorageHandler
  216. post /ai/mountNotebookStorage (MountNotebookStorageReq) returns (MountNotebookStorageResp)
  217. /******************Notebook Method end*************************/
  218. /******************Visualization Job Method start*************************/
  219. @doc "获取虚拟化任务"
  220. @handler getVisualizationJobHandler
  221. get /ai/getVisualizationJob (GetVisualizationJobReq) returns (GetVisualizationJobResp)
  222. @doc "创建虚拟化任务"
  223. @handler createVisualizationJobHandler
  224. post /ai/CreateVisualizationJob (CreateVisualizationJobReq) returns (CreateVisualizationJobResp)
  225. /******************Visualization Job Method start*************************/
  226. }
  227. //screen接口
  228. @server(
  229. prefix: pcm/v1
  230. group : storage
  231. )
  232. service pcm {
  233. @doc "存储概览"
  234. @handler screenStorageHandler
  235. get /storage/screenStorage (StorageScreenReq) returns (StorageScreenResp)
  236. @doc "日常算力查询"
  237. @handler dailyPowerScreenHandler
  238. get /storage/dailyPowerScreen (DailyPowerScreenReq) returns (DailyPowerScreenResp)
  239. @doc "算力中心算力情况"
  240. @handler perCenterComputerPowersHandler
  241. get /storage/perCenterComputerPowers (PerCenterComputerPowersReq) returns (PerCenterComputerPowersResp)
  242. }
  243. //镜像接口
  244. @server(
  245. prefix: pcm/v1
  246. group : image
  247. )
  248. service pcm {
  249. @doc "镜像上传"
  250. @handler uploadHandler
  251. post /upload
  252. @doc "镜像分块"
  253. @handler chunkHandler
  254. post /chunk
  255. @doc "查询镜像列表"
  256. @handler imageListHandler
  257. get /image/list returns (imageListResp)
  258. @doc "数据集检查"
  259. @handler dataSetCheckHandler
  260. get /dataSet/check/:fileMd5 (checkReq) returns (checkResp)
  261. @doc "上传数据集"
  262. @handler uploadDataSetHandler
  263. post /dataSet/upload
  264. }
  265. //openstack 接口
  266. @server(
  267. prefix: pcm/v1
  268. group : vm
  269. )
  270. service pcm {
  271. @doc "openstack计算中心概览"
  272. @handler GetComputeLimitsHandler
  273. get /vm/getComputeLimits (GetComputeLimitsReq) returns (GetComputeLimitsResp)
  274. @doc "查询卷列表"
  275. @handler GetVolumeLimitsHandler
  276. get /vm/getVolumeLimits (GetVolumeLimitsReq) returns (GetVolumeLimitsResp)
  277. @doc "查询虚拟机列表"
  278. @handler ListServerHandler
  279. get /vm/listServer (ListServersReq) returns (ListServersResp)
  280. @doc "查询虚拟机详情列表"
  281. @handler ListServersDetailedHandler
  282. get /vm/listServersDetailed (ListServersDetailedReq) returns (ListServersDetailedResp)
  283. @doc "删除虚拟机"
  284. @handler DeleteServerHandler
  285. delete /vm/deleteServer (DeleteServerReq) returns (DeleteServerResp)
  286. @doc "创建虚拟机"
  287. @handler CreateServerHandler
  288. post /vm/createServer (CreateServerReq) returns (CreateServerResp)
  289. @doc "根据ID查询虚拟机详情"
  290. @handler GetServersDetailedByIdHandler
  291. get /vm/getServersDetailedById (GetServersDetailedByIdReq) returns (GetServersDetailedByIdResp)
  292. @doc "更新虚拟机"
  293. @handler UpdateServerHandler
  294. put /vm/updateServer (UpdateServerReq) returns (UpdateServerResp)
  295. @doc "启动虚拟机"
  296. @handler StartServerHandler
  297. post /vm/startServer (StartServerReq) returns (StartServerResp)
  298. @doc "停止虚拟机"
  299. @handler StopServerHandler
  300. post /vm/stopServer (StopServerReq) returns (StopServerResp)
  301. @doc "重启虚拟机"
  302. @handler RebootServerHandler
  303. post /vm/rebootServer (RebootServerReq) returns (RebootServerResp)
  304. @doc "暂停虚拟机"
  305. @handler PauseServerHandler
  306. post /vm/pauseServer (PauseServerReq) returns (PauseServerResp)
  307. @doc "查询镜像列表"
  308. @handler ListImagesHandler
  309. get /vm/listImages (ListImagesReq) returns (ListImagesResp)
  310. @doc "删除镜像"
  311. @handler DeleteImageHandler
  312. delete /vm/deleteImage (DeleteImageReq) returns (DeleteImageResp)
  313. @doc "创建镜像"
  314. @handler CreateImageHandler
  315. post /vm/createImage (CreateImageReq) returns (CreateImageResp)
  316. @doc "上传镜像"
  317. @handler UploadImageHandler
  318. put /vm/uploadImage (UploadOsImageReq) returns (UploadOsImageResp)
  319. @doc "查询网络列表"
  320. @handler ListNetworksHandler
  321. get /vm/listNetworks (ListNetworksReq) returns (ListNetworksResp)
  322. @doc "删除网络"
  323. @handler DeleteNetworkHandler
  324. delete /vm/deleteNetwork (DeleteNetworkReq) returns (DeleteNetworkResp)
  325. @doc "创建网络"
  326. @handler CreateNetworkHandler
  327. post /vm/createNetwork (CreateNetworkReq) returns (CreateNetworkResp)
  328. @doc "创建子网"
  329. @handler CreateSubnetHandler
  330. post /vm/createSubnet (CreateSubnetReq) returns (CreateSubnetResp)
  331. @doc "查询网络详情"
  332. @handler ShowNetworkDetailsHandler
  333. get /vm/showNetworkDetails (ShowNetworkDetailsReq) returns (ShowNetworkDetailsResp)
  334. @doc "更新网络"
  335. @handler UpdateNetworkHandler
  336. put /vm/updateNetwork (UpdateNetworkReq) returns (UpdateNetworkResp)
  337. @doc "批量创建网络"
  338. @handler BulkCreateNetworksHandler
  339. post /vm/bulkCreateNetworks (BulkCreateNetworksReq) returns (BulkCreateNetworksResp)
  340. @doc "查询卷详情列表"
  341. @handler ListVolumesDetailHandler
  342. get /vm/listVolumesDetail (ListVolumesDetailReq) returns (ListVolumesDetailResp)
  343. @doc "删除卷"
  344. @handler DeleteVolumeHandler
  345. delete /vm/deleteVolume (DeleteVolumeReq) returns (DeleteVolumeResp)
  346. @doc "创建卷"
  347. @handler CreateVolumeHandler
  348. post /vm/createVolume (CreateVolumeReq) returns (CreateVolumeResp)
  349. @doc "查询规格详情列表"
  350. @handler ListFlavorsDetailHandler
  351. get /vm/listFlavorsDetail (ListFlavorsDetailReq) returns (ListFlavorsDetailResp)
  352. @doc "查询规格类型列表"
  353. @handler ListVolumeTypesHandler
  354. get /vm/listVolumeTypes (ListVolumeTypesReq) returns (ListVolumeTypesResp)
  355. @doc "更新卷"
  356. @handler UpdateVolumeHandler
  357. put /vm/updateVolume (UpdateVolumeReq) returns (UpdateVolumeResp)
  358. @doc "创建卷类型"
  359. @handler CreateVolumeTypesHandler
  360. post /vm/createVolumeTypes (CreateVolumeTypeReq) returns (CreateVolumeTypeResp)
  361. @doc "删除卷类型"
  362. @handler DeleteVolumeTypeHandler
  363. delete /vm/deleteVolumeType (DeleteVolumeTypeReq) returns (DeleteVolumeTypeResp)
  364. @doc "查询卷列表"
  365. @handler ListVolumesHandler
  366. get /vm/listVolumes (ListVolumesReq) returns (ListVolumesResp)
  367. @doc "根据ID获取卷详情"
  368. @handler GetVolumeDetailedByIdHandler
  369. get /vm/getVolumeDetailedById (GetVolumeDetailedByIdReq) returns (GetVolumeDetailedByIdResp)
  370. @doc "查询节点列表"
  371. @handler ListNodesHandler
  372. get /vm/listNodes (ListNodesReq) returns (ListNodesResp)
  373. @doc "创建节点"
  374. @handler CreateNodeHandler
  375. post /vm/createNode (CreateNodeReq) returns (CreateNodeResp)
  376. @doc "删除节点"
  377. @handler DeleteNodeHandler
  378. delete /vm/deleteNode (DeleteNodeReq) returns (DeleteNodeResp)
  379. @doc "查询节点详情"
  380. @handler ShowNodeDetailsHandler
  381. get /vm/showNodeDetails (ShowNodeDetailsReq) returns (ShowNodeDetailsResp)
  382. }
  383. //存算联动 接口
  384. @server(
  385. prefix: pcm/v1
  386. group : storelink
  387. )
  388. service pcm {
  389. @handler UploadLinkImageHandler
  390. post /storelink/uploadImage (UploadLinkImageReq) returns (UploadLinkImageResp)
  391. @handler GetLinkImageListHandler
  392. get /storelink/getImageList (GetLinkImageListReq) returns (GetLinkImageListResp)
  393. @handler DeleteLinkImageHandler
  394. delete /storelink/deleteImage (DeleteLinkImageReq) returns (DeleteLinkImageResp)
  395. @handler SubmitLinkTaskHandler
  396. post /storelink/submitTask (SubmitLinkTaskReq) returns (SubmitLinkTaskResp)
  397. @handler GetLinkTaskHandler
  398. get /storelink/getTask (GetLinkTaskReq) returns (GetLinkTaskResp)
  399. @handler DeleteLinkTaskHandler
  400. delete /storelink/deleteTask (DeleteLinkTaskReq) returns (DeleteLinkTaskResp)
  401. @handler GetParticipantsHandler
  402. get /storelink/getParticipants (GetParticipantsReq) returns (GetParticipantsResp)
  403. @handler GetAISpecsHandler
  404. get /storelink/getResourceSpecs (GetResourceSpecsReq) returns (GetResourceSpecsResp)
  405. }

PCM is positioned as Software stack over Cloud, aiming to build the standards and ecology of heterogeneous cloud collaboration for JCC in a non intrusive and autonomous peer-to-peer manner.