@@ -298,6 +298,44 @@ class Scf {
298
298
return Response ;
299
299
}
300
300
301
+ async createAlias ( inputs ) {
302
+ const publishInputs = {
303
+ Action : 'CreateAlias' ,
304
+ FunctionName : inputs . functionName ,
305
+ FunctionVersion : inputs . functionVersion ,
306
+ Name : inputs . aliasName ,
307
+ Namespace : inputs . namespace || 'default' ,
308
+ RoutingConfig : {
309
+ AdditionalVersionWeights : [ { Version : inputs . lastVersion , Weight : inputs . traffic } ] ,
310
+ } ,
311
+ Description : inputs . description || 'Published by Serverless Component' ,
312
+ } ;
313
+ const Response = await this . request ( publishInputs ) ;
314
+ return Response ;
315
+ }
316
+
317
+ async updateAlias ( inputs ) {
318
+ console . log (
319
+ `Config function ${ inputs . functionName } traffic ${ inputs . traffic } for version ${ inputs . lastVersion } ` ,
320
+ ) ;
321
+ const publishInputs = {
322
+ Action : 'UpdateAlias' ,
323
+ FunctionName : inputs . functionName ,
324
+ FunctionVersion : inputs . functionVersion || '$LATEST' ,
325
+ Name : inputs . aliasName || '$DEFAULT' ,
326
+ Namespace : inputs . namespace || 'default' ,
327
+ RoutingConfig : {
328
+ AdditionalVersionWeights : [ { Version : inputs . lastVersion , Weight : inputs . traffic } ] ,
329
+ } ,
330
+ Description : inputs . description || 'Configured by Serverless Component' ,
331
+ } ;
332
+ const Response = await this . request ( publishInputs ) ;
333
+ console . log (
334
+ `Config function ${ inputs . functionName } traffic ${ inputs . traffic } for version ${ inputs . lastVersion } success` ,
335
+ ) ;
336
+ return Response ;
337
+ }
338
+
301
339
async getAlias ( inputs ) {
302
340
const publishInputs = {
303
341
Action : 'GetAlias' ,
@@ -309,6 +347,28 @@ class Scf {
309
347
return Response ;
310
348
}
311
349
350
+ async deleteAlias ( inputs ) {
351
+ const publishInputs = {
352
+ Action : 'DeleteAlias' ,
353
+ FunctionName : inputs . functionName ,
354
+ Name : inputs . aliasName || '$DEFAULT' ,
355
+ Namespace : inputs . namespace || 'default' ,
356
+ } ;
357
+ const Response = await this . request ( publishInputs ) ;
358
+ return Response ;
359
+ }
360
+
361
+ async listAlias ( inputs ) {
362
+ const publishInputs = {
363
+ Action : 'ListAliases' ,
364
+ FunctionName : inputs . functionName ,
365
+ Namespace : inputs . namespace || 'default' ,
366
+ FunctionVersion : inputs . functionVersion ,
367
+ } ;
368
+ const Response = await this . request ( publishInputs ) ;
369
+ return Response ;
370
+ }
371
+
312
372
/**
313
373
* check whether function status is operational, mostly for asynchronous operation
314
374
* @param {string } namespace
0 commit comments