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.

routes.go 33 kB

2 years ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269
  1. // Code generated by goctl. DO NOT EDIT.
  2. package handler
  3. import (
  4. "net/http"
  5. adapters "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/handler/adapters"
  6. ai "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/handler/ai"
  7. cloud "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/handler/cloud"
  8. core "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/handler/core"
  9. dictionary "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/handler/dictionary"
  10. hpc "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/handler/hpc"
  11. monitoring "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/handler/monitoring"
  12. schedule "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/handler/schedule"
  13. storage "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/handler/storage"
  14. storelink "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/handler/storelink"
  15. vm "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/handler/vm"
  16. "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/svc"
  17. "github.com/zeromicro/go-zero/rest"
  18. )
  19. func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
  20. server.AddRoutes(
  21. []rest.Route{
  22. {
  23. Method: http.MethodGet,
  24. Path: "/core/participantList",
  25. Handler: core.ParticipantListHandler(serverCtx),
  26. },
  27. {
  28. Method: http.MethodPost,
  29. Path: "/core/scheduleTaskByYaml",
  30. Handler: core.ScheduleTaskByYamlHandler(serverCtx),
  31. },
  32. {
  33. Method: http.MethodPost,
  34. Path: "/core/commitTask",
  35. Handler: core.CommitTaskHandler(serverCtx),
  36. },
  37. {
  38. Method: http.MethodPost,
  39. Path: "/core/commitVmTask",
  40. Handler: core.CommitVmTaskHandler(serverCtx),
  41. },
  42. {
  43. Method: http.MethodDelete,
  44. Path: "/core/deleteTask/:id",
  45. Handler: core.DeleteTaskHandler(serverCtx),
  46. },
  47. {
  48. Method: http.MethodGet,
  49. Path: "/core/taskList",
  50. Handler: core.TaskListHandler(serverCtx),
  51. },
  52. {
  53. Method: http.MethodGet,
  54. Path: "/core/jobTotal",
  55. Handler: core.JobTotalHandler(serverCtx),
  56. },
  57. {
  58. Method: http.MethodGet,
  59. Path: "/core/listCenter",
  60. Handler: core.ListCenterHandler(serverCtx),
  61. },
  62. {
  63. Method: http.MethodGet,
  64. Path: "/core/listCluster/:centerId",
  65. Handler: core.ListClusterHandler(serverCtx),
  66. },
  67. {
  68. Method: http.MethodGet,
  69. Path: "/core/getRegion",
  70. Handler: core.GetRegionHandler(serverCtx),
  71. },
  72. {
  73. Method: http.MethodGet,
  74. Path: "/core/listRegion",
  75. Handler: core.ListRegionHandler(serverCtx),
  76. },
  77. {
  78. Method: http.MethodGet,
  79. Path: "/core/getComputingPower",
  80. Handler: core.GetComputingPowerHandler(serverCtx),
  81. },
  82. {
  83. Method: http.MethodGet,
  84. Path: "/core/getGeneralInfo",
  85. Handler: core.GetGeneralInfoHandler(serverCtx),
  86. },
  87. {
  88. Method: http.MethodGet,
  89. Path: "/core/getResourcePanelConfigHandler",
  90. Handler: core.GetResourcePanelConfigHandler(serverCtx),
  91. },
  92. {
  93. Method: http.MethodPut,
  94. Path: "/core/resourcePanelConfigHandler",
  95. Handler: core.PutResourcePanelConfigHandler(serverCtx),
  96. },
  97. {
  98. Method: http.MethodGet,
  99. Path: "/core/getComputilityStatistics",
  100. Handler: core.GetComputilityStatisticsHandler(serverCtx),
  101. },
  102. {
  103. Method: http.MethodGet,
  104. Path: "/core/assets",
  105. Handler: core.NodeAssetsHandler(serverCtx),
  106. },
  107. {
  108. Method: http.MethodGet,
  109. Path: "/core/centerResources",
  110. Handler: core.CenterResourcesHandler(serverCtx),
  111. },
  112. {
  113. Method: http.MethodPost,
  114. Path: "/core/syncClusterLoad",
  115. Handler: core.SyncClusterLoadHandler(serverCtx),
  116. },
  117. {
  118. Method: http.MethodGet,
  119. Path: "/core/metrics",
  120. Handler: core.MetricsHandler(serverCtx),
  121. },
  122. {
  123. Method: http.MethodGet,
  124. Path: "/core/pullTaskInfo",
  125. Handler: core.PullTaskInfoHandler(serverCtx),
  126. },
  127. {
  128. Method: http.MethodPost,
  129. Path: "/core/pushTaskInfo",
  130. Handler: core.PushTaskInfoHandler(serverCtx),
  131. },
  132. {
  133. Method: http.MethodPost,
  134. Path: "/core/pushResourceInfo",
  135. Handler: core.PushResourceInfoHandler(serverCtx),
  136. },
  137. {
  138. Method: http.MethodPost,
  139. Path: "/core/pushNotice",
  140. Handler: core.PushNoticeHandler(serverCtx),
  141. },
  142. {
  143. Method: http.MethodGet,
  144. Path: "/core/listNotice",
  145. Handler: core.ListNoticeHandler(serverCtx),
  146. },
  147. {
  148. Method: http.MethodGet,
  149. Path: "/core/task/list",
  150. Handler: core.PageListTaskHandler(serverCtx),
  151. },
  152. {
  153. Method: http.MethodGet,
  154. Path: "/core/task/countTaskStatus",
  155. Handler: core.CountTaskStatusHandler(serverCtx),
  156. },
  157. {
  158. Method: http.MethodGet,
  159. Path: "/core/homeOverview",
  160. Handler: core.HomeOverviewHandler(serverCtx),
  161. },
  162. {
  163. Method: http.MethodGet,
  164. Path: "/core/task/details",
  165. Handler: core.TaskDetailsHandler(serverCtx),
  166. },
  167. {
  168. Method: http.MethodGet,
  169. Path: "/core/getPublicImage",
  170. Handler: core.GetPublicImageHandler(serverCtx),
  171. },
  172. {
  173. Method: http.MethodGet,
  174. Path: "/core/getPublicFlavor",
  175. Handler: core.GetPublicFlavorHandler(serverCtx),
  176. },
  177. {
  178. Method: http.MethodGet,
  179. Path: "/core/getPublicNetwork",
  180. Handler: core.GetPublicNetworkHandler(serverCtx),
  181. },
  182. {
  183. Method: http.MethodGet,
  184. Path: "/core/getDomainResource",
  185. Handler: core.GetDomainResourceHandler(serverCtx),
  186. },
  187. {
  188. Method: http.MethodGet,
  189. Path: "/core/getScreenInfo",
  190. Handler: core.GetScreenInfoHandler(serverCtx),
  191. },
  192. {
  193. Method: http.MethodGet,
  194. Path: "/core/getScreenChart",
  195. Handler: core.GetScreenChartHandler(serverCtx),
  196. },
  197. },
  198. rest.WithPrefix("/pcm/v1"),
  199. )
  200. server.AddRoutes(
  201. []rest.Route{
  202. {
  203. Method: http.MethodPost,
  204. Path: "/hpc/commitHpcTask",
  205. Handler: hpc.CommitHpcTaskHandler(serverCtx),
  206. },
  207. {
  208. Method: http.MethodGet,
  209. Path: "/hpc/overview",
  210. Handler: hpc.OverViewHandler(serverCtx),
  211. },
  212. {
  213. Method: http.MethodGet,
  214. Path: "/hpc/adapterSummary",
  215. Handler: hpc.AdapterSummaryHandler(serverCtx),
  216. },
  217. {
  218. Method: http.MethodGet,
  219. Path: "/hpc/job",
  220. Handler: hpc.JobHandler(serverCtx),
  221. },
  222. {
  223. Method: http.MethodGet,
  224. Path: "/hpc/resource",
  225. Handler: hpc.ResourceHandler(serverCtx),
  226. },
  227. {
  228. Method: http.MethodGet,
  229. Path: "/hpc/queueAssets",
  230. Handler: hpc.QueueAssetsHandler(serverCtx),
  231. },
  232. },
  233. rest.WithPrefix("/pcm/v1"),
  234. )
  235. server.AddRoutes(
  236. []rest.Route{
  237. {
  238. Method: http.MethodGet,
  239. Path: "/task/list",
  240. Handler: cloud.CloudListHandler(serverCtx),
  241. },
  242. {
  243. Method: http.MethodGet,
  244. Path: "/cloud/DeleteYaml",
  245. Handler: cloud.DeleteYamlHandler(serverCtx),
  246. },
  247. {
  248. Method: http.MethodGet,
  249. Path: "/cloud/controller/Metrics",
  250. Handler: cloud.ControllerMetricsHandler(serverCtx),
  251. },
  252. {
  253. Method: http.MethodPost,
  254. Path: "/cloud/registerCluster",
  255. Handler: cloud.RegisterClusterHandler(serverCtx),
  256. },
  257. {
  258. Method: http.MethodPost,
  259. Path: "/cloud/deleteCluster",
  260. Handler: cloud.DeleteClusterHandler(serverCtx),
  261. },
  262. {
  263. Method: http.MethodGet,
  264. Path: "/core/clusterList",
  265. Handler: cloud.GetClusterListHandler(serverCtx),
  266. },
  267. {
  268. Method: http.MethodPost,
  269. Path: "/cloud/task/create",
  270. Handler: cloud.CommitGeneralTaskHandler(serverCtx),
  271. },
  272. {
  273. Method: http.MethodPost,
  274. Path: "/cloud/pod/logs",
  275. Handler: cloud.PodLogsHandler(serverCtx),
  276. },
  277. },
  278. rest.WithPrefix("/pcm/v1"),
  279. )
  280. server.AddRoutes(
  281. []rest.Route{
  282. {
  283. Method: http.MethodGet,
  284. Path: "/ai/getCenterOverview",
  285. Handler: ai.GetCenterOverviewHandler(serverCtx),
  286. },
  287. {
  288. Method: http.MethodGet,
  289. Path: "/ai/getCenterQueueing",
  290. Handler: ai.GetCenterQueueingHandler(serverCtx),
  291. },
  292. {
  293. Method: http.MethodGet,
  294. Path: "/ai/getCenterList",
  295. Handler: ai.GetCenterListHandler(serverCtx),
  296. },
  297. {
  298. Method: http.MethodGet,
  299. Path: "/ai/getCenterTaskList",
  300. Handler: ai.GetCenterTaskListHandler(serverCtx),
  301. },
  302. {
  303. Method: http.MethodGet,
  304. Path: "/ai/listDataSet/:projectId",
  305. Handler: ai.ListDataSetHandler(serverCtx),
  306. },
  307. {
  308. Method: http.MethodPost,
  309. Path: "/ai/createDataSet/:projectId",
  310. Handler: ai.CreateDataSetHandler(serverCtx),
  311. },
  312. {
  313. Method: http.MethodDelete,
  314. Path: "/ai/deleteDataSet/:projectId/:datasetId",
  315. Handler: ai.DeleteDataSetHandler(serverCtx),
  316. },
  317. {
  318. Method: http.MethodPost,
  319. Path: "/ai/CreateTask/:projectId/:datasetId",
  320. Handler: ai.CreateTaskHandler(serverCtx),
  321. },
  322. {
  323. Method: http.MethodGet,
  324. Path: "/ai/ListImport/:projectId/:datasetId",
  325. Handler: ai.ListImportHandler(serverCtx),
  326. },
  327. {
  328. Method: http.MethodGet,
  329. Path: "/ai/GetListTrainingJobs/:projectId",
  330. Handler: ai.GetListTrainingJobsHandler(serverCtx),
  331. },
  332. {
  333. Method: http.MethodDelete,
  334. Path: "/ai/DeleteTrainingJob/:projectId/:trainingJobId",
  335. Handler: ai.DeleteTrainingJobHandler(serverCtx),
  336. },
  337. {
  338. Method: http.MethodPost,
  339. Path: "/ai/CreateAlgorithm/:projectId",
  340. Handler: ai.CreateAlgorithmHandler(serverCtx),
  341. },
  342. {
  343. Method: http.MethodGet,
  344. Path: "/ai/ListAlgorithms/:projectId",
  345. Handler: ai.ListAlgorithmsHandler(serverCtx),
  346. },
  347. {
  348. Method: http.MethodDelete,
  349. Path: "/ai/DeleteAlgorithm/:projectId/:algorithmId",
  350. Handler: ai.DeleteAlgorithmHandler(serverCtx),
  351. },
  352. {
  353. Method: http.MethodPost,
  354. Path: "/ai/CreateTrainingJob/:projectId",
  355. Handler: ai.CreateTrainingJobHandler(serverCtx),
  356. },
  357. {
  358. Method: http.MethodGet,
  359. Path: "/ai/ShowAlgorithmByUuid/:projectId/:algorithmId",
  360. Handler: ai.ShowAlgorithmByUuidHandler(serverCtx),
  361. },
  362. {
  363. Method: http.MethodPost,
  364. Path: "/ai/CreateExportTask/:projectId/:datasetId",
  365. Handler: ai.CreateExportTaskHandler(serverCtx),
  366. },
  367. {
  368. Method: http.MethodGet,
  369. Path: "/ai/GetExportTasksOfDataset/:projectId/:datasetId",
  370. Handler: ai.GetExportTasksOfDatasetHandler(serverCtx),
  371. },
  372. {
  373. Method: http.MethodGet,
  374. Path: "/ai/GetExportTaskStatusOfDataset/:projectId/:resourceId/:taskId",
  375. Handler: ai.GetExportTaskStatusOfDatasetHandler(serverCtx),
  376. },
  377. {
  378. Method: http.MethodPost,
  379. Path: "/ai/CreateProcessorTask",
  380. Handler: ai.CreateProcessorTaskHandler(serverCtx),
  381. },
  382. {
  383. Method: http.MethodPost,
  384. Path: "/ai/CreateService/:projectId",
  385. Handler: ai.CreateServiceHandler(serverCtx),
  386. },
  387. {
  388. Method: http.MethodGet,
  389. Path: "/ai/ListServices/:projectId",
  390. Handler: ai.ListServicesHandler(serverCtx),
  391. },
  392. {
  393. Method: http.MethodGet,
  394. Path: "/ai/ShowService/:projectId/:serviceId",
  395. Handler: ai.ShowServiceHandler(serverCtx),
  396. },
  397. {
  398. Method: http.MethodDelete,
  399. Path: "/ai/DeleteService/:projectId/:serviceId",
  400. Handler: ai.DeleteServiceHandler(serverCtx),
  401. },
  402. {
  403. Method: http.MethodGet,
  404. Path: "/ai/ListClusters",
  405. Handler: ai.ListClustersHandler(serverCtx),
  406. },
  407. {
  408. Method: http.MethodGet,
  409. Path: "/ai/listNotebook",
  410. Handler: ai.ListNotebookHandler(serverCtx),
  411. },
  412. {
  413. Method: http.MethodPost,
  414. Path: "/ai/createNotebook",
  415. Handler: ai.CreateNotebookHandler(serverCtx),
  416. },
  417. {
  418. Method: http.MethodPost,
  419. Path: "/ai/startNotebook",
  420. Handler: ai.StartNotebookHandler(serverCtx),
  421. },
  422. {
  423. Method: http.MethodPost,
  424. Path: "/ai/stopNotebook",
  425. Handler: ai.StopNotebookHandler(serverCtx),
  426. },
  427. {
  428. Method: http.MethodGet,
  429. Path: "/ai/getNotebookStorage",
  430. Handler: ai.GetNotebookStorageHandler(serverCtx),
  431. },
  432. {
  433. Method: http.MethodPost,
  434. Path: "/ai/mountNotebookStorage",
  435. Handler: ai.MountNotebookStorageHandler(serverCtx),
  436. },
  437. {
  438. Method: http.MethodGet,
  439. Path: "/ai/getVisualizationJob",
  440. Handler: ai.GetVisualizationJobHandler(serverCtx),
  441. },
  442. {
  443. Method: http.MethodPost,
  444. Path: "/ai/CreateVisualizationJob",
  445. Handler: ai.CreateVisualizationJobHandler(serverCtx),
  446. },
  447. },
  448. rest.WithPrefix("/pcm/v1"),
  449. )
  450. server.AddRoutes(
  451. []rest.Route{
  452. {
  453. Method: http.MethodGet,
  454. Path: "/storage/screenStorage",
  455. Handler: storage.ScreenStorageHandler(serverCtx),
  456. },
  457. {
  458. Method: http.MethodGet,
  459. Path: "/storage/dailyPowerScreen",
  460. Handler: storage.DailyPowerScreenHandler(serverCtx),
  461. },
  462. {
  463. Method: http.MethodGet,
  464. Path: "/storage/perCenterComputerPowers",
  465. Handler: storage.PerCenterComputerPowersHandler(serverCtx),
  466. },
  467. },
  468. rest.WithPrefix("/pcm/v1"),
  469. )
  470. server.AddRoutes(
  471. []rest.Route{
  472. {
  473. Method: http.MethodGet,
  474. Path: "/vm/getComputeLimits",
  475. Handler: vm.GetComputeLimitsHandler(serverCtx),
  476. },
  477. {
  478. Method: http.MethodGet,
  479. Path: "/vm/getVolumeLimits",
  480. Handler: vm.GetVolumeLimitsHandler(serverCtx),
  481. },
  482. {
  483. Method: http.MethodGet,
  484. Path: "/vm/getNetworkNum",
  485. Handler: vm.GetNetworkNumHandler(serverCtx),
  486. },
  487. {
  488. Method: http.MethodGet,
  489. Path: "/vm/getImageNum",
  490. Handler: vm.GetImageNumHandler(serverCtx),
  491. },
  492. {
  493. Method: http.MethodGet,
  494. Path: "/vm/getOpenstackOverview",
  495. Handler: vm.GetOpenstackOverviewHandler(serverCtx),
  496. },
  497. {
  498. Method: http.MethodGet,
  499. Path: "/vm/listServer",
  500. Handler: vm.ListServerHandler(serverCtx),
  501. },
  502. {
  503. Method: http.MethodGet,
  504. Path: "/vm/listServersDetailed",
  505. Handler: vm.ListServersDetailedHandler(serverCtx),
  506. },
  507. {
  508. Method: http.MethodDelete,
  509. Path: "/vm/deleteServer",
  510. Handler: vm.DeleteServerHandler(serverCtx),
  511. },
  512. {
  513. Method: http.MethodPost,
  514. Path: "/vm/createServer",
  515. Handler: vm.CreateServerHandler(serverCtx),
  516. },
  517. {
  518. Method: http.MethodPost,
  519. Path: "/vm/createMulServer",
  520. Handler: vm.CreateMulServerHandler(serverCtx),
  521. },
  522. {
  523. Method: http.MethodGet,
  524. Path: "/vm/getServersDetailedById",
  525. Handler: vm.GetServersDetailedByIdHandler(serverCtx),
  526. },
  527. {
  528. Method: http.MethodPut,
  529. Path: "/vm/updateServer",
  530. Handler: vm.UpdateServerHandler(serverCtx),
  531. },
  532. {
  533. Method: http.MethodPost,
  534. Path: "/vm/startServer",
  535. Handler: vm.StartServerHandler(serverCtx),
  536. },
  537. {
  538. Method: http.MethodPost,
  539. Path: "/vm/stopServer",
  540. Handler: vm.StopServerHandler(serverCtx),
  541. },
  542. {
  543. Method: http.MethodPost,
  544. Path: "/vm/rebootServer",
  545. Handler: vm.RebootServerHandler(serverCtx),
  546. },
  547. {
  548. Method: http.MethodPost,
  549. Path: "/vm/pauseServer",
  550. Handler: vm.PauseServerHandler(serverCtx),
  551. },
  552. {
  553. Method: http.MethodPost,
  554. Path: "/vm/unpauseServer",
  555. Handler: vm.UnpauseServerHandler(serverCtx),
  556. },
  557. {
  558. Method: http.MethodPost,
  559. Path: "/vm/resizeServer",
  560. Handler: vm.ResizeServerHandler(serverCtx),
  561. },
  562. {
  563. Method: http.MethodPost,
  564. Path: "/vm/migrateServer",
  565. Handler: vm.MigrateServerHandler(serverCtx),
  566. },
  567. {
  568. Method: http.MethodPost,
  569. Path: "/vm/shelveServer",
  570. Handler: vm.ShelveServerHandler(serverCtx),
  571. },
  572. {
  573. Method: http.MethodPost,
  574. Path: "/vm/changeAdministrativePassword",
  575. Handler: vm.ChangeAdministrativePasswordHandler(serverCtx),
  576. },
  577. {
  578. Method: http.MethodPost,
  579. Path: "/vm/rescueServer",
  580. Handler: vm.RescueServerHandler(serverCtx),
  581. },
  582. {
  583. Method: http.MethodPost,
  584. Path: "/vm/unRescueServer",
  585. Handler: vm.UnRescueHandler(serverCtx),
  586. },
  587. {
  588. Method: http.MethodPost,
  589. Path: "/vm/suspendServer",
  590. Handler: vm.SuspendServerHandler(serverCtx),
  591. },
  592. {
  593. Method: http.MethodPost,
  594. Path: "/vm/addSecurityGroupToServer",
  595. Handler: vm.AddSecurityGroupToServerHandler(serverCtx),
  596. },
  597. {
  598. Method: http.MethodPost,
  599. Path: "/vm/removeSecurityGroup",
  600. Handler: vm.RemoveSecurityGroupHandler(serverCtx),
  601. },
  602. {
  603. Method: http.MethodPost,
  604. Path: "/vm/createFlavor",
  605. Handler: vm.CreateFlavorHandler(serverCtx),
  606. },
  607. {
  608. Method: http.MethodPost,
  609. Path: "/vm/deleteFlavor",
  610. Handler: vm.DeleteFlavorHandler(serverCtx),
  611. },
  612. {
  613. Method: http.MethodGet,
  614. Path: "/vm/listImages",
  615. Handler: vm.ListImagesHandler(serverCtx),
  616. },
  617. {
  618. Method: http.MethodDelete,
  619. Path: "/vm/deleteImage",
  620. Handler: vm.DeleteImageHandler(serverCtx),
  621. },
  622. {
  623. Method: http.MethodPost,
  624. Path: "/vm/createImage",
  625. Handler: vm.CreateImageHandler(serverCtx),
  626. },
  627. {
  628. Method: http.MethodPut,
  629. Path: "/vm/uploadImage",
  630. Handler: vm.UploadImageHandler(serverCtx),
  631. },
  632. {
  633. Method: http.MethodGet,
  634. Path: "/vm/listNetworks",
  635. Handler: vm.ListNetworksHandler(serverCtx),
  636. },
  637. {
  638. Method: http.MethodDelete,
  639. Path: "/vm/deleteNetwork",
  640. Handler: vm.DeleteNetworkHandler(serverCtx),
  641. },
  642. {
  643. Method: http.MethodPost,
  644. Path: "/vm/createNetwork",
  645. Handler: vm.CreateNetworkHandler(serverCtx),
  646. },
  647. {
  648. Method: http.MethodPost,
  649. Path: "/vm/createSubnet",
  650. Handler: vm.CreateSubnetHandler(serverCtx),
  651. },
  652. {
  653. Method: http.MethodGet,
  654. Path: "/vm/showNetworkDetails",
  655. Handler: vm.ShowNetworkDetailsHandler(serverCtx),
  656. },
  657. {
  658. Method: http.MethodPut,
  659. Path: "/vm/updateNetwork",
  660. Handler: vm.UpdateNetworkHandler(serverCtx),
  661. },
  662. {
  663. Method: http.MethodPost,
  664. Path: "/vm/bulkCreateNetworks",
  665. Handler: vm.BulkCreateNetworksHandler(serverCtx),
  666. },
  667. {
  668. Method: http.MethodGet,
  669. Path: "/vm/listSubnets",
  670. Handler: vm.ListSubnetsHandler(serverCtx),
  671. },
  672. {
  673. Method: http.MethodDelete,
  674. Path: "/vm/deleteSubnet",
  675. Handler: vm.DeleteSubnetHandler(serverCtx),
  676. },
  677. {
  678. Method: http.MethodPut,
  679. Path: "/vm/updateSubnet",
  680. Handler: vm.UpdateSubnetHandler(serverCtx),
  681. },
  682. {
  683. Method: http.MethodGet,
  684. Path: "/vm/listNetworkSegmentRanges",
  685. Handler: vm.ListNetworkSegmentRangesRangeHandler(serverCtx),
  686. },
  687. {
  688. Method: http.MethodPost,
  689. Path: "/vm/createNetworkSegmentRange",
  690. Handler: vm.CreateNetworkSegmentRangeHandler(serverCtx),
  691. },
  692. {
  693. Method: http.MethodDelete,
  694. Path: "/vm/deleteNetworkSegmentRanges",
  695. Handler: vm.DeleteNetworkSegmentRangesHandler(serverCtx),
  696. },
  697. {
  698. Method: http.MethodPut,
  699. Path: "/vm/updateNetworkSegmentRanges",
  700. Handler: vm.UpdateNetworkSegmentRangesHandler(serverCtx),
  701. },
  702. {
  703. Method: http.MethodGet,
  704. Path: "/vm/showNetworkSegmentRangeDetails",
  705. Handler: vm.ShowNetworkSegmentRangeDetailsHandler(serverCtx),
  706. },
  707. {
  708. Method: http.MethodPost,
  709. Path: "/vm/createPort",
  710. Handler: vm.CreatePortHandler(serverCtx),
  711. },
  712. {
  713. Method: http.MethodGet,
  714. Path: "/vm/listPortsReq",
  715. Handler: vm.ListPortsHandler(serverCtx),
  716. },
  717. {
  718. Method: http.MethodDelete,
  719. Path: "/vm/deletePort",
  720. Handler: vm.DeletePortHandler(serverCtx),
  721. },
  722. {
  723. Method: http.MethodPut,
  724. Path: "/vm/updatePort",
  725. Handler: vm.UpdatePortHandler(serverCtx),
  726. },
  727. {
  728. Method: http.MethodGet,
  729. Path: "/vm/showPortDetails",
  730. Handler: vm.ShowPortDetailsHandler(serverCtx),
  731. },
  732. {
  733. Method: http.MethodPost,
  734. Path: "/vm/createRouter",
  735. Handler: vm.CreateRouterHandler(serverCtx),
  736. },
  737. {
  738. Method: http.MethodGet,
  739. Path: "/vm/listRouters",
  740. Handler: vm.ListRoutersHandler(serverCtx),
  741. },
  742. {
  743. Method: http.MethodDelete,
  744. Path: "/vm/deleteRouter",
  745. Handler: vm.DeleteRouterHandler(serverCtx),
  746. },
  747. {
  748. Method: http.MethodPut,
  749. Path: "/vm/updateRouter",
  750. Handler: vm.UpdateRouterHandler(serverCtx),
  751. },
  752. {
  753. Method: http.MethodGet,
  754. Path: "/vm/showRouterDetails",
  755. Handler: vm.ShowRouterDetailsHandler(serverCtx),
  756. },
  757. {
  758. Method: http.MethodPost,
  759. Path: "/vm/createFloatingIP",
  760. Handler: vm.CreateFloatingIPHandler(serverCtx),
  761. },
  762. {
  763. Method: http.MethodGet,
  764. Path: "/vm/listFloatingIPs",
  765. Handler: vm.ListFloatingIPsHandler(serverCtx),
  766. },
  767. {
  768. Method: http.MethodDelete,
  769. Path: "/vm/deleteFloatingIP",
  770. Handler: vm.DeleteFloatingIPHandler(serverCtx),
  771. },
  772. {
  773. Method: http.MethodPut,
  774. Path: "/vm/updateFloatingIP",
  775. Handler: vm.UpdateFloatingIPHandler(serverCtx),
  776. },
  777. {
  778. Method: http.MethodGet,
  779. Path: "/vm/showFloatingIPDetails",
  780. Handler: vm.ShowFloatingIPDetailsHandler(serverCtx),
  781. },
  782. {
  783. Method: http.MethodPost,
  784. Path: "/vm/createFirewallGroup",
  785. Handler: vm.CreateFirewallGroupHandler(serverCtx),
  786. },
  787. {
  788. Method: http.MethodGet,
  789. Path: "/vm/listFirewallGroups",
  790. Handler: vm.ListFirewallGroupsHandler(serverCtx),
  791. },
  792. {
  793. Method: http.MethodDelete,
  794. Path: "/vm/deleteFirewallGroup",
  795. Handler: vm.DeleteFirewallGroupHandler(serverCtx),
  796. },
  797. {
  798. Method: http.MethodPut,
  799. Path: "/vm/updateFirewallGroup",
  800. Handler: vm.UpdateFirewallGroupHandler(serverCtx),
  801. },
  802. {
  803. Method: http.MethodGet,
  804. Path: "/vm/showFirewallGroupDetails",
  805. Handler: vm.ShowFirewallGroupDetailsHandler(serverCtx),
  806. },
  807. {
  808. Method: http.MethodPost,
  809. Path: "/vm/createFirewallPolicy",
  810. Handler: vm.CreateFirewallPolicyHandler(serverCtx),
  811. },
  812. {
  813. Method: http.MethodGet,
  814. Path: "/vm/listFirewallPolicies",
  815. Handler: vm.ListFirewallPoliciesHandler(serverCtx),
  816. },
  817. {
  818. Method: http.MethodDelete,
  819. Path: "/vm/deleteFirewallPolicy",
  820. Handler: vm.DeleteFirewallPolicyHandler(serverCtx),
  821. },
  822. {
  823. Method: http.MethodGet,
  824. Path: "/vm/showFirewallRuleDetails",
  825. Handler: vm.ShowFirewallRuleDetailsHandler(serverCtx),
  826. },
  827. {
  828. Method: http.MethodGet,
  829. Path: "/vm/showFirewallPolicyDetails",
  830. Handler: vm.ShowFirewallPolicyDetailsHandler(serverCtx),
  831. },
  832. {
  833. Method: http.MethodPost,
  834. Path: "/vm/createFirewallRule",
  835. Handler: vm.CreateFirewallRuleHandler(serverCtx),
  836. },
  837. {
  838. Method: http.MethodGet,
  839. Path: "/vm/listFirewallRules",
  840. Handler: vm.ListFirewallRulesHandler(serverCtx),
  841. },
  842. {
  843. Method: http.MethodDelete,
  844. Path: "/vm/deleteFirewallRule",
  845. Handler: vm.DeleteFirewallRuleHandler(serverCtx),
  846. },
  847. {
  848. Method: http.MethodPost,
  849. Path: "/vm/createSecurityGroup",
  850. Handler: vm.CreateSecurityGroupHandler(serverCtx),
  851. },
  852. {
  853. Method: http.MethodGet,
  854. Path: "/vm/listSecurityGroups",
  855. Handler: vm.ListSecurityGroupsHandler(serverCtx),
  856. },
  857. {
  858. Method: http.MethodDelete,
  859. Path: "/vm/deleteSecurityGroup",
  860. Handler: vm.DeleteSecurityGroupHandler(serverCtx),
  861. },
  862. {
  863. Method: http.MethodPut,
  864. Path: "/vm/updateSecurityGroup",
  865. Handler: vm.UpdateSecurityGroupHandler(serverCtx),
  866. },
  867. {
  868. Method: http.MethodGet,
  869. Path: "/vm/showSecurityGroup",
  870. Handler: vm.ShowSecurityGroupHandler(serverCtx),
  871. },
  872. {
  873. Method: http.MethodPost,
  874. Path: "/vm/createSecurityGroupRule",
  875. Handler: vm.CreateSecurityGroupRuleHandler(serverCtx),
  876. },
  877. {
  878. Method: http.MethodGet,
  879. Path: "/vm/listSecurityGroupRules",
  880. Handler: vm.ListSecurityGroupRulesHandler(serverCtx),
  881. },
  882. {
  883. Method: http.MethodDelete,
  884. Path: "/vm/deleteSecurityGroupRule",
  885. Handler: vm.DeleteSecurityGroupRuleHandler(serverCtx),
  886. },
  887. {
  888. Method: http.MethodGet,
  889. Path: "/vm/showSecurityGroupRule",
  890. Handler: vm.ShowSecurityGroupRuleHandler(serverCtx),
  891. },
  892. {
  893. Method: http.MethodGet,
  894. Path: "/vm/listVolumesDetail",
  895. Handler: vm.ListVolumesDetailHandler(serverCtx),
  896. },
  897. {
  898. Method: http.MethodDelete,
  899. Path: "/vm/deleteVolume",
  900. Handler: vm.DeleteVolumeHandler(serverCtx),
  901. },
  902. {
  903. Method: http.MethodPost,
  904. Path: "/vm/createVolume",
  905. Handler: vm.CreateVolumeHandler(serverCtx),
  906. },
  907. {
  908. Method: http.MethodGet,
  909. Path: "/vm/listFlavorsDetail",
  910. Handler: vm.ListFlavorsDetailHandler(serverCtx),
  911. },
  912. {
  913. Method: http.MethodGet,
  914. Path: "/vm/listVolumeTypes",
  915. Handler: vm.ListVolumeTypesHandler(serverCtx),
  916. },
  917. {
  918. Method: http.MethodPut,
  919. Path: "/vm/updateVolume",
  920. Handler: vm.UpdateVolumeHandler(serverCtx),
  921. },
  922. {
  923. Method: http.MethodPost,
  924. Path: "/vm/createVolumeTypes",
  925. Handler: vm.CreateVolumeTypesHandler(serverCtx),
  926. },
  927. {
  928. Method: http.MethodDelete,
  929. Path: "/vm/deleteVolumeType",
  930. Handler: vm.DeleteVolumeTypeHandler(serverCtx),
  931. },
  932. {
  933. Method: http.MethodGet,
  934. Path: "/vm/listVolumes",
  935. Handler: vm.ListVolumesHandler(serverCtx),
  936. },
  937. {
  938. Method: http.MethodGet,
  939. Path: "/vm/getVolumeDetailedById",
  940. Handler: vm.GetVolumeDetailedByIdHandler(serverCtx),
  941. },
  942. {
  943. Method: http.MethodGet,
  944. Path: "/vm/listNodes",
  945. Handler: vm.ListNodesHandler(serverCtx),
  946. },
  947. {
  948. Method: http.MethodPost,
  949. Path: "/vm/createNode",
  950. Handler: vm.CreateNodeHandler(serverCtx),
  951. },
  952. {
  953. Method: http.MethodDelete,
  954. Path: "/vm/deleteNode",
  955. Handler: vm.DeleteNodeHandler(serverCtx),
  956. },
  957. {
  958. Method: http.MethodGet,
  959. Path: "/vm/showNodeDetails",
  960. Handler: vm.ShowNodeDetailsHandler(serverCtx),
  961. },
  962. },
  963. rest.WithPrefix("/pcm/v1"),
  964. )
  965. server.AddRoutes(
  966. []rest.Route{
  967. {
  968. Method: http.MethodPost,
  969. Path: "/storelink/uploadImage",
  970. Handler: storelink.UploadLinkImageHandler(serverCtx),
  971. },
  972. {
  973. Method: http.MethodGet,
  974. Path: "/storelink/getImageList",
  975. Handler: storelink.GetLinkImageListHandler(serverCtx),
  976. },
  977. {
  978. Method: http.MethodDelete,
  979. Path: "/storelink/deleteImage",
  980. Handler: storelink.DeleteLinkImageHandler(serverCtx),
  981. },
  982. {
  983. Method: http.MethodPost,
  984. Path: "/storelink/submitTask",
  985. Handler: storelink.SubmitLinkTaskHandler(serverCtx),
  986. },
  987. {
  988. Method: http.MethodGet,
  989. Path: "/storelink/getTask",
  990. Handler: storelink.GetLinkTaskHandler(serverCtx),
  991. },
  992. {
  993. Method: http.MethodDelete,
  994. Path: "/storelink/deleteTask",
  995. Handler: storelink.DeleteLinkTaskHandler(serverCtx),
  996. },
  997. {
  998. Method: http.MethodGet,
  999. Path: "/storelink/getParticipants",
  1000. Handler: storelink.GetParticipantsHandler(serverCtx),
  1001. },
  1002. {
  1003. Method: http.MethodGet,
  1004. Path: "/storelink/getResourceSpecs",
  1005. Handler: storelink.GetAISpecsHandler(serverCtx),
  1006. },
  1007. },
  1008. rest.WithPrefix("/pcm/v1"),
  1009. )
  1010. server.AddRoutes(
  1011. []rest.Route{
  1012. {
  1013. Method: http.MethodGet,
  1014. Path: "/adapter/list",
  1015. Handler: adapters.AdaptersListHandler(serverCtx),
  1016. },
  1017. {
  1018. Method: http.MethodPost,
  1019. Path: "/adapter/create",
  1020. Handler: adapters.CreateAdapterHandler(serverCtx),
  1021. },
  1022. {
  1023. Method: http.MethodPut,
  1024. Path: "/adapter/update",
  1025. Handler: adapters.UpdateAdapterHandler(serverCtx),
  1026. },
  1027. {
  1028. Method: http.MethodDelete,
  1029. Path: "/adapter/delete",
  1030. Handler: adapters.DeleteAdapterHandler(serverCtx),
  1031. },
  1032. {
  1033. Method: http.MethodGet,
  1034. Path: "/adapter/get",
  1035. Handler: adapters.GetAdapterHandler(serverCtx),
  1036. },
  1037. {
  1038. Method: http.MethodGet,
  1039. Path: "/adapter/cluster/list",
  1040. Handler: adapters.ClusterListHandler(serverCtx),
  1041. },
  1042. {
  1043. Method: http.MethodPost,
  1044. Path: "/adapter/cluster/create",
  1045. Handler: adapters.CreateClusterHandler(serverCtx),
  1046. },
  1047. {
  1048. Method: http.MethodPut,
  1049. Path: "/adapter/cluster/update",
  1050. Handler: adapters.UpdateClusterHandler(serverCtx),
  1051. },
  1052. {
  1053. Method: http.MethodDelete,
  1054. Path: "/adapter/cluster/delete",
  1055. Handler: adapters.DeleteClusterHandler(serverCtx),
  1056. },
  1057. {
  1058. Method: http.MethodGet,
  1059. Path: "/adapter/cluster/get",
  1060. Handler: adapters.GetClusterHandler(serverCtx),
  1061. },
  1062. {
  1063. Method: http.MethodGet,
  1064. Path: "/adapter/relation",
  1065. Handler: adapters.GetAdapterRelationHandler(serverCtx),
  1066. },
  1067. {
  1068. Method: http.MethodGet,
  1069. Path: "/adapter/clusterSum",
  1070. Handler: adapters.GetClusterSumHandler(serverCtx),
  1071. },
  1072. },
  1073. rest.WithPrefix("/pcm/v1"),
  1074. )
  1075. server.AddRoutes(
  1076. []rest.Route{
  1077. {
  1078. Method: http.MethodGet,
  1079. Path: "/schedule/ai/getResourceTypes",
  1080. Handler: schedule.ScheduleGetAiResourceTypesHandler(serverCtx),
  1081. },
  1082. {
  1083. Method: http.MethodGet,
  1084. Path: "/schedule/ai/getTaskTypes",
  1085. Handler: schedule.ScheduleGetAiTaskTypesHandler(serverCtx),
  1086. },
  1087. {
  1088. Method: http.MethodGet,
  1089. Path: "/schedule/ai/getDatasets/:adapterId",
  1090. Handler: schedule.ScheduleGetDatasetsHandler(serverCtx),
  1091. },
  1092. {
  1093. Method: http.MethodGet,
  1094. Path: "/schedule/ai/getStrategies",
  1095. Handler: schedule.ScheduleGetStrategyHandler(serverCtx),
  1096. },
  1097. {
  1098. Method: http.MethodGet,
  1099. Path: "/schedule/ai/getAlgorithms/:adapterId/:resourceType/:taskType/:dataset",
  1100. Handler: schedule.ScheduleGetAlgorithmsHandler(serverCtx),
  1101. },
  1102. {
  1103. Method: http.MethodGet,
  1104. Path: "/schedule/ai/getJobLog/:adapterId/:clusterId/:taskId/:instanceNum",
  1105. Handler: schedule.ScheduleGetAiJobLogLogHandler(serverCtx),
  1106. },
  1107. {
  1108. Method: http.MethodPost,
  1109. Path: "/schedule/submit",
  1110. Handler: schedule.ScheduleSubmitHandler(serverCtx),
  1111. },
  1112. {
  1113. Method: http.MethodPost,
  1114. Path: "/schedule/getOverview",
  1115. Handler: schedule.ScheduleGetOverviewHandler(serverCtx),
  1116. },
  1117. {
  1118. Method: http.MethodGet,
  1119. Path: "/schedule/downloadAlgorithmCode",
  1120. Handler: schedule.DownloadAlgothmCodeHandler(serverCtx),
  1121. },
  1122. {
  1123. Method: http.MethodPost,
  1124. Path: "/schedule/uploadAlgorithmCode",
  1125. Handler: schedule.UploadAlgothmCodeHandler(serverCtx),
  1126. },
  1127. {
  1128. Method: http.MethodGet,
  1129. Path: "/schedule/getComputeCardsByCluster/:adapterId/:clusterId",
  1130. Handler: schedule.GetComputeCardsByClusterHandler(serverCtx),
  1131. },
  1132. {
  1133. Method: http.MethodGet,
  1134. Path: "/schedule/getClusterBalanceById/:adapterId/:clusterId",
  1135. Handler: schedule.GetClusterBalanceByIdHandler(serverCtx),
  1136. },
  1137. },
  1138. rest.WithPrefix("/pcm/v1"),
  1139. )
  1140. server.AddRoutes(
  1141. []rest.Route{
  1142. {
  1143. Method: http.MethodGet,
  1144. Path: "/dict/:id",
  1145. Handler: dictionary.GetDictHandler(serverCtx),
  1146. },
  1147. {
  1148. Method: http.MethodGet,
  1149. Path: "/dicts",
  1150. Handler: dictionary.ListDictHandler(serverCtx),
  1151. },
  1152. {
  1153. Method: http.MethodPost,
  1154. Path: "/dict",
  1155. Handler: dictionary.AddDictHandler(serverCtx),
  1156. },
  1157. {
  1158. Method: http.MethodPut,
  1159. Path: "/dict",
  1160. Handler: dictionary.EditDictHandler(serverCtx),
  1161. },
  1162. {
  1163. Method: http.MethodDelete,
  1164. Path: "/dict/:id",
  1165. Handler: dictionary.DeleteDictHandler(serverCtx),
  1166. },
  1167. {
  1168. Method: http.MethodGet,
  1169. Path: "/dictItem/:id",
  1170. Handler: dictionary.GetDictItemHandler(serverCtx),
  1171. },
  1172. {
  1173. Method: http.MethodGet,
  1174. Path: "/dictItems",
  1175. Handler: dictionary.ListDictItemHandler(serverCtx),
  1176. },
  1177. {
  1178. Method: http.MethodPost,
  1179. Path: "/dictItem",
  1180. Handler: dictionary.AddDictItemHandler(serverCtx),
  1181. },
  1182. {
  1183. Method: http.MethodPut,
  1184. Path: "/dictItem",
  1185. Handler: dictionary.EditDictItemHandler(serverCtx),
  1186. },
  1187. {
  1188. Method: http.MethodDelete,
  1189. Path: "/dictItem/:id",
  1190. Handler: dictionary.DeleteDictItemHandler(serverCtx),
  1191. },
  1192. {
  1193. Method: http.MethodGet,
  1194. Path: "/dictItem/code/:dictCode",
  1195. Handler: dictionary.ListDictItemByCodeHandler(serverCtx),
  1196. },
  1197. },
  1198. rest.WithPrefix("/pcm/v1"),
  1199. )
  1200. server.AddRoutes(
  1201. []rest.Route{
  1202. {
  1203. Method: http.MethodPost,
  1204. Path: "/monitoring/alert/rule",
  1205. Handler: monitoring.CreateAlertRuleHandler(serverCtx),
  1206. },
  1207. {
  1208. Method: http.MethodGet,
  1209. Path: "/monitoring/alert/rule",
  1210. Handler: monitoring.AlertRulesHandler(serverCtx),
  1211. },
  1212. {
  1213. Method: http.MethodDelete,
  1214. Path: "/monitoring/alert/rule",
  1215. Handler: monitoring.DeleteAlertRuleHandler(serverCtx),
  1216. },
  1217. {
  1218. Method: http.MethodGet,
  1219. Path: "/monitoring/cluster/load",
  1220. Handler: monitoring.ClustersLoadHandler(serverCtx),
  1221. },
  1222. {
  1223. Method: http.MethodGet,
  1224. Path: "/monitoring/node/top",
  1225. Handler: monitoring.NodesLoadTopHandler(serverCtx),
  1226. },
  1227. {
  1228. Method: http.MethodGet,
  1229. Path: "/monitoring/alert/list",
  1230. Handler: monitoring.AlertListHandler(serverCtx),
  1231. },
  1232. {
  1233. Method: http.MethodPost,
  1234. Path: "/monitoring/syncClusterAlert",
  1235. Handler: monitoring.SyncClusterAlertHandler(serverCtx),
  1236. },
  1237. {
  1238. Method: http.MethodGet,
  1239. Path: "/monitoring/task/num",
  1240. Handler: monitoring.TaskNumHandler(serverCtx),
  1241. },
  1242. {
  1243. Method: http.MethodGet,
  1244. Path: "/monitoring/adapter/info",
  1245. Handler: monitoring.AdapterInfoHandler(serverCtx),
  1246. },
  1247. {
  1248. Method: http.MethodGet,
  1249. Path: "/monitoring/schedule/situation",
  1250. Handler: monitoring.ScheduleSituationHandler(serverCtx),
  1251. },
  1252. },
  1253. rest.WithPrefix("/pcm/v1"),
  1254. )
  1255. }

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.