@cloudbase/cli 2.0.0 → 2.0.1

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 (206) 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/LICENSE +5 -5
  7. package/README.md +35 -35
  8. package/bin/cloudbase.js +5 -5
  9. package/bin/tcb.js +6 -4
  10. package/changelog.md +6 -6
  11. package/jest.config.js +17 -17
  12. package/lib/commands/account/login.js +18 -18
  13. package/lib/commands/storage/storage.js +1 -1
  14. package/lib/env/login.js +7 -7
  15. package/lib/run/service/deployPackage.js +6 -4
  16. package/lib/utils/net/http-request.js +4 -4
  17. package/lib/utils/tcbrApi/tcbr-cloud-api/request.js +3 -3
  18. package/package.json +16 -16
  19. package/post-install.js +61 -61
  20. package/runtime/nodejs/bootstrap.js +255 -255
  21. package/runtime/nodejs/runtime.js +183 -183
  22. package/src/auth/index.ts +1 -1
  23. package/src/auth/login.ts +91 -91
  24. package/src/auth/logout.ts +7 -7
  25. package/src/commands/account/index.ts +2 -2
  26. package/src/commands/account/login.ts +192 -192
  27. package/src/commands/account/logout.ts +24 -24
  28. package/src/commands/common.ts +246 -246
  29. package/src/commands/env/base.ts +90 -90
  30. package/src/commands/env/create.ts +92 -92
  31. package/src/commands/env/domain.ts +186 -186
  32. package/src/commands/env/index.ts +4 -4
  33. package/src/commands/env/login.ts +235 -235
  34. package/src/commands/framework/index.ts +124 -124
  35. package/src/commands/functions/alias/getRoute.ts +76 -76
  36. package/src/commands/functions/alias/index.ts +2 -2
  37. package/src/commands/functions/alias/setRoute.ts +82 -82
  38. package/src/commands/functions/code-download.ts +100 -100
  39. package/src/commands/functions/code-update.ts +62 -62
  40. package/src/commands/functions/concurrency/delete.ts +45 -45
  41. package/src/commands/functions/concurrency/index.ts +2 -2
  42. package/src/commands/functions/concurrency/list.ts +58 -58
  43. package/src/commands/functions/concurrency/set.ts +47 -47
  44. package/src/commands/functions/config-update.ts +76 -76
  45. package/src/commands/functions/copy.ts +62 -62
  46. package/src/commands/functions/delete.ts +79 -79
  47. package/src/commands/functions/deploy.ts +293 -293
  48. package/src/commands/functions/detail.ts +138 -138
  49. package/src/commands/functions/index.ts +16 -16
  50. package/src/commands/functions/invoke.ts +121 -121
  51. package/src/commands/functions/layer/bind.ts +182 -182
  52. package/src/commands/functions/layer/common.ts +8 -8
  53. package/src/commands/functions/layer/create.ts +49 -49
  54. package/src/commands/functions/layer/delete.ts +73 -73
  55. package/src/commands/functions/layer/download.ts +92 -92
  56. package/src/commands/functions/layer/index.ts +7 -7
  57. package/src/commands/functions/layer/list.ts +94 -94
  58. package/src/commands/functions/layer/sort.ts +76 -76
  59. package/src/commands/functions/list.ts +68 -68
  60. package/src/commands/functions/log.ts +148 -148
  61. package/src/commands/functions/run.ts +249 -249
  62. package/src/commands/functions/trigger-create.ts +79 -79
  63. package/src/commands/functions/trigger-delete.ts +105 -105
  64. package/src/commands/functions/version/index.ts +1 -1
  65. package/src/commands/functions/version/list.ts +73 -73
  66. package/src/commands/functions/version/publish.ts +43 -43
  67. package/src/commands/gateway/create.ts +109 -109
  68. package/src/commands/gateway/delete.ts +81 -81
  69. package/src/commands/gateway/domain.ts +159 -159
  70. package/src/commands/gateway/index.ts +5 -5
  71. package/src/commands/gateway/list.ts +76 -76
  72. package/src/commands/gateway/switch.ts +107 -107
  73. package/src/commands/helpers/index.ts +2 -2
  74. package/src/commands/helpers/init.ts +431 -431
  75. package/src/commands/helpers/new.ts +117 -117
  76. package/src/commands/helpers/open.ts +67 -67
  77. package/src/commands/hosting/hosting.ts +360 -360
  78. package/src/commands/index.ts +13 -13
  79. package/src/commands/lowcode/app.ts +34 -34
  80. package/src/commands/lowcode/comps.ts +322 -322
  81. package/src/commands/lowcode/index.ts +1 -1
  82. package/src/commands/lowcode/utils.ts +24 -24
  83. package/src/commands/run/image/index.ts +4 -4
  84. package/src/commands/run/standalonegateway/common.ts +7 -7
  85. package/src/commands/run/standalonegateway/create.ts +85 -85
  86. package/src/commands/run/standalonegateway/destroy.ts +59 -59
  87. package/src/commands/run/standalonegateway/index.ts +4 -4
  88. package/src/commands/run/standalonegateway/list.ts +53 -53
  89. package/src/commands/run/standalonegateway/package.ts +62 -62
  90. package/src/commands/run/standalonegateway/turn.ts +63 -63
  91. package/src/commands/run/version/index.ts +4 -4
  92. package/src/commands/smart.ts +132 -132
  93. package/src/commands/storage/storage.ts +464 -464
  94. package/src/commands/third/thirdAttach.ts +49 -49
  95. package/src/completion/index.ts +13 -13
  96. package/src/decorators/captureError.ts +25 -25
  97. package/src/decorators/constants.ts +12 -12
  98. package/src/decorators/deprecate.ts +25 -25
  99. package/src/decorators/guard.ts +42 -42
  100. package/src/decorators/index.ts +7 -7
  101. package/src/decorators/injectParams.ts +54 -54
  102. package/src/decorators/params/common.ts +28 -28
  103. package/src/decorators/params/index.ts +35 -35
  104. package/src/env/domain.ts +33 -33
  105. package/src/env/index.ts +63 -63
  106. package/src/env/login.ts +80 -80
  107. package/src/error.ts +36 -36
  108. package/src/function/alias.ts +43 -43
  109. package/src/function/base.ts +253 -253
  110. package/src/function/code.ts +55 -55
  111. package/src/function/concurrency.ts +57 -57
  112. package/src/function/create.ts +78 -78
  113. package/src/function/delete.ts +42 -42
  114. package/src/function/index.ts +10 -10
  115. package/src/function/layer/attach.ts +68 -68
  116. package/src/function/layer/create.ts +63 -63
  117. package/src/function/layer/delete.ts +21 -21
  118. package/src/function/layer/download.ts +54 -54
  119. package/src/function/layer/index.ts +7 -7
  120. package/src/function/layer/list.ts +32 -32
  121. package/src/function/layer/sort.ts +24 -24
  122. package/src/function/trigger.ts +97 -97
  123. package/src/function/update.ts +35 -35
  124. package/src/function/version.ts +38 -38
  125. package/src/function/vpc.ts +22 -22
  126. package/src/gateway/index.ts +137 -137
  127. package/src/hosting.ts +212 -212
  128. package/src/index.ts +13 -13
  129. package/src/logger.ts +17 -17
  130. package/src/run/create.ts +23 -23
  131. package/src/run/delete.ts +15 -15
  132. package/src/run/image/build.ts +36 -36
  133. package/src/run/image/delete.ts +13 -13
  134. package/src/run/image/index.ts +3 -3
  135. package/src/run/image/info.ts +26 -26
  136. package/src/run/list.ts +29 -29
  137. package/src/run/repo.ts +24 -24
  138. package/src/run/service/deployPackage.ts +6 -4
  139. package/src/run/standalonegateway/create.ts +24 -24
  140. package/src/run/standalonegateway/destroy.ts +19 -19
  141. package/src/run/standalonegateway/index.ts +4 -4
  142. package/src/run/standalonegateway/list.ts +74 -74
  143. package/src/run/standalonegateway/package/list.ts +24 -24
  144. package/src/run/standalonegateway/turn/index.ts +1 -1
  145. package/src/run/standalonegateway/turn/off.ts +19 -19
  146. package/src/run/standalonegateway/turn/on.ts +19 -19
  147. package/src/run/version/create.ts +68 -68
  148. package/src/run/version/delete.ts +15 -15
  149. package/src/run/version/index.ts +5 -5
  150. package/src/run/version/list.ts +16 -16
  151. package/src/run/version/modify.ts +16 -16
  152. package/src/run/version/repo.ts +27 -27
  153. package/src/run/version/update.ts +58 -58
  154. package/src/storage.ts +114 -114
  155. package/src/third/index.ts +12 -12
  156. package/src/utils/auth.ts +15 -15
  157. package/src/utils/cli-table.ts +23 -23
  158. package/src/utils/config.ts +39 -39
  159. package/src/utils/env.ts +244 -244
  160. package/src/utils/fs/del.ts +5 -5
  161. package/src/utils/fs/index.ts +71 -71
  162. package/src/utils/function-packer.ts +97 -97
  163. package/src/utils/log.ts +81 -81
  164. package/src/utils/net/cloud-api-request.ts +62 -62
  165. package/src/utils/net/credential.ts +53 -53
  166. package/src/utils/net/http-request.ts +84 -84
  167. package/src/utils/net/index.ts +4 -4
  168. package/src/utils/net/manager-service.ts +36 -36
  169. package/src/utils/net/proxy.ts +6 -6
  170. package/src/utils/notice.ts +28 -28
  171. package/src/utils/output/highlight.ts +5 -5
  172. package/src/utils/output/index.ts +2 -2
  173. package/src/utils/output/link.ts +10 -10
  174. package/src/utils/output/loading.ts +82 -82
  175. package/src/utils/parallel.ts +82 -82
  176. package/src/utils/platform/index.ts +2 -2
  177. package/src/utils/platform/mac.ts +21 -21
  178. package/src/utils/platform/os.ts +64 -64
  179. package/src/utils/platform/port.ts +10 -10
  180. package/src/utils/progress-bar.ts +38 -38
  181. package/src/utils/prompt/select.ts +59 -59
  182. package/src/utils/reporter/agree.ts +20 -20
  183. package/src/utils/reporter/download.ts +26 -26
  184. package/src/utils/reporter/index.ts +3 -3
  185. package/src/utils/reporter/usage.ts +20 -20
  186. package/src/utils/store/auth.ts +49 -49
  187. package/src/utils/store/common.ts +8 -8
  188. package/src/utils/store/db.ts +68 -68
  189. package/src/utils/store/index.ts +4 -4
  190. package/src/utils/store/usage.ts +12 -12
  191. package/src/utils/tcbrApi/tcbr-cloud-api/request.ts +13 -13
  192. package/src/utils/template.ts +170 -170
  193. package/src/utils/tools/encoding.ts +8 -8
  194. package/src/utils/tools/index.ts +4 -4
  195. package/src/utils/tools/object.ts +33 -33
  196. package/src/utils/tools/time.ts +38 -38
  197. package/src/utils/tools/uid.ts +19 -19
  198. package/templates/html/loginFail.html +90 -90
  199. package/templates/html/loginSuccess.html +86 -86
  200. package/templates/server/node/_gitignore +54 -54
  201. package/templates/server/node/cloudbaserc.json +10 -10
  202. package/templates/server/node/index.js +5 -5
  203. package/templates/server/node/package.json +9 -9
  204. package/tsconfig.json +19 -19
  205. package/tsconfig.test.json +13 -13
  206. package/.vscode/settings.json +0 -3
@@ -1,100 +1,100 @@
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
+ 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 +1,62 @@
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
+ 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 +1,45 @@
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
+
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 +1,3 @@
1
- export * from './delete'
2
- export * from './list'
1
+ export * from './delete'
2
+ export * from './list'
3
3
  export * from './set'
@@ -1,58 +1,58 @@
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
+
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 +1,47 @@
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
+
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
+ }