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 31 kB

2 years ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999
  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. "schedule/pcm-schedule.api"
  11. "monitoring/pcm-monitoring.api"
  12. )
  13. info(
  14. title: "pcm api service"
  15. desc: "type desc here"
  16. author: "type author here"
  17. email: "type email here"
  18. version: "type version here"
  19. )
  20. //core端接口
  21. @server(
  22. prefix: pcm/v1
  23. group: core
  24. )
  25. service pcm {
  26. @doc "查询P端服务列表"
  27. @handler participantListHandler
  28. get /core/participantList returns (participantListResp)
  29. @doc "yaml提交任务"
  30. @handler scheduleTaskByYamlHandler
  31. post /core/scheduleTaskByYaml (scheduleTaskByYamlReq)
  32. @doc "提交任务"
  33. @handler commitTaskHandler
  34. post /core/commitTask (commitTaskReq)
  35. @doc "提交虚拟机任务"
  36. @handler commitVmTaskHandler
  37. post /core/commitVmTask (commitVmTaskReq) returns (commitVmTaskResp)
  38. @doc "删除任务"
  39. @handler deleteTaskHandler
  40. delete /core/deleteTask/:id (deleteTaskReq)
  41. @doc "查询任务列表"
  42. @handler TaskListHandler
  43. get /core/taskList (taskListReq) returns (taskListResp)
  44. @doc "查询任务详情"
  45. @handler TaskDetailHandler
  46. get /core/taskDetail/:taskId (taskDetailReq) returns (taskDetailResp)
  47. @doc "任务概览"
  48. @handler JobTotalHandler
  49. get /core/jobTotal returns (jobTotalResp)
  50. @doc "数据中心概览"
  51. @handler listCenterHandler
  52. get /core/listCenter returns (listCenterResp)
  53. @doc "查询集群列表"
  54. @handler listClusterHandler
  55. get /core/listCluster/:centerId (listClusterReq) returns (listClusterResp)
  56. @doc "获取region"
  57. @handler getRegionHandler
  58. get /core/getRegion returns (getRegionResp)
  59. @doc "获取region列表"
  60. @handler listRegionHandler
  61. get /core/listRegion returns (listRegionResp)
  62. @doc "查询算力"
  63. @handler getComputingPowerHandler
  64. get /core/getComputingPower returns (cpResp)
  65. @doc "查询通用信息"
  66. @handler getGeneralInfoHandler
  67. get /core/getGeneralInfo returns (GiResp)
  68. @doc "查询控制面板配置信息"
  69. @handler getResourcePanelConfigHandler
  70. get /core/getResourcePanelConfigHandler returns (ResourcePanelConfigResp)
  71. @doc "设置控制面板配置信息"
  72. @handler putResourcePanelConfigHandler
  73. put /core/resourcePanelConfigHandler (ResourcePanelConfigReq)
  74. @doc "获取算力统计信息"
  75. @handler getComputilityStatisticsHandler
  76. get /core/getComputilityStatistics returns (ComputilityStatisticsResp)
  77. @doc "获取节点资产"
  78. @handler nodeAssetsHandler
  79. get /core/assets returns (NodeAssetsResp)
  80. @doc "Center Resources top3"
  81. @handler centerResourcesHandler
  82. get /core/centerResources returns (centerResourcesResp)
  83. @doc "Synchronize Cluster Load Information"
  84. @handler syncClusterLoadHandler
  85. post /core/syncClusterLoad (syncClusterLoadReq)
  86. @doc "metrics"
  87. @handler metricsHandler
  88. get /core/metrics
  89. @doc "provide for adapter to pull task info from core"
  90. @handler pullTaskInfoHandler
  91. get /core/pullTaskInfo (PullTaskInfoReq) returns (PullTaskInfoResp)
  92. @doc "provide for adapter to push task info to core"
  93. @handler pushTaskInfoHandler
  94. post /core/pushTaskInfo (PushTaskInfoReq) returns (PushTaskInfoResp)
  95. @doc "provide for adapter to push resource info to core"
  96. @handler pushResourceInfoHandler
  97. post /core/pushResourceInfo (PushResourceInfoReq) returns (PushResourceInfoResp)
  98. @doc "provide for adapter to push notice info to core"
  99. @handler pushNoticeHandler
  100. post /core/pushNotice (PushNoticeReq) returns (PushNoticeResp)
  101. @doc "list notice"
  102. @handler listNoticeHandler
  103. get /core/listNotice (ListNoticeReq) returns (ListNoticeResp)
  104. @doc "paging queries the task list"
  105. @handler pageListTaskHandler
  106. get /core/task/list (pageTaskReq) returns(PageResult)
  107. @doc "Statistical task status"
  108. @handler countTaskStatus
  109. get /core/task/countTaskStatus () returns(TaskStatusResp)
  110. @doc "Home Page Overview"
  111. @handler homeOverviewHandler
  112. get /core/homeOverview (HomeOverviewReq) returns (HomeOverviewResp)
  113. }
  114. //hpc二级接口
  115. @server(
  116. prefix: pcm/v1
  117. group: hpc
  118. )
  119. service pcm {
  120. @doc "提交超算任务"
  121. @handler commitHpcTaskHandler
  122. post /hpc/commitHpcTask (commitHpcTaskReq) returns (commitHpcTaskResp)
  123. @doc "超算总览"
  124. @handler overViewHandler
  125. get /hpc/overview (hpcOverViewReq) returns (hpcOverViewResp)
  126. @doc "超算适配器列表"
  127. @handler adapterSummaryHandler
  128. get /hpc/adapterSummary (hpcAdapterSummaryReq) returns (hpcAdapterSummaryResp)
  129. @doc "超算查询任务列表"
  130. @handler jobHandler
  131. get /hpc/job (hpcJobReq) returns (hpcJobResp)
  132. @doc "超算资源总览"
  133. @handler resourceHandler
  134. get /hpc/resource (hpcResourceReq) returns (hpcResourceResp)
  135. @doc "超算查询资产列表"
  136. @handler queueAssetsHandler
  137. get /hpc/queueAssets returns (QueueAssetsResp)
  138. }
  139. //cloud二级接口
  140. @server(
  141. prefix: pcm/v1
  142. group: cloud
  143. )
  144. service pcm {
  145. @doc "云算任务列表"
  146. @handler cloudListHandler
  147. get /task/list returns (cloudListResp)
  148. @doc "yaml删除"
  149. @handler deleteYamlHandler
  150. get /cloud/DeleteYaml (ApplyReq) returns (DeleteResp)
  151. @doc "控制器监控"
  152. @handler controllerMetricsHandler
  153. get /cloud/controller/Metrics (ControllerMetricsReq) returns (ControllerMetricsResp)
  154. @doc "数算集群注册"
  155. @handler registerClusterHandler
  156. post /cloud/registerCluster (RegisterClusterReq) returns (CloudResp)
  157. @doc "数算集群删除"
  158. @handler deleteClusterHandler
  159. post /cloud/deleteCluster (deleteClusterReq) returns (CloudResp)
  160. @doc "触发租户更新"
  161. @handler noticeTenantHandler
  162. get /cloud/noticeTenant returns (CloudResp)
  163. @doc "租户更新"
  164. @handler updateTenantHandler
  165. post /cloud/updateTenant (UpdateTenantReq) returns (CloudResp)
  166. @doc "Obtain cluster list information according to adapterId"
  167. @handler getClusterListHandler
  168. get /core/clusterList (getClusterListReq) returns (getClusterListResp)
  169. @doc "Create cloud computing common tasks"
  170. @handler commitGeneralTask
  171. post /cloud/task/create (GeneralTaskReq) returns()
  172. }
  173. //智算二级接口
  174. @server(
  175. prefix: pcm/v1
  176. group: ai
  177. )
  178. service pcm {
  179. @doc "查询数据集列表"
  180. @handler listDataSetHandler
  181. get /ai/listDataSet/:projectId (DataSetReq) returns (DataSetResp)
  182. @doc "创建数据集"
  183. @handler CreateDataSetHandler
  184. post /ai/createDataSet/:projectId (CreateDataSetReq) returns (CreateDataSetResp)
  185. @doc "删除数据集"
  186. @handler DeleteDataSetHandler
  187. delete /ai/deleteDataSet/:projectId/:datasetId (DeleteDataSetReq) returns (DeleteDataSetResp)
  188. @doc "创建导入任务"
  189. @handler CreateTaskHandler
  190. post /ai/CreateTask/:projectId/:datasetId (ImportTaskDataReq) returns (ImportTaskDataResp)
  191. @doc "查询数据集导入任务列表"
  192. @handler ListImportHandler
  193. get /ai/ListImport/:projectId/:datasetId (ListImportTasksReq) returns (ListImportTasksResp)
  194. @doc "查询训练作业列表"
  195. @handler GetListTrainingJobsHandler
  196. get /ai/GetListTrainingJobs/:projectId (ListTrainingJobsreq) returns (ListTrainingJobsresp)
  197. @doc "删除训练作业"
  198. @handler DeleteTrainingJobHandler
  199. delete /ai/DeleteTrainingJob/:projectId/:trainingJobId (DeleteTrainingJobReq) returns (DeleteTrainingJobResp)
  200. @doc "创建算法"
  201. @handler CreateAlgorithmHandler
  202. post /ai/CreateAlgorithm/:projectId (CreateAlgorithmReq) returns (CreateAlgorithmResp)
  203. @doc "查询创建算法列表"
  204. @handler ListAlgorithms
  205. get /ai/ListAlgorithms/:projectId (ListAlgorithmsReq) returns (ListAlgorithmsResp)
  206. @doc "删除算法"
  207. @handler DeleteAlgorithm
  208. delete /ai/DeleteAlgorithm/:projectId/:algorithmId (DeleteAlgorithmReq) returns (DeleteAlgorithmResp)
  209. @doc "创建训练作业"
  210. @handler CreateTrainingJobHandler
  211. post /ai/CreateTrainingJob/:projectId (CreateTrainingJobReq) returns (CreateTrainingJobResp)
  212. @doc "展示算法详情"
  213. @handler ShowAlgorithmByUuid
  214. get /ai/ShowAlgorithmByUuid/:projectId/:algorithmId (ShowAlgorithmByUuidReq) returns (ShowAlgorithmByUuidResp)
  215. @doc "创建导出任务"
  216. @handler CreateExportTaskHandler
  217. post /ai/CreateExportTask/:projectId/:datasetId (CreateExportTaskReq) returns (ExportTaskDataResp)
  218. @doc "获取导出任务数据集"
  219. @handler GetExportTasksOfDatasetHandler
  220. get /ai/GetExportTasksOfDataset/:projectId/:datasetId (GetExportTasksOfDatasetReq) returns (GetExportTasksOfDatasetResp)
  221. @doc "获取导出任务数据集状态"
  222. @handler GetExportTaskStatusOfDatasetHandler
  223. get /ai/GetExportTaskStatusOfDataset/:projectId/:resourceId/:taskId (GetExportTaskStatusOfDatasetReq) returns (GetExportTaskStatusOfDatasetResp)
  224. @doc "创建处理任务"
  225. @handler CreateProcessorTaskHandler
  226. post /ai/CreateProcessorTask (CreateProcessorTaskReq) returns (CreateProcessorTaskResp)
  227. @doc "创建服务"
  228. @handler CreateServiceHandler
  229. post /ai/CreateService/:projectId (CreateServiceReq) returns (CreateServiceResp)
  230. @doc "展示服务"
  231. @handler ListServicesHandler
  232. get /ai/ListServices/:projectId (ListServicesReq) returns (ListServicesResp)
  233. @doc "展示服务详情"
  234. @handler ShowServiceHandler
  235. get /ai/ShowService/:projectId/:serviceId (ShowServiceReq) returns (ShowServiceResp)
  236. @doc "删除服务"
  237. @handler DeleteServiceHandler
  238. delete /ai/DeleteService/:projectId/:serviceId (DeleteServiceReq) returns (DeleteServiceResp)
  239. @doc "查询专属资源池列表"
  240. @handler ListClustersHandler
  241. get /ai/ListClusters (ListClustersReq) returns (ListClustersResp)
  242. /******************Notebook Method start*************************/
  243. @doc "查询notebook列表"
  244. @handler listNotebookHandler
  245. get /ai/listNotebook (ListNotebookReq) returns (ListNotebookResp)
  246. @doc "创建notebook"
  247. @handler createNotebookHandler
  248. post /ai/createNotebook (CreateNotebookReq) returns (CreateNotebookResp)
  249. @doc "启动notebook"
  250. @handler startNotebookHandler
  251. post /ai/startNotebook (StartNotebookReq) returns (StartNotebookResp)
  252. @doc "停止notebook"
  253. @handler stopNotebookHandler
  254. post /ai/stopNotebook (StopNotebookReq) returns (StopNotebookResp)
  255. @doc "查询notebook存储"
  256. @handler getNotebookStorageHandler
  257. get /ai/getNotebookStorage (GetNotebookStorageReq) returns (GetNotebookStorageResp)
  258. @doc "挂载notebook存储"
  259. @handler mountNotebookStorageHandler
  260. post /ai/mountNotebookStorage (MountNotebookStorageReq) returns (MountNotebookStorageResp)
  261. /******************Notebook Method end*************************/
  262. /******************Visualization Job Method start*************************/
  263. @doc "获取虚拟化任务"
  264. @handler getVisualizationJobHandler
  265. get /ai/getVisualizationJob (GetVisualizationJobReq) returns (GetVisualizationJobResp)
  266. @doc "创建虚拟化任务"
  267. @handler createVisualizationJobHandler
  268. post /ai/CreateVisualizationJob (CreateVisualizationJobReq) returns (CreateVisualizationJobResp)
  269. /******************Visualization Job Method start*************************/
  270. }
  271. //screen接口
  272. @server(
  273. prefix: pcm/v1
  274. group: storage
  275. )
  276. service pcm {
  277. @doc "存储概览"
  278. @handler screenStorageHandler
  279. get /storage/screenStorage (StorageScreenReq) returns (StorageScreenResp)
  280. @doc "日常算力查询"
  281. @handler dailyPowerScreenHandler
  282. get /storage/dailyPowerScreen (DailyPowerScreenReq) returns (DailyPowerScreenResp)
  283. @doc "算力中心算力情况"
  284. @handler perCenterComputerPowersHandler
  285. get /storage/perCenterComputerPowers (PerCenterComputerPowersReq) returns (PerCenterComputerPowersResp)
  286. }
  287. //镜像接口
  288. @server(
  289. prefix: pcm/v1
  290. group: image
  291. )
  292. service pcm {
  293. @doc "镜像上传"
  294. @handler uploadHandler
  295. post /upload
  296. @doc "镜像分块"
  297. @handler chunkHandler
  298. post /chunk
  299. @doc "查询镜像列表"
  300. @handler imageListHandler
  301. get /image/list returns (imageListResp)
  302. @doc "数据集检查"
  303. @handler dataSetCheckHandler
  304. get /dataSet/check/:fileMd5 (checkReq) returns (checkResp)
  305. @doc "上传数据集"
  306. @handler uploadDataSetHandler
  307. post /dataSet/upload
  308. }
  309. //openstack 接口
  310. @server(
  311. prefix: pcm/v1
  312. group: vm
  313. )
  314. service pcm {
  315. @doc "openstack计算中心概览"
  316. @handler GetComputeLimitsHandler
  317. get /vm/getComputeLimits (GetComputeLimitsReq) returns (GetComputeLimitsResp)
  318. @doc "查询卷列表"
  319. @handler GetVolumeLimitsHandler
  320. get /vm/getVolumeLimits (GetVolumeLimitsReq) returns (GetVolumeLimitsResp)
  321. @doc "查询网络数量"
  322. @handler GetNetworkNumHandler
  323. get /vm/getNetworkNum (ListNetworksReq) returns (NetworkNum)
  324. @doc "查询镜像数量"
  325. @handler getImageNumHandler
  326. get /vm/getImageNum (ListImagesReq) returns (ImageNum)
  327. @doc "查询虚拟机概览数据"
  328. @handler getOpenstackOverviewHandler
  329. get /vm/getOpenstackOverview (OpenstackOverviewReq) returns (OpenstackOverviewResp)
  330. @doc "查询虚拟机列表"
  331. @handler ListServerHandler
  332. get /vm/listServer (ListServersReq) returns (ListServersResp)
  333. @doc "查询虚拟机详情列表"
  334. @handler ListServersDetailedHandler
  335. get /vm/listServersDetailed (ListServersDetailedReq) returns (ListServersDetailedResp)
  336. @doc "删除虚拟机"
  337. @handler DeleteServerHandler
  338. delete /vm/deleteServer (DeleteServerReq) returns (DeleteServerResp)
  339. @doc "创建虚拟机"
  340. @handler CreateServerHandler
  341. post /vm/createServer (CreateServerReq) returns (CreateServerResp)
  342. @doc "跨域创建虚拟机"
  343. @handler CreateMulServerHandler
  344. post /vm/createMulServer (CreateMulServerReq) returns (CreateMulServerResp)
  345. @doc "根据ID查询虚拟机详情"
  346. @handler GetServersDetailedByIdHandler
  347. get /vm/getServersDetailedById (GetServersDetailedByIdReq) returns (GetServersDetailedByIdResp)
  348. @doc "更新虚拟机"
  349. @handler UpdateServerHandler
  350. put /vm/updateServer (UpdateServerReq) returns (UpdateServerResp)
  351. @doc "启动虚拟机"
  352. @handler StartServerHandler
  353. post /vm/startServer (StartServerReq) returns (StartServerResp)
  354. @doc "停止虚拟机"
  355. @handler StopServerHandler
  356. post /vm/stopServer (StopServerReq) returns (StopServerResp)
  357. @doc "重启虚拟机"
  358. @handler RebootServerHandler
  359. post /vm/rebootServer (RebootServerReq) returns (RebootServerResp)
  360. @doc "暂停虚拟机"
  361. @handler PauseServerHandler
  362. post /vm/pauseServer (PauseServerReq) returns (PauseServerResp)
  363. @doc "取消暂停虚拟机"
  364. @handler UnpauseServerHandler
  365. post /vm/unpauseServer (UnpauseServerReq) returns (UnpauseServerResp)
  366. @doc "调整大小"
  367. @handler ResizeServerHandler
  368. post /vm/resizeServer (ResizeServerReq) returns (ResizeServerResp)
  369. @doc "迁移"
  370. @handler MigrateServerHandler
  371. post /vm/migrateServer (MigrateServerReq) returns (MigrateServerResp)
  372. @doc "搁置"
  373. @handler ShelveServerHandler
  374. post /vm/shelveServer (ShelveServerReq) returns (ShelveServerResp)
  375. @doc "设置密码"
  376. @handler ChangeAdministrativePasswordHandler
  377. post /vm/changeAdministrativePassword (ChangeAdministrativePasswordReq) returns (ChangeAdministrativePasswordResp)
  378. @doc "救援"
  379. @handler RescueServerHandler
  380. post /vm/rescueServer (RescueServerReq) returns (RescueServerResp)
  381. @doc "取消救援"
  382. @handler UnRescueHandler
  383. post /vm/unRescueServer (UnRescueServerReq) returns (UnRescueServerResp)
  384. @doc "中止"
  385. @handler SuspendServerHandler
  386. post /vm/suspendServer (SuspendServerReq) returns (SuspendServerResp)
  387. @doc "将安全组添加到服务器"
  388. @handler AddSecurityGroupToServerHandler
  389. post /vm/addSecurityGroupToServer (AddSecurityGroupToServerReq) returns (AddSecurityGroupToServerResp)
  390. @doc "从服务器中删除安全"
  391. @handler removeSecurityGroupHandler
  392. post /vm/removeSecurityGroup (removeSecurityGroupReq) returns (removeSecurityGroupResp)
  393. @doc "创建规格"
  394. @handler CreateFlavorHandler
  395. post /vm/createFlavor (CreateFlavorReq) returns (CreateFlavorResp)
  396. @doc "创建规格"
  397. @handler DeleteFlavorHandler
  398. post /vm/deleteFlavor (DeleteFlavorReq) returns (DeleteFlavorResp)
  399. @doc "查询镜像列表"
  400. @handler ListImagesHandler
  401. get /vm/listImages (ListImagesReq) returns (ListImagesResp)
  402. @doc "删除镜像"
  403. @handler DeleteImageHandler
  404. delete /vm/deleteImage (DeleteImageReq) returns (DeleteImageResp)
  405. @doc "创建镜像"
  406. @handler CreateImageHandler
  407. post /vm/createImage (CreateImageReq) returns (CreateImageResp)
  408. @doc "上传镜像"
  409. @handler UploadImageHandler
  410. put /vm/uploadImage (UploadOsImageReq) returns (UploadOsImageResp)
  411. @doc "查询网络列表"
  412. @handler ListNetworksHandler
  413. get /vm/listNetworks (ListNetworksReq) returns (ListNetworksResp)
  414. @doc "删除网络"
  415. @handler DeleteNetworkHandler
  416. delete /vm/deleteNetwork (DeleteNetworkReq) returns (DeleteNetworkResp)
  417. @doc "创建网络"
  418. @handler CreateNetworkHandler
  419. post /vm/createNetwork (CreateNetworkReq) returns (CreateNetworkResp)
  420. @doc "创建子网"
  421. @handler CreateSubnetHandler
  422. post /vm/createSubnet (CreateSubnetReq) returns (CreateSubnetResp)
  423. @doc "查询网络详情"
  424. @handler ShowNetworkDetailsHandler
  425. get /vm/showNetworkDetails (ShowNetworkDetailsReq) returns (ShowNetworkDetailsResp)
  426. @doc "更新网络"
  427. @handler UpdateNetworkHandler
  428. put /vm/updateNetwork (UpdateNetworkReq) returns (UpdateNetworkResp)
  429. @doc "批量创建网络"
  430. @handler BulkCreateNetworksHandler
  431. post /vm/bulkCreateNetworks (BulkCreateNetworksReq) returns (BulkCreateNetworksResp)
  432. @doc "查询子网列表"
  433. @handler ListSubnetsHandler
  434. get /vm/listSubnets (ListSubnetsReq) returns (ListSubnetsResp)
  435. @doc "删除子网"
  436. @handler DeleteSubnetHandler
  437. delete /vm/deleteSubnet (DeleteSubnetReq) returns (DeleteSubnetResp)
  438. @doc "修改子网"
  439. @handler UpdateSubnetHandler
  440. put /vm/updateSubnet (UpdateSubnetReq) returns (UpdateSubnetResp)
  441. @doc "查询网络列表"
  442. @handler ListNetworkSegmentRangesRangeHandler
  443. get /vm/listNetworkSegmentRanges (ListNetworkSegmentRangesReq) returns (ListNetworkSegmentRangesResp)
  444. @doc "创建网段"
  445. @handler CreateNetworkSegmentRangeHandler
  446. post /vm/createNetworkSegmentRange (CreateNetworkSegmentRangeReq) returns (CreateNetworkSegmentRangeResp)
  447. @doc "删除网段"
  448. @handler DeleteNetworkSegmentRangesHandler
  449. delete /vm/deleteNetworkSegmentRanges (DeleteNetworkSegmentRangesReq) returns (DeleteNetworkSegmentRangesResp)
  450. @doc "修改网段"
  451. @handler UpdateNetworkSegmentRangesHandler
  452. put /vm/updateNetworkSegmentRanges (UpdateNetworkSegmentRangesReq) returns (UpdateNetworkSegmentRangesResp)
  453. @doc "显示网段详情"
  454. @handler ShowNetworkSegmentRangeDetailsHandler
  455. get /vm/showNetworkSegmentRangeDetails (ShowNetworkSegmentRangeDetailsReq) returns (ShowNetworkSegmentRangeDetailsResp)
  456. @doc "创建端口"
  457. @handler CreatePortHandler
  458. post /vm/createPort (CreatePortReq) returns (CreatePortResp)
  459. @doc "查询端口列表"
  460. @handler ListPortsHandler
  461. get /vm/listPortsReq (ListPortsReq) returns (ListPortsResp)
  462. @doc "删除端口"
  463. @handler DeletePortHandler
  464. delete /vm/deletePort (DeletePortReq) returns (DeletePortResp)
  465. @doc "修改端口"
  466. @handler UpdatePortHandler
  467. put /vm/updatePort (UpdatePortReq) returns (UpdatePortResp)
  468. @doc "查询端口详情"
  469. @handler ShowPortDetailsHandler
  470. get /vm/showPortDetails (ShowPortDetailsReq) returns (ShowPortDetailsResp)
  471. @doc "创建路由"
  472. @handler CreateRouterHandler
  473. post /vm/createRouter (CreateRouterReq) returns (CreateRouterResp)
  474. @doc "查询路由列表"
  475. @handler ListRoutersHandler
  476. get /vm/listRouters (ListRoutersReq) returns (ListRoutersResp)
  477. @doc "删除路由"
  478. @handler DeleteRouterHandler
  479. delete /vm/deleteRouter (DeleteRouterReq) returns (DeleteRouterResp)
  480. @doc "修改路由"
  481. @handler UpdateRouterHandler
  482. put /vm/updateRouter (UpdateRouterReq) returns (UpdateRouterResp)
  483. @doc "查询路由详情"
  484. @handler ShowRouterDetailsHandler
  485. get /vm/showRouterDetails (ShowRouterDetailsReq) returns (ShowRouterDetailsResp)
  486. @doc "创建浮动ip"
  487. @handler CreateFloatingIPHandler
  488. post /vm/createFloatingIP (CreateFloatingIPReq) returns (CreateFloatingIPResp)
  489. @doc "查询浮动ip列表"
  490. @handler ListFloatingIPsHandler
  491. get /vm/listFloatingIPs (ListFloatingIPsReq) returns (ListFloatingIPsResp)
  492. @doc "删除浮动ip"
  493. @handler DeleteFloatingIPHandler
  494. delete /vm/deleteFloatingIP (DeleteFloatingIPReq) returns (DeleteFloatingIPResp)
  495. @doc "修改浮动ip"
  496. @handler UpdateFloatingIPHandler
  497. put /vm/updateFloatingIP (UpdateFloatingIPReq) returns (UpdateFloatingIPResp)
  498. @doc "查询浮动ip详情"
  499. @handler ShowFloatingIPDetailsHandler
  500. get /vm/showFloatingIPDetails (ShowFloatingIPDetailsReq) returns (ShowFloatingIPDetailsResp)
  501. @doc "创建防火墙"
  502. @handler CreateFirewallGroupHandler
  503. post /vm/createFirewallGroup (CreateFirewallGroupReq) returns (CreateFirewallGroupResp)
  504. @doc "查询防火墙列表"
  505. @handler ListFirewallGroupsHandler
  506. get /vm/listFirewallGroups (ListFirewallGroupsReq) returns (ListFirewallGroupsResp)
  507. @doc "删除防火墙"
  508. @handler DeleteFirewallGroupHandler
  509. delete /vm/deleteFirewallGroup (DeleteFirewallGroupReq) returns (DeleteFirewallGroupResp)
  510. @doc "修改防火墙"
  511. @handler UpdateFirewallGroupHandler
  512. put /vm/updateFirewallGroup (UpdateFirewallGroupReq) returns (UpdateFirewallGroupResp)
  513. @doc "查询防火墙详情"
  514. @handler ShowFirewallGroupDetailsHandler
  515. get /vm/showFirewallGroupDetails (ShowFirewallGroupDetailsReq) returns (ShowFirewallGroupDetailsResp)
  516. @doc "创建防火墙策略"
  517. @handler CreateFirewallPolicyHandler
  518. post /vm/createFirewallPolicy (CreateFirewallPolicyReq) returns (CreateFirewallPolicyResp)
  519. @doc "查询防火墙策略列表"
  520. @handler ListFirewallPoliciesHandler
  521. get /vm/listFirewallPolicies (ListFirewallPoliciesReq) returns (ListFirewallPoliciesResp)
  522. @doc "删除防火墙策略"
  523. @handler DeleteFirewallPolicyHandler
  524. delete /vm/deleteFirewallPolicy (DeleteFirewallPolicyReq) returns (DeleteFirewallPolicyResp)
  525. @doc "查询防火墙策略详情"
  526. @handler ShowFirewallRuleDetailsHandler
  527. get /vm/showFirewallRuleDetails (ShowFirewallRuleDetailsReq) returns (ShowFirewallRuleDetailsResp)
  528. @doc "查询防火墙策略详情"
  529. @handler ShowFirewallPolicyDetailsHandler
  530. get /vm/showFirewallPolicyDetails (ShowFirewallPolicyDetailsReq) returns (ShowFirewallPolicyDetailsResp)
  531. @doc "创建防火墙策略"
  532. @handler CreateFirewallRuleHandler
  533. post /vm/createFirewallRule (CreateFirewallRuleReq) returns (CreateFirewallRuleResp)
  534. @doc "查询防火墙策略列表"
  535. @handler ListFirewallRulesHandler
  536. get /vm/listFirewallRules (ListFirewallRulesReq) returns (ListFirewallRulesResp)
  537. @doc "删除防火墙策略"
  538. @handler DeleteFirewallRuleHandler
  539. delete /vm/deleteFirewallRule (DeleteFirewallRuleReq) returns (DeleteFirewallRuleResp)
  540. @doc "创建安全组"
  541. @handler CreateSecurityGroupHandler
  542. post /vm/createSecurityGroup (CreateSecurityGroupReq) returns (CreateSecurityGroupResp)
  543. @doc "查询安全组列表"
  544. @handler ListSecurityGroupsHandler
  545. get /vm/listSecurityGroups (ListSecurityGroupsReq) returns (ListSecurityGroupsResp)
  546. @doc "删除安全组"
  547. @handler DeleteSecurityGroupHandler
  548. delete /vm/deleteSecurityGroup (DeleteSecurityGroupReq) returns (DeleteSecurityGroupResp)
  549. @doc "修改安全组"
  550. @handler UpdateSecurityGroupHandler
  551. put /vm/updateSecurityGroup (UpdateSecurityGroupReq) returns (UpdateSecurityGroupResp)
  552. @doc "查询安全组详情"
  553. @handler ShowSecurityGroupHandler
  554. get /vm/showSecurityGroup (ShowSecurityGroupReq) returns (ShowSecurityGroupResp)
  555. @doc "创建安全组规则"
  556. @handler CreateSecurityGroupRuleHandler
  557. post /vm/createSecurityGroupRule (CreateSecurityGroupRuleReq) returns (CreateSecurityGroupRuleResp)
  558. @doc "查询安全组规则列表"
  559. @handler ListSecurityGroupRulesHandler
  560. get /vm/listSecurityGroupRules (ListSecurityGroupRulesReq) returns (ListSecurityGroupRulesResp)
  561. @doc "删除安全组规则"
  562. @handler DeleteSecurityGroupRuleHandler
  563. delete /vm/deleteSecurityGroupRule (DeleteSecurityGroupRuleReq) returns (DeleteSecurityGroupRuleResp)
  564. @doc "查询安全组规则详情"
  565. @handler ShowSecurityGroupRuleHandler
  566. get /vm/showSecurityGroupRule (ShowSecurityGroupRuleReq) returns (ShowSecurityGroupRuleResp)
  567. @doc "查询卷详情列表"
  568. @handler ListVolumesDetailHandler
  569. get /vm/listVolumesDetail (ListVolumesDetailReq) returns (ListVolumesDetailResp)
  570. @doc "删除卷"
  571. @handler DeleteVolumeHandler
  572. delete /vm/deleteVolume (DeleteVolumeReq) returns (DeleteVolumeResp)
  573. @doc "创建卷"
  574. @handler CreateVolumeHandler
  575. post /vm/createVolume (CreateVolumeReq) returns (CreateVolumeResp)
  576. @doc "查询规格详情列表"
  577. @handler ListFlavorsDetailHandler
  578. get /vm/listFlavorsDetail (ListFlavorsDetailReq) returns (ListFlavorsDetailResp)
  579. @doc "查询规格类型列表"
  580. @handler ListVolumeTypesHandler
  581. get /vm/listVolumeTypes (ListVolumeTypesReq) returns (ListVolumeTypesResp)
  582. @doc "更新卷"
  583. @handler UpdateVolumeHandler
  584. put /vm/updateVolume (UpdateVolumeReq) returns (UpdateVolumeResp)
  585. @doc "创建卷类型"
  586. @handler CreateVolumeTypesHandler
  587. post /vm/createVolumeTypes (CreateVolumeTypeReq) returns (CreateVolumeTypeResp)
  588. @doc "删除卷类型"
  589. @handler DeleteVolumeTypeHandler
  590. delete /vm/deleteVolumeType (DeleteVolumeTypeReq) returns (DeleteVolumeTypeResp)
  591. @doc "查询卷列表"
  592. @handler ListVolumesHandler
  593. get /vm/listVolumes (ListVolumesReq) returns (ListVolumesResp)
  594. @doc "根据ID获取卷详情"
  595. @handler GetVolumeDetailedByIdHandler
  596. get /vm/getVolumeDetailedById (GetVolumeDetailedByIdReq) returns (GetVolumeDetailedByIdResp)
  597. @doc "查询节点列表"
  598. @handler ListNodesHandler
  599. get /vm/listNodes (ListNodesReq) returns (ListNodesResp)
  600. @doc "创建节点"
  601. @handler CreateNodeHandler
  602. post /vm/createNode (CreateNodeReq) returns (CreateNodeResp)
  603. @doc "删除节点"
  604. @handler DeleteNodeHandler
  605. delete /vm/deleteNode (DeleteNodeReq) returns (DeleteNodeResp)
  606. @doc "查询节点详情"
  607. @handler ShowNodeDetailsHandler
  608. get /vm/showNodeDetails (ShowNodeDetailsReq) returns (ShowNodeDetailsResp)
  609. }
  610. //存算联动 接口
  611. @server(
  612. prefix: pcm/v1
  613. group: storelink
  614. )
  615. service pcm {
  616. @handler UploadLinkImageHandler
  617. post /storelink/uploadImage (UploadLinkImageReq) returns (UploadLinkImageResp)
  618. @handler GetLinkImageListHandler
  619. get /storelink/getImageList (GetLinkImageListReq) returns (GetLinkImageListResp)
  620. @handler DeleteLinkImageHandler
  621. delete /storelink/deleteImage (DeleteLinkImageReq) returns (DeleteLinkImageResp)
  622. @handler SubmitLinkTaskHandler
  623. post /storelink/submitTask (SubmitLinkTaskReq) returns (SubmitLinkTaskResp)
  624. @handler GetLinkTaskHandler
  625. get /storelink/getTask (GetLinkTaskReq) returns (GetLinkTaskResp)
  626. @handler DeleteLinkTaskHandler
  627. delete /storelink/deleteTask (DeleteLinkTaskReq) returns (DeleteLinkTaskResp)
  628. @handler GetParticipantsHandler
  629. get /storelink/getParticipants (GetParticipantsReq) returns (GetParticipantsResp)
  630. @handler GetAISpecsHandler
  631. get /storelink/getResourceSpecs (GetResourceSpecsReq) returns (GetResourceSpecsResp)
  632. }
  633. // 接口
  634. @server(
  635. prefix: pcm/v1
  636. group: apps
  637. )
  638. service pcm {
  639. @doc "应用列表"
  640. @handler AppListHandler
  641. get /apps/list (AppListReq) returns (AppListResp)
  642. @doc "获取应用分发详情"
  643. @handler AppDetailHandler
  644. get /apps/distribute/:appName (AppDetailReq) returns (AppDetailResp)
  645. @doc "应用pods列表"
  646. @handler AppPodsHandler
  647. get /apps/pods/:appName (AppDetailReq) returns (AppDetailResp)
  648. @doc "获取应用详情"
  649. @handler GetAppByAppName
  650. get /apps/getAppByAppName/:appName (AppDetailReq) returns (AppTaskResp)
  651. @doc "删除应用"
  652. @handler DeleteAppByAppName
  653. delete /apps/deleteApp (DeleteAppReq) returns (DeleteAppResp)
  654. @doc "更新应用"
  655. @handler UpdateAppByAppName
  656. put /apps/updateApp (DeleteAppReq) returns (AppTaskResp)
  657. @doc "重启应用"
  658. @handler RestartAppByAppName
  659. put /apps/restartApp (DeleteAppReq) returns (AppResp)
  660. @doc "暂停应用"
  661. @handler PauseAppByAppName
  662. put /apps/pauseApp (DeleteAppReq) returns (AppResp)
  663. @doc "启动应用"
  664. @handler StartAppByAppName
  665. put /apps/startApp (DeleteAppReq) returns (AppResp)
  666. }
  667. // 接口
  668. @server(
  669. prefix: pcm/v1
  670. group: adapters
  671. )
  672. service pcm {
  673. @handler AdaptersListHandler
  674. get /adapter/list (AdapterQueryReq) returns (PageResult)
  675. @handler CreateAdapterHandler
  676. post /adapter/create (AdapterCreateReq) returns (AdapterResp)
  677. @handler UpdateAdapterHandler
  678. put /adapter/update (AdapterReq) returns (AdapterResp)
  679. @handler DeleteAdapterHandler
  680. delete /adapter/delete (AdapterDelReq) returns (AdapterResp)
  681. @handler GetAdapterHandler
  682. get /adapter/get (AdapterDelReq) returns (AdapterInfo)
  683. @handler ClusterListHandler
  684. get /adapter/cluster/list (ClusterReq) returns (PageResult)
  685. @handler CreateClusterHandler
  686. post /adapter/cluster/create (ClusterCreateReq) returns (ClusterResp)
  687. @handler UpdateClusterHandler
  688. put /adapter/cluster/update (ClusterCreateReq) returns (ClusterResp)
  689. @handler DeleteClusterHandler
  690. delete /adapter/cluster/delete (FId) returns (ClusterResp)
  691. @handler GetClusterHandler
  692. get /adapter/cluster/get (FId) returns (ClusterResp)
  693. @handler GetAdapterRelationHandler
  694. get /adapter/relation (AdapterRelationQueryReq) returns (PageResult)
  695. @handler GetClusterSumHandler
  696. get /adapter/clusterSum (clusterSumReq) returns (clusterSumReqResp)
  697. }
  698. @server(
  699. prefix: pcm/v1
  700. group: schedule
  701. )
  702. service pcm {
  703. @handler ScheduleGetAiResourceTypesHandler
  704. get /schedule/ai/getResourceTypes returns (AiResourceTypesResp)
  705. @handler ScheduleGetAiTaskTypesHandler
  706. get /schedule/ai/getTaskTypes returns (AiTaskTypesResp)
  707. @handler ScheduleGetDatasetsHandler
  708. get /schedule/ai/getDatasets/:adapterId (AiDatasetsReq) returns (AiDatasetsResp)
  709. @handler ScheduleGetStrategyHandler
  710. get /schedule/ai/getStrategies returns (AiStrategyResp)
  711. @handler ScheduleGetAlgorithmsHandler
  712. get /schedule/ai/getAlgorithms/:adapterId/:resourceType/:taskType/:dataset (AiAlgorithmsReq) returns (AiAlgorithmsResp)
  713. @handler ScheduleSubmitHandler
  714. post /schedule/submit (ScheduleReq) returns (ScheduleResp)
  715. }
  716. @server(
  717. prefix: pcm/v1
  718. group: dictionary
  719. )
  720. service pcm {
  721. @handler GetDict
  722. get /dict/:id (CId) returns (DictResp)
  723. @handler ListDict
  724. get /dicts (DictReq) returns (PageResult)
  725. @handler AddDict
  726. post /dict (DictEditReq) returns (DictResp)
  727. @handler EditDict
  728. put /dict (DictEditReq) returns (DictResp)
  729. @handler DeleteDict
  730. delete /dict/:id (CId) returns (DictResp)
  731. @handler GetDictItem
  732. get /dictItem/:id (CId) returns (DictItemResp)
  733. @handler ListDictItem
  734. get /dictItems (DictItemReq) returns (PageResult)
  735. @handler AddDictItem
  736. post /dictItem (DictItemEditReq) returns (DictItemResp)
  737. @handler EditDictItem
  738. put /dictItem (DictItemEditReq) returns (DictItemResp)
  739. @handler DeleteDictItem
  740. delete /dictItem/:id (CId) returns (DictItemResp)
  741. @handler ListDictItemByCode
  742. get /dictItem/code/:dictCode (DictCodeReq) returns (PageResult)
  743. }
  744. @server(
  745. prefix: pcm/v1
  746. group: monitoring
  747. )
  748. service pcm {
  749. @handler CreateAlertRuleHandler
  750. post /monitoring/alert/rule (CreateAlertRuleReq)
  751. @doc "alert rules"
  752. @handler alertRulesHandler
  753. get /monitoring/alert/rule (AlertRulesReq)returns (AlertRulesResp)
  754. @doc "cluster resource load"
  755. @handler clustersLoadHandler
  756. get /monitoring/cluster/load (clustersLoadReq) returns (clustersLoadResp)
  757. @doc "node resource load"
  758. @handler nodesLoadTopHandler
  759. get /monitoring/node/top (nodesLoadTopReq) returns (nodesLoadTopResp)
  760. @doc "alert list"
  761. @handler alertListHandler
  762. get /monitoring/alert/list (alertListReq) returns (alertListResp)
  763. @doc "Synchronize Cluster alert Information"
  764. @handler syncClusterAlertHandler
  765. post /core/syncClusterAlert (SyncClusterAlertReq)
  766. }

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.