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

2 years ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560
  1. // Code generated by goctl. DO NOT EDIT.
  2. package handler
  3. import (
  4. "net/http"
  5. adapters "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/adapters"
  6. ai "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/ai"
  7. cloud "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/cloud"
  8. core "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/core"
  9. dictionary "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/dictionary"
  10. hpc "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/hpc"
  11. inference "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/inference"
  12. monitoring "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/monitoring"
  13. schedule "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/schedule"
  14. storage "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/storage"
  15. storelink "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/storelink"
  16. vm "gitlink.org.cn/JointCloud/pcm-coordinator/internal/handler/vm"
  17. "gitlink.org.cn/JointCloud/pcm-coordinator/internal/svc"
  18. "github.com/zeromicro/go-zero/rest"
  19. )
  20. func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
  21. server.AddRoutes(
  22. []rest.Route{
  23. {
  24. Method: http.MethodPost,
  25. Path: "/adapter/cluster/create",
  26. Handler: adapters.CreateClusterHandler(serverCtx),
  27. },
  28. {
  29. Method: http.MethodDelete,
  30. Path: "/adapter/cluster/delete",
  31. Handler: adapters.DeleteClusterHandler(serverCtx),
  32. },
  33. {
  34. Method: http.MethodGet,
  35. Path: "/adapter/cluster/get",
  36. Handler: adapters.GetClusterHandler(serverCtx),
  37. },
  38. {
  39. Method: http.MethodGet,
  40. Path: "/adapter/cluster/list",
  41. Handler: adapters.ClusterListHandler(serverCtx),
  42. },
  43. {
  44. Method: http.MethodPut,
  45. Path: "/adapter/cluster/update",
  46. Handler: adapters.UpdateClusterHandler(serverCtx),
  47. },
  48. {
  49. Method: http.MethodGet,
  50. Path: "/adapter/clusterSum",
  51. Handler: adapters.GetClusterSumHandler(serverCtx),
  52. },
  53. {
  54. Method: http.MethodPost,
  55. Path: "/adapter/create",
  56. Handler: adapters.CreateAdapterHandler(serverCtx),
  57. },
  58. {
  59. Method: http.MethodDelete,
  60. Path: "/adapter/delete",
  61. Handler: adapters.DeleteAdapterHandler(serverCtx),
  62. },
  63. {
  64. Method: http.MethodGet,
  65. Path: "/adapter/get",
  66. Handler: adapters.GetAdapterHandler(serverCtx),
  67. },
  68. {
  69. Method: http.MethodGet,
  70. Path: "/adapter/list",
  71. Handler: adapters.AdaptersListHandler(serverCtx),
  72. },
  73. {
  74. Method: http.MethodGet,
  75. Path: "/adapter/relation",
  76. Handler: adapters.GetAdapterRelationHandler(serverCtx),
  77. },
  78. {
  79. Method: http.MethodPut,
  80. Path: "/adapter/update",
  81. Handler: adapters.UpdateAdapterHandler(serverCtx),
  82. },
  83. },
  84. rest.WithPrefix("/pcm/v1"),
  85. )
  86. server.AddRoutes(
  87. []rest.Route{
  88. {
  89. // 创建算法
  90. Method: http.MethodPost,
  91. Path: "/ai/CreateAlgorithm/:projectId",
  92. Handler: ai.CreateAlgorithmHandler(serverCtx),
  93. },
  94. {
  95. // 创建导出任务
  96. Method: http.MethodPost,
  97. Path: "/ai/CreateExportTask/:projectId/:datasetId",
  98. Handler: ai.CreateExportTaskHandler(serverCtx),
  99. },
  100. {
  101. // 创建处理任务
  102. Method: http.MethodPost,
  103. Path: "/ai/CreateProcessorTask",
  104. Handler: ai.CreateProcessorTaskHandler(serverCtx),
  105. },
  106. {
  107. // 创建服务
  108. Method: http.MethodPost,
  109. Path: "/ai/CreateService/:projectId",
  110. Handler: ai.CreateServiceHandler(serverCtx),
  111. },
  112. {
  113. // 创建导入任务
  114. Method: http.MethodPost,
  115. Path: "/ai/CreateTask/:projectId/:datasetId",
  116. Handler: ai.CreateTaskHandler(serverCtx),
  117. },
  118. {
  119. // 创建训练作业
  120. Method: http.MethodPost,
  121. Path: "/ai/CreateTrainingJob/:projectId",
  122. Handler: ai.CreateTrainingJobHandler(serverCtx),
  123. },
  124. {
  125. // 创建虚拟化任务
  126. Method: http.MethodPost,
  127. Path: "/ai/CreateVisualizationJob",
  128. Handler: ai.CreateVisualizationJobHandler(serverCtx),
  129. },
  130. {
  131. // 删除算法
  132. Method: http.MethodDelete,
  133. Path: "/ai/DeleteAlgorithm/:projectId/:algorithmId",
  134. Handler: ai.DeleteAlgorithmHandler(serverCtx),
  135. },
  136. {
  137. // 删除服务
  138. Method: http.MethodDelete,
  139. Path: "/ai/DeleteService/:projectId/:serviceId",
  140. Handler: ai.DeleteServiceHandler(serverCtx),
  141. },
  142. {
  143. // 删除训练作业
  144. Method: http.MethodDelete,
  145. Path: "/ai/DeleteTrainingJob/:projectId/:trainingJobId",
  146. Handler: ai.DeleteTrainingJobHandler(serverCtx),
  147. },
  148. {
  149. // 获取导出任务数据集状态
  150. Method: http.MethodGet,
  151. Path: "/ai/GetExportTaskStatusOfDataset/:projectId/:resourceId/:taskId",
  152. Handler: ai.GetExportTaskStatusOfDatasetHandler(serverCtx),
  153. },
  154. {
  155. // 获取导出任务数据集
  156. Method: http.MethodGet,
  157. Path: "/ai/GetExportTasksOfDataset/:projectId/:datasetId",
  158. Handler: ai.GetExportTasksOfDatasetHandler(serverCtx),
  159. },
  160. {
  161. // 查询训练作业列表
  162. Method: http.MethodGet,
  163. Path: "/ai/GetListTrainingJobs/:projectId",
  164. Handler: ai.GetListTrainingJobsHandler(serverCtx),
  165. },
  166. {
  167. // 查询创建算法列表
  168. Method: http.MethodGet,
  169. Path: "/ai/ListAlgorithms/:projectId",
  170. Handler: ai.ListAlgorithmsHandler(serverCtx),
  171. },
  172. {
  173. // 查询专属资源池列表
  174. Method: http.MethodGet,
  175. Path: "/ai/ListClusters",
  176. Handler: ai.ListClustersHandler(serverCtx),
  177. },
  178. {
  179. // 查询数据集导入任务列表
  180. Method: http.MethodGet,
  181. Path: "/ai/ListImport/:projectId/:datasetId",
  182. Handler: ai.ListImportHandler(serverCtx),
  183. },
  184. {
  185. // 展示服务
  186. Method: http.MethodGet,
  187. Path: "/ai/ListServices/:projectId",
  188. Handler: ai.ListServicesHandler(serverCtx),
  189. },
  190. {
  191. // 展示算法详情
  192. Method: http.MethodGet,
  193. Path: "/ai/ShowAlgorithmByUuid/:projectId/:algorithmId",
  194. Handler: ai.ShowAlgorithmByUuidHandler(serverCtx),
  195. },
  196. {
  197. // 展示服务详情
  198. Method: http.MethodGet,
  199. Path: "/ai/ShowService/:projectId/:serviceId",
  200. Handler: ai.ShowServiceHandler(serverCtx),
  201. },
  202. {
  203. // 文本识别
  204. Method: http.MethodPost,
  205. Path: "/ai/chat",
  206. Handler: ai.ChatHandler(serverCtx),
  207. },
  208. {
  209. // 创建数据集
  210. Method: http.MethodPost,
  211. Path: "/ai/createDataSet/:projectId",
  212. Handler: ai.CreateDataSetHandler(serverCtx),
  213. },
  214. {
  215. // 创建notebook
  216. Method: http.MethodPost,
  217. Path: "/ai/createNotebook",
  218. Handler: ai.CreateNotebookHandler(serverCtx),
  219. },
  220. {
  221. // 删除数据集
  222. Method: http.MethodDelete,
  223. Path: "/ai/deleteDataSet/:projectId/:datasetId",
  224. Handler: ai.DeleteDataSetHandler(serverCtx),
  225. },
  226. {
  227. // 智算中心列表
  228. Method: http.MethodGet,
  229. Path: "/ai/getCenterList",
  230. Handler: ai.GetCenterListHandler(serverCtx),
  231. },
  232. {
  233. // 智算中心概览
  234. Method: http.MethodGet,
  235. Path: "/ai/getCenterOverview",
  236. Handler: ai.GetCenterOverviewHandler(serverCtx),
  237. },
  238. {
  239. // 智算中心排队状况
  240. Method: http.MethodGet,
  241. Path: "/ai/getCenterQueueing",
  242. Handler: ai.GetCenterQueueingHandler(serverCtx),
  243. },
  244. {
  245. // 智算中心任务列表
  246. Method: http.MethodGet,
  247. Path: "/ai/getCenterTaskList",
  248. Handler: ai.GetCenterTaskListHandler(serverCtx),
  249. },
  250. {
  251. // 查询notebook存储
  252. Method: http.MethodGet,
  253. Path: "/ai/getNotebookStorage",
  254. Handler: ai.GetNotebookStorageHandler(serverCtx),
  255. },
  256. {
  257. // 获取虚拟化任务
  258. Method: http.MethodGet,
  259. Path: "/ai/getVisualizationJob",
  260. Handler: ai.GetVisualizationJobHandler(serverCtx),
  261. },
  262. {
  263. // 查询数据集列表
  264. Method: http.MethodGet,
  265. Path: "/ai/listDataSet/:projectId",
  266. Handler: ai.ListDataSetHandler(serverCtx),
  267. },
  268. {
  269. // 查询notebook列表
  270. Method: http.MethodGet,
  271. Path: "/ai/listNotebook",
  272. Handler: ai.ListNotebookHandler(serverCtx),
  273. },
  274. {
  275. // 挂载notebook存储
  276. Method: http.MethodPost,
  277. Path: "/ai/mountNotebookStorage",
  278. Handler: ai.MountNotebookStorageHandler(serverCtx),
  279. },
  280. {
  281. // 启动notebook
  282. Method: http.MethodPost,
  283. Path: "/ai/startNotebook",
  284. Handler: ai.StartNotebookHandler(serverCtx),
  285. },
  286. {
  287. // 停止notebook
  288. Method: http.MethodPost,
  289. Path: "/ai/stopNotebook",
  290. Handler: ai.StopNotebookHandler(serverCtx),
  291. },
  292. {
  293. // 训练任务统计
  294. Method: http.MethodGet,
  295. Path: "/ai/trainingTaskStat",
  296. Handler: ai.TrainingTaskStatHandler(serverCtx),
  297. },
  298. },
  299. rest.WithPrefix("/pcm/v1"),
  300. )
  301. server.AddRoutes(
  302. []rest.Route{
  303. {
  304. // yaml删除
  305. Method: http.MethodGet,
  306. Path: "/cloud/DeleteYaml",
  307. Handler: cloud.DeleteYamlHandler(serverCtx),
  308. },
  309. {
  310. // 控制器监控
  311. Method: http.MethodGet,
  312. Path: "/cloud/controller/Metrics",
  313. Handler: cloud.ControllerMetricsHandler(serverCtx),
  314. },
  315. {
  316. // 数算集群删除
  317. Method: http.MethodPost,
  318. Path: "/cloud/deleteCluster",
  319. Handler: cloud.DeleteClusterHandler(serverCtx),
  320. },
  321. {
  322. Method: http.MethodPost,
  323. Path: "/cloud/pod/logs",
  324. Handler: cloud.PodLogsHandler(serverCtx),
  325. },
  326. {
  327. // 数算集群注册
  328. Method: http.MethodPost,
  329. Path: "/cloud/registerCluster",
  330. Handler: cloud.RegisterClusterHandler(serverCtx),
  331. },
  332. {
  333. // Create cloud computing common tasks
  334. Method: http.MethodPost,
  335. Path: "/cloud/task/create",
  336. Handler: cloud.CommitGeneralTaskHandler(serverCtx),
  337. },
  338. {
  339. // Obtain cluster list information according to adapterId
  340. Method: http.MethodGet,
  341. Path: "/core/clusterList",
  342. Handler: cloud.GetClusterListHandler(serverCtx),
  343. },
  344. {
  345. // 云算任务列表
  346. Method: http.MethodGet,
  347. Path: "/task/list",
  348. Handler: cloud.CloudListHandler(serverCtx),
  349. },
  350. },
  351. rest.WithPrefix("/pcm/v1"),
  352. )
  353. server.AddRoutes(
  354. []rest.Route{
  355. {
  356. // 获取节点资产
  357. Method: http.MethodGet,
  358. Path: "/core/assets",
  359. Handler: core.NodeAssetsHandler(serverCtx),
  360. },
  361. {
  362. // Center Resources top3
  363. Method: http.MethodGet,
  364. Path: "/core/centerResources",
  365. Handler: core.CenterResourcesHandler(serverCtx),
  366. },
  367. {
  368. // 提交任务
  369. Method: http.MethodPost,
  370. Path: "/core/commitTask",
  371. Handler: core.CommitTaskHandler(serverCtx),
  372. },
  373. {
  374. // 提交虚拟机任务
  375. Method: http.MethodPost,
  376. Path: "/core/commitVmTask",
  377. Handler: core.CommitVmTaskHandler(serverCtx),
  378. },
  379. {
  380. // 删除任务
  381. Method: http.MethodDelete,
  382. Path: "/core/deleteTask/:id",
  383. Handler: core.DeleteTaskHandler(serverCtx),
  384. },
  385. {
  386. // 获取算力统计信息
  387. Method: http.MethodGet,
  388. Path: "/core/getComputilityStatistics",
  389. Handler: core.GetComputilityStatisticsHandler(serverCtx),
  390. },
  391. {
  392. // 查询算力
  393. Method: http.MethodGet,
  394. Path: "/core/getComputingPower",
  395. Handler: core.GetComputingPowerHandler(serverCtx),
  396. },
  397. {
  398. // screen
  399. Method: http.MethodGet,
  400. Path: "/core/getDomainResource",
  401. Handler: core.GetDomainResourceHandler(serverCtx),
  402. },
  403. {
  404. // 查询通用信息
  405. Method: http.MethodGet,
  406. Path: "/core/getGeneralInfo",
  407. Handler: core.GetGeneralInfoHandler(serverCtx),
  408. },
  409. {
  410. // Get Public Flavor
  411. Method: http.MethodGet,
  412. Path: "/core/getPublicFlavor",
  413. Handler: core.GetPublicFlavorHandler(serverCtx),
  414. },
  415. {
  416. // Get Public Image
  417. Method: http.MethodGet,
  418. Path: "/core/getPublicImage",
  419. Handler: core.GetPublicImageHandler(serverCtx),
  420. },
  421. {
  422. // Get Public Network
  423. Method: http.MethodGet,
  424. Path: "/core/getPublicNetwork",
  425. Handler: core.GetPublicNetworkHandler(serverCtx),
  426. },
  427. {
  428. // 获取region
  429. Method: http.MethodGet,
  430. Path: "/core/getRegion",
  431. Handler: core.GetRegionHandler(serverCtx),
  432. },
  433. {
  434. // 查询控制面板配置信息
  435. Method: http.MethodGet,
  436. Path: "/core/getResourcePanelConfigHandler",
  437. Handler: core.GetResourcePanelConfigHandler(serverCtx),
  438. },
  439. {
  440. // screen
  441. Method: http.MethodGet,
  442. Path: "/core/getScreenChart",
  443. Handler: core.GetScreenChartHandler(serverCtx),
  444. },
  445. {
  446. // screen
  447. Method: http.MethodGet,
  448. Path: "/core/getScreenInfo",
  449. Handler: core.GetScreenInfoHandler(serverCtx),
  450. },
  451. {
  452. // Home Page Overview
  453. Method: http.MethodGet,
  454. Path: "/core/homeOverview",
  455. Handler: core.HomeOverviewHandler(serverCtx),
  456. },
  457. {
  458. // 任务概览
  459. Method: http.MethodGet,
  460. Path: "/core/jobTotal",
  461. Handler: core.JobTotalHandler(serverCtx),
  462. },
  463. {
  464. // 数据中心概览
  465. Method: http.MethodGet,
  466. Path: "/core/listCenter",
  467. Handler: core.ListCenterHandler(serverCtx),
  468. },
  469. {
  470. // 查询集群列表
  471. Method: http.MethodGet,
  472. Path: "/core/listCluster/:centerId",
  473. Handler: core.ListClusterHandler(serverCtx),
  474. },
  475. {
  476. // list notice
  477. Method: http.MethodGet,
  478. Path: "/core/listNotice",
  479. Handler: core.ListNoticeHandler(serverCtx),
  480. },
  481. {
  482. // 获取region列表
  483. Method: http.MethodGet,
  484. Path: "/core/listRegion",
  485. Handler: core.ListRegionHandler(serverCtx),
  486. },
  487. {
  488. // metrics
  489. Method: http.MethodGet,
  490. Path: "/core/metrics",
  491. Handler: core.MetricsHandler(serverCtx),
  492. },
  493. {
  494. // 查询P端服务列表
  495. Method: http.MethodGet,
  496. Path: "/core/participantList",
  497. Handler: core.ParticipantListHandler(serverCtx),
  498. },
  499. {
  500. // provide for adapter to pull task info from core
  501. Method: http.MethodGet,
  502. Path: "/core/pullTaskInfo",
  503. Handler: core.PullTaskInfoHandler(serverCtx),
  504. },
  505. {
  506. // provide for adapter to push notice info to core
  507. Method: http.MethodPost,
  508. Path: "/core/pushNotice",
  509. Handler: core.PushNoticeHandler(serverCtx),
  510. },
  511. {
  512. // provide for adapter to push resource info to core
  513. Method: http.MethodPost,
  514. Path: "/core/pushResourceInfo",
  515. Handler: core.PushResourceInfoHandler(serverCtx),
  516. },
  517. {
  518. // provide for adapter to push task info to core
  519. Method: http.MethodPost,
  520. Path: "/core/pushTaskInfo",
  521. Handler: core.PushTaskInfoHandler(serverCtx),
  522. },
  523. {
  524. // 设置控制面板配置信息
  525. Method: http.MethodPut,
  526. Path: "/core/resourcePanelConfigHandler",
  527. Handler: core.PutResourcePanelConfigHandler(serverCtx),
  528. },
  529. {
  530. // yaml提交任务
  531. Method: http.MethodPost,
  532. Path: "/core/scheduleTaskByYaml",
  533. Handler: core.ScheduleTaskByYamlHandler(serverCtx),
  534. },
  535. {
  536. // Synchronize Cluster Load Information
  537. Method: http.MethodPost,
  538. Path: "/core/syncClusterLoad",
  539. Handler: core.SyncClusterLoadHandler(serverCtx),
  540. },
  541. {
  542. // Statistical task status
  543. Method: http.MethodGet,
  544. Path: "/core/task/countTaskStatus",
  545. Handler: core.CountTaskStatusHandler(serverCtx),
  546. },
  547. {
  548. // task details
  549. Method: http.MethodGet,
  550. Path: "/core/task/details",
  551. Handler: core.TaskDetailsHandler(serverCtx),
  552. },
  553. {
  554. // paging queries the task list
  555. Method: http.MethodGet,
  556. Path: "/core/task/list",
  557. Handler: core.PageListTaskHandler(serverCtx),
  558. },
  559. {
  560. // 查询任务列表
  561. Method: http.MethodGet,
  562. Path: "/core/taskList",
  563. Handler: core.TaskListHandler(serverCtx),
  564. },
  565. },
  566. rest.WithPrefix("/pcm/v1"),
  567. )
  568. server.AddRoutes(
  569. []rest.Route{
  570. {
  571. Method: http.MethodPost,
  572. Path: "/dict",
  573. Handler: dictionary.AddDictHandler(serverCtx),
  574. },
  575. {
  576. Method: http.MethodPut,
  577. Path: "/dict",
  578. Handler: dictionary.EditDictHandler(serverCtx),
  579. },
  580. {
  581. Method: http.MethodGet,
  582. Path: "/dict/:id",
  583. Handler: dictionary.GetDictHandler(serverCtx),
  584. },
  585. {
  586. Method: http.MethodDelete,
  587. Path: "/dict/:id",
  588. Handler: dictionary.DeleteDictHandler(serverCtx),
  589. },
  590. {
  591. Method: http.MethodPost,
  592. Path: "/dictItem",
  593. Handler: dictionary.AddDictItemHandler(serverCtx),
  594. },
  595. {
  596. Method: http.MethodPut,
  597. Path: "/dictItem",
  598. Handler: dictionary.EditDictItemHandler(serverCtx),
  599. },
  600. {
  601. Method: http.MethodGet,
  602. Path: "/dictItem/:id",
  603. Handler: dictionary.GetDictItemHandler(serverCtx),
  604. },
  605. {
  606. Method: http.MethodDelete,
  607. Path: "/dictItem/:id",
  608. Handler: dictionary.DeleteDictItemHandler(serverCtx),
  609. },
  610. {
  611. Method: http.MethodGet,
  612. Path: "/dictItem/code/:dictCode",
  613. Handler: dictionary.ListDictItemByCodeHandler(serverCtx),
  614. },
  615. {
  616. Method: http.MethodGet,
  617. Path: "/dictItems",
  618. Handler: dictionary.ListDictItemHandler(serverCtx),
  619. },
  620. {
  621. Method: http.MethodGet,
  622. Path: "/dicts",
  623. Handler: dictionary.ListDictHandler(serverCtx),
  624. },
  625. },
  626. rest.WithPrefix("/pcm/v1"),
  627. )
  628. server.AddRoutes(
  629. []rest.Route{
  630. {
  631. // 超算适配器列表
  632. Method: http.MethodGet,
  633. Path: "/hpc/adapterSummary",
  634. Handler: hpc.AdapterSummaryHandler(serverCtx),
  635. },
  636. {
  637. // 提交超算任务
  638. Method: http.MethodPost,
  639. Path: "/hpc/commitHpcTask",
  640. Handler: hpc.CommitHpcTaskHandler(serverCtx),
  641. },
  642. {
  643. // 超算查询任务列表
  644. Method: http.MethodGet,
  645. Path: "/hpc/job",
  646. Handler: hpc.JobHandler(serverCtx),
  647. },
  648. {
  649. // 超算总览
  650. Method: http.MethodGet,
  651. Path: "/hpc/overview",
  652. Handler: hpc.OverViewHandler(serverCtx),
  653. },
  654. {
  655. // 超算查询资产列表
  656. Method: http.MethodGet,
  657. Path: "/hpc/queueAssets",
  658. Handler: hpc.QueueAssetsHandler(serverCtx),
  659. },
  660. {
  661. // 超算资源总览
  662. Method: http.MethodGet,
  663. Path: "/hpc/resource",
  664. Handler: hpc.ResourceHandler(serverCtx),
  665. },
  666. },
  667. rest.WithPrefix("/pcm/v1"),
  668. )
  669. server.AddRoutes(
  670. []rest.Route{
  671. {
  672. Method: http.MethodPost,
  673. Path: "/inference/createDeployTask",
  674. Handler: inference.CreateDeployTaskHandler(serverCtx),
  675. },
  676. {
  677. Method: http.MethodGet,
  678. Path: "/inference/deployInstanceList",
  679. Handler: inference.DeployInstanceListHandler(serverCtx),
  680. },
  681. {
  682. Method: http.MethodGet,
  683. Path: "/inference/deployInstanceStat",
  684. Handler: inference.DeployInstanceStatHandler(serverCtx),
  685. },
  686. {
  687. Method: http.MethodGet,
  688. Path: "/inference/getAdaptersByModel",
  689. Handler: inference.GetAdaptersByModelHandler(serverCtx),
  690. },
  691. {
  692. Method: http.MethodGet,
  693. Path: "/inference/getDeployTasksByType",
  694. Handler: inference.GetDeployTasksByTypeHandler(serverCtx),
  695. },
  696. {
  697. Method: http.MethodGet,
  698. Path: "/inference/getRunningInstanceById",
  699. Handler: inference.GetRunningInstanceByIdHandler(serverCtx),
  700. },
  701. {
  702. Method: http.MethodPost,
  703. Path: "/inference/images",
  704. Handler: inference.ImageInferenceHandler(serverCtx),
  705. },
  706. {
  707. Method: http.MethodGet,
  708. Path: "/inference/instanceCenter",
  709. Handler: inference.InstanceCenterHandler(serverCtx),
  710. },
  711. {
  712. Method: http.MethodGet,
  713. Path: "/inference/modelNames",
  714. Handler: inference.ModelNamesByTypeHandler(serverCtx),
  715. },
  716. {
  717. Method: http.MethodGet,
  718. Path: "/inference/modelTypes",
  719. Handler: inference.ModelTypesHandler(serverCtx),
  720. },
  721. {
  722. Method: http.MethodPost,
  723. Path: "/inference/startAll",
  724. Handler: inference.StartAllByDeployTaskIdHandler(serverCtx),
  725. },
  726. {
  727. Method: http.MethodPost,
  728. Path: "/inference/startDeployInstance",
  729. Handler: inference.StartDeployInstanceListHandler(serverCtx),
  730. },
  731. {
  732. Method: http.MethodPost,
  733. Path: "/inference/stopAll",
  734. Handler: inference.StopAllByDeployTaskIdHandler(serverCtx),
  735. },
  736. {
  737. Method: http.MethodPost,
  738. Path: "/inference/stopDeployInstance",
  739. Handler: inference.StopDeployInstanceHandler(serverCtx),
  740. },
  741. {
  742. Method: http.MethodGet,
  743. Path: "/inference/taskDetail",
  744. Handler: inference.InferenceTaskDetailHandler(serverCtx),
  745. },
  746. {
  747. Method: http.MethodGet,
  748. Path: "/inference/taskStat",
  749. Handler: inference.InferenceTaskStatHandler(serverCtx),
  750. },
  751. {
  752. Method: http.MethodPost,
  753. Path: "/inference/text",
  754. Handler: inference.TextToTextInferenceHandler(serverCtx),
  755. },
  756. },
  757. rest.WithPrefix("/pcm/v1"),
  758. )
  759. server.AddRoutes(
  760. []rest.Route{
  761. {
  762. Method: http.MethodGet,
  763. Path: "/monitoring/adapter/info",
  764. Handler: monitoring.AdapterInfoHandler(serverCtx),
  765. },
  766. {
  767. // alert list
  768. Method: http.MethodGet,
  769. Path: "/monitoring/alert/list",
  770. Handler: monitoring.AlertListHandler(serverCtx),
  771. },
  772. {
  773. Method: http.MethodPost,
  774. Path: "/monitoring/alert/rule",
  775. Handler: monitoring.CreateAlertRuleHandler(serverCtx),
  776. },
  777. {
  778. // alert rules
  779. Method: http.MethodGet,
  780. Path: "/monitoring/alert/rule",
  781. Handler: monitoring.AlertRulesHandler(serverCtx),
  782. },
  783. {
  784. Method: http.MethodDelete,
  785. Path: "/monitoring/alert/rule",
  786. Handler: monitoring.DeleteAlertRuleHandler(serverCtx),
  787. },
  788. {
  789. // cluster resource load
  790. Method: http.MethodGet,
  791. Path: "/monitoring/cluster/load",
  792. Handler: monitoring.ClustersLoadHandler(serverCtx),
  793. },
  794. {
  795. // node resource load
  796. Method: http.MethodGet,
  797. Path: "/monitoring/node/top",
  798. Handler: monitoring.NodesLoadTopHandler(serverCtx),
  799. },
  800. {
  801. Method: http.MethodGet,
  802. Path: "/monitoring/schedule/situation",
  803. Handler: monitoring.ScheduleSituationHandler(serverCtx),
  804. },
  805. {
  806. // Synchronize Cluster alert Information
  807. Method: http.MethodPost,
  808. Path: "/monitoring/syncClusterAlert",
  809. Handler: monitoring.SyncClusterAlertHandler(serverCtx),
  810. },
  811. {
  812. Method: http.MethodGet,
  813. Path: "/monitoring/task/num",
  814. Handler: monitoring.TaskNumHandler(serverCtx),
  815. },
  816. },
  817. rest.WithPrefix("/pcm/v1"),
  818. )
  819. server.AddRoutes(
  820. []rest.Route{
  821. {
  822. Method: http.MethodGet,
  823. Path: "/schedule/ai/getAlgorithms/:adapterId/:resourceType/:taskType/:dataset",
  824. Handler: schedule.ScheduleGetAlgorithmsHandler(serverCtx),
  825. },
  826. {
  827. Method: http.MethodGet,
  828. Path: "/schedule/ai/getDatasets/:adapterId",
  829. Handler: schedule.ScheduleGetDatasetsHandler(serverCtx),
  830. },
  831. {
  832. Method: http.MethodGet,
  833. Path: "/schedule/ai/getJobLog/:adapterId/:clusterId/:taskId/:instanceNum",
  834. Handler: schedule.ScheduleGetAiJobLogLogHandler(serverCtx),
  835. },
  836. {
  837. Method: http.MethodGet,
  838. Path: "/schedule/ai/getResourceTypes",
  839. Handler: schedule.ScheduleGetAiResourceTypesHandler(serverCtx),
  840. },
  841. {
  842. Method: http.MethodGet,
  843. Path: "/schedule/ai/getStrategies",
  844. Handler: schedule.ScheduleGetStrategyHandler(serverCtx),
  845. },
  846. {
  847. Method: http.MethodGet,
  848. Path: "/schedule/ai/getTaskTypes",
  849. Handler: schedule.ScheduleGetAiTaskTypesHandler(serverCtx),
  850. },
  851. {
  852. Method: http.MethodGet,
  853. Path: "/schedule/downloadAlgorithmCode",
  854. Handler: schedule.DownloadAlgothmCodeHandler(serverCtx),
  855. },
  856. {
  857. Method: http.MethodGet,
  858. Path: "/schedule/getClusterBalanceById/:adapterId/:clusterId",
  859. Handler: schedule.GetClusterBalanceByIdHandler(serverCtx),
  860. },
  861. {
  862. Method: http.MethodGet,
  863. Path: "/schedule/getComputeCardsByCluster/:adapterId/:clusterId",
  864. Handler: schedule.GetComputeCardsByClusterHandler(serverCtx),
  865. },
  866. {
  867. Method: http.MethodPost,
  868. Path: "/schedule/getOverview",
  869. Handler: schedule.ScheduleGetOverviewHandler(serverCtx),
  870. },
  871. {
  872. Method: http.MethodPost,
  873. Path: "/schedule/submit",
  874. Handler: schedule.ScheduleSubmitHandler(serverCtx),
  875. },
  876. {
  877. Method: http.MethodPost,
  878. Path: "/schedule/uploadAlgorithmCode",
  879. Handler: schedule.UploadAlgothmCodeHandler(serverCtx),
  880. },
  881. },
  882. rest.WithPrefix("/pcm/v1"),
  883. )
  884. server.AddRoutes(
  885. []rest.Route{
  886. {
  887. // 日常算力查询
  888. Method: http.MethodGet,
  889. Path: "/storage/dailyPowerScreen",
  890. Handler: storage.DailyPowerScreenHandler(serverCtx),
  891. },
  892. {
  893. // 算力中心算力情况
  894. Method: http.MethodGet,
  895. Path: "/storage/perCenterComputerPowers",
  896. Handler: storage.PerCenterComputerPowersHandler(serverCtx),
  897. },
  898. {
  899. // 存储概览
  900. Method: http.MethodGet,
  901. Path: "/storage/screenStorage",
  902. Handler: storage.ScreenStorageHandler(serverCtx),
  903. },
  904. },
  905. rest.WithPrefix("/pcm/v1"),
  906. )
  907. server.AddRoutes(
  908. []rest.Route{
  909. {
  910. Method: http.MethodDelete,
  911. Path: "/storelink/deleteImage",
  912. Handler: storelink.DeleteLinkImageHandler(serverCtx),
  913. },
  914. {
  915. Method: http.MethodDelete,
  916. Path: "/storelink/deleteTask",
  917. Handler: storelink.DeleteLinkTaskHandler(serverCtx),
  918. },
  919. {
  920. Method: http.MethodGet,
  921. Path: "/storelink/getImageList",
  922. Handler: storelink.GetLinkImageListHandler(serverCtx),
  923. },
  924. {
  925. Method: http.MethodGet,
  926. Path: "/storelink/getParticipants",
  927. Handler: storelink.GetParticipantsHandler(serverCtx),
  928. },
  929. {
  930. Method: http.MethodGet,
  931. Path: "/storelink/getResourceSpecs",
  932. Handler: storelink.GetAISpecsHandler(serverCtx),
  933. },
  934. {
  935. Method: http.MethodGet,
  936. Path: "/storelink/getTask",
  937. Handler: storelink.GetLinkTaskHandler(serverCtx),
  938. },
  939. {
  940. Method: http.MethodPost,
  941. Path: "/storelink/submitTask",
  942. Handler: storelink.SubmitLinkTaskHandler(serverCtx),
  943. },
  944. {
  945. Method: http.MethodPost,
  946. Path: "/storelink/uploadImage",
  947. Handler: storelink.UploadLinkImageHandler(serverCtx),
  948. },
  949. },
  950. rest.WithPrefix("/pcm/v1"),
  951. )
  952. server.AddRoutes(
  953. []rest.Route{
  954. {
  955. // 将安全组添加到服务器
  956. Method: http.MethodPost,
  957. Path: "/vm/addSecurityGroupToServer",
  958. Handler: vm.AddSecurityGroupToServerHandler(serverCtx),
  959. },
  960. {
  961. // 批量创建网络
  962. Method: http.MethodPost,
  963. Path: "/vm/bulkCreateNetworks",
  964. Handler: vm.BulkCreateNetworksHandler(serverCtx),
  965. },
  966. {
  967. // 设置密码
  968. Method: http.MethodPost,
  969. Path: "/vm/changeAdministrativePassword",
  970. Handler: vm.ChangeAdministrativePasswordHandler(serverCtx),
  971. },
  972. {
  973. // 创建防火墙
  974. Method: http.MethodPost,
  975. Path: "/vm/createFirewallGroup",
  976. Handler: vm.CreateFirewallGroupHandler(serverCtx),
  977. },
  978. {
  979. // 创建防火墙策略
  980. Method: http.MethodPost,
  981. Path: "/vm/createFirewallPolicy",
  982. Handler: vm.CreateFirewallPolicyHandler(serverCtx),
  983. },
  984. {
  985. // 创建防火墙策略
  986. Method: http.MethodPost,
  987. Path: "/vm/createFirewallRule",
  988. Handler: vm.CreateFirewallRuleHandler(serverCtx),
  989. },
  990. {
  991. // 创建规格
  992. Method: http.MethodPost,
  993. Path: "/vm/createFlavor",
  994. Handler: vm.CreateFlavorHandler(serverCtx),
  995. },
  996. {
  997. // 创建浮动ip
  998. Method: http.MethodPost,
  999. Path: "/vm/createFloatingIP",
  1000. Handler: vm.CreateFloatingIPHandler(serverCtx),
  1001. },
  1002. {
  1003. // 创建镜像
  1004. Method: http.MethodPost,
  1005. Path: "/vm/createImage",
  1006. Handler: vm.CreateImageHandler(serverCtx),
  1007. },
  1008. {
  1009. // 跨域创建虚拟机
  1010. Method: http.MethodPost,
  1011. Path: "/vm/createMulServer",
  1012. Handler: vm.CreateMulServerHandler(serverCtx),
  1013. },
  1014. {
  1015. // 创建网络
  1016. Method: http.MethodPost,
  1017. Path: "/vm/createNetwork",
  1018. Handler: vm.CreateNetworkHandler(serverCtx),
  1019. },
  1020. {
  1021. // 创建网段
  1022. Method: http.MethodPost,
  1023. Path: "/vm/createNetworkSegmentRange",
  1024. Handler: vm.CreateNetworkSegmentRangeHandler(serverCtx),
  1025. },
  1026. {
  1027. // 创建节点
  1028. Method: http.MethodPost,
  1029. Path: "/vm/createNode",
  1030. Handler: vm.CreateNodeHandler(serverCtx),
  1031. },
  1032. {
  1033. // 创建端口
  1034. Method: http.MethodPost,
  1035. Path: "/vm/createPort",
  1036. Handler: vm.CreatePortHandler(serverCtx),
  1037. },
  1038. {
  1039. // 创建路由
  1040. Method: http.MethodPost,
  1041. Path: "/vm/createRouter",
  1042. Handler: vm.CreateRouterHandler(serverCtx),
  1043. },
  1044. {
  1045. // 创建安全组
  1046. Method: http.MethodPost,
  1047. Path: "/vm/createSecurityGroup",
  1048. Handler: vm.CreateSecurityGroupHandler(serverCtx),
  1049. },
  1050. {
  1051. // 创建安全组规则
  1052. Method: http.MethodPost,
  1053. Path: "/vm/createSecurityGroupRule",
  1054. Handler: vm.CreateSecurityGroupRuleHandler(serverCtx),
  1055. },
  1056. {
  1057. // 创建虚拟机
  1058. Method: http.MethodPost,
  1059. Path: "/vm/createServer",
  1060. Handler: vm.CreateServerHandler(serverCtx),
  1061. },
  1062. {
  1063. // 创建子网
  1064. Method: http.MethodPost,
  1065. Path: "/vm/createSubnet",
  1066. Handler: vm.CreateSubnetHandler(serverCtx),
  1067. },
  1068. {
  1069. // 创建卷
  1070. Method: http.MethodPost,
  1071. Path: "/vm/createVolume",
  1072. Handler: vm.CreateVolumeHandler(serverCtx),
  1073. },
  1074. {
  1075. // 创建卷类型
  1076. Method: http.MethodPost,
  1077. Path: "/vm/createVolumeTypes",
  1078. Handler: vm.CreateVolumeTypesHandler(serverCtx),
  1079. },
  1080. {
  1081. // 删除防火墙
  1082. Method: http.MethodDelete,
  1083. Path: "/vm/deleteFirewallGroup",
  1084. Handler: vm.DeleteFirewallGroupHandler(serverCtx),
  1085. },
  1086. {
  1087. // 删除防火墙策略
  1088. Method: http.MethodDelete,
  1089. Path: "/vm/deleteFirewallPolicy",
  1090. Handler: vm.DeleteFirewallPolicyHandler(serverCtx),
  1091. },
  1092. {
  1093. // 删除防火墙策略
  1094. Method: http.MethodDelete,
  1095. Path: "/vm/deleteFirewallRule",
  1096. Handler: vm.DeleteFirewallRuleHandler(serverCtx),
  1097. },
  1098. {
  1099. // 创建规格
  1100. Method: http.MethodPost,
  1101. Path: "/vm/deleteFlavor",
  1102. Handler: vm.DeleteFlavorHandler(serverCtx),
  1103. },
  1104. {
  1105. // 删除浮动ip
  1106. Method: http.MethodDelete,
  1107. Path: "/vm/deleteFloatingIP",
  1108. Handler: vm.DeleteFloatingIPHandler(serverCtx),
  1109. },
  1110. {
  1111. // 删除镜像
  1112. Method: http.MethodDelete,
  1113. Path: "/vm/deleteImage",
  1114. Handler: vm.DeleteImageHandler(serverCtx),
  1115. },
  1116. {
  1117. // 删除网络
  1118. Method: http.MethodDelete,
  1119. Path: "/vm/deleteNetwork",
  1120. Handler: vm.DeleteNetworkHandler(serverCtx),
  1121. },
  1122. {
  1123. // 删除网段
  1124. Method: http.MethodDelete,
  1125. Path: "/vm/deleteNetworkSegmentRanges",
  1126. Handler: vm.DeleteNetworkSegmentRangesHandler(serverCtx),
  1127. },
  1128. {
  1129. // 删除节点
  1130. Method: http.MethodDelete,
  1131. Path: "/vm/deleteNode",
  1132. Handler: vm.DeleteNodeHandler(serverCtx),
  1133. },
  1134. {
  1135. // 删除端口
  1136. Method: http.MethodDelete,
  1137. Path: "/vm/deletePort",
  1138. Handler: vm.DeletePortHandler(serverCtx),
  1139. },
  1140. {
  1141. // 删除路由
  1142. Method: http.MethodDelete,
  1143. Path: "/vm/deleteRouter",
  1144. Handler: vm.DeleteRouterHandler(serverCtx),
  1145. },
  1146. {
  1147. // 删除安全组
  1148. Method: http.MethodDelete,
  1149. Path: "/vm/deleteSecurityGroup",
  1150. Handler: vm.DeleteSecurityGroupHandler(serverCtx),
  1151. },
  1152. {
  1153. // 删除安全组规则
  1154. Method: http.MethodDelete,
  1155. Path: "/vm/deleteSecurityGroupRule",
  1156. Handler: vm.DeleteSecurityGroupRuleHandler(serverCtx),
  1157. },
  1158. {
  1159. // 删除虚拟机
  1160. Method: http.MethodDelete,
  1161. Path: "/vm/deleteServer",
  1162. Handler: vm.DeleteServerHandler(serverCtx),
  1163. },
  1164. {
  1165. // 删除子网
  1166. Method: http.MethodDelete,
  1167. Path: "/vm/deleteSubnet",
  1168. Handler: vm.DeleteSubnetHandler(serverCtx),
  1169. },
  1170. {
  1171. // 删除卷
  1172. Method: http.MethodDelete,
  1173. Path: "/vm/deleteVolume",
  1174. Handler: vm.DeleteVolumeHandler(serverCtx),
  1175. },
  1176. {
  1177. // 删除卷类型
  1178. Method: http.MethodDelete,
  1179. Path: "/vm/deleteVolumeType",
  1180. Handler: vm.DeleteVolumeTypeHandler(serverCtx),
  1181. },
  1182. {
  1183. // openstack计算中心概览
  1184. Method: http.MethodGet,
  1185. Path: "/vm/getComputeLimits",
  1186. Handler: vm.GetComputeLimitsHandler(serverCtx),
  1187. },
  1188. {
  1189. // 查询镜像数量
  1190. Method: http.MethodGet,
  1191. Path: "/vm/getImageNum",
  1192. Handler: vm.GetImageNumHandler(serverCtx),
  1193. },
  1194. {
  1195. // 查询网络数量
  1196. Method: http.MethodGet,
  1197. Path: "/vm/getNetworkNum",
  1198. Handler: vm.GetNetworkNumHandler(serverCtx),
  1199. },
  1200. {
  1201. // 查询虚拟机概览数据
  1202. Method: http.MethodGet,
  1203. Path: "/vm/getOpenstackOverview",
  1204. Handler: vm.GetOpenstackOverviewHandler(serverCtx),
  1205. },
  1206. {
  1207. // 根据ID查询虚拟机详情
  1208. Method: http.MethodGet,
  1209. Path: "/vm/getServersDetailedById",
  1210. Handler: vm.GetServersDetailedByIdHandler(serverCtx),
  1211. },
  1212. {
  1213. // 根据ID获取卷详情
  1214. Method: http.MethodGet,
  1215. Path: "/vm/getVolumeDetailedById",
  1216. Handler: vm.GetVolumeDetailedByIdHandler(serverCtx),
  1217. },
  1218. {
  1219. // 查询卷列表
  1220. Method: http.MethodGet,
  1221. Path: "/vm/getVolumeLimits",
  1222. Handler: vm.GetVolumeLimitsHandler(serverCtx),
  1223. },
  1224. {
  1225. // 查询防火墙列表
  1226. Method: http.MethodGet,
  1227. Path: "/vm/listFirewallGroups",
  1228. Handler: vm.ListFirewallGroupsHandler(serverCtx),
  1229. },
  1230. {
  1231. // 查询防火墙策略列表
  1232. Method: http.MethodGet,
  1233. Path: "/vm/listFirewallPolicies",
  1234. Handler: vm.ListFirewallPoliciesHandler(serverCtx),
  1235. },
  1236. {
  1237. // 查询防火墙策略列表
  1238. Method: http.MethodGet,
  1239. Path: "/vm/listFirewallRules",
  1240. Handler: vm.ListFirewallRulesHandler(serverCtx),
  1241. },
  1242. {
  1243. // 查询规格详情列表
  1244. Method: http.MethodGet,
  1245. Path: "/vm/listFlavorsDetail",
  1246. Handler: vm.ListFlavorsDetailHandler(serverCtx),
  1247. },
  1248. {
  1249. // 查询浮动ip列表
  1250. Method: http.MethodGet,
  1251. Path: "/vm/listFloatingIPs",
  1252. Handler: vm.ListFloatingIPsHandler(serverCtx),
  1253. },
  1254. {
  1255. // 查询镜像列表
  1256. Method: http.MethodGet,
  1257. Path: "/vm/listImages",
  1258. Handler: vm.ListImagesHandler(serverCtx),
  1259. },
  1260. {
  1261. // 查询网络列表
  1262. Method: http.MethodGet,
  1263. Path: "/vm/listNetworkSegmentRanges",
  1264. Handler: vm.ListNetworkSegmentRangesRangeHandler(serverCtx),
  1265. },
  1266. {
  1267. // 查询网络列表
  1268. Method: http.MethodGet,
  1269. Path: "/vm/listNetworks",
  1270. Handler: vm.ListNetworksHandler(serverCtx),
  1271. },
  1272. {
  1273. // 查询节点列表
  1274. Method: http.MethodGet,
  1275. Path: "/vm/listNodes",
  1276. Handler: vm.ListNodesHandler(serverCtx),
  1277. },
  1278. {
  1279. // 查询端口列表
  1280. Method: http.MethodGet,
  1281. Path: "/vm/listPortsReq",
  1282. Handler: vm.ListPortsHandler(serverCtx),
  1283. },
  1284. {
  1285. // 查询路由列表
  1286. Method: http.MethodGet,
  1287. Path: "/vm/listRouters",
  1288. Handler: vm.ListRoutersHandler(serverCtx),
  1289. },
  1290. {
  1291. // 查询安全组规则列表
  1292. Method: http.MethodGet,
  1293. Path: "/vm/listSecurityGroupRules",
  1294. Handler: vm.ListSecurityGroupRulesHandler(serverCtx),
  1295. },
  1296. {
  1297. // 查询安全组列表
  1298. Method: http.MethodGet,
  1299. Path: "/vm/listSecurityGroups",
  1300. Handler: vm.ListSecurityGroupsHandler(serverCtx),
  1301. },
  1302. {
  1303. // 查询虚拟机列表
  1304. Method: http.MethodGet,
  1305. Path: "/vm/listServer",
  1306. Handler: vm.ListServerHandler(serverCtx),
  1307. },
  1308. {
  1309. // 查询虚拟机详情列表
  1310. Method: http.MethodGet,
  1311. Path: "/vm/listServersDetailed",
  1312. Handler: vm.ListServersDetailedHandler(serverCtx),
  1313. },
  1314. {
  1315. // 查询子网列表
  1316. Method: http.MethodGet,
  1317. Path: "/vm/listSubnets",
  1318. Handler: vm.ListSubnetsHandler(serverCtx),
  1319. },
  1320. {
  1321. // 查询规格类型列表
  1322. Method: http.MethodGet,
  1323. Path: "/vm/listVolumeTypes",
  1324. Handler: vm.ListVolumeTypesHandler(serverCtx),
  1325. },
  1326. {
  1327. // 查询卷列表
  1328. Method: http.MethodGet,
  1329. Path: "/vm/listVolumes",
  1330. Handler: vm.ListVolumesHandler(serverCtx),
  1331. },
  1332. {
  1333. // 查询卷详情列表
  1334. Method: http.MethodGet,
  1335. Path: "/vm/listVolumesDetail",
  1336. Handler: vm.ListVolumesDetailHandler(serverCtx),
  1337. },
  1338. {
  1339. // 迁移
  1340. Method: http.MethodPost,
  1341. Path: "/vm/migrateServer",
  1342. Handler: vm.MigrateServerHandler(serverCtx),
  1343. },
  1344. {
  1345. // 暂停虚拟机
  1346. Method: http.MethodPost,
  1347. Path: "/vm/pauseServer",
  1348. Handler: vm.PauseServerHandler(serverCtx),
  1349. },
  1350. {
  1351. // 重启虚拟机
  1352. Method: http.MethodPost,
  1353. Path: "/vm/rebootServer",
  1354. Handler: vm.RebootServerHandler(serverCtx),
  1355. },
  1356. {
  1357. // 从服务器中删除安全
  1358. Method: http.MethodPost,
  1359. Path: "/vm/removeSecurityGroup",
  1360. Handler: vm.RemoveSecurityGroupHandler(serverCtx),
  1361. },
  1362. {
  1363. // 救援
  1364. Method: http.MethodPost,
  1365. Path: "/vm/rescueServer",
  1366. Handler: vm.RescueServerHandler(serverCtx),
  1367. },
  1368. {
  1369. // 调整大小
  1370. Method: http.MethodPost,
  1371. Path: "/vm/resizeServer",
  1372. Handler: vm.ResizeServerHandler(serverCtx),
  1373. },
  1374. {
  1375. // 搁置
  1376. Method: http.MethodPost,
  1377. Path: "/vm/shelveServer",
  1378. Handler: vm.ShelveServerHandler(serverCtx),
  1379. },
  1380. {
  1381. // 查询防火墙详情
  1382. Method: http.MethodGet,
  1383. Path: "/vm/showFirewallGroupDetails",
  1384. Handler: vm.ShowFirewallGroupDetailsHandler(serverCtx),
  1385. },
  1386. {
  1387. // 查询防火墙策略详情
  1388. Method: http.MethodGet,
  1389. Path: "/vm/showFirewallPolicyDetails",
  1390. Handler: vm.ShowFirewallPolicyDetailsHandler(serverCtx),
  1391. },
  1392. {
  1393. // 查询防火墙策略详情
  1394. Method: http.MethodGet,
  1395. Path: "/vm/showFirewallRuleDetails",
  1396. Handler: vm.ShowFirewallRuleDetailsHandler(serverCtx),
  1397. },
  1398. {
  1399. // 查询浮动ip详情
  1400. Method: http.MethodGet,
  1401. Path: "/vm/showFloatingIPDetails",
  1402. Handler: vm.ShowFloatingIPDetailsHandler(serverCtx),
  1403. },
  1404. {
  1405. // 查询网络详情
  1406. Method: http.MethodGet,
  1407. Path: "/vm/showNetworkDetails",
  1408. Handler: vm.ShowNetworkDetailsHandler(serverCtx),
  1409. },
  1410. {
  1411. // 显示网段详情
  1412. Method: http.MethodGet,
  1413. Path: "/vm/showNetworkSegmentRangeDetails",
  1414. Handler: vm.ShowNetworkSegmentRangeDetailsHandler(serverCtx),
  1415. },
  1416. {
  1417. // 查询节点详情
  1418. Method: http.MethodGet,
  1419. Path: "/vm/showNodeDetails",
  1420. Handler: vm.ShowNodeDetailsHandler(serverCtx),
  1421. },
  1422. {
  1423. // 查询端口详情
  1424. Method: http.MethodGet,
  1425. Path: "/vm/showPortDetails",
  1426. Handler: vm.ShowPortDetailsHandler(serverCtx),
  1427. },
  1428. {
  1429. // 查询路由详情
  1430. Method: http.MethodGet,
  1431. Path: "/vm/showRouterDetails",
  1432. Handler: vm.ShowRouterDetailsHandler(serverCtx),
  1433. },
  1434. {
  1435. // 查询安全组详情
  1436. Method: http.MethodGet,
  1437. Path: "/vm/showSecurityGroup",
  1438. Handler: vm.ShowSecurityGroupHandler(serverCtx),
  1439. },
  1440. {
  1441. // 查询安全组规则详情
  1442. Method: http.MethodGet,
  1443. Path: "/vm/showSecurityGroupRule",
  1444. Handler: vm.ShowSecurityGroupRuleHandler(serverCtx),
  1445. },
  1446. {
  1447. // 启动虚拟机
  1448. Method: http.MethodPost,
  1449. Path: "/vm/startServer",
  1450. Handler: vm.StartServerHandler(serverCtx),
  1451. },
  1452. {
  1453. // 停止虚拟机
  1454. Method: http.MethodPost,
  1455. Path: "/vm/stopServer",
  1456. Handler: vm.StopServerHandler(serverCtx),
  1457. },
  1458. {
  1459. // 中止
  1460. Method: http.MethodPost,
  1461. Path: "/vm/suspendServer",
  1462. Handler: vm.SuspendServerHandler(serverCtx),
  1463. },
  1464. {
  1465. // 取消救援
  1466. Method: http.MethodPost,
  1467. Path: "/vm/unRescueServer",
  1468. Handler: vm.UnRescueHandler(serverCtx),
  1469. },
  1470. {
  1471. // 取消暂停虚拟机
  1472. Method: http.MethodPost,
  1473. Path: "/vm/unpauseServer",
  1474. Handler: vm.UnpauseServerHandler(serverCtx),
  1475. },
  1476. {
  1477. // 修改防火墙
  1478. Method: http.MethodPut,
  1479. Path: "/vm/updateFirewallGroup",
  1480. Handler: vm.UpdateFirewallGroupHandler(serverCtx),
  1481. },
  1482. {
  1483. // 修改浮动ip
  1484. Method: http.MethodPut,
  1485. Path: "/vm/updateFloatingIP",
  1486. Handler: vm.UpdateFloatingIPHandler(serverCtx),
  1487. },
  1488. {
  1489. // 更新网络
  1490. Method: http.MethodPut,
  1491. Path: "/vm/updateNetwork",
  1492. Handler: vm.UpdateNetworkHandler(serverCtx),
  1493. },
  1494. {
  1495. // 修改网段
  1496. Method: http.MethodPut,
  1497. Path: "/vm/updateNetworkSegmentRanges",
  1498. Handler: vm.UpdateNetworkSegmentRangesHandler(serverCtx),
  1499. },
  1500. {
  1501. // 修改端口
  1502. Method: http.MethodPut,
  1503. Path: "/vm/updatePort",
  1504. Handler: vm.UpdatePortHandler(serverCtx),
  1505. },
  1506. {
  1507. // 修改路由
  1508. Method: http.MethodPut,
  1509. Path: "/vm/updateRouter",
  1510. Handler: vm.UpdateRouterHandler(serverCtx),
  1511. },
  1512. {
  1513. // 修改安全组
  1514. Method: http.MethodPut,
  1515. Path: "/vm/updateSecurityGroup",
  1516. Handler: vm.UpdateSecurityGroupHandler(serverCtx),
  1517. },
  1518. {
  1519. // 更新虚拟机
  1520. Method: http.MethodPut,
  1521. Path: "/vm/updateServer",
  1522. Handler: vm.UpdateServerHandler(serverCtx),
  1523. },
  1524. {
  1525. // 修改子网
  1526. Method: http.MethodPut,
  1527. Path: "/vm/updateSubnet",
  1528. Handler: vm.UpdateSubnetHandler(serverCtx),
  1529. },
  1530. {
  1531. // 更新卷
  1532. Method: http.MethodPut,
  1533. Path: "/vm/updateVolume",
  1534. Handler: vm.UpdateVolumeHandler(serverCtx),
  1535. },
  1536. {
  1537. // 上传镜像
  1538. Method: http.MethodPut,
  1539. Path: "/vm/uploadImage",
  1540. Handler: vm.UploadImageHandler(serverCtx),
  1541. },
  1542. },
  1543. rest.WithPrefix("/pcm/v1"),
  1544. )
  1545. }

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.