48 lines
1.6 KiB
TypeScript
48 lines
1.6 KiB
TypeScript
import type { TargetBaseProps } from './util';
|
|
import * as events from '../../aws-events';
|
|
import type * as sqs from '../../aws-sqs';
|
|
/**
|
|
* Customize the SQS Queue Event Target
|
|
*/
|
|
export interface SqsQueueProps extends TargetBaseProps {
|
|
/**
|
|
* Message Group ID for messages sent to this queue
|
|
*
|
|
* Required for FIFO queues. For standard queues, this parameter is optional
|
|
* and can be used for SQS fair queue feature and deduplication.
|
|
*
|
|
* @default - no message group ID
|
|
*/
|
|
readonly messageGroupId?: string;
|
|
/**
|
|
* The message to send to the queue.
|
|
*
|
|
* Must be a valid JSON text passed to the target queue.
|
|
*
|
|
* @default the entire EventBridge event
|
|
*/
|
|
readonly message?: events.RuleTargetInput;
|
|
}
|
|
/**
|
|
* Use an SQS Queue as a target for Amazon EventBridge rules.
|
|
*
|
|
* @example
|
|
* /// fixture=withRepoAndSqsQueue
|
|
* // publish to an SQS queue every time code is committed
|
|
* // to a CodeCommit repository
|
|
* repository.onCommit('onCommit', { target: new targets.SqsQueue(queue) });
|
|
*
|
|
*/
|
|
export declare class SqsQueue implements events.IRuleTarget {
|
|
readonly queue: sqs.IQueue;
|
|
private readonly props;
|
|
constructor(queue: sqs.IQueue, props?: SqsQueueProps);
|
|
/**
|
|
* Returns a RuleTarget that can be used to trigger this SQS queue as a
|
|
* result from an EventBridge event.
|
|
*
|
|
* @see https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sqs-permissions
|
|
*/
|
|
bind(rule: events.IRuleRef, _id?: string): events.RuleTargetConfig;
|
|
}
|