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-core.api 50 kB

2 years ago
2 years ago
2 years ago
2 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364
  1. syntax = "v1"
  2. info(
  3. title: "gateway"
  4. desc: "gateway端微服务"
  5. author: "zhouqj"
  6. email: "450705171@qq.com"
  7. )
  8. type (
  9. getRegionResp {
  10. Code int32 `json:"code"`
  11. Msg string `json:"msg"`
  12. Data RegionNum `json:"data"`
  13. }
  14. RegionNum {
  15. RegionSum int64 `json:"regionSum"`
  16. SoftStackSum int64 `json:"softStackSum"`
  17. }
  18. )
  19. type (
  20. centerResourcesResp {
  21. CentersIndex []CenterIndex `json:"centersIndex"`
  22. }
  23. CenterIndex {
  24. Id int64 `json:"id"`
  25. Name string `json:"name"`
  26. Cpu string `json:"cpu"`
  27. Memory string `json:"memory"`
  28. Storage string `json:"storage"`
  29. CenterType string `json:"centerType"`
  30. }
  31. )
  32. type (
  33. HomeOverviewReq {
  34. }
  35. HomeOverviewResp {
  36. Code int `json:"code"`
  37. Message string `json:"message"`
  38. Data HomeOverviewData `json:"data"`
  39. }
  40. HomeOverviewData {
  41. AdaptSum int64 `json:"adaptSum"`
  42. ClusterSum int64 `json:"clusterSum"`
  43. StorageSum float32 `json:"storageSum"`
  44. TaskSum int64 `json:"taskSum"`
  45. }
  46. )
  47. type (
  48. PublicImageReq {
  49. }
  50. PublicImageResp {
  51. Code int `json:"code"`
  52. Message string `json:"message"`
  53. ImageDict []ImageDict `json:"imageRDict"`
  54. }
  55. ImageDict {
  56. Id int `json:"id"`
  57. PublicImageName string `json:"public_image_name"`
  58. }
  59. )
  60. type (
  61. PublicFlavorReq {
  62. }
  63. PublicFlavorResp {
  64. Code int `json:"code"`
  65. Message string `json:"message"`
  66. FlavorDict []FlavorDict `json:"flavorDict"`
  67. }
  68. FlavorDict {
  69. Id int `json:"id"`
  70. PublicFlavorName string `json:"public_flavor_name"`
  71. }
  72. )
  73. type (
  74. PublicNetworkReq {
  75. }
  76. PublicNetworkResp {
  77. Code int `json:"code"`
  78. Message string `json:"message"`
  79. NetworkDict []NetworkDict `json:"networkDict"`
  80. }
  81. NetworkDict {
  82. Id int `json:"id"`
  83. PublicNetworkName string `json:"public_netWork_name"`
  84. }
  85. )
  86. type remoteResp {
  87. Code int `json:"code"`
  88. Message string `json:"message"`
  89. Data interface{} `json:"data"`
  90. }
  91. type (
  92. clustersLoadReq {
  93. ClusterName string `form:"clusterName"`
  94. }
  95. clustersLoadResp {
  96. Data interface{} `json:"data"`
  97. }
  98. )
  99. type (
  100. syncClusterLoadReq {
  101. clusterLoadRecords []ClusterLoadRecord `json:"clusterLoadRecords"`
  102. }
  103. ClusterLoadRecord {
  104. AdapterId int64 `json:"adapterId,optional"`
  105. ClusterName string `json:"clusterName,optional"`
  106. CpuAvail float64 `json:"cpuAvail,optional"`
  107. CpuTotal float64 `json:"cpuTotal,optional"`
  108. CpuUtilisation float64 `json:"cpuUtilisation,optional"`
  109. MemoryAvail float64 `json:"memoryAvail,optional"`
  110. MemoryUtilisation float64 `json:"memoryUtilisation,optional"`
  111. MemoryTotal float64 `json:"memoryTotal,optional"`
  112. DiskAvail float64 `json:"diskAvail,optional"`
  113. DiskTotal float64 `json:"diskTotal,optional"`
  114. DiskUtilisation float64 `json:"diskUtilisation,optional"`
  115. PodsUtilisation float64 `json:"podsUtilisation,optional"`
  116. PodsCount int64 `json:"podsCount,optional"`
  117. PodsTotal int64 `json:"podsTotal,optional"`
  118. }
  119. )
  120. type (
  121. getClusterListReq {
  122. AdapterId int64 `form:"adapterId"`
  123. }
  124. getClusterListResp {
  125. Clusters []ClusterInfo `json:"clusters"`
  126. }
  127. )
  128. type (
  129. listRegionResp {
  130. Code int32 `json:"code"`
  131. Msg string `json:"msg"`
  132. Data []Region `json:"data"`
  133. }
  134. Region {
  135. RegionName string `json:"RegionName"` // 域名
  136. SoftStack string `json:"SoftStack"` // 软件栈
  137. SlurmNum int64 `json:"SlurmNum"` // 超算域适配slurm数量
  138. AdaptorInterfaceSum int64 `json:"AdaptorInterfaceSum"` // 适配接口数量
  139. RunningJobs int64 `json:"runningJobs"`
  140. }
  141. )
  142. type (
  143. GeneralTaskReq {
  144. Name string `json:"name"`
  145. AdapterIds []string `json:"adapterIds"`
  146. ClusterIds []string `json:"clusterIds"`
  147. Strategy string `json:"strategy"`
  148. StaticWeightMap map[string]int32 `json:"staticWeightMap,optional"`
  149. ReqBody []string `json:"reqBody"`
  150. Replicas int64 `json:"replicas,string"`
  151. }
  152. PodLogsReq {
  153. TaskId string `json:"taskId"`
  154. TaskName string `json:"taskName"`
  155. ClusterId string `json:"clusterId"`
  156. ClusterName string `json:"clusterName"`
  157. AdapterId string `json:"adapterId"`
  158. AdapterName string `json:"adapterName"`
  159. PodName string `json:"podName"`
  160. stream bool `json:"stream"`
  161. }
  162. )
  163. type deleteTaskReq {
  164. Id int64 `path:"id"`
  165. }
  166. type commitTaskReq {
  167. Name string `json:"name"`
  168. NsID string `json:"nsID"`
  169. Replicas int64 `json:"replicas,optional"`
  170. MatchLabels map[string]string `json:"matchLabels,optional"`
  171. YamlList []string `json:"yamlList"`
  172. ClusterName string `json:"clusterName"`
  173. }
  174. type (
  175. scheduleTaskByYamlReq {
  176. Name string `yaml:"name"`
  177. Description string `yaml:"description"`
  178. TenantId int64 `yaml:"tenantId"`
  179. NsID string `yaml:"nsID"`
  180. Tasks []TaskYaml `yaml:"tasks"`
  181. }
  182. TaskYaml {
  183. Replicas int64 `yaml:"replicas"`
  184. TaskId int64 `yaml:"taskId"`
  185. NsID string `yaml:"nsID"`
  186. TaskType string `yaml:"taskType"`
  187. ParticipantId int64 `yaml:"participantId"`
  188. MatchLabels map[string]string `yaml:"matchLabels"`
  189. Metadata interface{} `yaml:"metadata"`
  190. }
  191. )
  192. type (
  193. commitVmTaskReq {
  194. Name string `json:"name"`
  195. AdapterIds []string `json:"adapterIds,optional"`
  196. ClusterIds []string `json:"clusterIds"`
  197. Strategy string `json:"strategy"`
  198. StaticWeightMap map[string]int32 `json:"staticWeightMap,optional"`
  199. MinCount int64 `json:"min_count,optional"`
  200. ImageRef int64 `json:"imageRef,optional"`
  201. FlavorRef int64 `json:"flavorRef,optional"`
  202. Uuid int64 `json:"uuid,optional"`
  203. Replicas int64 `json:"replicas,optional"`
  204. VmName string `json:"vm_name,optional"`
  205. }
  206. TaskVm {
  207. Image string `json:"image"`
  208. Flavor string `json:"flavor"`
  209. Uuid string `json:"uuid"`
  210. Platform string `json:"platform"`
  211. }
  212. VmOption {
  213. AdapterId string `json:"adapterId"`
  214. VmClusterIds []string `json:"vmClusterIds"`
  215. Replicas int64 `json:"replicas,optional"`
  216. Name string `json:"name"`
  217. //ResourceType string `json:"resourceType"`
  218. //TaskType string `json:"taskType"`
  219. Strategy string `json:"strategy"`
  220. ClusterToStaticWeight map[string]int32 `json:"clusterToStaticWeight"`
  221. MatchLabels map[string]string `json:"matchLabels,optional"`
  222. StaticWeightMap map[string]int32 `json:"staticWeightMap,optional"`
  223. CreateMulServer []CreateMulDomainServer `json:"createMulServer,optional"`
  224. }
  225. CreateMulDomainServer {
  226. Platform string `json:"platform,optional"`
  227. name string `json:"name,optional"`
  228. min_count int64 `json:"min_count,optional"`
  229. imageRef string `json:"imageRef,optional"`
  230. flavorRef string `json:"flavorRef,optional"`
  231. uuid string `json:"uuid,optional"`
  232. ClusterId string `json:"clusterId,optional"`
  233. }
  234. commitVmTaskResp {
  235. Code int32 `json:"code"`
  236. Msg string `json:"msg"`
  237. }
  238. ScheduleVmResult {
  239. ClusterId string `json:"clusterId"`
  240. TaskId string `json:"taskId"`
  241. Strategy string `json:"strategy"`
  242. Replica int32 `json:"replica"`
  243. Msg string `json:"msg"`
  244. }
  245. VmTask {
  246. Id string `json:"id" copier:"Id"`
  247. Links []VmLinks `json:"links" copier:"Links"`
  248. OSDCFDiskConfig string `json:"OS_DCF_diskConfig" copier:"OSDCFDiskConfig"`
  249. SecurityGroups []VmSecurity_groups_server `json:"security_groups" copier:"SecurityGroups"`
  250. AdminPass string `json:"adminPass" copier:"AdminPass"`
  251. }
  252. VmLinks {
  253. Href string `json:"href " copier:"Href"`
  254. Rel string `json:"rel" copier:"Rel"`
  255. }
  256. // commitVmTaskReq {
  257. // Name string `json:"name"`
  258. // NsID string `json:"nsID"`
  259. // Replicas int64 `json:"replicas,optional"`
  260. // MatchLabels map[string]string `json:"matchLabels,optional"`
  261. // AdapterId string `json:"adapterId,optional"`
  262. // ClusterType string `json:"clusterType,optional"`
  263. // //Virtual Machine Section
  264. // CreateMulServer []CreateMulDomainServer `json:"createMulServer,optional"`
  265. // }
  266. // CreateMulDomainServer {
  267. // Platform string `json:"platform,optional"`
  268. // Name string `json:"name,optional"`
  269. // Min_count int64 `json:"min_count,optional"`
  270. // ImageRef string `json:"imageRef,optional"`
  271. // FlavorRef string `json:"flavorRef,optional"`
  272. // Uuid string `json:"uuid,optional"`
  273. // }
  274. // commitVmTaskResp {
  275. // // VmTask []VmTask `json:"vmTask" copier:"VmTask"`
  276. // TaskId int64 `json:"taskId"`
  277. // Code int32 `json:"code"`
  278. // Msg string `json:"msg"`
  279. // }
  280. // VmTask {
  281. // Id string `json:"id" copier:"Id"`
  282. // Links []VmLinks `json:"links" copier:"Links"`
  283. // OSDCFDiskConfig string `json:"OS_DCF_diskConfig" copier:"OSDCFDiskConfig"`
  284. // SecurityGroups []VmSecurity_groups_server `json:"security_groups" copier:"SecurityGroups"`
  285. // AdminPass string `json:"adminPass" copier:"AdminPass"`
  286. // }
  287. // VmLinks {
  288. // Href string `json:"href " copier:"Href"`
  289. // Rel string `json:"rel" copier:"Rel"`
  290. // }
  291. VmSecurity_groups_server {
  292. Name string `json:"name" copier:"Name"`
  293. }
  294. )
  295. type(
  296. asynCommitAiTaskReq{
  297. Name string `json:"name,optional"`
  298. AdapterIds []string `json:"adapterIds,optional"`
  299. ClusterIds []string `json:"clusterIds,optional"`
  300. Strategy string `json:"strategy,optional"`
  301. StaticWeightMap map[string]int32 `json:"staticWeightMap,optional"`
  302. Replicas int64 `json:"replicas,optional"`
  303. ImageId string `json:"imageId,optional"`
  304. Command string `json:"command,optional"`
  305. FlavorId string `json:"flavorId,optional"`
  306. Status string `json:"status,optional"`
  307. ClusterId int64 `json:"clusterId,optional"`
  308. AdapterId string `json:"adapterId,optional"`
  309. }
  310. asynCommitAiTaskResp{
  311. Code int32 `json:"code"`
  312. Msg string `json:"msg"`
  313. TaskId int64 `json:"taskId"`
  314. }
  315. )
  316. type (
  317. scheduleTaskByYamlResp {
  318. TaskId int64 `json:"taskId"`
  319. }
  320. )
  321. type (
  322. scheduleTaskReq {
  323. Name string `json:"name"`
  324. Synergy string `json:"synergy"`
  325. Description string `json:"description"`
  326. Strategy string `json:"strategy"`
  327. Tasks []TaskInfo `json:"tasks"`
  328. }
  329. TaskInfo {
  330. TaskId int64 `json:"taskId,optional"`
  331. TaskType string `json:"taskType,optional"`
  332. MatchLabels map[string]string `json:"matchLabels"`
  333. ParticipantId int64 `json:"participantId"`
  334. Metadata interface{} `json:"metadata"`
  335. }
  336. )
  337. type (
  338. jobTotalResp {
  339. AllCardRunTime float64 `json:"allCardRunTime"`
  340. AllJobCount float64 `json:"allJobCount"`
  341. AllJobRunTime float64 `json:"allJobRunTime"`
  342. TrainJobs []TrainJob `json:"trainJobs"`
  343. }
  344. TrainJob {
  345. Name string `json:"name"`
  346. Status string `json:"status"`
  347. ParticipantName string `json:"participantName"`
  348. SynergyStatus string `json:"synergyStatus"`
  349. Strategy int `json:"strategy"`
  350. }
  351. )
  352. // 任务列表参数
  353. type (
  354. taskListReq {
  355. PageNum int `form:"pageNum"`
  356. PageSize int `form:"pageSize"`
  357. }
  358. taskListResp {
  359. TotalCount int64 `json:"totalCount"` // 任务总数
  360. NormalCount int64 `json:"normalCount"` // 正常任务数
  361. AlarmCount int64 `json:"alarmCount"` // 任务告警数
  362. Tasks []Task `json:"tasks"`
  363. }
  364. Task {
  365. Id int64 `json:"id"`
  366. Name string `json:"name"`
  367. Status string `json:"status"`
  368. TaskType string `json:"taskType"`
  369. StartTime string `json:"startTime"`
  370. EndTime string `json:"endTime"`
  371. ParticipantStatus string `json:"participantStatus"`
  372. ParticipantId int64 `json:"participantId"`
  373. ParticipantName string `json:"participantName"`
  374. }
  375. pageTaskReq {
  376. Name string `form:"name,optional"`
  377. PageInfo
  378. }
  379. TaskModel {
  380. Id int64 `json:"id,omitempty,string" db:"id"` // id
  381. Name string `json:"name,omitempty" db:"name"` // 作业名称
  382. Description string `json:"description,omitempty" db:"description"` // 作业描述
  383. Status string `json:"status,omitempty" db:"status"` // 作业状态
  384. Strategy int64 `json:"strategy" db:"strategy"` // 策略
  385. SynergyStatus int64 `json:"synergyStatus" db:"synergy_status"` // 协同状态(0-未协同、1-已协同)
  386. CommitTime string `json:"commitTime,omitempty" db:"commit_time"` // 提交时间
  387. StartTime string `json:"startTime,omitempty" db:"start_time"` // 开始时间
  388. EndTime string `json:"endTime,omitempty" db:"end_time"` // 结束运行时间
  389. RunningTime int64 `json:"runningTime" db:"running_time"` // 已运行时间(单位秒)
  390. YamlString string `json:"yamlString,omitempty" db:"yaml_string"`
  391. Result string `json:"result,omitempty" db:"result"` // 作业结果
  392. DeletedAt string `json:"deletedAt,omitempty" gorm:"index" db:"deleted_at"`
  393. NsID string `json:"nsId,omitempty" db:"ns_id"`
  394. TenantId string `json:"tenantId,omitempty" db:"tenant_id"`
  395. CreatedTime string `json:"createdTime,omitempty" db:"created_time" gorm:"autoCreateTime"`
  396. UpdatedTime string `json:"updatedTime,omitempty" db:"updated_time"`
  397. AdapterTypeDict string `json:"adapterTypeDict" db:"adapter_type_dict" gorm:"adapter_type_dict"` //适配器类型(对应字典表的值
  398. TaskTypeDict string `json:"taskTypeDict" db:"task_type_dict" gorm:"task_type_dict"` //任务类型(对应字典表的值
  399. }
  400. )
  401. // 任务列表参数
  402. type (
  403. taskDetailReq {
  404. TaskId int64 `path:"taskId"`
  405. }
  406. taskDetailResp {
  407. CpuCores float64 `json:"cpuCores"`
  408. CpuRate float64 `json:"cpuRate"`
  409. CpuLimit float64 `json:"cpuLimit"`
  410. GpuCores float64 `json:"gpuCores"`
  411. GpuRate float64 `json:"gpuRate"`
  412. GpuLimit float64 `json:"gpuLimit"`
  413. MemoryTotal float64 `json:"memoryTotal"`
  414. MemoryRate float64 `json:"memoryRate"`
  415. MemoryLimit float64 `json:"memoryLimit"`
  416. }
  417. )
  418. type (
  419. listCenterResp {
  420. Code int32 `json:"code"`
  421. Msg string `json:"msg"`
  422. Data CenterData `json:"data"`
  423. }
  424. CenterData {
  425. TotalCount int `json:"totalCount"`
  426. Centers []Center `json:"centers"`
  427. }
  428. Center {
  429. Id int64 `json:"id"`
  430. CenterSource string `json:"centerSource"`
  431. SourceId string `json:"sourceId"`
  432. Name string `json:"name"`
  433. Description string `json:"description"`
  434. Type string `json:"type"`
  435. Area string `json:"area"`
  436. City string `json:"city"`
  437. Longitude float64 `json:"longitude"`
  438. Latitude float64 `json:"latitude"`
  439. Status string `json:"status"`
  440. UserNum int64 `json:"userNum"`
  441. DeletedFlag int64 `json:"deletedFlag"`
  442. CloudClusterNum int64 `json:"cloudClusterNum"`
  443. CloudNodeNum int64 `json:"cloudNodeNum"`
  444. CloudCpuNum int64 `json:"cloudCpuNum"`
  445. CloudGpuNum int64 `json:"cloudGpuNum"`
  446. CloudMngFlops int64 `json:"cloudMngFlops"`
  447. CloudUmngFlops int64 `json:"cloudUmngFlops"`
  448. CloudMngStorage int64 `json:"cloudMngStorage"`
  449. CloudUmngStorage int64 `json:"cloudUmngStorage"`
  450. AiClusterNum int64 `json:"aiClusterNum"`
  451. AiNodeNum int64 `json:"aiNodeNum"`
  452. AiCpuNum int64 `json:"aiCpuNum"`
  453. AiGpuNum int64 `json:"aiGpuNum"`
  454. AiMngFlops int64 `json:"aiMngFlops"`
  455. AiUmngFlops int64 `json:"aiUmngFlops"`
  456. AiMngStorage int64 `json:"aiMngStorage"`
  457. AiUmngStorage int64 `json:"aiUmngStorage"`
  458. HpcClusterNum int64 `json:"hpcClusterNum"`
  459. HpcNodeNum int64 `json:"hpcNodeNum"`
  460. HpcCpuNum int64 `json:"hpcCpuNum"`
  461. HpcGpuNum int64 `json:"hpcGpuNum"`
  462. HpcMngFlops int64 `json:"hpcMngFlops"`
  463. HpcUmngFlops int64 `json:"hpcUmngFlops"`
  464. HpcMngStorage int64 `json:"hpcMngStorage"`
  465. HpcUmngStorage int64 `json:"hpcUmngStorage"`
  466. Edwc bool `json:"edwc"`
  467. Ydyl bool `json:"ydyl"`
  468. HubCode int64 `json:"hubCode"`
  469. }
  470. )
  471. type (
  472. listClusterReq {
  473. CenterId int32 `path:"centerId"`
  474. }
  475. listClusterResp {
  476. Code int32 `json:"code"`
  477. Msg string `json:"msg"`
  478. Data ClusterData `json:"data"`
  479. }
  480. ClusterData {
  481. TotalCount int `json:"totalCount"`
  482. Clusters []ComputeCluster `json:"clusters"`
  483. }
  484. ComputeCluster {
  485. Id int64 `json:"id"`
  486. Name string `json:"name"`
  487. Type string `json:"type"`
  488. JcceDomainId int64 `json:"jcceDomainId"`
  489. JcceDomainName string `json:"jcceDomainName"`
  490. Longitude float64 `json:"longitude"`
  491. Latitude float64 `json:"latitude"`
  492. Description string `json:"description"`
  493. }
  494. )
  495. type ScreenChartResp {
  496. ComputingPower []int `json:"computingPower"`
  497. CpuAvg []int `json:"cpuAvg"`
  498. CpuLoad []int `json:"cpuLoad"`
  499. MemoryLoad []int `json:"memoryLoad"`
  500. MemoryAvg []int `json:"memoryAvg"`
  501. CenterName string `json:"centerName"`
  502. }
  503. type getClusterByIdReq {
  504. ClusterId int32 `path:"clusterId"`
  505. }
  506. type getClusterByIdResp {
  507. ClusterInfo ClusterInfo `json:"clusterInfo"`
  508. }
  509. type ScreenInfoResp {
  510. StorageUsed float32 `json:"storageUsed"`
  511. StorageUsing float32 `json:"storageUsing"`
  512. UsageRate float32 `json:"usageRate"`
  513. UsingRate float32 `json:"usingRate"`
  514. ApiDelay string `json:"apiDelay"`
  515. SchedulerTimes int `json:"schedulerTimes"`
  516. SchedulerErr int `json:"schedulerErr"`
  517. ApiTimes string `json:"apiTimes"`
  518. CenterCount int `json:"centerCount"`
  519. ComputingPower float64 `json:"computingPower"`
  520. ClusterCount int `json:"clusterCount"`
  521. RunningCount int `json:"runningCount"`
  522. CardCount int `json:"cardCount"`
  523. RunningTime int `json:"runningTime"`
  524. }
  525. type (
  526. cpResp {
  527. POpsAtFp16 float32 `json:"pOpsAtFp16"`
  528. }
  529. GiResp {
  530. CpuNum int32 `json:"cpuNum,optional"`
  531. MemoryInGib int32 `json:"memoryInGib,optional"`
  532. StorageInGib int32 `json:"storageInGib,optional"`
  533. }
  534. )
  535. type (
  536. DomainResourceResp {
  537. TotalCount int `json:"totalCount"`
  538. DomainResourceList []DomainResource `json:"domainResourceList"`
  539. }
  540. DomainResource {
  541. Id int64 `json:"id"` // id
  542. DomainId string `json:"domainId"` // 资源域id
  543. DomainName string `json:"domainName"` // 资源域名称
  544. JobCount int64 `json:"jobCount"` // 资源域任务数量
  545. DomainSource int64 `json:"domainSource"` // 资源域数据来源:0-nudt,1-鹏城
  546. Stack string `json:"stack"` // 技术栈
  547. ResourceType string `json:"resourceType"` // 资源类型
  548. Cpu float64 `json:"cpu"` // cpu使用率
  549. Memory float64 `json:"memory"` // 内存使用率
  550. Disk float64 `json:"disk"` // 存储使用率
  551. NodeCount float64 `json:"nodeCount"` //节点使用率
  552. // DeleteFlag int64 `json:"delete_flag"` // 是否删除 0:未删除,1:已经删除
  553. Description string `json:"description"` //集群描述
  554. ClusterName string `json:"clusterName"` //集群名称
  555. CpuTotal float64 `json:"cpuTotal"` //cpu总核数
  556. MemoryTotal float64 `json:"memoryTotal"` //内存总量Gi
  557. DiskTotal float64 `json:"diskTotal"` //存储总量GB
  558. NodeTotal float64 `json:"nodeTotal"` //容器节点数
  559. CpuUsage float64 `json:"cpuUsage"` //cpu已使用核数
  560. MemoryUsage float64 `json:"memoryUsage"` //内存已使用Gi
  561. DiskUsage float64 `json:"diskUsage"` //存储已使用GB
  562. NodeUsage float64 `json:"nodeUsage"` //容器节点已使用
  563. }
  564. )
  565. type (
  566. ResourcePanelConfigReq {
  567. Id int64 `json:"id"` //id
  568. Title string `json:"title"` //标题
  569. TitleColor string `json:"titleColor"` //标题色
  570. MainColor string `json:"mainColor"` //主色调
  571. MainColor2 string `json:"mainColor2"` //次主色调
  572. TextColor string `json:"textColor"` //文字颜色
  573. BackgroundColor string `json:"backgroundColor"` //背景底色
  574. Center string `json:"center"` //中心点
  575. CenterPosition string `json:"centerPosition"` //comment 中心点坐标
  576. ProvinceBgColor string `json:"provinceBgColor"` //三级地图底色
  577. StatusIng string `json:"statusIng"` //接入中图标
  578. StatusUn string `json:"statusUn"` //未接入图标
  579. StatusEnd string `json:"statusEnd"` //已接入图标
  580. TitleIcon string `json:"titleIcon"` //标题底图
  581. SubTitleIcon string `json:"subTitleIcon"` //小标题底图
  582. NumberBg string `json:"numberBg"` //数字底图
  583. TaskBg string `json:"taskBg"` //任务底图
  584. }
  585. ResourcePanelConfigResp {
  586. Id int64 `json:"id"` //id
  587. Title string `json:"title"` //标题,
  588. TitleColor string `json:"titleColor"` //标题色,
  589. MainColor string `json:"mainColor"` //主色调,
  590. MainColor2 string `json:"mainColor2"` //次主色调,
  591. TextColor string `json:"textColor"` //文字颜色,
  592. BackgroundColor string `json:"backgroundColor"` //背景底色,
  593. Center string `json:"center"` //中心点,
  594. CenterPosition string `json:"centerPosition"` //comment 中心点坐标,
  595. ProvinceBgColor string `json:"provinceBgColor"` //三级地图底色,
  596. StatusIng string `json:"statusIng"` //接入中图标,
  597. StatusUn string `json:"statusUn"` //未接入图标,
  598. StatusEnd string `json:"statusEnd"` //已接入图标,
  599. TitleIcon string `json:"titleIcon"` //标题底图,
  600. SubTitleIcon string `json:"subTitleIcon"` //小标题底图,
  601. NumberBg string `json:"numberBg"` //数字底图,
  602. TaskBg string `json:"taskBg"` //任务底图,
  603. CreateTime string `json:"createTime"` //创建时间,
  604. UpdateTime string `json:"updateTime"` //更新时间
  605. }
  606. )
  607. type (
  608. ComputilityStatisticsResp {
  609. Code int32 `json:"code,omitempty"`
  610. Msg string `json:"msg,omitempty"`
  611. ErrorMsg string `json:"ErrorMsg,omitempty"`
  612. ComputilityStatistics ComputilityStatistics `json:"data"` //容器节点已使用
  613. }
  614. ComputilityStatistics {
  615. DomainSum int64 `json:"domainSum"` //域总数
  616. TotalComputility float64 `json:"totalComputility"` //算力总和
  617. ClusterNum int64 `json:"clusterNum"` //集群总数
  618. }
  619. )
  620. //jccSchedule容器集群资源监控 > start
  621. type NodeAssetsResp {
  622. NodeAssets []NodeAsset `json:"nodeAssets"`
  623. }
  624. type NodeAsset {
  625. Name string `json:"Name"` //租户名称
  626. NodeName string `json:"NodeName"` // 节点名称
  627. CpuTotal int64 `json:"CpuTotal"` // cpu核数
  628. CpuUsable float64 `json:"CpuUsable"` // cpu可用率
  629. DiskTotal int64 `json:"DiskTotal"` // 磁盘空间
  630. DiskAvail int64 `json:"DiskAvail"` // 磁盘可用空间
  631. MemTotal int64 `json:"MemTotal"` // 内存总数
  632. MemAvail int64 `json:"MemAvail"` // 内存可用数
  633. GpuTotal int64 `json:"GpuTotal"` // gpu总数
  634. GpuAvail int64 `json:"GpuAvail"` // gpu可用数
  635. ParticipantId int64 `json:"ParticipantId"` // 集群动态信息id
  636. }
  637. type participantListResp {
  638. Participants []Participant `json:"participants"`
  639. }
  640. type Participant {
  641. Id int64 `json:"id"`
  642. Name string `json:"name"`
  643. Address string `json:"address"`
  644. MetricsUrl string `json:"metricsUrl"`
  645. TenantName string `json:"tenantName"`
  646. TypeName string `json:"typeName"`
  647. }
  648. // apps列表参数
  649. type (
  650. AppListReq {
  651. NsID string `form:"nsID"`
  652. }
  653. AppListResp {
  654. Apps []App `json:"apps"` //应用列表
  655. }
  656. Replica {
  657. ClusterName string `json:"clusterName"`
  658. Replica int32 `json:"replica"`
  659. }
  660. App {
  661. Id int64 `json:"id,optional" db:"id"`
  662. Name string `json:"name,optional"`
  663. Status string `json:"status,optional"`
  664. CreateTime string `json:"createTime,optional"`
  665. MinReplicas string `json:"minReplicas,optional"`
  666. MaxReplicas string `json:"maxReplicas,optional"`
  667. AppLocations []AppLocation `json:"appLocations,optional"`
  668. }
  669. AppLocation {
  670. ParticipantId string `json:"participantId,optional" db:"participant_id"`
  671. ParticipantName string `json:"participantName,optional" db:"participant_name"`
  672. Kind string `json:"kind,optional" db:"kind"`
  673. }
  674. )
  675. //apps 详情参数
  676. type (
  677. AppDetailReq {
  678. Name string `path:"appName"`
  679. NsID string `form:"nsID"`
  680. }
  681. AppDetailResp {
  682. CpuCores float64 `json:"cpuCores"`
  683. CpuRate float64 `json:"cpuRate"`
  684. CpuLimit float64 `json:"cpuLimit"`
  685. GpuCores float64 `json:"gpuCores"`
  686. GpuRate float64 `json:"gpuRate"`
  687. GpuLimit float64 `json:"gpuLimit"`
  688. MemoryTotal float64 `json:"memoryTotal"`
  689. MemoryRate float64 `json:"memoryRate"`
  690. MemoryLimit float64 `json:"memoryLimit"`
  691. }
  692. AppTaskResp {
  693. Data interface{} `json:"data"`
  694. }
  695. )
  696. type (
  697. DeleteAppReq {
  698. Name string `form:"name"`
  699. NsID string `form:"nsID"`
  700. }
  701. DeleteAppResp {
  702. Code int `json:"code,omitempty"`
  703. Msg string `json:"msg,omitempty"`
  704. Data interface{} `json:"data,omitempty"`
  705. }
  706. AppResp {
  707. Code int `json:"code,omitempty"`
  708. Msg string `json:"msg,omitempty"`
  709. Data interface{} `json:"data,omitempty"`
  710. }
  711. )
  712. type (
  713. AdapterQueryReq {
  714. Id string `form:"id,optional" db:"id"`
  715. Name string `form:"name,optional"`
  716. Type string `form:"type,optional"`
  717. ResourceType string `form:"resourceType,optional"`
  718. Nickname string `form:"nickname,optional"`
  719. Version string `form:"version,optional"`
  720. Server string `form:"server,optional"`
  721. PageInfo
  722. }
  723. AdapterRelationQueryReq {
  724. Id string `form:"id,optional" db:"id"`
  725. Name string `form:"name,optional"`
  726. Type string `form:"type,optional"`
  727. ResourceType string `form:"resourceType,optional"`
  728. Nickname string `form:"nickname,optional"`
  729. Version string `form:"version,optional"`
  730. Server string `form:"server,optional"`
  731. }
  732. AdapterReq {
  733. Id string `json:"id,optional" db:"id"`
  734. Name string `json:"name,optional"`
  735. Type string `json:"type,optional"`
  736. ResourceType string `json:"resourceType,optional"`
  737. Nickname string `json:"nickname,optional"`
  738. Version string `json:"version,optional"`
  739. Server string `json:"server,optional"`
  740. }
  741. AdapterCreateReq {
  742. Id string `json:"id,optional" db:"id"`
  743. Name string `json:"name"`
  744. Type string `json:"type"`
  745. ResourceType string `json:"resourceType"`
  746. Nickname string `json:"nickname"`
  747. Version string `json:"version"`
  748. Server string `json:"server"`
  749. }
  750. AdapterDelReq {
  751. Id string `form:"id,optional" db:"id"`
  752. }
  753. AdapterInfo {
  754. Id string `json:"id,omitempty" db:"id"`
  755. Name string `json:"name,omitempty" db:"name"`
  756. Type string `json:"type,omitempty" db:"type"`
  757. ResourceType string `json:"resourceType,omitempty" db:"resource_type"`
  758. Nickname string `json:"nickname,omitempty" db:"nickname"`
  759. Version string `json:"version,omitempty" db:"version"`
  760. Server string `json:"server,omitempty" db:"server"`
  761. CreateTime string `json:"createTime,omitempty" db:"create_time" gorm:"autoCreateTime"`
  762. }
  763. AdapterResp {
  764. Id string `json:"id,omitempty" db:"id"`
  765. Name string `json:"name,omitempty" db:"name"`
  766. Type string `json:"type,omitempty" db:"type"`
  767. ResourceType string `json:"resourceType,omitempty" db:"resource_type"`
  768. Nickname string `json:"nickname,omitempty" db:"nickname"`
  769. Version string `json:"version,omitempty" db:"version"`
  770. Server string `json:"server,omitempty" db:"server"`
  771. CreateTime string `json:"createTime,omitempty" db:"create_time" gorm:"autoCreateTime"`
  772. InfoName string `json:"info_name,omitempty"`
  773. }
  774. AdapterListResp {
  775. List []AdapterInfo `json:"list,omitempty"`
  776. }
  777. AdapterRelationResp {
  778. List []*ClusterRelationInfo `json:"list,omitempty"`
  779. }
  780. AdapterRelation {
  781. Id string `json:"id,omitempty" db:"id"`
  782. Name string `json:"name,omitempty" db:"name"`
  783. Type string `json:"type,omitempty" db:"type"`
  784. ResourceType string `json:"resourceType" db:"resource_type"`
  785. Nickname string `json:"nickname,omitempty" db:"nickname"`
  786. Version string `json:"version,omitempty" db:"version"`
  787. Server string `json:"server,omitempty" db:"server"`
  788. CreateTime string `json:"createTime,omitempty" db:"create_time" gorm:"autoCreateTime"`
  789. Clusters []*ClusterInfo `json:"clusters,omitempty"`
  790. }
  791. )
  792. type (
  793. ClusterReq {
  794. Id string `form:"id,optional"`
  795. AdapterId string `form:"adapterId,optional"`
  796. Name string `form:"name,optional"`
  797. Nickname string `form:"nickname,optional"`
  798. Description string `form:"description,optional"`
  799. Server string `form:"server,optional"`
  800. MonitorServer string `form:"monitorServer,optional"`
  801. Username string `form:"username,optional"`
  802. Password string `form:"password,optional"`
  803. Token string `form:"token,optional"`
  804. Ak string `form:"ak,optional"`
  805. Sk string `form:"sk,optional"`
  806. Region string `form:"region,optional"`
  807. ProjectId string `form:"projectId,optional"`
  808. Version string `form:"version,optional"`
  809. Label string `form:"label,optional"`
  810. OwnerId string `form:"ownerId,omitempty,optional"`
  811. AuthType string `form:"authType,optional"`
  812. Type string `form:"type,optional"`
  813. ProducerDict string `form:"producerDict,optional"`
  814. RegionDict string `form:"regionDict,optional"`
  815. ResourceType string `form:"resourceType,optional"`
  816. PageInfo
  817. }
  818. ClusterCreateReq {
  819. Id string `json:"id,optional"`
  820. AdapterId string `json:"adapterId,optional"`
  821. Name string `json:"name,optional"`
  822. Nickname string `json:"nickname,optional"`
  823. Description string `json:"description,optional"`
  824. Server string `json:"server,optional"`
  825. MonitorServer string `json:"monitorServer,optional"`
  826. Username string `json:"username,optional"`
  827. Password string `json:"password,optional"`
  828. Token string `json:"token,optional"`
  829. Ak string `json:"ak,optional"`
  830. Sk string `json:"sk,optional"`
  831. Region []string `json:"region,optional"`
  832. ProjectId string `json:"projectId,optional"`
  833. Version string `json:"version,optional"`
  834. Label string `json:"label,optional"`
  835. OwnerId string `json:"ownerId,omitempty,optional"`
  836. AuthType string `json:"authType,optional"`
  837. ProducerDict string `json:"producerDict,optional"`
  838. RegionDict string `json:"regionDict,optional"`
  839. RegionName string `json:"regionName,optional"`
  840. Environment map[string]string `json:"environment,optional"`
  841. }
  842. ClusterInfo {
  843. Id string `json:"id,omitempty" db:"id"`
  844. AdapterId int64 `json:"adapterId,omitempty" db:"adapter_id"`
  845. Name string `json:"name,omitempty" db:"name"`
  846. Nickname string `json:"nickname,omitempty" db:"nickname"`
  847. Description string `json:"description,omitempty" db:"description"`
  848. Server string `json:"server,omitempty" db:"server"`
  849. MonitorServer string `json:"monitorServer,omitempty" db:"monitor_server"`
  850. Username string `json:"username,omitempty" db:"username"`
  851. Password string `json:"password,omitempty" db:"password"`
  852. Token string `json:"token,omitempty" db:"token"`
  853. Ak string `json:"ak,omitempty" db:"ak"`
  854. Sk string `json:"sk,omitempty" db:"sk"`
  855. Region string `json:"region,omitempty" db:"region"`
  856. ProjectId string `json:"projectId,omitempty" db:"project_id"`
  857. Version string `json:"version,omitempty" db:"version"`
  858. Label string `json:"label,omitempty" db:"label"`
  859. OwnerId string `json:"ownerId,omitempty" db:"owner_id"`
  860. AuthType string `json:"authType,omitempty" db:"auth_type"`
  861. ProducerDict string `json:"producerDict,omitempty" db:"producer_dict"`
  862. RegionDict string `json:"regionDict,omitempty" db:"region_dict"`
  863. Location string `json:"location,omitempty" db:"location"`
  864. CreateTime string `json:"createTime,omitempty" db:"created_time" gorm:"autoCreateTime"`
  865. EnvPath string `json:"envPath,omitempty" db:"env_path"`
  866. EnvLdPath string `json:"envLdPath,omitempty" db:"env_ld_path"`
  867. WorkDir string `json:"workDir,omitempty" db:"work_dir"`
  868. ProxyAddress string `json:"proxyAddress,omitempty" db:"proxy_address"`
  869. }
  870. )
  871. type ClusterDelReq {
  872. Id string `form:"id,optional"`
  873. }
  874. type ClusterResp {
  875. List ClusterInfo `json:"list,omitempty"`
  876. }
  877. type ClusterListResp {
  878. List []ClusterInfo `json:"list,omitempty"`
  879. }
  880. type clusterSumReq {
  881. }
  882. type clusterSumReqResp {
  883. PodSum int `json:"podSum,omitempty"`
  884. VmSum int `json:"vmSum,omitempty"`
  885. AdapterSum int `json:"AdapterSum,omitempty"`
  886. TaskSum int `json:"TaskSum,omitempty"`
  887. }
  888. type ClusterRelationInfo {
  889. Id string `json:"id,omitempty" db:"id"`
  890. Name string `json:"name,omitempty" db:"name"`
  891. Type string `json:"type,omitempty" db:"type"`
  892. Nickname string `json:"nickname,omitempty" db:"nickname"`
  893. Version string `json:"version,omitempty" db:"version"`
  894. Server string `json:"server,omitempty" db:"server"`
  895. CreateTime string `json:"createTime,omitempty" db:"create_time" gorm:"autoCreateTime"`
  896. CId string `json:"cId,omitempty" db:"id"`
  897. CAdapterId string `json:"cAdapterId,omitempty" db:"adapter_id"`
  898. CName string `json:"cName,omitempty" db:"name"`
  899. CNickname string `json:"cNickname,omitempty" db:"nickname"`
  900. CDescription string `json:"cDescription,omitempty" db:"description"`
  901. CServer string `json:"cServer,omitempty" db:"server"`
  902. CMonitorServer string `json:"cMonitorServer,omitempty" db:"monitor_server"`
  903. CUsername string `json:"cUsername,omitempty" db:"username"`
  904. CPassword string `json:"cPassword,omitempty" db:"password"`
  905. CToken string `json:"cToken,omitempty" db:"token"`
  906. CAk string `json:"cAk,omitempty" db:"ak"`
  907. CSk string `json:"cSk,omitempty" db:"sk"`
  908. CRegion string `json:"cRegion,omitempty" db:"region"`
  909. CProjectId string `json:"cProjectId,omitempty" db:"project_id"`
  910. CVersion string `json:"cVersion,omitempty" db:"version"`
  911. CLabel string `json:"cLabel,omitempty" db:"label"`
  912. COwnerId string `json:"cOwnerId,omitempty" db:"owner_id"`
  913. CAuthType string `json:"cAuthType,omitempty" db:"auth_type"`
  914. CRegionDict string `json:"cRegionDict,omitempty" db:"-"`
  915. CProducerDict string `json:"cProducerDict,omitempty" db:"-"`
  916. CCreateTime string `json:"cCreateTime,omitempty" db:"created_time" gorm:"autoCreateTime"`
  917. }
  918. type adapterInfoNameReq {
  919. AdapterId string `form:"adapterId,optional"`
  920. }
  921. type adapterInfoNameReqResp {
  922. Code int32 `json:"code,omitempty"`
  923. Msg string `json:"msg,omitempty"`
  924. ErrorMsg string `json:"errorMsg,omitempty"`
  925. InfoList InfoList `json:"infoList,omitempty"`
  926. }
  927. type InfoList {
  928. Type string `json:"type,omitempty"`
  929. ResourceType string `json:"resource_type,omitempty"`
  930. TName string `json:"name,omitempty"`
  931. InfoName string `json:"info_name,omitempty"`
  932. }
  933. type (
  934. DictInfo {
  935. Id string `json:"id,omitempty"`
  936. DictName string `json:"dictName,omitempty"`
  937. DictCode string `json:"dictCode,omitempty"`
  938. Description string `json:"description,omitempty"`
  939. Type string `json:"type,omitempty" db:"type"`
  940. Status string `json:"status,omitempty" db:"status"`
  941. CreateTime string `json:"createTime,omitempty" db:"created_time" gorm:"autoCreateTime"`
  942. }
  943. DictReq {
  944. Id string `form:"id,optional"`
  945. DictName string `form:"dictName,optional"`
  946. DictCode string `form:"dictCode,optional"`
  947. Description string `form:"description,optional"`
  948. Type string `form:"type,optional"`
  949. Status string `form:"status,optional"`
  950. PageInfo
  951. }
  952. DictEditReq {
  953. Id string `json:"id,optional"`
  954. DictName string `json:"dictName,optional"`
  955. DictCode string `json:"dictCode,optional"`
  956. Description string `json:"description,optional"`
  957. Type string `json:"type,optional"`
  958. Status string `json:"status,optional"`
  959. }
  960. DictResp {
  961. Id string `json:"id,omitempty"`
  962. DictName string `json:"dictName,omitempty"`
  963. DictCode string `json:"dictCode,omitempty"`
  964. Description string `json:"description,omitempty"`
  965. Type string `json:"type,omitempty"`
  966. Status string `json:"status,omitempty"`
  967. CreateTime string `json:"createTime,omitempty" db:"created_time" gorm:"autoCreateTime"`
  968. DictItemInfo []*DictItemInfo `json:"dictItemInfo,omitempty"`
  969. }
  970. Dicts {
  971. List []DictInfo `json:"list,omitempty"`
  972. }
  973. DictItemInfo {
  974. Id string `json:"id,omitempty"`
  975. DictId string `json:"dictId,omitempty"`
  976. ItemText string `json:"itemText,omitempty"`
  977. ItemValue string `json:"itemValue,omitempty"`
  978. Description string `json:"description,omitempty"`
  979. SortOrder string `json:"sortOrder,omitempty"`
  980. ParentId string `json:"parentId,omitempty"`
  981. Status string `json:"status,omitempty" db:"status"`
  982. CreateTime string `json:"createTime,omitempty" db:"created_time" gorm:"autoCreateTime"`
  983. Children []DictItemInfo `json:"children,omitempty" gorm:"-"`
  984. }
  985. DictItemReq {
  986. Id string `form:"id,optional"`
  987. DictId string `form:"dictId,optional"`
  988. ItemText string `form:"itemText,optional"`
  989. ItemValue string `form:"itemValue,optional"`
  990. Description string `form:"description,optional"`
  991. SortOrder string `form:"sortOrder,optional"`
  992. Type string `form:"type,optional"`
  993. ParentId string `form:"parentId,optional"`
  994. Status string `form:"status,optional"`
  995. }
  996. DictItemEditReq {
  997. Id string `json:"id,optional"`
  998. DictId string `json:"dictId,optional"`
  999. ItemText string `json:"itemText,optional"`
  1000. ItemValue string `json:"itemValue,optional"`
  1001. Description string `json:"description,optional"`
  1002. SortOrder string `json:"sortOrder,optional"`
  1003. ParentId string `json:"parentId,optional"`
  1004. Status string `json:"status,optional"`
  1005. }
  1006. DictItemResp {
  1007. Id string `json:"id,omitempty"`
  1008. DictId string `json:"dictId,omitempty"`
  1009. ItemText string `json:"itemText,omitempty"`
  1010. ItemValue string `json:"itemValue,omitempty"`
  1011. Description string `json:"description,omitempty"`
  1012. SortOrder string `json:"sortOrder,omitempty"`
  1013. ParentId string `json:"parentId,omitempty"`
  1014. Status string `json:"status,omitempty"`
  1015. CreateTime string `json:"createTime,omitempty" db:"created_time" gorm:"autoCreateTime"`
  1016. DictInfo *DictInfo `json:"dictInfo,omitempty"`
  1017. }
  1018. DictItems {
  1019. List []DictItemInfo `json:"list,omitempty"`
  1020. }
  1021. DictCodeReq {
  1022. DictCode string `path:"dictCode"`
  1023. }
  1024. )
  1025. type (
  1026. CId {
  1027. Id string `path:"id":"id,omitempty" validate:"required"`
  1028. }
  1029. CIds {
  1030. Ids []string `json:"ids,omitempty" validate:"required"`
  1031. }
  1032. FId {
  1033. Id string `form:"id":"id,omitempty" validate:"required"`
  1034. }
  1035. )
  1036. type (
  1037. PageInfo {
  1038. PageNum int `form:"pageNum"`
  1039. PageSize int `form:"pageSize"`
  1040. }
  1041. PageResult {
  1042. List interface{} `json:"list,omitempty"`
  1043. Total int64 `json:"total,omitempty"`
  1044. PageNum int `json:"pageNum,omitempty"`
  1045. PageSize int `json:"pageSize,omitempty"`
  1046. }
  1047. ListResult {
  1048. List interface{} `json:"list,omitempty"`
  1049. }
  1050. )
  1051. type (
  1052. HpcInfo {
  1053. Id int64 `json:"id"` // id
  1054. TaskId int64 `json:"task_id"` // 任务id
  1055. JobId string `json:"job_id"` // 作业id(在第三方系统中的作业id)
  1056. AdapterId int64 `json:"adapter_id"` // 执行任务的适配器id
  1057. ClusterId int64 `json:"cluster_id"` // 执行任务的集群id
  1058. ClusterType string `json:"cluster_type"` // 执行任务的集群类型
  1059. Name string `json:"name"` // 名称
  1060. Status string `json:"status"` // 状态
  1061. CmdScript string `json:"cmd_script"`
  1062. StartTime string `json:"start_time"` // 开始时间
  1063. RunningTime int64 `json:"running_time"` // 运行时间
  1064. DerivedEs string `json:"derived_es"`
  1065. Cluster string `json:"cluster"`
  1066. BlockId int64 `json:"block_id"`
  1067. AllocNodes int64 `json:"alloc_nodes"`
  1068. AllocCpu int64 `json:"alloc_cpu"`
  1069. CardCount int64 `json:"card_count"` // 卡数
  1070. Version string `json:"version"`
  1071. Account string `json:"account"`
  1072. WorkDir string `json:"work_dir"` // 工作路径
  1073. AssocId int64 `json:"assoc_id"`
  1074. ExitCode int64 `json:"exit_code"`
  1075. WallTime string `json:"wall_time"` // 最大运行时间
  1076. Result string `json:"result"` // 运行结果
  1077. DeletedAt string `json:"deleted_at"` // 删除时间
  1078. YamlString string `json:"yaml_string"`
  1079. AppType string `json:"app_type"` // 应用类型
  1080. AppName string `json:"app_name"` // 应用名称
  1081. Queue string `json:"queue"` // 队列名称
  1082. SubmitType string `json:"submit_type"` // cmd(命令行模式)
  1083. NNode string `json:"n_node"` // 节点个数(当指定该参数时,GAP_NODE_STRING必须为"")
  1084. StdOutFile string `json:"std_out_file"` // 工作路径/std.err.%j
  1085. StdErrFile string `json:"std_err_file"` // 工作路径/std.err.%j
  1086. StdInput string `json:"std_input"`
  1087. Environment string `json:"environment"`
  1088. DeletedFlag int64 `json:"deleted_flag"` // 是否删除(0-否,1-是)
  1089. CreatedBy int64 `json:"created_by"` // 创建人
  1090. CreateTime string `json:"created_time"` // 创建时间
  1091. UpdatedBy int64 `json:"updated_by"` // 更新人
  1092. UpdateTime string `json:"updated_time"` // 更新时间
  1093. }
  1094. CloudInfo {
  1095. Participant int64 `json:"participant,omitempty"`
  1096. Id int64 `json:"id,omitempty"`
  1097. TaskId int64 `json:"taskId,omitempty"`
  1098. ApiVersion string `json:"apiVersion,omitempty"`
  1099. Kind string `json:"kind,omitempty"`
  1100. Namespace string `json:"namespace,omitempty"`
  1101. Name string `json:"name,omitempty"`
  1102. Status string `json:"status,omitempty"`
  1103. StartTime string `json:"startTime,omitempty"`
  1104. RunningTime int64 `json:"runningTime,omitempty"`
  1105. Result string `json:"result,omitempty"`
  1106. YamlString string `json:"yamlString,omitempty"`
  1107. }
  1108. AiInfo {
  1109. ParticipantId int64 `json:"participantId,omitempty"`
  1110. TaskId int64 `json:"taskId,omitempty"`
  1111. ProjectId string `json:"project_id,omitempty"`
  1112. Name string `json:"name,omitempty"`
  1113. Status string `json:"status,omitempty"`
  1114. StartTime string `json:"startTime,omitempty"`
  1115. RunningTime int64 `json:"runningTime,omitempty"`
  1116. Result string `json:"result,omitempty"`
  1117. JobId string `json:"jobId,omitempty"`
  1118. CreateTime string `json:"createTime,omitempty"`
  1119. ImageUrl string `json:"imageUrl,omitempty"`
  1120. Command string `json:"command,omitempty"`
  1121. FlavorId string `json:"flavorId,omitempty"`
  1122. SubscriptionId string `json:"subscriptionId,omitempty"`
  1123. ItemVersionId string `json:"itemVersionId,omitempty"`
  1124. }
  1125. VmInfo {
  1126. ParticipantId int64 `json:"participantId,omitempty"`
  1127. TaskId int64 `json:"taskId,omitempty"`
  1128. Name string `json:"name,omitempty"`
  1129. FlavorRef string `json:"flavor_ref,omitempty"`
  1130. ImageRef string `json:"image_ref,omitempty"`
  1131. NetworkUuid string `json:"network_uuid,omitempty"`
  1132. BlockUuid string `json:"block_uuid,omitempty"`
  1133. SourceType string `json:"source_type,omitempty"`
  1134. DeleteOnTermination bool `json:"delete_on_termination,omitempty"`
  1135. Status string `json:"status,omitempty"`
  1136. MinCount string `json:"min_count,omitempty"`
  1137. Platform string `json:"platform,omitempty"`
  1138. Uuid string `json:"uuid,omitempty"`
  1139. }
  1140. )
  1141. type (
  1142. PullTaskInfoReq {
  1143. AdapterId int64 `form:"adapterId"`
  1144. }
  1145. PullTaskInfoResp {
  1146. HpcInfoList []*HpcInfo `json:"HpcInfoList,omitempty"`
  1147. CloudInfoList []*CloudInfo `json:"CloudInfoList,omitempty"`
  1148. AiInfoList []*AiInfo `json:"AiInfoList,omitempty"`
  1149. VmInfoList []*VmInfo `json:"VmInfoList,omitempty"`
  1150. }
  1151. )
  1152. type (
  1153. PushTaskInfoReq {
  1154. AdapterId int64 `json:"adapterId"`
  1155. HpcInfoList []*HpcInfo `json:"hpcInfoList"`
  1156. CloudInfoList []*CloudInfo `json:"cloudInfoList"`
  1157. AiInfoList []*AiInfo `json:"aiInfoList"`
  1158. VmInfoList []*VmInfo `json:"vmInfoList"`
  1159. }
  1160. PushTaskInfoResp {
  1161. Code int64 `json:"code"`
  1162. Msg string `json:"msg"`
  1163. }
  1164. )
  1165. type (
  1166. PushResourceInfoReq {
  1167. AdapterId int64 `json:"adapterId"`
  1168. ResourceStats []ResourceStats `json:"resourceStats"`
  1169. }
  1170. PushResourceInfoResp {
  1171. Code int64 `json:"code"`
  1172. Msg string `json:"msg"`
  1173. }
  1174. )
  1175. type (
  1176. NoticeInfo {
  1177. AdapterId int64 `json:"adapterId"`
  1178. AdapterName string `json:"adapterName"`
  1179. ClusterId int64 `json:"clusterId"`
  1180. ClusterName string `json:"clusterName"`
  1181. NoticeType string `json:"noticeType"`
  1182. TaskName string `json:"taskName"`
  1183. Incident string `json:"incident"`
  1184. }
  1185. ListNoticeReq{
  1186. }
  1187. ListNoticeResp {
  1188. Code int64 `json:"code"`
  1189. Msg string `json:"msg"`
  1190. Data []NoticeInfo `json:"data"`
  1191. }
  1192. PushNoticeReq {
  1193. NoticeInfo NoticeInfo `json:"noticeInfo"`
  1194. }
  1195. PushNoticeResp {
  1196. Code int64 `json:"code"`
  1197. Msg string `json:"msg"`
  1198. }
  1199. )
  1200. type ResourceStats {
  1201. ClusterId int64 `json:"clusterId"`
  1202. Name string `json:"name"`
  1203. CpuCoreAvail int64 `json:"cpuCoreAvail"`
  1204. CpuCoreTotal int64 `json:"cpuCoreTotal"`
  1205. MemAvail float64 `json:"memAvail"`
  1206. MemTotal float64 `json:"memTotal"`
  1207. DiskAvail float64 `json:"diskAvail"`
  1208. DiskTotal float64 `json:"diskTotal"`
  1209. GpuAvail int64 `json:"gpuAvail"`
  1210. CardsAvail []*Card `json:"cardsAvail"`
  1211. CpuCoreHours float64 `json:"cpuCoreHours"`
  1212. Balance float64 `json:"balance"`
  1213. }
  1214. type Card {
  1215. Platform string `json:"platform"`
  1216. Type string `json:"type"`
  1217. Name string `json:"name"`
  1218. TOpsAtFp16 float64 `json:"TOpsAtFp16"`
  1219. CardHours float64 `json:"cardHours"`
  1220. CardNum int32 `json:"cardNum"`
  1221. }
  1222. type TaskStatusResp {
  1223. Succeeded int `json:"Succeeded"`
  1224. Failed int `json:"Failed"`
  1225. Running int `json:"Running"`
  1226. Saved int `json:"Saved"`
  1227. }
  1228. type (
  1229. TaskDetailsResp {
  1230. Name string `json:"name"`
  1231. description string `json:"description"`
  1232. StartTime string `json:"startTime"`
  1233. EndTime string `json:"endTime"`
  1234. Strategy int64 `json:"strategy"`
  1235. SynergyStatus int64 `json:"synergyStatus"`
  1236. ClusterInfos []*ClusterInfo `json:"clusterInfos"`
  1237. SubTaskInfos []*SubTaskInfo `json:"subTaskInfos"`
  1238. TaskTypeDict string `json:"taskTypeDict"`
  1239. AdapterTypeDict string `json:"adapterTypeDict"`
  1240. }
  1241. SubTaskInfo {
  1242. Id string `json:"id" db:"id"`
  1243. Name string `json:"name" db:"name"`
  1244. ClusterId string `json:"clusterId" db:"cluster_id"`
  1245. ClusterName string `json:"clusterName" db:"cluster_name"`
  1246. Status string `json:"status" db:"status"`
  1247. Remark string `json:"remark" db:"remark"`
  1248. InferUrl string `json:"inferUrl"`
  1249. WorkDir string `json:"workDir"`
  1250. }
  1251. )
  1252. type (
  1253. CommonResp {
  1254. Code int `json:"code,omitempty"`
  1255. Msg string `json:"msg,omitempty"`
  1256. Data interface{} `json:"data,omitempty"`
  1257. }
  1258. )

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.