Skip to main content

cdk-eventbridge-partner-processors

Project description

Eventbridge SaaS Partner fURLs

View on Construct Hub

npm version PyPI version Go project version

This CDK Construct library provides CDK constructs for the 1st-party (i.e. developed by AWS) lambda fURL webhook receivers for:

  • GitHub
  • Stripe
  • Twilio

Usage Examples (Simplified)

These examples are consistent for all 3 primary exported constructs of this library:

  • GitHubEventProcessor
  • TwilioEventProcessor
  • StripeEventProcessor

Note: Click on the above View on Construct Hub button to view auto-generated examples in Python/Go

Typescript

import { GitHubEventProcessor } from 'cdk-eventbridge-partner-processors';
import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { EventBus } from 'aws-cdk-lib/aws-events';
import { Secret } from 'aws-cdk-lib/aws-secretsmanager';

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

        // This library has no opinion on how you reference your EventBus,
        // It just needs to fulfill the IEventBus protocol
        const myEventBus = new EventBus(this, 'TheBestBusEver', {
            eventBusName: 'TheGreatestBus'
        });

        // This library has no opinion on how you reference your secret,
        // It just needs to fulfill the ISecret protocol
        const mySecret = Secret.fromSecretNameV2(this, 'MyNuclearCodeSecret', '/home/recipes/icbm')

        // Function will automatically receive permission to:
        // 1. Post events to the given bus
        // 2. Read the given secret
        const githubEventProcessor = new GitHubEventProcessor(this, 'GitHubProcessor', {
            eventBus: myEventBus,
            webhookSecret: mySecret,
            lambdaInvocationAlarmThreshold: 2000,
        })

    }
}

Golang

package main

import (
	partner "github.com/a-bigelow/cdk-eventbridge-partner-processors-go"
	"github.com/aws/aws-cdk-go/awscdk/v2"
	"github.com/aws/aws-cdk-go/awscdk/v2/awsevents"
	"github.com/aws/constructs-go/constructs/v10"
	"github.com/aws/jsii-runtime-go"
)

type ClusterStackProps struct {
	awscdk.StackProps
}

func NewClusterStack(scope constructs.Construct, id string, props *ClusterStackProps) awscdk.Stack {
	var sprops awscdk.StackProps
	if props != nil {
		sprops = props.StackProps
	}
	stack := awscdk.NewStack(scope, &id, &sprops)

	// The code that defines your stack goes here
	eventProps := awsevents.EventBusProps{EventBusName: jsii.String("name")}

	eventBus := awsevents.NewEventBus(stack, jsii.String("id"), &eventProps)

	secret := secretsmanager.secret.fromSecretNameV2(scope, jsii.String("secret"), jsii.String("secretName"))
	partnerProcessor := partner.GithubEventProcessor{
		EventBus:                       eventBus,
		WebhookSecret:                  secret,
		LambdaInvocationAlarmThreshold: 2000,
	}

	_ = partner.NewGitHubEventProcessor(stack, jsii.String("id"), partnerProcessor)

	return stack
}

Disclaimer

:warning: The Lambda Functions that handle the actual event processing in this Library are owned and maintained by Amazon Web Services. This CDK Construct library provides a thin deployment wrapper for these functions. Changes made to the S3 location of the functions will break this library. Until I have a way to deterministically track where these things are, please raise an issue if you have reason to believe that the functions have moved.

AWS Documentation

See here for additional information.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file a-bigelow.cdk-eventbridge-partner-processors-0.0.162.tar.gz.

File metadata

File hashes

Hashes for a-bigelow.cdk-eventbridge-partner-processors-0.0.162.tar.gz
Algorithm Hash digest
SHA256 89af9b02b60703559ebccd94eb461db69681a46b10b5734d263861884b372582
MD5 99ac3b8d2102f796b9d0b2f2bfd7cf3f
BLAKE2b-256 260e49ffdd0f72b659fd5a7711aa704c4db535cab5f0df48b1f856c6473449a8

See more details on using hashes here.

File details

Details for the file a_bigelow.cdk_eventbridge_partner_processors-0.0.162-py3-none-any.whl.

File metadata

File hashes

Hashes for a_bigelow.cdk_eventbridge_partner_processors-0.0.162-py3-none-any.whl
Algorithm Hash digest
SHA256 08c8804881a21d5f87ab512e4e924d0180c9502d5a60c2c8ee0ac0093bc0c668
MD5 ee66ed428ca834a8f7699f76c4459fff
BLAKE2b-256 4b5c79660e2f699eb1b9d9b058fea82b52344dbb4693b5e230b2dc464dfb7aac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page