53 lines
1.7 KiB
TypeScript
53 lines
1.7 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { EventPattern } from './event-pattern';
|
|
import type { IRuleTarget } from './target';
|
|
/**
|
|
* Common options for Events.
|
|
*/
|
|
export interface EventCommonOptions {
|
|
/**
|
|
* A description of the rule's purpose.
|
|
*
|
|
* @default - No description
|
|
*/
|
|
readonly description?: string;
|
|
/**
|
|
* A name for the rule.
|
|
*
|
|
* @default AWS CloudFormation generates a unique physical ID.
|
|
*/
|
|
readonly ruleName?: string;
|
|
/**
|
|
* Additional restrictions for the event to route to the specified target
|
|
*
|
|
* The method that generates the rule probably imposes some type of event
|
|
* filtering. The filtering implied by what you pass here is added
|
|
* on top of that filtering.
|
|
*
|
|
* @default - No additional filtering based on an event pattern.
|
|
*
|
|
* @see
|
|
* https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html
|
|
*/
|
|
readonly eventPattern?: EventPattern;
|
|
/**
|
|
* The scope to use if the source of the rule and its target are in different Stacks
|
|
* (but in the same account & region).
|
|
* This helps dealing with cycles that often arise in these situations.
|
|
*
|
|
* @default - none (the main scope will be used, even for cross-stack Events)
|
|
*/
|
|
readonly crossStackScope?: Construct;
|
|
}
|
|
/**
|
|
* Standard set of options for `onXxx` event handlers on construct
|
|
*/
|
|
export interface OnEventOptions extends EventCommonOptions {
|
|
/**
|
|
* The target to register for the event
|
|
*
|
|
* @default - No target is added to the rule. Use `addTarget()` to add a target.
|
|
*/
|
|
readonly target?: IRuleTarget;
|
|
}
|