UNPKG

@kumologica/builder

Version:

Kumologica build and deploy module

47 lines (39 loc) 985 B
function trigger(params) { let templateResources = {}; const name = "PartnerEvent" + (params.name || process.hrtime.bigint()); let input; if (params.detailType) { input = `{"detail-type": ["${params.detailType}"]}`; } else { input = `{"detail-type": [{"exists": true}]}`; }; templateResources[name] = { Type : "AWS::Events::Rule", Properties : { EventBusName: params.partnerEventBusName, EventPattern: input, Name: name, Targets : [ { Id: name, Arn : { "Fn::GetAtt": ["Lambda", "Arn"] } } ] } } templateResources["Permissions" + name] = { Type: "AWS::Lambda::Permission", Properties: { FunctionName: { "Ref": "Lambda" }, Action: "lambda:InvokeFunction", Principal: "events.amazonaws.com", SourceArn: { "Fn::GetAtt": [name, "Arn"] } } } return templateResources; } module.exports = { trigger }