This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

@stackspot/cdk-event-bridge
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

Event Bridge

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

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

How to use

Below are all languages supported by the AWS CDK.

C#

Install the dependency:

dotnet add package StackSpot.Cdk.EventBridge

Import the construct into your project, for example:

using Amazon.CDK;
using Constructs;
using StackSpot.Cdk.EventBridge;

namespace MyStack
{
    public class MyStack : Stack
    {
        internal MyStack(Construct scope, string id, IStackProps props = null) : base(scope, id, props)
        {
            new EventBridge(this, "MyEventBridge", new EventBusCreateProps{
                BusName = "my-bus"
            });
        }
    }
}

F#

Not yet supported.

Go

Not yet supported.

Java

Not yet supported.

JavaScript

Install the dependency:

npm install --save @stackspot/cdk-event-bridge

Import the construct into your project, for example:

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

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-event-bridge

Import the construct into your project, for example:

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

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

Name Type Description
busName string The name of the bus.

Another Props

RuleCreateProps

Name Type Description
description? string A description of the rule's purpose.
enabled? boolean Indicates whether the rule is enabled.
eventPattern EventPattern Describes which events EventBridge routes to the specified target.
ruleName string A name for the rule.

Properties

Name Type Description
eventbus EventBus Event bus created.
rules Rule[] The rules of the event bus created.

Methods

Name Description
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 event-bridge-jsii-component
npm install

Readme

Keywords

Package Sidebar

Install

npm i @stackspot/cdk-event-bridge

Weekly Downloads

1

Version

0.1.2

License

Apache-2.0

Unpacked Size

1.01 MB

Total Files

19

Last publish

Collaborators

  • stackspotadmin