37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import type { SubscriptionProps } from './subscription';
|
|
import * as iam from '../../aws-iam';
|
|
import type * as firehose from '../../aws-kinesisfirehose';
|
|
import * as sns from '../../aws-sns';
|
|
/**
|
|
* Properties for an Amazon Data Firehose subscription
|
|
*/
|
|
export interface FirehoseSubscriptionProps extends SubscriptionProps {
|
|
/**
|
|
* Whether to remove any Amazon SNS metadata from published messages.
|
|
*
|
|
* @see https://docs.aws.amazon.com/sns/latest/dg/sns-large-payload-raw-message-delivery.html
|
|
* @default false
|
|
*/
|
|
readonly rawMessageDelivery?: boolean;
|
|
/**
|
|
* The role to assume to write messages to the Amazon Data Firehose delivery stream.
|
|
*
|
|
* @default - A new Role is created
|
|
*/
|
|
readonly role?: iam.IRole;
|
|
}
|
|
/**
|
|
* Use an Amazon Data Firehose delivery stream as a subscription target.
|
|
*
|
|
* @see https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html
|
|
*/
|
|
export declare class FirehoseSubscription implements sns.ITopicSubscription {
|
|
private readonly deliveryStream;
|
|
private readonly props;
|
|
constructor(deliveryStream: firehose.IDeliveryStream, props?: FirehoseSubscriptionProps);
|
|
/**
|
|
* Returns a configuration for a Lambda function to subscribe to an SNS topic
|
|
*/
|
|
bind(topic: sns.ITopic): sns.TopicSubscriptionConfig;
|
|
}
|