diff --git a/aws/beta.ordbok.uib.no_stack.yaml b/aws/beta.ordbok.uib.no_stack.yaml index bdf59692aa3ae359e60c3598b9af9576dbab9ea5..9cc5cf6331387ef7d2c92601b3cc5109776c605b 100644 --- a/aws/beta.ordbok.uib.no_stack.yaml +++ b/aws/beta.ordbok.uib.no_stack.yaml @@ -38,6 +38,38 @@ Parameters: Resources: ############################################################################### + LambdaRole: + Type: "AWS::IAM::Role" + Properties: + AssumeRolePolicyDocument: + Version: "2012-10-17" + Statement: + - Effect: "Allow" + Principal: + Service: + - "lambda.amazonaws.com" + - "edgelambda.amazonaws.com" + Action: + - "sts:AssumeRole" + RewriteLambda: + Type: "AWS::Lambda::Function" + Properties: + Code: + ZipFile: !Sub | + 'use strict'; + + // lambda@edge Origin Request trigger to remove the first path element + // compatible with either Node.js 6.10 or 8.10 Lambda runtime environment + + exports.handler = (event, context, callback) => { + const request = event.Records[0].cf.request; // extract the request object + request.uri = request.uri.replace(/^\/[^\/]+\//,'/'); // modify the URI + return callback(null, request); // return control to CloudFront + }; + Handler: index.handler + Role: !GetAtt LambdaRole.Arn + Runtime: node8.10 + DNS: Type: "AWS::Route53::RecordSet" Properties: