11import * as ros from '@alicloud/ros-cdk-core' ;
22import { ActionContext , EventDomain , EventTypes , ServerlessIac } from '../../types' ;
33import * as ram from '@alicloud/ros-cdk-ram' ;
4- import { replaceReference } from '../../common' ;
4+ import { encodeBase64 , replaceReference } from '../../common' ;
55import * as agw from '@alicloud/ros-cdk-apigateway' ;
66import { isEmpty } from 'lodash' ;
77
@@ -61,6 +61,7 @@ export const resolveEvents = (
6161 {
6262 groupName : replaceReference ( `${ service } _apigroup` , context ) ,
6363 tags : replaceReference ( tags , context ) ,
64+ passthroughHeaders : 'host' ,
6465 } ,
6566 true ,
6667 ) ;
@@ -80,15 +81,18 @@ export const resolveEvents = (
8081
8182 apiGateway . forEach ( ( event ) => {
8283 event . triggers . forEach ( ( trigger ) => {
83- const key = `${ trigger . method } _${ trigger . path } ` . toLowerCase ( ) . replace ( / \/ / g, '_' ) ;
84+ const key = encodeBase64 (
85+ replaceReference ( `${ trigger . method } _${ trigger . path } ` , context ) ,
86+ ) . replace ( / = + $ / , '' ) ;
8487
8588 const api = new agw . RosApi (
8689 scope ,
87- replaceReference ( `${ event . key } _api_${ key } ` , context ) ,
90+ `${ event . key } _api_${ key } ` ,
8891 {
8992 apiName : replaceReference ( `${ event . name } _api_${ key } ` , context ) ,
9093 groupId : apiGatewayGroup . attrGroupId ,
9194 visibility : 'PRIVATE' ,
95+ authType : 'ANONYMOUS' ,
9296 requestConfig : {
9397 requestProtocol : 'HTTP' ,
9498 requestHttpMethod : replaceReference ( trigger . method , context ) ,
@@ -102,15 +106,23 @@ export const resolveEvents = (
102106 functionName : replaceReference ( trigger . backend , context ) ,
103107 roleArn : gatewayAccessRole . attrArn ,
104108 fcVersion : '3.0' ,
109+ method : replaceReference ( trigger . method , context ) ,
105110 } ,
106111 } ,
107112 resultSample : 'ServerlessInsight resultSample' ,
108- resultType : 'JSON ' ,
113+ resultType : 'PASSTHROUGH ' ,
109114 tags : replaceReference ( tags , context ) ,
110115 } ,
111116 true ,
112117 ) ;
113118 api . addDependsOn ( apiGatewayGroup ) ;
119+
120+ new agw . Deployment ( scope , `${ service } _deployment` , {
121+ apiId : api . attrApiId ,
122+ groupId : apiGatewayGroup . attrGroupId ,
123+ stageName : 'RELEASE' ,
124+ description : `${ service } Api Gateway deployment` ,
125+ } ) ;
114126 } ) ;
115127 } ) ;
116128 }
0 commit comments