@kumologica/builder
Version:
Kumologica build and deploy module
47 lines (39 loc) • 985 B
JavaScript
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
}