Guy Shechter
07/09/2021, 5:19 AMpath
, it throws the following error:
Error: An ApiMapping key may contain only letters, numbers and one of $-_.+!*'(),
at new ApiMapping (app/node_modules/@aws-cdk/aws-apigatewayv2/lib/common/api-mapping.ts:69:13)
at HttpStage._addDomainMapping (app/node_modules/@aws-cdk/aws-apigatewayv2/lib/common/base.ts:48:5)
at new HttpStage (app/node_modules/@aws-cdk/aws-apigatewayv2/lib/http/stage.ts:118:12)
at new HttpApi (app/node_modules/@aws-cdk/aws-apigatewayv2/lib/http/api.ts:300:27)
at new Api (app/node_modules/@serverless-stack/resources/src/Api.ts:178:22)
This comment on aws-cdk seems to be related to v1 of the apigateway, but I’m not sure if v2 supports it in CDK yet.Frank
Frank
Frank
Guy Shechter
07/09/2021, 8:20 PMimport {CfnApiMapping, IStage} from "@aws-cdk/aws-apigatewayv2";
...
const myApi = sst.Api(...)
const customDomainMapping = new CfnApiMapping(this, "customDomainMapping", {
apiId: myApi.httpApi.apiId,
domainName: '<http://api.myapp.com|api.myapp.com>',
stage: (<IStage>myApi.httpApi.defaultStage).stageName,
apiMappingKey: (scope.stage !== 'prod' ? {path: scope.stage + '/orders/returns'} : {path: 'orders/returns'})
})
this.addOutputs({
"CustomEndpoint": 'https://' + customDomainMapping.domainName + '/' + customDomainMapping.apiMappingKey
});
Guy Shechter
07/09/2021, 8:40 PMFrank
Frank