68 lines
1.7 KiB
TypeScript
68 lines
1.7 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { EventPattern } from './event-pattern';
|
|
import type { IEventBusRef } from './events.generated';
|
|
import type * as kms from '../../aws-kms';
|
|
import type { Duration } from '../../core';
|
|
import { Resource } from '../../core';
|
|
/**
|
|
* The event archive base properties
|
|
*/
|
|
export interface BaseArchiveProps {
|
|
/**
|
|
* The name of the archive.
|
|
*
|
|
* @default - Automatically generated
|
|
*/
|
|
readonly archiveName?: string;
|
|
/**
|
|
* A description for the archive.
|
|
*
|
|
* @default - none
|
|
*/
|
|
readonly description?: string;
|
|
/**
|
|
* An event pattern to use to filter events sent to the archive.
|
|
*/
|
|
readonly eventPattern: EventPattern;
|
|
/**
|
|
* The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely.
|
|
* @default - Infinite
|
|
*/
|
|
readonly retention?: Duration;
|
|
/**
|
|
* The customer managed key that encrypts this archive
|
|
*
|
|
* @default - Use an AWS managed key
|
|
*/
|
|
readonly kmsKey?: kms.IKey;
|
|
}
|
|
/**
|
|
* The event archive properties
|
|
*/
|
|
export interface ArchiveProps extends BaseArchiveProps {
|
|
/**
|
|
* The event source associated with the archive.
|
|
*/
|
|
readonly sourceEventBus: IEventBusRef;
|
|
}
|
|
/**
|
|
* Define an EventBridge Archive
|
|
*
|
|
* @resource AWS::Events::Archive
|
|
*/
|
|
export declare class Archive extends Resource {
|
|
/** Uniquely identifies this class. */
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
/**
|
|
* The archive name.
|
|
* @attribute
|
|
*/
|
|
readonly archiveName: string;
|
|
/**
|
|
* The ARN of the archive created.
|
|
* @attribute
|
|
*/
|
|
readonly archiveArn: string;
|
|
constructor(scope: Construct, id: string, props: ArchiveProps);
|
|
}
|