@cloudbase/cli 1.12.7-alpha.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/.editorconfig +9 -9
  2. package/.eslintignore +7 -7
  3. package/.eslintrc +35 -35
  4. package/.prettierrc.js +29 -29
  5. package/.vscode/launch.json +16 -16
  6. package/.vscode/settings.json +3 -0
  7. package/LICENSE +5 -5
  8. package/README.md +35 -35
  9. package/bin/cloudbase.js +5 -5
  10. package/bin/tcb.js +0 -0
  11. package/changelog.md +6 -6
  12. package/jest.config.js +17 -17
  13. package/lib/commands/account/login.js +18 -18
  14. package/lib/commands/run/create.js +6 -1
  15. package/lib/commands/run/delete.js +6 -1
  16. package/lib/commands/run/image/common.js +1 -1
  17. package/lib/commands/run/image/delete.js +5 -0
  18. package/lib/commands/run/image/download.js +5 -0
  19. package/lib/commands/run/image/list.js +5 -0
  20. package/lib/commands/run/image/upload.js +5 -0
  21. package/lib/commands/run/index.js +1 -0
  22. package/lib/commands/run/list.js +7 -1
  23. package/lib/commands/run/service/config.js +112 -0
  24. package/lib/commands/run/service/create.js +140 -0
  25. package/lib/commands/run/service/deploy.js +145 -0
  26. package/lib/commands/run/service/index.js +21 -0
  27. package/lib/commands/run/service/list.js +115 -0
  28. package/lib/commands/run/service/update.js +132 -0
  29. package/lib/commands/run/version/common.js +1 -1
  30. package/lib/commands/run/version/create.js +5 -0
  31. package/lib/commands/run/version/delete.js +5 -0
  32. package/lib/commands/run/version/list.js +5 -0
  33. package/lib/commands/run/version/modify.js +5 -0
  34. package/lib/commands/run/version/update.js +5 -0
  35. package/lib/commands/storage/storage.js +1 -1
  36. package/lib/constant.js +20 -1
  37. package/lib/env/login.js +7 -7
  38. package/lib/help.js +40 -38
  39. package/lib/run/index.js +1 -0
  40. package/lib/run/service/common.js +163 -0
  41. package/lib/run/service/config.js +70 -0
  42. package/lib/run/service/create.js +67 -0
  43. package/lib/run/service/deployPackage.js +87 -0
  44. package/lib/run/service/index.js +23 -0
  45. package/lib/run/service/list.js +31 -0
  46. package/lib/run/service/showLogs.js +116 -0
  47. package/lib/run/service/update.js +83 -0
  48. package/lib/utils/checkTcbrEnv.js +74 -0
  49. package/lib/utils/commonParamsCheck.js +48 -0
  50. package/lib/utils/index.js +3 -0
  51. package/lib/utils/tcbrApi/callTcbrApi.js +38 -0
  52. package/lib/utils/tcbrApi/index.js +17 -0
  53. package/lib/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.js +268 -0
  54. package/lib/utils/tcbrApi/tcbr-cloud-api/error.js +17 -0
  55. package/lib/utils/tcbrApi/tcbr-cloud-api/index.js +17 -0
  56. package/lib/utils/tcbrApi/tcbr-cloud-api/request.js +40 -0
  57. package/lib/utils/tcbrApi/tcbr-cloud-api-request.js +61 -0
  58. package/lib/utils/validator.js +32 -1
  59. package/package.json +88 -88
  60. package/post-install.js +61 -61
  61. package/runtime/nodejs/bootstrap.js +255 -255
  62. package/runtime/nodejs/runtime.js +183 -183
  63. package/src/auth/index.ts +1 -1
  64. package/src/auth/login.ts +91 -91
  65. package/src/auth/logout.ts +7 -7
  66. package/src/commands/account/index.ts +2 -2
  67. package/src/commands/account/login.ts +192 -192
  68. package/src/commands/account/logout.ts +24 -24
  69. package/src/commands/common.ts +246 -246
  70. package/src/commands/env/base.ts +90 -90
  71. package/src/commands/env/create.ts +92 -92
  72. package/src/commands/env/domain.ts +186 -186
  73. package/src/commands/env/index.ts +4 -4
  74. package/src/commands/env/login.ts +235 -235
  75. package/src/commands/framework/index.ts +124 -124
  76. package/src/commands/functions/alias/getRoute.ts +76 -76
  77. package/src/commands/functions/alias/index.ts +2 -2
  78. package/src/commands/functions/alias/setRoute.ts +82 -82
  79. package/src/commands/functions/code-download.ts +100 -100
  80. package/src/commands/functions/code-update.ts +62 -62
  81. package/src/commands/functions/concurrency/delete.ts +45 -45
  82. package/src/commands/functions/concurrency/index.ts +2 -2
  83. package/src/commands/functions/concurrency/list.ts +58 -58
  84. package/src/commands/functions/concurrency/set.ts +47 -47
  85. package/src/commands/functions/config-update.ts +76 -76
  86. package/src/commands/functions/copy.ts +62 -62
  87. package/src/commands/functions/delete.ts +79 -79
  88. package/src/commands/functions/deploy.ts +293 -293
  89. package/src/commands/functions/detail.ts +138 -138
  90. package/src/commands/functions/index.ts +16 -16
  91. package/src/commands/functions/invoke.ts +121 -121
  92. package/src/commands/functions/layer/bind.ts +182 -182
  93. package/src/commands/functions/layer/common.ts +8 -8
  94. package/src/commands/functions/layer/create.ts +49 -49
  95. package/src/commands/functions/layer/delete.ts +73 -73
  96. package/src/commands/functions/layer/download.ts +92 -92
  97. package/src/commands/functions/layer/index.ts +7 -7
  98. package/src/commands/functions/layer/list.ts +94 -94
  99. package/src/commands/functions/layer/sort.ts +76 -76
  100. package/src/commands/functions/list.ts +68 -68
  101. package/src/commands/functions/log.ts +148 -148
  102. package/src/commands/functions/run.ts +249 -249
  103. package/src/commands/functions/trigger-create.ts +79 -79
  104. package/src/commands/functions/trigger-delete.ts +105 -105
  105. package/src/commands/functions/version/index.ts +1 -1
  106. package/src/commands/functions/version/list.ts +73 -73
  107. package/src/commands/functions/version/publish.ts +43 -43
  108. package/src/commands/gateway/create.ts +109 -109
  109. package/src/commands/gateway/delete.ts +81 -81
  110. package/src/commands/gateway/domain.ts +159 -159
  111. package/src/commands/gateway/index.ts +5 -5
  112. package/src/commands/gateway/list.ts +76 -76
  113. package/src/commands/gateway/switch.ts +107 -107
  114. package/src/commands/helpers/index.ts +2 -2
  115. package/src/commands/helpers/init.ts +431 -431
  116. package/src/commands/helpers/new.ts +117 -117
  117. package/src/commands/helpers/open.ts +67 -67
  118. package/src/commands/hosting/hosting.ts +360 -360
  119. package/src/commands/index.ts +13 -13
  120. package/src/commands/lowcode/app.ts +34 -34
  121. package/src/commands/lowcode/comps.ts +322 -322
  122. package/src/commands/lowcode/index.ts +1 -1
  123. package/src/commands/lowcode/utils.ts +24 -24
  124. package/src/commands/run/create.ts +9 -2
  125. package/src/commands/run/delete.ts +8 -2
  126. package/src/commands/run/image/common.ts +1 -1
  127. package/src/commands/run/image/delete.ts +8 -1
  128. package/src/commands/run/image/download.ts +7 -1
  129. package/src/commands/run/image/index.ts +4 -4
  130. package/src/commands/run/image/list.ts +7 -2
  131. package/src/commands/run/image/upload.ts +8 -1
  132. package/src/commands/run/index.ts +2 -1
  133. package/src/commands/run/list.ts +11 -3
  134. package/src/commands/run/service/config.ts +81 -0
  135. package/src/commands/run/service/create.ts +118 -0
  136. package/src/commands/run/service/deploy.ts +121 -0
  137. package/src/commands/run/service/index.ts +5 -0
  138. package/src/commands/run/service/list.ts +94 -0
  139. package/src/commands/run/service/update.ts +104 -0
  140. package/src/commands/run/standalonegateway/common.ts +7 -7
  141. package/src/commands/run/standalonegateway/create.ts +85 -85
  142. package/src/commands/run/standalonegateway/destroy.ts +59 -59
  143. package/src/commands/run/standalonegateway/index.ts +4 -4
  144. package/src/commands/run/standalonegateway/list.ts +53 -53
  145. package/src/commands/run/standalonegateway/package.ts +62 -62
  146. package/src/commands/run/standalonegateway/turn.ts +63 -63
  147. package/src/commands/run/version/common.ts +1 -1
  148. package/src/commands/run/version/create.ts +8 -1
  149. package/src/commands/run/version/delete.ts +8 -2
  150. package/src/commands/run/version/index.ts +4 -4
  151. package/src/commands/run/version/list.ts +7 -1
  152. package/src/commands/run/version/modify.ts +8 -1
  153. package/src/commands/run/version/update.ts +8 -1
  154. package/src/commands/smart.ts +132 -132
  155. package/src/commands/storage/storage.ts +464 -464
  156. package/src/commands/third/thirdAttach.ts +49 -49
  157. package/src/completion/index.ts +13 -13
  158. package/src/constant.ts +35 -1
  159. package/src/decorators/captureError.ts +25 -25
  160. package/src/decorators/constants.ts +12 -12
  161. package/src/decorators/deprecate.ts +25 -25
  162. package/src/decorators/guard.ts +42 -42
  163. package/src/decorators/index.ts +7 -7
  164. package/src/decorators/injectParams.ts +54 -54
  165. package/src/decorators/params/common.ts +28 -28
  166. package/src/decorators/params/index.ts +35 -35
  167. package/src/env/domain.ts +33 -33
  168. package/src/env/index.ts +63 -63
  169. package/src/env/login.ts +80 -80
  170. package/src/error.ts +36 -36
  171. package/src/function/alias.ts +43 -43
  172. package/src/function/base.ts +253 -253
  173. package/src/function/code.ts +55 -55
  174. package/src/function/concurrency.ts +57 -57
  175. package/src/function/create.ts +78 -78
  176. package/src/function/delete.ts +42 -42
  177. package/src/function/index.ts +10 -10
  178. package/src/function/layer/attach.ts +68 -68
  179. package/src/function/layer/create.ts +63 -63
  180. package/src/function/layer/delete.ts +21 -21
  181. package/src/function/layer/download.ts +54 -54
  182. package/src/function/layer/index.ts +7 -7
  183. package/src/function/layer/list.ts +32 -32
  184. package/src/function/layer/sort.ts +24 -24
  185. package/src/function/trigger.ts +97 -97
  186. package/src/function/update.ts +35 -35
  187. package/src/function/version.ts +38 -38
  188. package/src/function/vpc.ts +22 -22
  189. package/src/gateway/index.ts +137 -137
  190. package/src/help.ts +50 -48
  191. package/src/hosting.ts +212 -212
  192. package/src/index.ts +13 -13
  193. package/src/logger.ts +17 -17
  194. package/src/run/create.ts +23 -23
  195. package/src/run/delete.ts +15 -15
  196. package/src/run/image/build.ts +36 -36
  197. package/src/run/image/delete.ts +13 -13
  198. package/src/run/image/index.ts +3 -3
  199. package/src/run/image/info.ts +26 -26
  200. package/src/run/index.ts +2 -1
  201. package/src/run/list.ts +29 -29
  202. package/src/run/repo.ts +24 -24
  203. package/src/run/service/common.ts +206 -0
  204. package/src/run/service/config.ts +77 -0
  205. package/src/run/service/create.ts +52 -0
  206. package/src/run/service/deployPackage.ts +63 -0
  207. package/src/run/service/index.ts +7 -0
  208. package/src/run/service/list.ts +29 -0
  209. package/src/run/service/showLogs.ts +98 -0
  210. package/src/run/service/update.ts +81 -0
  211. package/src/run/standalonegateway/create.ts +24 -24
  212. package/src/run/standalonegateway/destroy.ts +19 -19
  213. package/src/run/standalonegateway/index.ts +4 -4
  214. package/src/run/standalonegateway/list.ts +74 -74
  215. package/src/run/standalonegateway/package/list.ts +24 -24
  216. package/src/run/standalonegateway/turn/index.ts +1 -1
  217. package/src/run/standalonegateway/turn/off.ts +19 -19
  218. package/src/run/standalonegateway/turn/on.ts +19 -19
  219. package/src/run/version/create.ts +68 -68
  220. package/src/run/version/delete.ts +15 -15
  221. package/src/run/version/index.ts +5 -5
  222. package/src/run/version/list.ts +16 -16
  223. package/src/run/version/modify.ts +16 -16
  224. package/src/run/version/repo.ts +27 -27
  225. package/src/run/version/update.ts +58 -58
  226. package/src/storage.ts +114 -114
  227. package/src/third/index.ts +12 -12
  228. package/src/types.ts +128 -2
  229. package/src/utils/auth.ts +15 -15
  230. package/src/utils/checkTcbrEnv.ts +67 -0
  231. package/src/utils/cli-table.ts +23 -23
  232. package/src/utils/commonParamsCheck.ts +65 -0
  233. package/src/utils/config.ts +39 -39
  234. package/src/utils/env.ts +244 -244
  235. package/src/utils/fs/del.ts +5 -5
  236. package/src/utils/fs/index.ts +71 -71
  237. package/src/utils/function-packer.ts +97 -97
  238. package/src/utils/index.ts +5 -1
  239. package/src/utils/log.ts +81 -81
  240. package/src/utils/net/cloud-api-request.ts +62 -62
  241. package/src/utils/net/credential.ts +53 -53
  242. package/src/utils/net/http-request.ts +84 -84
  243. package/src/utils/net/index.ts +4 -4
  244. package/src/utils/net/manager-service.ts +36 -36
  245. package/src/utils/net/proxy.ts +6 -6
  246. package/src/utils/notice.ts +28 -28
  247. package/src/utils/output/highlight.ts +5 -5
  248. package/src/utils/output/index.ts +2 -2
  249. package/src/utils/output/link.ts +10 -10
  250. package/src/utils/output/loading.ts +82 -82
  251. package/src/utils/parallel.ts +82 -82
  252. package/src/utils/platform/index.ts +2 -2
  253. package/src/utils/platform/mac.ts +21 -21
  254. package/src/utils/platform/os.ts +64 -64
  255. package/src/utils/platform/port.ts +10 -10
  256. package/src/utils/progress-bar.ts +38 -38
  257. package/src/utils/prompt/select.ts +59 -59
  258. package/src/utils/reporter/agree.ts +20 -20
  259. package/src/utils/reporter/download.ts +26 -26
  260. package/src/utils/reporter/index.ts +3 -3
  261. package/src/utils/reporter/usage.ts +20 -20
  262. package/src/utils/store/auth.ts +49 -49
  263. package/src/utils/store/common.ts +8 -8
  264. package/src/utils/store/db.ts +68 -68
  265. package/src/utils/store/index.ts +4 -4
  266. package/src/utils/store/usage.ts +12 -12
  267. package/src/utils/tcbrApi/callTcbrApi.ts +28 -0
  268. package/src/utils/tcbrApi/index.ts +1 -0
  269. package/src/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.ts +363 -0
  270. package/src/utils/tcbrApi/tcbr-cloud-api/error.ts +30 -0
  271. package/src/utils/tcbrApi/tcbr-cloud-api/index.ts +1 -0
  272. package/src/utils/tcbrApi/tcbr-cloud-api/request.ts +28 -0
  273. package/src/utils/tcbrApi/tcbr-cloud-api-request.ts +66 -0
  274. package/src/utils/template.ts +170 -170
  275. package/src/utils/tools/encoding.ts +8 -8
  276. package/src/utils/tools/index.ts +4 -4
  277. package/src/utils/tools/object.ts +33 -33
  278. package/src/utils/tools/time.ts +38 -38
  279. package/src/utils/tools/uid.ts +19 -19
  280. package/src/utils/validator.ts +64 -32
  281. package/templates/html/loginFail.html +90 -90
  282. package/templates/html/loginSuccess.html +86 -86
  283. package/templates/server/node/_gitignore +54 -54
  284. package/templates/server/node/cloudbaserc.json +10 -10
  285. package/templates/server/node/index.js +5 -5
  286. package/templates/server/node/package.json +9 -9
  287. package/tsconfig.json +19 -19
  288. package/tsconfig.test.json +13 -13
  289. package/types/commands/run/index.d.ts +1 -0
  290. package/types/commands/run/service/config.d.ts +14 -0
  291. package/types/commands/run/service/create.d.ts +13 -0
  292. package/types/commands/run/service/deploy.d.ts +13 -0
  293. package/types/commands/run/service/index.d.ts +5 -0
  294. package/types/commands/run/service/list.d.ts +13 -0
  295. package/types/commands/run/service/update.d.ts +13 -0
  296. package/types/constant.d.ts +18 -0
  297. package/types/run/index.d.ts +1 -0
  298. package/types/run/service/common.d.ts +32 -0
  299. package/types/run/service/config.d.ts +23 -0
  300. package/types/run/service/create.d.ts +7 -0
  301. package/types/run/service/deployPackage.d.ts +11 -0
  302. package/types/run/service/index.d.ts +7 -0
  303. package/types/run/service/list.d.ts +2 -0
  304. package/types/run/service/showLogs.d.ts +2 -0
  305. package/types/run/service/update.d.ts +2 -0
  306. package/types/types.d.ts +116 -2
  307. package/types/utils/checkTcbrEnv.d.ts +3 -0
  308. package/types/utils/commonParamsCheck.d.ts +3 -0
  309. package/types/utils/index.d.ts +3 -0
  310. package/types/utils/tcbrApi/callTcbrApi.d.ts +1 -0
  311. package/types/utils/tcbrApi/index.d.ts +1 -0
  312. package/types/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.d.ts +51 -0
  313. package/types/utils/tcbrApi/tcbr-cloud-api/error.d.ts +20 -0
  314. package/types/utils/tcbrApi/tcbr-cloud-api/index.d.ts +1 -0
  315. package/types/utils/tcbrApi/tcbr-cloud-api/request.d.ts +4 -0
  316. package/types/utils/tcbrApi/tcbr-cloud-api-request.d.ts +9 -0
  317. package/types/utils/validator.d.ts +4 -0
@@ -1,13 +1,13 @@
1
- import { CloudApiService } from '../utils'
2
- const tcbService = CloudApiService.getInstance('tcb')
3
-
4
- // 解除第三方小程序绑定
5
- export async function deleteThirdPartAttach(options) {
6
- const { ThirdPartAppid, TypeFlag } = options
7
- const res: any = await tcbService.request('DeleteThirdPartAttach', {
8
- ThirdPartAppid,
9
- TypeFlag
10
- })
11
-
12
- return res
1
+ import { CloudApiService } from '../utils'
2
+ const tcbService = CloudApiService.getInstance('tcb')
3
+
4
+ // 解除第三方小程序绑定
5
+ export async function deleteThirdPartAttach(options) {
6
+ const { ThirdPartAppid, TypeFlag } = options
7
+ const res: any = await tcbService.request('DeleteThirdPartAttach', {
8
+ ThirdPartAppid,
9
+ TypeFlag
10
+ })
11
+
12
+ return res
13
13
  }
package/src/types.ts CHANGED
@@ -375,8 +375,8 @@ export interface IListBranch {
375
375
  export interface IListImage {
376
376
  envId: string,
377
377
  serviceName: string,
378
- limit: number,
379
- offset: number
378
+ limit?: number,
379
+ offset?: number
380
380
  }
381
381
 
382
382
  export interface IDeleteImage {
@@ -530,4 +530,130 @@ export interface IGetFunctionAliasRes {
530
530
  Description: string
531
531
  AddTime: string
532
532
  ModTime: string
533
+ }
534
+
535
+ export interface ITcbrServerBaseConfig {
536
+ EnvId: string,
537
+ ServerName: string,
538
+ OpenAccessTypes: string[],
539
+ Cpu: number,
540
+ Mem: number,
541
+ MinNum: number,
542
+ MaxNum: number,
543
+ PolicyDetails: {
544
+ PolicyType: string,
545
+ PolicyThreshold: number
546
+ }[],
547
+ CustomLogs: string,
548
+ EnvParams: string,
549
+ InitialDelaySeconds: number,
550
+ CreateTime: string,
551
+ Port: number,
552
+ HasDockerfile: boolean,
553
+ Dockerfile: string,
554
+ BuildDir: string,
555
+ }
556
+
557
+ export interface IDescribeCloudRunServerDetail {
558
+ BaseInfo: {
559
+ ServerName: string,
560
+ DefaultDomainName: string,
561
+ CustomDomainName: string,
562
+ Status: 'running' | 'deploying' | 'deploy_failed',
563
+ UpdateTime: string,
564
+ },
565
+ ServerConfig: ITcbrServerBaseConfig,
566
+ RequestId: string
567
+ }
568
+
569
+ export interface ITcbrServiceOptions {
570
+ noConfirm: boolean,
571
+ override: boolean,
572
+ defaultOverride: boolean,
573
+ envId: string,
574
+ serviceName: string,
575
+ path: string,
576
+ cpu: number,
577
+ mem: number,
578
+ minNum: number,
579
+ maxNum: number,
580
+ policyDetails: string,
581
+ customLogs: string,
582
+ envParams: string,
583
+ containerPort: number,
584
+ remark: string,
585
+ targetDir: string,
586
+ dockerfile: string,
587
+ image: string,
588
+ library_image: string,
589
+ json: boolean
590
+ }
591
+
592
+ export interface ICloudRunProcessLog {
593
+ EnvId: string,
594
+ RunId: string
595
+ }
596
+
597
+ export interface ICloudRunBuildLog {
598
+ EnvId: string,
599
+ ServerName: string,
600
+ ServerVersion: string,
601
+ BuildId: number,
602
+ Offset: number
603
+ }
604
+
605
+ export interface IDescribeWxCloudBaseRunReleaseOrder {
606
+ envId: string,
607
+ serviceName: string
608
+ }
609
+
610
+ export interface IGetLogs {
611
+ envId: string,
612
+ taskId: number,
613
+ serviceName: string,
614
+ }
615
+
616
+ export interface ITcbrServiceConfigOptions {
617
+ serviceName: string,
618
+ envId: string,
619
+ cpu: number,
620
+ mem: number,
621
+ minNum: number,
622
+ maxNum: number,
623
+ policyDetails: string,
624
+ customLogs: string,
625
+ envParams: string,
626
+ }
627
+
628
+ export interface IServerInfo {
629
+ ServerName: string,
630
+ DefaultDomainName: string,
631
+ CustomDomainName: string,
632
+ Status: string,
633
+ UpdateTime: string,
634
+ CreatedTime: string,
635
+ }
636
+
637
+ export interface ITcbrServiceRequiredOptions {
638
+ envId: string,
639
+ serviceName: string,
640
+ containerPort: number,
641
+ isCreated: boolean,
642
+ path: string,
643
+ library_image: string,
644
+ image: string
645
+ }
646
+
647
+ export interface ITcbrServiceOptionalOptions {
648
+ cpu: number | string,
649
+ mem: number | string,
650
+ maxNum: number | string,
651
+ minNum: number | string
652
+ }
653
+
654
+ export interface ITcbrServiceConvertedOptionalOptions {
655
+ cpuConverted: number,
656
+ memConverted: number,
657
+ maxNumConverted: number,
658
+ minNumConverted: number
533
659
  }
package/src/utils/auth.ts CHANGED
@@ -1,15 +1,15 @@
1
- import _ from 'lodash'
2
- import { AuthSupevisor } from '@cloudbase/toolbox'
3
- import { getProxy } from './net'
4
- import { REQUEST_TIMEOUT } from '../constant'
5
-
6
- export const authSupevisor = AuthSupevisor.getInstance({
7
- cache: true,
8
- proxy: getProxy(),
9
- timeout: REQUEST_TIMEOUT,
10
- throwError: true
11
- })
12
-
13
- export async function getLoginState() {
14
- return authSupevisor.getLoginState()
15
- }
1
+ import _ from 'lodash'
2
+ import { AuthSupevisor } from '@cloudbase/toolbox'
3
+ import { getProxy } from './net'
4
+ import { REQUEST_TIMEOUT } from '../constant'
5
+
6
+ export const authSupevisor = AuthSupevisor.getInstance({
7
+ cache: true,
8
+ proxy: getProxy(),
9
+ timeout: REQUEST_TIMEOUT,
10
+ throwError: true
11
+ })
12
+
13
+ export async function getLoginState() {
14
+ return authSupevisor.getLoginState()
15
+ }
@@ -0,0 +1,67 @@
1
+ import chalk from 'chalk'
2
+ import { CloudBaseError } from '../error'
3
+ import { CloudApiService } from './net'
4
+ import { EnumEnvCheck } from '../constant'
5
+ const tcbService = CloudApiService.getInstance('tcb')
6
+
7
+ const oldCmdSet =
8
+ `
9
+ 服务列表:tcb run:deprecated list --envId <envId>
10
+ 创建服务:tcb run:deprecated create --envId <envId> --name <name>
11
+ 删除服务:tcb run:deprecated delete --envId <envId> --serviceName <serviceName>
12
+
13
+ 版本列表:tcb run:deprecated version list --envId <envId> --serviceName <serviceName>
14
+ 创建版本:tcb run:deprecated version create --envId <envId> --serviceName <serviceName>
15
+ 分配流量:tcb run:deprecated version modify --envId <envId> --serviceName <serviceName>
16
+ 滚动更新:tcb run:deprecated version update --envId <envId> --serviceName <serviceName> --versionName <versionName>
17
+ 删除版本:tcb run:deprecated version delete --envId <envId> --serviceName <serviceName> --versionName <versionName>
18
+
19
+ 查看镜像:tcb run:deprecated image list --envId <envId> --serviceName <serviceName>
20
+ 上传镜像:tcb run:deprecated image upload --envId <envId> --serviceName <serviceName> --imageId <imageId> --imageTag <imageTag>
21
+ 下载镜像:tcb run:deprecated image download --envId <envId> --serviceName <serviceName> --imageTag <imageTag>
22
+ 删除镜像:tcb run:deprecated image delete --envId <envId> --serviceName <serviceName> --imageTag <imageTag>
23
+ `
24
+ const newCmdSet =
25
+ `
26
+ 查看环境下服务:tcb run service:list --envId <envId>
27
+ 创建云托管服务:tcb run service:create --envId <envId> --serviceName <serviceName> --containerPort <containerPort>
28
+ 更新云托管服务:tcb run service:update --envId <envId> --serviceName <serviceName> --containerPort <containerPort>
29
+ 部署云托管服务:tcb run deploy --envId <envId> --serviceName <serviceName> --containerPort <containerPort>
30
+ 更新服务基础配置:tcb run service:config --envId <envId> --serviceName <serviceName>
31
+ `
32
+ /**
33
+ *
34
+ * @param envId 环境 Id
35
+ * @param isTcbr 使用的命令是否是 tcbr 新操作集
36
+ * @returns
37
+ */
38
+ export async function checkTcbrEnv(envId: string | undefined, isTcbr: boolean): Promise<EnumEnvCheck> | never {
39
+ if(envId === undefined) {
40
+ throw new CloudBaseError('请使用 -e 或 --envId 指定环境 ID')
41
+ }
42
+ const { EnvList: [envInfo] } = await tcbService.request('DescribeEnvs', {
43
+ EnvId: envId
44
+ })
45
+
46
+ if(envInfo === undefined) {
47
+ throw new CloudBaseError('无法读取到有效的环境信息,请检查环境 ID 是否正确')
48
+ }
49
+
50
+ if ((envInfo.EnvType === 'tcbr' && isTcbr) || (envInfo.EnvType !== 'tcbr' && !isTcbr)) {
51
+ return EnumEnvCheck.EnvFit
52
+ } else if (envInfo.EnvType === 'tcbr' && !isTcbr) {
53
+ return EnumEnvCheck.EnvNewCmdOld
54
+ } else if (envInfo.EnvType !== 'tcbr' && isTcbr) {
55
+ return EnumEnvCheck.EnvOldCmdNew
56
+ }
57
+ }
58
+
59
+ export function logEnvCheck(envId: string, warningType: EnumEnvCheck) {
60
+ if(warningType === EnumEnvCheck.EnvNewCmdOld) {
61
+ // 当前环境是 tcbr 环境且使用的不是 tcbr 新操作集
62
+ throw new CloudBaseError(`当前能力不支持 ${envId} 环境,请使用如下操作集:${chalk.grey(newCmdSet)}`)
63
+ } else if (warningType === EnumEnvCheck.EnvOldCmdNew) {
64
+ // 当前环境不是 tcbr 环境但使用 tcbr 操作集
65
+ throw new CloudBaseError(`当前能力不支持 ${envId} 环境,请使用如下操作集:${chalk.grey(oldCmdSet)}`)
66
+ }
67
+ }
@@ -1,23 +1,23 @@
1
- import Table, { TableOptions, HorizontalTable } from 'cli-table3'
2
-
3
- // 打印水平方向的表格
4
- export function printHorizontalTable(
5
- head: string[],
6
- data: (string | number)[][] = [],
7
- options?: TableOptions
8
- ) {
9
- if (!data?.length) {
10
- console.log('列表数据为空')
11
- }
12
- const table: HorizontalTable = new Table({
13
- head,
14
- style: { head: ['yellow'] },
15
- colAligns: new Array(head.length).fill('center'),
16
- ...options
17
- }) as HorizontalTable
18
-
19
- data.forEach((item: Table.Cell[]) => {
20
- table.push(item)
21
- })
22
- console.log(table.toString())
23
- }
1
+ import Table, { TableOptions, HorizontalTable } from 'cli-table3'
2
+
3
+ // 打印水平方向的表格
4
+ export function printHorizontalTable(
5
+ head: string[],
6
+ data: (string | number)[][] = [],
7
+ options?: TableOptions
8
+ ) {
9
+ if (!data?.length) {
10
+ console.log('列表数据为空')
11
+ }
12
+ const table: HorizontalTable = new Table({
13
+ head,
14
+ style: { head: ['yellow'] },
15
+ colAligns: new Array(head.length).fill('center'),
16
+ ...options
17
+ }) as HorizontalTable
18
+
19
+ data.forEach((item: Table.Cell[]) => {
20
+ table.push(item)
21
+ })
22
+ console.log(table.toString())
23
+ }
@@ -0,0 +1,65 @@
1
+ import { CloudBaseError } from '../error'
2
+ import { convertNumber } from '../run'
3
+ import { ITcbrServiceOptionalOptions, ITcbrServiceConvertedOptionalOptions } from '../types'
4
+ import { validateCpuMem } from './validator'
5
+
6
+ export function parseOptionalParams(options: ITcbrServiceOptionalOptions): ITcbrServiceConvertedOptionalOptions {
7
+ let cpuConverted
8
+ let memConverted
9
+ if (options.cpu || options.mem) {
10
+ let data = validateCpuMem(options.cpu, options.mem)
11
+ ;[cpuConverted, memConverted] = [data.cpuOutput, data.memOutput]
12
+ }
13
+
14
+ let maxNumConverted
15
+ if (options.maxNum) {
16
+ maxNumConverted = convertNumber(options.maxNum)
17
+ if (maxNumConverted < 0 || maxNumConverted > 50) {
18
+ throw new CloudBaseError('最大副本数必须大于等于0且小于等于50')
19
+ }
20
+ }
21
+
22
+ let minNumConverted
23
+ if (options.minNum) {
24
+ minNumConverted = convertNumber(options.minNum)
25
+ if (minNumConverted < 0 || minNumConverted > 50) {
26
+ throw new CloudBaseError('最小副本数必须大于等于0且小于等于50')
27
+ }
28
+ }
29
+
30
+ if (minNumConverted > maxNumConverted) {
31
+ throw new CloudBaseError('最小副本数不能大于最大副本数')
32
+ }
33
+
34
+ return {
35
+ cpuConverted,
36
+ memConverted,
37
+ maxNumConverted,
38
+ minNumConverted
39
+ }
40
+ }
41
+
42
+ /**
43
+ *
44
+ * @description 通用两层三元运算符的参数处理,例如
45
+ * MaxNum: maxNumConverted
46
+ ? convertNumber(maxNum)
47
+ : _override
48
+ ? (previousServerConfig?.MaxNum)
49
+ : 50
50
+ * @param originalParam 原始参数,如 maxNumConverted
51
+ * @param override 是否覆盖,如 _override
52
+ * @param handler 处理参数的函数,如 convertNumber
53
+ * @param overrideVal 如果覆盖,提供的默认覆盖值
54
+ * @param defaultVal 默认值
55
+ * @param args 传入 handler 中使用的额外参数
56
+ */
57
+ export function parseInputParam(originalParam, override: boolean, handler: Function | null, overrideVal, defaultVal, ...args) {
58
+ return originalParam
59
+ ? (typeof handler === 'function')
60
+ ? handler(originalParam, ...args)
61
+ : originalParam
62
+ : override
63
+ ? overrideVal
64
+ : defaultVal
65
+ }
@@ -1,39 +1,39 @@
1
- import _ from 'lodash'
2
- import path from 'path'
3
- import yargs, { Arguments } from 'yargs'
4
- import { ConfigParser, ICloudBaseConfig } from '@cloudbase/toolbox'
5
-
6
- export interface IArgs {
7
- envId: string
8
- region: string
9
- verbose: boolean
10
- configPath: string
11
- [x: string]: unknown
12
- }
13
-
14
- export const getArgs = (): Arguments<IArgs> => {
15
- // console.log(yargs.argv)
16
- return yargs.alias('e', 'envId').alias('r', 'region').argv as any
17
- }
18
-
19
- // 获取 cloudbase 配置
20
- export const getCloudBaseConfig = async (configPath?: string): Promise<ICloudBaseConfig> => {
21
- const args = getArgs()
22
-
23
- let specificConfigPath = configPath || args.configPath
24
- specificConfigPath = specificConfigPath ? path.resolve(specificConfigPath) : undefined
25
-
26
- const parser = new ConfigParser({
27
- configPath: specificConfigPath
28
- })
29
- const config: ICloudBaseConfig = await parser.get()
30
-
31
- // 合并默认配置
32
- if (config?.functionDefaultConfig && config?.functions?.length) {
33
- config.functions = config.functions.map((rawConfig) =>
34
- _.merge({}, config.functionDefaultConfig, rawConfig)
35
- )
36
- }
37
-
38
- return config
39
- }
1
+ import _ from 'lodash'
2
+ import path from 'path'
3
+ import yargs, { Arguments } from 'yargs'
4
+ import { ConfigParser, ICloudBaseConfig } from '@cloudbase/toolbox'
5
+
6
+ export interface IArgs {
7
+ envId: string
8
+ region: string
9
+ verbose: boolean
10
+ configPath: string
11
+ [x: string]: unknown
12
+ }
13
+
14
+ export const getArgs = (): Arguments<IArgs> => {
15
+ // console.log(yargs.argv)
16
+ return yargs.alias('e', 'envId').alias('r', 'region').argv as any
17
+ }
18
+
19
+ // 获取 cloudbase 配置
20
+ export const getCloudBaseConfig = async (configPath?: string): Promise<ICloudBaseConfig> => {
21
+ const args = getArgs()
22
+
23
+ let specificConfigPath = configPath || args.configPath
24
+ specificConfigPath = specificConfigPath ? path.resolve(specificConfigPath) : undefined
25
+
26
+ const parser = new ConfigParser({
27
+ configPath: specificConfigPath
28
+ })
29
+ const config: ICloudBaseConfig = await parser.get()
30
+
31
+ // 合并默认配置
32
+ if (config?.functionDefaultConfig && config?.functions?.length) {
33
+ config.functions = config.functions.map((rawConfig) =>
34
+ _.merge({}, config.functionDefaultConfig, rawConfig)
35
+ )
36
+ }
37
+
38
+ return config
39
+ }