@wisegpt/awscdk-slack-event-bus
Version:
Exposes a Slack Events API Request URL that validates and sends all received events to an AWS Event Bus
48 lines (47 loc) • 1.7 kB
TypeScript
import * as apigwv2 from "@aws-cdk/aws-apigatewayv2-alpha";
import { aws_events as Events } from "aws-cdk-lib";
import { IFunction } from "aws-cdk-lib/aws-lambda";
import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
import { Construct } from "constructs";
export interface SlackEventBusSingleAppProps {
/**
* `appId` to use for all request validating
*/
readonly appId: string;
/**
* `eventsApiPath` which would be used for the events path
*/
readonly eventsApiPath: string;
}
export interface SlackEventBusProps {
/**
* `secret` is a reference to the Secret parameter that stores the signing-secret
* and also if oAuth enabled; client id / client secret for each individual appId
*/
readonly secret: ISecret;
/**
* `eventBusName` optional name to override the event bus name
*/
readonly eventBusName?: string;
/**
* `httpApi` optional HTTP API to use, instead of Construct creating a new one
*/
readonly httpApi?: apigwv2.HttpApi;
/**
* `singleApp` optionally configure to use a single application
* with fixed app id and path to use
*/
readonly singleApp?: SlackEventBusSingleAppProps;
}
export declare class SlackEventBus extends Construct {
private readonly props;
private static readonly SLACK_EVENT_BUS_NAME;
private static appPath;
private readonly pEventBus;
private readonly pSlackHandlerLambdaAlias;
private readonly pHttpApi;
constructor(scope: Construct, id: string, props: SlackEventBusProps);
slackEventsRequestUrl(appId?: string): string;
get eventBus(): Events.EventBus;
get slackHandlerLambdaAlias(): IFunction;
}