jobBatch.rest 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. @SpeedTopPmpProdServer = https://pmp.speedtop.io/api/v1/pmp
  2. @SpeedTopPmpTestServer = https://speedtop-pmp.golink.dev/api/v1/pmp
  3. @FkeyPmpProdServer = https://pmp.fkey.win/api/v1/pmp
  4. @FkeyPmpTestServer = https://fkey-pmp.golink.dev/api/v1/pmp
  5. @RingPlusPmpProdServer = https://pmp.ringplus.ai/api/v1/pmp
  6. @ShortDramaPmpProdServer = https://pmp.zipdrama.io/api/v1/pmp
  7. @SpeedTopPmpProdAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg1OTYzODgsImlhdCI6MTc1ODUwOTk4OCwidXNlcklkIjoxfQ.bc_YJmpj0l2TpOwzPKqZVXdG_otjBZ8cfjTHElbQN8g
  8. @SpeedTopPmpProdRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxMTQ3ODgsImlhdCI6MTc1ODUwOTk4OCwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6MX0.WxR5pjxWWu8iGEVJ5zVpONE0BlNb9CE2saAuIztEIIo
  9. @SpeedTopPmpTestAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg1OTY2ODksImlhdCI6MTc1ODUxMDI4OSwidXNlcklkIjoxfQ.KKZkPXhT9qELxslEczDvBbTIiFABuFZZU0sdYmwLCaM
  10. @SpeedTopPmpTestRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxMTUwODksImlhdCI6MTc1ODUxMDI4OSwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6MX0.XZoYZF1VSqJHhBTQEqFQSDQOANWGq7F50zixThGKRrw
  11. @FkeyPmpProdAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg2MTU2NzQsImlhdCI6MTc1ODUyOTI3NCwidXNlcklkIjoxM30.t0nVIL17yo4i1hA0W5S1FuasnveSUwR1K8YnsgXF-eo
  12. @FkeyPmpProdRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxMzQwNzQsImlhdCI6MTc1ODUyOTI3NCwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6MTN9._uljRnIIlfFXkhtixElOUBlWR1xDRJTIcGp5SEc6gQY
  13. @FkeyPmpTestAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg2MTkyODEsImlhdCI6MTc1ODUzMjg4MSwidXNlcklkIjo3fQ.48OHh6X0yn8zoJzhHlTZ7rlLI8z-UZYC2Z0EqTRLF-g
  14. @FkeyPmpTestRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxMzc2ODEsImlhdCI6MTc1ODUzMjg4MSwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6N30.PolhbJtSpdLdD2rDN6WqgKMz0mW-VdwjA--IztBwYuc
  15. @RingPlusPmpProdAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg2ODEwNDksImlhdCI6MTc1ODU5NDY0OSwidXNlcklkIjoxMX0.TGXxI15dCaw8e0l1j0jn1eihYNvakmJEPrPp1rP8O5Y
  16. @RingPlusPmpProdRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxOTk0NDksImlhdCI6MTc1ODU5NDY0OSwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6MTF9.UtAlPVIgHszg7QydRyOxsq5NOfWrVX2hm-gwIHvT180
  17. @ShortDramaPmpProdAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg2OTQ3NTQsImlhdCI6MTc1ODYwODM1NCwidXNlcklkIjoxOX0.FM0m5JAXObwYzxUvNbR5tS2Dnn4dWexCUzX61B6jUvY
  18. @ShortDramaPmpProdRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkyMTMxNTQsImlhdCI6MTc1ODYwODM1NCwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6MTl9.gp0l5ZtRp97afl5qGeJ0BI6rxZ0Qq-vWMAG03G1QuOM
  19. @PMP_SERVER = {{ShortDramaPmpProdServer}}
  20. @STAT_SERVER = https://metrics-api.speedtop.io/api/v1/pmp
  21. @ACCESS_TOKEN = {{ShortDramaPmpProdAccessToken}}
  22. @REFRESH_TOKEN = {{ShortDramaPmpProdRefreshToken}}
  23. @PRODUCT_CODE = zipdrama
  24. ### 作业批处理管理接口
  25. ### 获取作业批处理列表
  26. POST {{PMP_SERVER}}/jobBatch/list
  27. Content-Type: application/json
  28. Authorization: Bearer {{ACCESS_TOKEN}}
  29. {
  30. "current": 1,
  31. "pageSize": 20,
  32. "keyword": "",
  33. "ids": [],
  34. "excludeIds": [],
  35. "startedTimeRange": {
  36. "start": 1755518760,
  37. "end": 1755605160
  38. },
  39. "finishedTimeRange": {
  40. "start": 1755518760,
  41. "end": 1755605160
  42. },
  43. "statuses": ["Pending", "Running", "Completed"],
  44. "name": "VPN服务器部署任务",
  45. "type": "deploy",
  46. "initParams": "{\"template\": \"vpn-deploy\", \"version\": \"1.0.0\"}",
  47. "contextData": "{\"deployConfig\": {\"region\": \"CN\", \"instanceType\": \"t2.micro\"}}",
  48. "beginHandler": "https://api.example.com/job/begin",
  49. "afterHandler": "https://api.example.com/job/after",
  50. "concurrency": 5,
  51. "retryPolicy": "{\"maxRetries\": 3, \"delay\": 5000}",
  52. "startedTime": 1755518760,
  53. "finishedTime": 1755605160,
  54. "result": "AllSucceeded",
  55. "status": "Completed",
  56. "remark": "VPN服务器批量部署任务",
  57. "createAt": 1,
  58. "updateAt": 1,
  59. "createTime": 1755518760,
  60. "updateTime": 1755605160
  61. }
  62. ### 添加作业批处理
  63. POST {{PMP_SERVER}}/jobBatch/add
  64. Content-Type: application/json
  65. Authorization: Bearer {{ACCESS_TOKEN}}
  66. {
  67. "name": "VPN服务器部署任务",
  68. "type": "deploy",
  69. "initParams": "{\"template\": \"vpn-deploy\", \"version\": \"1.0.0\"}",
  70. "contextData": "{\"deployConfig\": {\"region\": \"CN\", \"instanceType\": \"t2.micro\"}}",
  71. "beginHandler": "https://api.example.com/job/begin",
  72. "afterHandler": "https://api.example.com/job/after",
  73. "concurrency": 5,
  74. "retryPolicy": "{\"maxRetries\": 3, \"delay\": 5000}",
  75. "remark": "VPN服务器批量部署任务"
  76. }
  77. ### 更新作业批处理
  78. POST {{PMP_SERVER}}/jobBatch/update
  79. Content-Type: application/json
  80. Authorization: Bearer {{ACCESS_TOKEN}}
  81. {
  82. "id": 1,
  83. "name": "VPN服务器部署任务",
  84. "type": "deploy",
  85. "initParams": "{\"template\": \"vpn-deploy\", \"version\": \"1.1.0\"}",
  86. "contextData": "{\"deployConfig\": {\"region\": \"CN\", \"instanceType\": \"t2.small\"}}",
  87. "beginHandler": "https://api.example.com/job/begin",
  88. "afterHandler": "https://api.example.com/job/after",
  89. "concurrency": 10,
  90. "retryPolicy": "{\"maxRetries\": 5, \"delay\": 10000}",
  91. "startedTime": 1755518760,
  92. "finishedTime": 1755605160,
  93. "result": "AllSucceeded",
  94. "status": "Completed",
  95. "remark": "更新后的VPN服务器批量部署任务",
  96. "createAt": 1,
  97. "updateAt": 1,
  98. "createTime": 1755518760,
  99. "updateTime": 1755605160
  100. }
  101. ### 删除作业批处理
  102. POST {{PMP_SERVER}}/jobBatch/del
  103. Content-Type: application/json
  104. Authorization: Bearer {{ACCESS_TOKEN}}
  105. {
  106. "ids": [1, 2, 3]
  107. }
  108. ### 获取作业批处理详情
  109. POST {{PMP_SERVER}}/jobBatch/get
  110. Content-Type: application/json
  111. Authorization: Bearer {{ACCESS_TOKEN}}
  112. {
  113. "id": 1
  114. }
  115. ### 添加作业批处理(包含任务)
  116. POST {{PMP_SERVER}}/jobBatch/addWithTasks
  117. Content-Type: application/json
  118. Authorization: Bearer {{ACCESS_TOKEN}}
  119. {
  120. "jobBatch": {
  121. "name": "VPN服务器部署任务",
  122. "type": "deploy",
  123. "initParams": "{\"template\": \"vpn-deploy\", \"version\": \"1.0.0\"}",
  124. "contextData": "{\"deployConfig\": {\"region\": \"CN\", \"instanceType\": \"t2.micro\"}}",
  125. "beginHandler": "https://api.example.com/job/begin",
  126. "afterHandler": "https://api.example.com/job/after",
  127. "concurrency": 5,
  128. "retryPolicy": "{\"maxRetries\": 3, \"delay\": 5000}",
  129. "remark": "VPN服务器批量部署任务"
  130. },
  131. "jobTasks": [
  132. {
  133. "name": "部署VPN服务器1",
  134. "type": "deploy",
  135. "params": "{\"serverId\": 1, \"region\": \"CN\"}",
  136. "status": "Pending",
  137. "remark": "部署第一台VPN服务器"
  138. },
  139. {
  140. "name": "部署VPN服务器2",
  141. "type": "deploy",
  142. "params": "{\"serverId\": 2, \"region\": \"CN\"}",
  143. "status": "Pending",
  144. "remark": "部署第二台VPN服务器"
  145. }
  146. ]
  147. }
  148. ### 获取作业批处理详情(包含任务)
  149. POST {{PMP_SERVER}}/jobBatch/getWithTasks
  150. Content-Type: application/json
  151. Authorization: Bearer {{ACCESS_TOKEN}}
  152. {
  153. "id": 1
  154. }
  155. ### 获取作业批处理列表(包含任务)
  156. POST {{PMP_SERVER}}/jobBatch/listWithTasks
  157. Content-Type: application/json
  158. Authorization: Bearer {{ACCESS_TOKEN}}
  159. {
  160. "current": 1,
  161. "pageSize": 20,
  162. "keyword": "",
  163. "ids": [],
  164. "excludeIds": [],
  165. "startedTimeRange": {
  166. "start": 1755518760,
  167. "end": 1755605160
  168. },
  169. "finishedTimeRange": {
  170. "start": 1755518760,
  171. "end": 1755605160
  172. },
  173. "statuses": ["Pending", "Running", "Completed"],
  174. "name": "VPN服务器部署任务",
  175. "type": "deploy"
  176. }
  177. ### 部署批处理管理接口
  178. ### 添加部署批处理
  179. POST {{PMP_SERVER}}/deployBatch/add
  180. Content-Type: application/json
  181. Authorization: Bearer {{ACCESS_TOKEN}}
  182. {
  183. "awxTemplateId": 1,
  184. "awxTemplateName": "vpn-deploy-template",
  185. "awxJobExtraVars": {
  186. "deploy_version": "1.0.0",
  187. "region": "CN",
  188. "instance_type": "t2.micro"
  189. },
  190. "hosts": [
  191. {
  192. "instanceId": 1,
  193. "ip": "192.168.1.100",
  194. "sshPort": 22,
  195. "sshUser": "ubuntu",
  196. "sshPassword": "password123"
  197. },
  198. {
  199. "instanceId": 2,
  200. "ip": "192.168.1.101",
  201. "sshPort": 22,
  202. "sshUser": "ubuntu",
  203. "sshPassword": "password123"
  204. }
  205. ],
  206. "concurrency": 5,
  207. "remark": "VPN服务器批量部署任务"
  208. }
  209. ### 获取部署批处理列表(包含任务)
  210. POST {{PMP_SERVER}}/deployBatch/list
  211. Content-Type: application/json
  212. Authorization: Bearer {{ACCESS_TOKEN}}
  213. {
  214. "current": 1,
  215. "pageSize": 20,
  216. "keyword": "",
  217. "ids": [],
  218. "excludeIds": [],
  219. "startedTimeRange": {
  220. "start": 1755518760,
  221. "end": 1755605160
  222. },
  223. "finishedTimeRange": {
  224. "start": 1755518760,
  225. "end": 1755605160
  226. },
  227. "statuses": ["Pending", "Running", "Completed"],
  228. "name": "VPN服务器部署任务",
  229. "type": "deploy"
  230. }