@cloudbase/cli 2.0.12-alpha.3 → 2.0.14

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 (252) hide show
  1. package/.vscode/launch.json +0 -10
  2. package/.vscode/settings.json +3 -0
  3. package/bin/cloudbase.js +0 -0
  4. package/bin/tcb.js +0 -0
  5. package/lib/commands/lowcode/app.js +2 -30
  6. package/lib/commands/run/service/create.js +4 -0
  7. package/lib/commands/run/service/deploy.js +4 -0
  8. package/lib/commands/run/service/update.js +4 -0
  9. package/lib/run/service/common.js +9 -3
  10. package/lib/run/service/deployPackage.js +2 -9
  11. package/lib/utils/checkTcbrEnv.js +5 -4
  12. package/lib/utils/debug-logger.js +30 -0
  13. package/lib/utils/net/cloud-api-request.js +7 -1
  14. package/lib/utils/net/http-request.js +16 -5
  15. package/package.json +5 -4
  16. package/types/commands/lowcode/app.d.ts +0 -10
  17. package/types/run/service/common.d.ts +4 -1
  18. package/types/types.d.ts +4 -0
  19. package/types/utils/debug-logger.d.ts +1 -0
  20. package/types/utils/net/http-request.d.ts +6 -2
  21. package/.history/.gitignore_20220624162613 +0 -84
  22. package/.history/.gitignore_20220627114054 +0 -86
  23. package/.history/package_20220711204706.json +0 -88
  24. package/.history/package_20220711204818.json +0 -88
  25. package/.history/package_20220712151717.json +0 -88
  26. package/.history/package_20220712212537.json +0 -88
  27. package/.history/package_20220722205058.json +0 -88
  28. package/.history/src/commands/lowcode/app_20220624162613.ts +0 -34
  29. package/.history/src/commands/lowcode/app_20220627114205.ts +0 -52
  30. package/.history/src/index_20220624162613.ts +0 -13
  31. package/.history/src/index_20220627113609.ts +0 -15
  32. package/.history/src/index_20220627114102.ts +0 -13
  33. package/src/auth/index.ts +0 -2
  34. package/src/auth/login.ts +0 -91
  35. package/src/auth/logout.ts +0 -7
  36. package/src/commands/account/index.ts +0 -2
  37. package/src/commands/account/login.ts +0 -192
  38. package/src/commands/account/logout.ts +0 -24
  39. package/src/commands/common.ts +0 -246
  40. package/src/commands/env/base.ts +0 -90
  41. package/src/commands/env/create.ts +0 -92
  42. package/src/commands/env/domain.ts +0 -186
  43. package/src/commands/env/index.ts +0 -4
  44. package/src/commands/env/login.ts +0 -235
  45. package/src/commands/framework/index.ts +0 -124
  46. package/src/commands/functions/alias/getRoute.ts +0 -76
  47. package/src/commands/functions/alias/index.ts +0 -2
  48. package/src/commands/functions/alias/setRoute.ts +0 -82
  49. package/src/commands/functions/code-download.ts +0 -100
  50. package/src/commands/functions/code-update.ts +0 -62
  51. package/src/commands/functions/concurrency/delete.ts +0 -45
  52. package/src/commands/functions/concurrency/index.ts +0 -3
  53. package/src/commands/functions/concurrency/list.ts +0 -58
  54. package/src/commands/functions/concurrency/set.ts +0 -47
  55. package/src/commands/functions/config-update.ts +0 -76
  56. package/src/commands/functions/copy.ts +0 -62
  57. package/src/commands/functions/delete.ts +0 -79
  58. package/src/commands/functions/deploy.ts +0 -293
  59. package/src/commands/functions/detail.ts +0 -138
  60. package/src/commands/functions/index.ts +0 -16
  61. package/src/commands/functions/invoke.ts +0 -121
  62. package/src/commands/functions/layer/bind.ts +0 -182
  63. package/src/commands/functions/layer/common.ts +0 -8
  64. package/src/commands/functions/layer/create.ts +0 -49
  65. package/src/commands/functions/layer/delete.ts +0 -73
  66. package/src/commands/functions/layer/download.ts +0 -92
  67. package/src/commands/functions/layer/index.ts +0 -7
  68. package/src/commands/functions/layer/list.ts +0 -94
  69. package/src/commands/functions/layer/sort.ts +0 -76
  70. package/src/commands/functions/list.ts +0 -68
  71. package/src/commands/functions/log.ts +0 -148
  72. package/src/commands/functions/run.ts +0 -249
  73. package/src/commands/functions/trigger-create.ts +0 -79
  74. package/src/commands/functions/trigger-delete.ts +0 -105
  75. package/src/commands/functions/version/index.ts +0 -2
  76. package/src/commands/functions/version/list.ts +0 -73
  77. package/src/commands/functions/version/publish.ts +0 -43
  78. package/src/commands/gateway/create.ts +0 -109
  79. package/src/commands/gateway/delete.ts +0 -81
  80. package/src/commands/gateway/domain.ts +0 -159
  81. package/src/commands/gateway/index.ts +0 -5
  82. package/src/commands/gateway/list.ts +0 -76
  83. package/src/commands/gateway/switch.ts +0 -107
  84. package/src/commands/helpers/index.ts +0 -3
  85. package/src/commands/helpers/init.ts +0 -431
  86. package/src/commands/helpers/new.ts +0 -117
  87. package/src/commands/helpers/open.ts +0 -67
  88. package/src/commands/hosting/hosting.ts +0 -360
  89. package/src/commands/hosting/index.ts +0 -1
  90. package/src/commands/index.ts +0 -13
  91. package/src/commands/lowcode/app.ts +0 -52
  92. package/src/commands/lowcode/comps.ts +0 -325
  93. package/src/commands/lowcode/index.ts +0 -2
  94. package/src/commands/lowcode/utils.ts +0 -25
  95. package/src/commands/run/create.ts +0 -153
  96. package/src/commands/run/delete.ts +0 -77
  97. package/src/commands/run/image/common.ts +0 -8
  98. package/src/commands/run/image/delete.ts +0 -68
  99. package/src/commands/run/image/download.ts +0 -68
  100. package/src/commands/run/image/index.ts +0 -5
  101. package/src/commands/run/image/list.ts +0 -84
  102. package/src/commands/run/image/upload.ts +0 -76
  103. package/src/commands/run/index.ts +0 -7
  104. package/src/commands/run/list.ts +0 -83
  105. package/src/commands/run/service/config.ts +0 -81
  106. package/src/commands/run/service/create.ts +0 -122
  107. package/src/commands/run/service/deploy.ts +0 -125
  108. package/src/commands/run/service/index.ts +0 -5
  109. package/src/commands/run/service/list.ts +0 -94
  110. package/src/commands/run/service/update.ts +0 -108
  111. package/src/commands/run/standalonegateway/common.ts +0 -8
  112. package/src/commands/run/standalonegateway/create.ts +0 -85
  113. package/src/commands/run/standalonegateway/destroy.ts +0 -59
  114. package/src/commands/run/standalonegateway/index.ts +0 -5
  115. package/src/commands/run/standalonegateway/list.ts +0 -53
  116. package/src/commands/run/standalonegateway/package.ts +0 -62
  117. package/src/commands/run/standalonegateway/turn.ts +0 -63
  118. package/src/commands/run/version/common.ts +0 -8
  119. package/src/commands/run/version/create.ts +0 -369
  120. package/src/commands/run/version/delete.ts +0 -64
  121. package/src/commands/run/version/index.ts +0 -5
  122. package/src/commands/run/version/list.ts +0 -91
  123. package/src/commands/run/version/modify.ts +0 -137
  124. package/src/commands/run/version/update.ts +0 -398
  125. package/src/commands/smart.ts +0 -132
  126. package/src/commands/storage/index.ts +0 -1
  127. package/src/commands/storage/storage.ts +0 -464
  128. package/src/commands/third/index.ts +0 -1
  129. package/src/commands/third/thirdAttach.ts +0 -49
  130. package/src/completion/index.ts +0 -13
  131. package/src/constant.ts +0 -154
  132. package/src/decorators/captureError.ts +0 -25
  133. package/src/decorators/constants.ts +0 -12
  134. package/src/decorators/deprecate.ts +0 -25
  135. package/src/decorators/guard.ts +0 -42
  136. package/src/decorators/index.ts +0 -7
  137. package/src/decorators/injectParams.ts +0 -54
  138. package/src/decorators/params/common.ts +0 -28
  139. package/src/decorators/params/index.ts +0 -35
  140. package/src/env/domain.ts +0 -33
  141. package/src/env/index.ts +0 -63
  142. package/src/env/login.ts +0 -80
  143. package/src/error.ts +0 -36
  144. package/src/function/alias.ts +0 -43
  145. package/src/function/base.ts +0 -253
  146. package/src/function/code.ts +0 -55
  147. package/src/function/concurrency.ts +0 -57
  148. package/src/function/create.ts +0 -78
  149. package/src/function/delete.ts +0 -42
  150. package/src/function/index.ts +0 -11
  151. package/src/function/layer/attach.ts +0 -68
  152. package/src/function/layer/create.ts +0 -63
  153. package/src/function/layer/delete.ts +0 -21
  154. package/src/function/layer/download.ts +0 -54
  155. package/src/function/layer/index.ts +0 -7
  156. package/src/function/layer/list.ts +0 -32
  157. package/src/function/layer/sort.ts +0 -24
  158. package/src/function/trigger.ts +0 -97
  159. package/src/function/update.ts +0 -35
  160. package/src/function/version.ts +0 -39
  161. package/src/function/vpc.ts +0 -22
  162. package/src/gateway/index.ts +0 -137
  163. package/src/help.ts +0 -50
  164. package/src/hosting.ts +0 -212
  165. package/src/index.ts +0 -13
  166. package/src/logger.ts +0 -17
  167. package/src/run/create.ts +0 -23
  168. package/src/run/delete.ts +0 -15
  169. package/src/run/image/build.ts +0 -36
  170. package/src/run/image/delete.ts +0 -14
  171. package/src/run/image/index.ts +0 -4
  172. package/src/run/image/info.ts +0 -27
  173. package/src/run/image/list.ts +0 -23
  174. package/src/run/index.ts +0 -8
  175. package/src/run/list.ts +0 -30
  176. package/src/run/repo.ts +0 -25
  177. package/src/run/service/common.ts +0 -311
  178. package/src/run/service/config.ts +0 -77
  179. package/src/run/service/create.ts +0 -52
  180. package/src/run/service/deployPackage.ts +0 -65
  181. package/src/run/service/index.ts +0 -7
  182. package/src/run/service/list.ts +0 -29
  183. package/src/run/service/showLogs.ts +0 -98
  184. package/src/run/service/update.ts +0 -82
  185. package/src/run/standalonegateway/create.ts +0 -24
  186. package/src/run/standalonegateway/destroy.ts +0 -19
  187. package/src/run/standalonegateway/index.ts +0 -5
  188. package/src/run/standalonegateway/list.ts +0 -74
  189. package/src/run/standalonegateway/package/index.ts +0 -1
  190. package/src/run/standalonegateway/package/list.ts +0 -24
  191. package/src/run/standalonegateway/turn/index.ts +0 -2
  192. package/src/run/standalonegateway/turn/off.ts +0 -19
  193. package/src/run/standalonegateway/turn/on.ts +0 -19
  194. package/src/run/version/create.ts +0 -68
  195. package/src/run/version/delete.ts +0 -16
  196. package/src/run/version/index.ts +0 -6
  197. package/src/run/version/list.ts +0 -17
  198. package/src/run/version/modify.ts +0 -17
  199. package/src/run/version/repo.ts +0 -28
  200. package/src/run/version/update.ts +0 -59
  201. package/src/storage.ts +0 -114
  202. package/src/third/index.ts +0 -13
  203. package/src/types.ts +0 -672
  204. package/src/utils/auth.ts +0 -15
  205. package/src/utils/checkTcbrEnv.ts +0 -67
  206. package/src/utils/cli-table.ts +0 -23
  207. package/src/utils/commonParamsCheck.ts +0 -65
  208. package/src/utils/config.ts +0 -39
  209. package/src/utils/env.ts +0 -244
  210. package/src/utils/fs/del.ts +0 -5
  211. package/src/utils/fs/index.ts +0 -71
  212. package/src/utils/function-packer.ts +0 -97
  213. package/src/utils/index.ts +0 -25
  214. package/src/utils/log.ts +0 -82
  215. package/src/utils/net/cloud-api-request.ts +0 -62
  216. package/src/utils/net/credential.ts +0 -53
  217. package/src/utils/net/http-request.ts +0 -84
  218. package/src/utils/net/index.ts +0 -5
  219. package/src/utils/net/manager-service.ts +0 -36
  220. package/src/utils/net/proxy.ts +0 -6
  221. package/src/utils/notice.ts +0 -28
  222. package/src/utils/output/highlight.ts +0 -5
  223. package/src/utils/output/index.ts +0 -3
  224. package/src/utils/output/link.ts +0 -10
  225. package/src/utils/output/loading.ts +0 -82
  226. package/src/utils/parallel.ts +0 -82
  227. package/src/utils/platform/index.ts +0 -3
  228. package/src/utils/platform/mac.ts +0 -21
  229. package/src/utils/platform/os.ts +0 -64
  230. package/src/utils/platform/port.ts +0 -10
  231. package/src/utils/progress-bar.ts +0 -38
  232. package/src/utils/prompt/index.ts +0 -1
  233. package/src/utils/prompt/select.ts +0 -60
  234. package/src/utils/reporter/agree.ts +0 -20
  235. package/src/utils/reporter/download.ts +0 -26
  236. package/src/utils/reporter/index.ts +0 -3
  237. package/src/utils/reporter/usage.ts +0 -20
  238. package/src/utils/store/auth.ts +0 -49
  239. package/src/utils/store/common.ts +0 -8
  240. package/src/utils/store/db.ts +0 -68
  241. package/src/utils/store/index.ts +0 -5
  242. package/src/utils/store/usage.ts +0 -12
  243. package/src/utils/tcbrApi/callTcbrApi.ts +0 -28
  244. package/src/utils/tcbrApi/index.ts +0 -1
  245. package/src/utils/template.ts +0 -170
  246. package/src/utils/tools/encoding.ts +0 -8
  247. package/src/utils/tools/index.ts +0 -4
  248. package/src/utils/tools/object.ts +0 -33
  249. package/src/utils/tools/time.ts +0 -38
  250. package/src/utils/tools/uid.ts +0 -19
  251. package/src/utils/validator.ts +0 -65
  252. package/yarn-error.log +0 -12841
@@ -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
- }