0.1.6 • Published 2 years ago

@stackspot/cdk-env-eventbridge v0.1.6

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

eventbridge-env-jsii-component

aws-cdk jsii npm-version nuget-version npm-downloads nuget-downloads license

Component to create a event bridge and add rules and targets.

How to use

Below are all languages supported by the AWS CDK.

C

Not yet supported.

F

Not yet supported.

Go

Not yet supported.

Java

Not yet supported.

JavaScript

Install the dependency:

npm install --save @stackspot/cdk-env-eventbridge

Import the construct into your project, for example:

const { Stack } = require('aws-cdk-lib');
const { EventBridge } = require('@stackspot/cdk-env-eventbridge');

class MyStack extends Stack {
  constructor(scope, id, props) {
    super(scope, id, props);

    new EventBridge(this, 'MyEventBridge', { busName: 'my-bus' });
  }
}

module.exports = { MyStack };

Python

Not yet supported.

TypeScript

Install the dependency:

npm install --save @stackspot/cdk-env-eventbridge

Import the construct into your project, for example:

import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { EventBridge } from '@stackspot/cdk-env-eventbridge';

export class MyStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);

    new EventBridge(this, 'MyEventBridge', { busName: 'my-bus' });
  }
}

Construct Props

NameTypeDescription
busNamestringThe name of the bus.

Another Props

RuleCreateProps

NameTypeDescription
description?stringA description of the rule's purpose.
enabled?booleanIndicates whether the rule is enabled.
eventPatternEventPatternDescribes which events EventBridge routes to the specified target.
ruleNamestringA name for the rule.

Properties

NameTypeDescription
eventbusEventBusEvent bus created.
rulesRule[]The rules of the event bus created.

Methods

NameDescription
addRule(scope, props)Add one rule to event bus created in constructor.
static addRuleFromStackBus(scope, stackName, busName, props)Add one rule to one event bus.
static addLambdaTarget(rule, fn)Add one AWS Lambda function to one rule.

addRule(scope, props)

public addRule(scope: Construct, props: RuleCreateProps): Rule

Parameters

Returns

Add one rule to event bus created in constructor.

The purpose of this method is to be used with the constructor, after creating an instance of the class, this method will add one rule at a time to the created event bus.

static addRuleFromStackBus(scope, stackName, busName, props)

public static addRuleFromStackBus(scope: Construct, stackName: string, busName: string, props: RuleCreateProps): Rule

Parameters

Returns

  • string

Add one rule to one event bus.

The purpose of this method is to add a rule to an event bus without having to instantiate the class.

static addLambdaTarget(rule, fn)

public static addLambdaTarget(rule: Rule, fn: IFunction): void

Parameters

Add one AWS Lambda function to one rule.

The purpose of this method is to add an AWS Lambda function to a rule without having to instantiate the class.

IAM Least privilege

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:CreateEventBus",
        "events:DeleteEventBus",
        "events:DeleteRule",
        "events:DescribeEventBus",
        "events:DescribeRule",
        "events:PutRule",
        "events:PutTargets",
        "events:RemoveTargets",
        "lambda:AddPermission",
        "lambda:RemovePermission",
        "ssm:DeleteParameter",
        "ssm:GetParameters",
        "ssm:PutParameter"
      ],
      "Resource": "*"
    }
  ]
}

Development

Prerequisites

Setup

cd eventbridge-env-jsii-component
npm install
0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.0

2 years ago