@cloudbase/cli 2.0.12 → 2.1.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 (277) hide show
  1. package/.history/.gitignore_20220624162613 +84 -0
  2. package/.history/.gitignore_20220627114054 +86 -0
  3. package/.history/package_20220711204706.json +88 -0
  4. package/.history/package_20220711204818.json +88 -0
  5. package/.history/package_20220712151717.json +88 -0
  6. package/.history/package_20220712212537.json +88 -0
  7. package/.history/package_20220722205058.json +88 -0
  8. package/.history/package_20220726110155.json +88 -0
  9. package/.history/package_20220726110201.json +88 -0
  10. package/.history/package_20220728110905.json +88 -0
  11. package/.history/package_20220728110936.json +88 -0
  12. package/.history/package_20220728111531.json +89 -0
  13. package/.history/package_20220728111810.json +89 -0
  14. package/.history/src/commands/lowcode/app_20220728111717.ts +52 -0
  15. package/{src/commands/lowcode/app.ts → .history/src/commands/lowcode/app_20220728112031.ts} +2 -2
  16. package/{src/index.ts → .history/src/index_20220624162613.ts} +0 -0
  17. package/.history/src/index_20220627113609.ts +15 -0
  18. package/.history/src/index_20220627114102.ts +13 -0
  19. package/.vscode/launch.json +10 -0
  20. package/bin/cloudbase.js +0 -0
  21. package/bin/tcb.js +5 -5
  22. package/lib/commands/account/login.js +3 -6
  23. package/lib/commands/env/index.js +0 -1
  24. package/lib/commands/lowcode/app.js +1 -1
  25. package/lib/commands/run/index.js +0 -1
  26. package/lib/commands/run/service/deploy.js +6 -1
  27. package/lib/commands/run/service/index.js +0 -1
  28. package/lib/commands/run/service/update.js +4 -0
  29. package/lib/constant.js +15 -1
  30. package/lib/env/index.js +1 -11
  31. package/lib/run/index.js +0 -1
  32. package/lib/run/service/common.js +20 -7
  33. package/lib/run/service/config.js +2 -3
  34. package/lib/run/service/deployPackage.js +2 -9
  35. package/lib/run/service/index.js +0 -1
  36. package/lib/run/service/update.js +1 -1
  37. package/lib/utils/debug-logger.js +30 -0
  38. package/lib/utils/net/cloud-api-request.js +7 -1
  39. package/lib/utils/net/http-request.js +16 -5
  40. package/package.json +2 -2
  41. package/types/commands/env/index.d.ts +0 -1
  42. package/types/commands/run/index.d.ts +0 -1
  43. package/types/commands/run/service/index.d.ts +0 -1
  44. package/types/env/index.d.ts +0 -6
  45. package/types/run/index.d.ts +0 -1
  46. package/types/run/service/common.d.ts +8 -1
  47. package/types/run/service/index.d.ts +0 -1
  48. package/types/types.d.ts +4 -0
  49. package/types/utils/debug-logger.d.ts +1 -0
  50. package/types/utils/net/http-request.d.ts +6 -2
  51. package/lib/commands/env/create.js +0 -115
  52. package/lib/commands/run/create.js +0 -162
  53. package/lib/commands/run/service/create.js +0 -144
  54. package/lib/run/create.js +0 -19
  55. package/lib/run/service/create.js +0 -67
  56. package/src/auth/index.ts +0 -2
  57. package/src/auth/login.ts +0 -91
  58. package/src/auth/logout.ts +0 -7
  59. package/src/commands/account/index.ts +0 -2
  60. package/src/commands/account/login.ts +0 -192
  61. package/src/commands/account/logout.ts +0 -24
  62. package/src/commands/common.ts +0 -246
  63. package/src/commands/env/base.ts +0 -90
  64. package/src/commands/env/create.ts +0 -92
  65. package/src/commands/env/domain.ts +0 -186
  66. package/src/commands/env/index.ts +0 -4
  67. package/src/commands/env/login.ts +0 -235
  68. package/src/commands/framework/index.ts +0 -124
  69. package/src/commands/functions/alias/getRoute.ts +0 -76
  70. package/src/commands/functions/alias/index.ts +0 -2
  71. package/src/commands/functions/alias/setRoute.ts +0 -82
  72. package/src/commands/functions/code-download.ts +0 -100
  73. package/src/commands/functions/code-update.ts +0 -62
  74. package/src/commands/functions/concurrency/delete.ts +0 -45
  75. package/src/commands/functions/concurrency/index.ts +0 -3
  76. package/src/commands/functions/concurrency/list.ts +0 -58
  77. package/src/commands/functions/concurrency/set.ts +0 -47
  78. package/src/commands/functions/config-update.ts +0 -76
  79. package/src/commands/functions/copy.ts +0 -62
  80. package/src/commands/functions/delete.ts +0 -79
  81. package/src/commands/functions/deploy.ts +0 -293
  82. package/src/commands/functions/detail.ts +0 -138
  83. package/src/commands/functions/index.ts +0 -16
  84. package/src/commands/functions/invoke.ts +0 -121
  85. package/src/commands/functions/layer/bind.ts +0 -182
  86. package/src/commands/functions/layer/common.ts +0 -8
  87. package/src/commands/functions/layer/create.ts +0 -49
  88. package/src/commands/functions/layer/delete.ts +0 -73
  89. package/src/commands/functions/layer/download.ts +0 -92
  90. package/src/commands/functions/layer/index.ts +0 -7
  91. package/src/commands/functions/layer/list.ts +0 -94
  92. package/src/commands/functions/layer/sort.ts +0 -76
  93. package/src/commands/functions/list.ts +0 -68
  94. package/src/commands/functions/log.ts +0 -148
  95. package/src/commands/functions/run.ts +0 -249
  96. package/src/commands/functions/trigger-create.ts +0 -79
  97. package/src/commands/functions/trigger-delete.ts +0 -105
  98. package/src/commands/functions/version/index.ts +0 -2
  99. package/src/commands/functions/version/list.ts +0 -73
  100. package/src/commands/functions/version/publish.ts +0 -43
  101. package/src/commands/gateway/create.ts +0 -109
  102. package/src/commands/gateway/delete.ts +0 -81
  103. package/src/commands/gateway/domain.ts +0 -159
  104. package/src/commands/gateway/index.ts +0 -5
  105. package/src/commands/gateway/list.ts +0 -76
  106. package/src/commands/gateway/switch.ts +0 -107
  107. package/src/commands/helpers/index.ts +0 -3
  108. package/src/commands/helpers/init.ts +0 -431
  109. package/src/commands/helpers/new.ts +0 -117
  110. package/src/commands/helpers/open.ts +0 -67
  111. package/src/commands/hosting/hosting.ts +0 -360
  112. package/src/commands/hosting/index.ts +0 -1
  113. package/src/commands/index.ts +0 -13
  114. package/src/commands/lowcode/comps.ts +0 -325
  115. package/src/commands/lowcode/index.ts +0 -2
  116. package/src/commands/lowcode/utils.ts +0 -25
  117. package/src/commands/run/create.ts +0 -153
  118. package/src/commands/run/delete.ts +0 -77
  119. package/src/commands/run/image/common.ts +0 -8
  120. package/src/commands/run/image/delete.ts +0 -68
  121. package/src/commands/run/image/download.ts +0 -68
  122. package/src/commands/run/image/index.ts +0 -5
  123. package/src/commands/run/image/list.ts +0 -84
  124. package/src/commands/run/image/upload.ts +0 -76
  125. package/src/commands/run/index.ts +0 -7
  126. package/src/commands/run/list.ts +0 -83
  127. package/src/commands/run/service/config.ts +0 -81
  128. package/src/commands/run/service/create.ts +0 -122
  129. package/src/commands/run/service/deploy.ts +0 -125
  130. package/src/commands/run/service/index.ts +0 -5
  131. package/src/commands/run/service/list.ts +0 -94
  132. package/src/commands/run/service/update.ts +0 -108
  133. package/src/commands/run/standalonegateway/common.ts +0 -8
  134. package/src/commands/run/standalonegateway/create.ts +0 -85
  135. package/src/commands/run/standalonegateway/destroy.ts +0 -59
  136. package/src/commands/run/standalonegateway/index.ts +0 -5
  137. package/src/commands/run/standalonegateway/list.ts +0 -53
  138. package/src/commands/run/standalonegateway/package.ts +0 -62
  139. package/src/commands/run/standalonegateway/turn.ts +0 -63
  140. package/src/commands/run/version/common.ts +0 -8
  141. package/src/commands/run/version/create.ts +0 -369
  142. package/src/commands/run/version/delete.ts +0 -64
  143. package/src/commands/run/version/index.ts +0 -5
  144. package/src/commands/run/version/list.ts +0 -91
  145. package/src/commands/run/version/modify.ts +0 -137
  146. package/src/commands/run/version/update.ts +0 -398
  147. package/src/commands/smart.ts +0 -132
  148. package/src/commands/storage/index.ts +0 -1
  149. package/src/commands/storage/storage.ts +0 -464
  150. package/src/commands/third/index.ts +0 -1
  151. package/src/commands/third/thirdAttach.ts +0 -49
  152. package/src/completion/index.ts +0 -13
  153. package/src/constant.ts +0 -154
  154. package/src/decorators/captureError.ts +0 -25
  155. package/src/decorators/constants.ts +0 -12
  156. package/src/decorators/deprecate.ts +0 -25
  157. package/src/decorators/guard.ts +0 -42
  158. package/src/decorators/index.ts +0 -7
  159. package/src/decorators/injectParams.ts +0 -54
  160. package/src/decorators/params/common.ts +0 -28
  161. package/src/decorators/params/index.ts +0 -35
  162. package/src/env/domain.ts +0 -33
  163. package/src/env/index.ts +0 -63
  164. package/src/env/login.ts +0 -80
  165. package/src/error.ts +0 -36
  166. package/src/function/alias.ts +0 -43
  167. package/src/function/base.ts +0 -253
  168. package/src/function/code.ts +0 -55
  169. package/src/function/concurrency.ts +0 -57
  170. package/src/function/create.ts +0 -78
  171. package/src/function/delete.ts +0 -42
  172. package/src/function/index.ts +0 -11
  173. package/src/function/layer/attach.ts +0 -68
  174. package/src/function/layer/create.ts +0 -63
  175. package/src/function/layer/delete.ts +0 -21
  176. package/src/function/layer/download.ts +0 -54
  177. package/src/function/layer/index.ts +0 -7
  178. package/src/function/layer/list.ts +0 -32
  179. package/src/function/layer/sort.ts +0 -24
  180. package/src/function/trigger.ts +0 -97
  181. package/src/function/update.ts +0 -35
  182. package/src/function/version.ts +0 -39
  183. package/src/function/vpc.ts +0 -22
  184. package/src/gateway/index.ts +0 -137
  185. package/src/help.ts +0 -50
  186. package/src/hosting.ts +0 -212
  187. package/src/logger.ts +0 -17
  188. package/src/run/create.ts +0 -23
  189. package/src/run/delete.ts +0 -15
  190. package/src/run/image/build.ts +0 -36
  191. package/src/run/image/delete.ts +0 -14
  192. package/src/run/image/index.ts +0 -4
  193. package/src/run/image/info.ts +0 -27
  194. package/src/run/image/list.ts +0 -23
  195. package/src/run/index.ts +0 -8
  196. package/src/run/list.ts +0 -30
  197. package/src/run/repo.ts +0 -25
  198. package/src/run/service/common.ts +0 -311
  199. package/src/run/service/config.ts +0 -77
  200. package/src/run/service/create.ts +0 -52
  201. package/src/run/service/deployPackage.ts +0 -65
  202. package/src/run/service/index.ts +0 -7
  203. package/src/run/service/list.ts +0 -29
  204. package/src/run/service/showLogs.ts +0 -98
  205. package/src/run/service/update.ts +0 -82
  206. package/src/run/standalonegateway/create.ts +0 -24
  207. package/src/run/standalonegateway/destroy.ts +0 -19
  208. package/src/run/standalonegateway/index.ts +0 -5
  209. package/src/run/standalonegateway/list.ts +0 -74
  210. package/src/run/standalonegateway/package/index.ts +0 -1
  211. package/src/run/standalonegateway/package/list.ts +0 -24
  212. package/src/run/standalonegateway/turn/index.ts +0 -2
  213. package/src/run/standalonegateway/turn/off.ts +0 -19
  214. package/src/run/standalonegateway/turn/on.ts +0 -19
  215. package/src/run/version/create.ts +0 -68
  216. package/src/run/version/delete.ts +0 -16
  217. package/src/run/version/index.ts +0 -6
  218. package/src/run/version/list.ts +0 -17
  219. package/src/run/version/modify.ts +0 -17
  220. package/src/run/version/repo.ts +0 -28
  221. package/src/run/version/update.ts +0 -59
  222. package/src/storage.ts +0 -114
  223. package/src/third/index.ts +0 -13
  224. package/src/types.ts +0 -672
  225. package/src/utils/auth.ts +0 -15
  226. package/src/utils/checkTcbrEnv.ts +0 -69
  227. package/src/utils/cli-table.ts +0 -23
  228. package/src/utils/commonParamsCheck.ts +0 -65
  229. package/src/utils/config.ts +0 -39
  230. package/src/utils/env.ts +0 -244
  231. package/src/utils/fs/del.ts +0 -5
  232. package/src/utils/fs/index.ts +0 -71
  233. package/src/utils/function-packer.ts +0 -97
  234. package/src/utils/index.ts +0 -25
  235. package/src/utils/log.ts +0 -82
  236. package/src/utils/net/cloud-api-request.ts +0 -62
  237. package/src/utils/net/credential.ts +0 -53
  238. package/src/utils/net/http-request.ts +0 -84
  239. package/src/utils/net/index.ts +0 -5
  240. package/src/utils/net/manager-service.ts +0 -36
  241. package/src/utils/net/proxy.ts +0 -6
  242. package/src/utils/notice.ts +0 -28
  243. package/src/utils/output/highlight.ts +0 -5
  244. package/src/utils/output/index.ts +0 -3
  245. package/src/utils/output/link.ts +0 -10
  246. package/src/utils/output/loading.ts +0 -82
  247. package/src/utils/parallel.ts +0 -82
  248. package/src/utils/platform/index.ts +0 -3
  249. package/src/utils/platform/mac.ts +0 -21
  250. package/src/utils/platform/os.ts +0 -64
  251. package/src/utils/platform/port.ts +0 -10
  252. package/src/utils/progress-bar.ts +0 -38
  253. package/src/utils/prompt/index.ts +0 -1
  254. package/src/utils/prompt/select.ts +0 -60
  255. package/src/utils/reporter/agree.ts +0 -20
  256. package/src/utils/reporter/download.ts +0 -26
  257. package/src/utils/reporter/index.ts +0 -3
  258. package/src/utils/reporter/usage.ts +0 -20
  259. package/src/utils/store/auth.ts +0 -49
  260. package/src/utils/store/common.ts +0 -8
  261. package/src/utils/store/db.ts +0 -68
  262. package/src/utils/store/index.ts +0 -5
  263. package/src/utils/store/usage.ts +0 -12
  264. package/src/utils/tcbrApi/callTcbrApi.ts +0 -28
  265. package/src/utils/tcbrApi/index.ts +0 -1
  266. package/src/utils/template.ts +0 -170
  267. package/src/utils/tools/encoding.ts +0 -8
  268. package/src/utils/tools/index.ts +0 -4
  269. package/src/utils/tools/object.ts +0 -33
  270. package/src/utils/tools/time.ts +0 -38
  271. package/src/utils/tools/uid.ts +0 -19
  272. package/src/utils/validator.ts +0 -65
  273. package/types/commands/env/create.d.ts +0 -12
  274. package/types/commands/run/create.d.ts +0 -13
  275. package/types/commands/run/service/create.d.ts +0 -13
  276. package/types/run/create.d.ts +0 -2
  277. package/types/run/service/create.d.ts +0 -7
@@ -1,82 +0,0 @@
1
-
2
- import { Command, ICommand } from '../../common'
3
- import { CloudBaseError } from '../../../error'
4
- import { loadingFactory } from '../../../utils'
5
- import { setFunctionAliasConfig } from '../../../function'
6
- import { InjectParams, CmdContext, ArgsParams, ArgsOptions } from '../../../decorators'
7
-
8
-
9
- @ICommand()
10
- export class setFunctionRoutingConfig extends Command {
11
- get options() {
12
- return {
13
- cmd: 'fn',
14
- childCmd: 'config-route <name> <version1> <traffic1> [version2] [traffic2]',
15
- options: [
16
- {
17
- flags: '-e, --envId <envId>',
18
- desc: '环境 Id'
19
- }
20
- ],
21
- desc: '设置函数版本流量配置'
22
- }
23
- }
24
-
25
- @InjectParams()
26
- async execute(@CmdContext() ctx, @ArgsParams() params) {
27
- const name = params?.[0]
28
- const version1 = params?.[1]
29
- const traffic1 = Number(params?.[2])
30
-
31
- const version2 = params?.[3]
32
- const traffic2 = Number(params?.[4])
33
-
34
- // 校验
35
-
36
- // 1. version2 及 traffic2 必须同时存在
37
- if ((version2 === undefined && traffic2 !== undefined) || (version2 !== undefined && traffic2 === undefined)) {
38
- throw new CloudBaseError('version2 和 traffic2 必须同时设置')
39
- }
40
-
41
- if (traffic1 !== undefined && traffic2 !== undefined) {
42
- if (traffic1 + traffic2 !== 100) {
43
- throw new CloudBaseError('traffic1 和 traffic2 同时设置时,需保证总和 100')
44
- }
45
- }
46
-
47
- const {
48
- envId
49
- } = ctx
50
-
51
- const loading = loadingFactory()
52
- loading.start(`设置函数 [${name}] 版本流量配置中...`)
53
-
54
- let routingConfigParams = {
55
- AddtionVersionMatchs: [{
56
- Expression: `[0,${traffic1})`,
57
- Key: "invoke.headers.X-Tcb-Route-Key",
58
- Method: "range",
59
- Version: version1
60
- }]
61
- }
62
-
63
- if (version2 !== undefined) {
64
- routingConfigParams.AddtionVersionMatchs.push({
65
- Expression: `[${traffic1},${100})`,
66
- Key: "invoke.headers.X-Tcb-Route-Key",
67
- Method: "range",
68
- Version: version2
69
- })
70
- }
71
-
72
- await setFunctionAliasConfig({
73
- envId,
74
- functionName: name,
75
- name: '$DEFAULT',
76
- functionVersion: '$LATEST',
77
- routingConfig: routingConfigParams
78
- })
79
-
80
- loading.succeed(`设置函数 [${name}] 版本流量配置成功!`)
81
- }
82
- }
@@ -1,100 +0,0 @@
1
- import path from 'path'
2
- import fse from 'fs-extra'
3
- import inquirer from 'inquirer'
4
- import { Command, ICommand } from '../common'
5
- import { CloudBaseError } from '../../error'
6
- import { InjectParams, CmdContext, ArgsParams } from '../../decorators'
7
- import { downloadFunctionCode, getFunctionDetail } from '../../function'
8
- import { loadingFactory, checkFullAccess, delSync, highlightCommand } from '../../utils'
9
-
10
- @ICommand()
11
- export class CodeDownload extends Command {
12
- get options() {
13
- return {
14
- cmd: 'fn',
15
- childCmd: {
16
- cmd: 'code',
17
- desc: '函数代码管理'
18
- },
19
- childSubCmd: 'download <name> [dest]',
20
- deprecateCmd: 'functions:download <name> [dest]',
21
- options: [
22
- {
23
- flags: '-e, --envId <envId>',
24
- desc: '环境 Id'
25
- },
26
- { flags: '-l, --limit <limit>', desc: '返回数据长度,默认值为 20' },
27
- {
28
- flags: '--code-secret <codeSecret>',
29
- desc: '代码加密的函数的 CodeSecret'
30
- }
31
- ],
32
- desc: '下载云函数代码'
33
- }
34
- }
35
-
36
- @InjectParams()
37
- async execute(@CmdContext() ctx, @ArgsParams() params) {
38
- const { envId, config, options } = ctx
39
- const { codeSecret } = options
40
-
41
- const name = params?.[0]
42
- const dest = params?.[1]
43
-
44
- if (!name) {
45
- throw new CloudBaseError('请指定云函数名称!')
46
- }
47
-
48
- // 检查函数是否存在
49
- try {
50
- await getFunctionDetail({
51
- envId,
52
- codeSecret,
53
- functionName: name
54
- })
55
- } catch (e) {
56
- if (e.code === 'ResourceNotFound.FunctionName') {
57
- throw new CloudBaseError(
58
- `云函数 [${name}] 不存在!\n\n使用 ${highlightCommand(
59
- 'cloudbase functions:list'
60
- )} 命令查看已部署云函数`
61
- )
62
- }
63
- return
64
- }
65
-
66
- let destPath = dest
67
-
68
- // 没有指定下载路径时,使用函数名作为存储文件夹
69
- if (!destPath) {
70
- destPath = path.resolve(config.functionRoot, name)
71
- // 路径已存在,询问是否覆盖
72
- if (checkFullAccess(destPath)) {
73
- const { override } = await inquirer.prompt({
74
- type: 'confirm',
75
- name: 'override',
76
- message: '函数已经存在,是否覆盖原文件?',
77
- default: false
78
- })
79
-
80
- if (!override) {
81
- throw new CloudBaseError('下载终止!')
82
- }
83
- // 删除原文件
84
- delSync([destPath])
85
- }
86
- await fse.ensureDir(destPath)
87
- }
88
-
89
- const loading = loadingFactory()
90
- loading.start('文件下载中...')
91
- await downloadFunctionCode({
92
- envId,
93
- functionName: name,
94
- destPath: destPath,
95
- codeSecret: codeSecret,
96
- unzip: true
97
- })
98
- loading.succeed(`[${name}] 云函数代码下载成功!`)
99
- }
100
- }
@@ -1,62 +0,0 @@
1
- import path from 'path'
2
- import { Command, ICommand } from '../common'
3
- import { CloudBaseError } from '../../error'
4
- import { loadingFactory } from '../../utils'
5
- import { updateFunctionCode } from '../../function'
6
- import { InjectParams, CmdContext, ArgsParams } from '../../decorators'
7
-
8
- @ICommand()
9
- export class CodeUpdate extends Command {
10
- get options() {
11
- return {
12
- cmd: 'fn',
13
- childCmd: {
14
- cmd: 'code',
15
- desc: '函数代码管理'
16
- },
17
- childSubCmd: 'update <name>',
18
- deprecateCmd: 'functions:code:update <name>',
19
- options: [
20
- {
21
- flags: '-e, --envId <envId>',
22
- desc: '环境 Id'
23
- },
24
- {
25
- flags: '--code-secret <codeSecret>',
26
- desc: '传入此参数将保护代码,格式为 36 位大小写字母和数字'
27
- }
28
- ],
29
- desc: '更新云函数代码'
30
- }
31
- }
32
-
33
- @InjectParams()
34
- async execute(@CmdContext() ctx, @ArgsParams() params) {
35
- const { envId, config, options } = ctx
36
- const { codeSecret } = options
37
-
38
- const name = params?.[0]
39
-
40
- if (!name) {
41
- throw new CloudBaseError('请指定云函数名称!')
42
- }
43
-
44
- const func = config.functions.find((item) => item.name === name) || { name }
45
-
46
- const loading = loadingFactory()
47
-
48
- loading.start(`[${func.name}] 函数代码更新中...`)
49
- try {
50
- await updateFunctionCode({
51
- func,
52
- envId,
53
- codeSecret,
54
- functionRootPath: path.join(process.cwd(), config.functionRoot)
55
- })
56
- loading.succeed(`[${func.name}] 函数代码更新成功!`)
57
- } catch (e) {
58
- loading.stop()
59
- throw e
60
- }
61
- }
62
- }
@@ -1,45 +0,0 @@
1
-
2
- import { Command, ICommand } from '../../common'
3
- import { CloudBaseError } from '../../../error'
4
- import { loadingFactory } from '../../../utils'
5
- import { deleteProvisionedConcurrencyConfig } from '../../../function'
6
- import { InjectParams, CmdContext, ArgsParams, ArgsOptions } from '../../../decorators'
7
-
8
-
9
- @ICommand()
10
- export class deleteProvisionedConcurrency extends Command {
11
- get options() {
12
- return {
13
- cmd: 'fn',
14
- childCmd: 'delete-provisioned-concurrency <name> <version>',
15
- options: [
16
- {
17
- flags: '-e, --envId <envId>',
18
- desc: '环境 Id'
19
- }
20
- ],
21
- desc: '删除函数版本预置并发配置'
22
- }
23
- }
24
-
25
- @InjectParams()
26
- async execute(@CmdContext() ctx, @ArgsParams() params) {
27
- const name = params?.[0]
28
- const version = params?.[1]
29
-
30
- const {
31
- envId
32
- } = ctx
33
-
34
- const loading = loadingFactory()
35
- loading.start(`删除函数 [${name}] 预置并发配置中...`)
36
-
37
- await deleteProvisionedConcurrencyConfig({
38
- envId,
39
- functionName: name,
40
- qualifier: version
41
- })
42
-
43
- loading.succeed(`删除函数 [${name}] 预置并发配置成功!`)
44
- }
45
- }
@@ -1,3 +0,0 @@
1
- export * from './delete'
2
- export * from './list'
3
- export * from './set'
@@ -1,58 +0,0 @@
1
-
2
- import { Command, ICommand } from '../../common'
3
- import { CloudBaseError } from '../../../error'
4
- import { loadingFactory, printHorizontalTable } from '../../../utils'
5
- import { getProvisionedConcurrencyConfig } from '../../../function'
6
- import { InjectParams, CmdContext, ArgsParams, ArgsOptions } from '../../../decorators'
7
- import { StatusMap, ConcurrencyTaskStatus } from '../../../constant'
8
-
9
-
10
- @ICommand()
11
- export class getProvisionedConcurrency extends Command {
12
- get options() {
13
- return {
14
- cmd: 'fn',
15
- childCmd: 'get-provisioned-concurrency <name> [version]',
16
- options: [
17
- {
18
- flags: '-e, --envId <envId>',
19
- desc: '环境 Id'
20
- }
21
- ],
22
- desc: '获取函数版本预置并发配置'
23
- }
24
- }
25
-
26
- @InjectParams()
27
- async execute(@CmdContext() ctx, @ArgsParams() params, @ArgsOptions() options) {
28
- const name = params?.[0]
29
- const version = params?.[1]
30
-
31
- const {
32
- envId
33
- } = ctx
34
-
35
- const loading = loadingFactory()
36
- loading.start(`拉取函数 [${name}] 预置并发配置中...`)
37
-
38
- const res = await getProvisionedConcurrencyConfig({
39
- envId,
40
- functionName: name,
41
- qualifier: version
42
- })
43
-
44
- loading.stop()
45
-
46
- const head: string[] = ['设置并发数', '已完成并发数', '预置任务状态', '状态说明', '版本号']
47
-
48
- const tableData = res.Allocated.map((item) => [
49
- item.AllocatedProvisionedConcurrencyNum,
50
- item.AvailableProvisionedConcurrencyNum,
51
- ConcurrencyTaskStatus[item.Status] || '无',
52
- item.StatusReason,
53
- item.Qualifier
54
- ])
55
-
56
- printHorizontalTable(head, tableData)
57
- }
58
- }
@@ -1,47 +0,0 @@
1
-
2
- import { Command, ICommand } from '../../common'
3
- import { CloudBaseError } from '../../../error'
4
- import { loadingFactory } from '../../../utils'
5
- import { setProvisionedConcurrencyConfig } from '../../../function'
6
- import { InjectParams, CmdContext, ArgsParams, ArgsOptions } from '../../../decorators'
7
-
8
-
9
- @ICommand()
10
- export class setProvisionedConcurrency extends Command {
11
- get options() {
12
- return {
13
- cmd: 'fn',
14
- childCmd: 'set-provisioned-concurrency <name> <version> <concurrency>',
15
- options: [
16
- {
17
- flags: '-e, --envId <envId>',
18
- desc: '环境 Id'
19
- }
20
- ],
21
- desc: '设置函数版本预置并发'
22
- }
23
- }
24
-
25
- @InjectParams()
26
- async execute(@CmdContext() ctx, @ArgsParams() params) {
27
- const name = params?.[0]
28
- const version = params?.[1]
29
- const concurrency = Number(params?.[2] || 0)
30
-
31
- const {
32
- envId
33
- } = ctx
34
-
35
- const loading = loadingFactory()
36
- loading.start(`配置函数 [${name}] 预置并发中...`)
37
-
38
- await setProvisionedConcurrencyConfig({
39
- envId,
40
- functionName: name,
41
- qualifier: version,
42
- versionProvisionedConcurrencyNum: concurrency
43
- })
44
-
45
- loading.succeed(`配置函数 [${name}] 预置并发成功!`)
46
- }
47
- }
@@ -1,76 +0,0 @@
1
- import inquirer from 'inquirer'
2
- import { Command, ICommand } from '../common'
3
- import { CloudBaseError } from '../../error'
4
- import { InjectParams, CmdContext, ArgsParams, Log, Logger } from '../../decorators'
5
- import { batchUpdateFunctionConfig, updateFunctionConfig } from '../../function'
6
-
7
- @ICommand()
8
- export class ConfigUpdate extends Command {
9
- get options() {
10
- return {
11
- cmd: 'fn',
12
- childCmd: {
13
- cmd: 'config',
14
- desc: '函数配置管理'
15
- },
16
- childSubCmd: 'update [name]',
17
- deprecateCmd: 'functions:config:update [name]',
18
- options: [
19
- {
20
- flags: '-e, --envId <envId>',
21
- desc: '环境 Id'
22
- }
23
- ],
24
- desc: '更新云函数配置'
25
- }
26
- }
27
-
28
- @InjectParams()
29
- async execute(@CmdContext() ctx, @ArgsParams() params, @Log() log: Logger) {
30
- const {
31
- envId,
32
- config: { functions }
33
- } = ctx
34
- const name = params?.[0]
35
- let isBathUpdate = false
36
-
37
- // 不指定云函数名称,更新配置文件中所有函数的配置
38
- if (!name) {
39
- const { isBatch } = await inquirer.prompt({
40
- type: 'confirm',
41
- name: 'isBatch',
42
- message: '无云函数名称,是否需要更新配置文件中的【全部云函数】的配置?',
43
- default: false
44
- })
45
-
46
- isBathUpdate = isBatch
47
-
48
- if (!isBathUpdate) {
49
- throw new CloudBaseError('请指定云函数名称!')
50
- }
51
- }
52
-
53
- if (isBathUpdate) {
54
- await batchUpdateFunctionConfig({
55
- envId,
56
- functions,
57
- log: true
58
- })
59
- return
60
- }
61
-
62
- const functionItem = functions.find((item) => item.name === name)
63
-
64
- if (!functionItem) {
65
- throw new CloudBaseError('未找到相关函数配置,请检查函数名是否正确')
66
- }
67
-
68
- await updateFunctionConfig({
69
- envId,
70
- functionName: name,
71
- config: functionItem
72
- })
73
-
74
- log.success(`[${name}] 更新云函数配置成功!`)
75
- }
76
- }
@@ -1,62 +0,0 @@
1
- import { Command, ICommand } from '../common'
2
- import { CloudBaseError } from '../../error'
3
- import { copyFunction } from '../../function'
4
- import { InjectParams, EnvId, ArgsOptions, ArgsParams, Log, Logger } from '../../decorators'
5
-
6
- @ICommand()
7
- export class FunctionCopy extends Command {
8
- get options() {
9
- return {
10
- cmd: 'fn',
11
- childCmd: 'copy <name> [newFunctionName]',
12
- deprecateCmd: 'functions:copy <name> [newFunctionName]',
13
- options: [
14
- {
15
- flags: '-e, --envId <envId>',
16
- desc: '环境 Id'
17
- },
18
- {
19
- flags: '-t, --target <targetEnvId>',
20
- desc: '目标环境 Id'
21
- },
22
- // {
23
- // flags: '--code-secret <codeSecret>',
24
- // desc: '代码加密的函数的 CodeSecret'
25
- // },
26
- {
27
- flags: '--force',
28
- desc: '如果目标环境下存在同名函数,覆盖原函数'
29
- }
30
- ],
31
- desc: '拷贝云函数'
32
- }
33
- }
34
-
35
- @InjectParams()
36
- async execute(
37
- @EnvId() envId,
38
- @ArgsOptions() options,
39
- @ArgsParams() params,
40
- @Log() log: Logger
41
- ) {
42
- const name = params?.[0]
43
- const newFunctionName = params?.[1]
44
-
45
- const { force, codeSecret, targetEnvId } = options
46
-
47
- if (!name) {
48
- throw new CloudBaseError('请指定函数名称!')
49
- }
50
-
51
- await copyFunction({
52
- force,
53
- envId,
54
- codeSecret,
55
- functionName: name,
56
- newFunctionName: newFunctionName || name,
57
- targetEnvId: targetEnvId || envId
58
- })
59
-
60
- log.success('拷贝函数成功')
61
- }
62
- }
@@ -1,79 +0,0 @@
1
- import inquirer from 'inquirer'
2
-
3
- import { Command, ICommand } from '../common'
4
- import { CloudBaseError } from '../../error'
5
- import { loadingFactory } from '../../utils'
6
- import { deleteFunction, batchDeleteFunctions } from '../../function'
7
- import { InjectParams, CmdContext, ArgsParams } from '../../decorators'
8
-
9
- @ICommand()
10
- export class DeleteFunction extends Command {
11
- get options() {
12
- return {
13
- cmd: 'fn',
14
- childCmd: 'delete [name]',
15
- deprecateCmd: 'functions:delete [name]',
16
- options: [
17
- {
18
- flags: '-e, --envId <envId>',
19
- desc: '环境 Id'
20
- }
21
- ],
22
- desc: '删除云函数'
23
- }
24
- }
25
-
26
- @InjectParams()
27
- async execute(@CmdContext() ctx, @ArgsParams() params) {
28
- const name = params?.[0]
29
- const {
30
- envId,
31
- config: { functions }
32
- } = ctx
33
-
34
- let isBatchDelete = false
35
-
36
- // 不指定云函数名称,默认删除所有函数
37
- if (!name) {
38
- const answer = await inquirer.prompt({
39
- type: 'confirm',
40
- name: 'isBatch',
41
- message: '无云函数名称,是否需要删除配置文件中的全部云函数?',
42
- default: false
43
- })
44
-
45
- // 危险操作,再次确认
46
- if (answer.isBatch) {
47
- const { reConfirm } = await inquirer.prompt({
48
- type: 'confirm',
49
- name: 'reConfirm',
50
- message: '确定要删除配置文件中的全部云函数?',
51
- default: false
52
- })
53
- isBatchDelete = reConfirm
54
- }
55
-
56
- if (!isBatchDelete) {
57
- throw new CloudBaseError('请指定需要删除的云函数名称!')
58
- }
59
- }
60
-
61
- if (isBatchDelete) {
62
- const names: string[] = functions.map((item) => item.name)
63
- return batchDeleteFunctions({
64
- names,
65
- envId
66
- })
67
- }
68
-
69
- const loading = loadingFactory()
70
- loading.start(`删除函数 [${name}] 中...`)
71
-
72
- await deleteFunction({
73
- envId,
74
- functionName: name
75
- })
76
-
77
- loading.succeed(`删除函数 [${name}] 成功!`)
78
- }
79
- }