UNPKG

@gammarers/aws-rds-database-auto-running-protection-stack

Version:
43 lines (42 loc) 1.93 kB
import { ResourceAutoNaming, ResourceDefaultNaming, ResourceNamingType as RDSDatabaseAutoRunningProtectionStackResourceNamingType } from '@gammarers/aws-resource-naming'; import { Duration, Stack, StackProps } from 'aws-cdk-lib'; import { LogLevel as RDSDatabaseAutoRunningProtectionStackMachineLogLevel } from 'aws-cdk-lib/aws-stepfunctions'; import { Construct } from 'constructs'; export { RDSDatabaseAutoRunningProtectionStackResourceNamingType, RDSDatabaseAutoRunningProtectionStackMachineLogLevel, }; export interface TargetResource { readonly tagKey: string; readonly tagValues: string[]; } export interface Slack { readonly webhookSecretName: string; } export interface Notifications { readonly emails?: string[]; readonly slack?: Slack; } export interface LogOption { readonly machineLogLevel?: RDSDatabaseAutoRunningProtectionStackMachineLogLevel; } export interface Timeout { readonly stateMachineTimeout?: Duration; } export interface RDSDatabaseAutoRunningProtectionStackProps extends StackProps { readonly targetResource: TargetResource; readonly enableRule?: boolean; readonly notifications?: Notifications; readonly resourceNamingOption?: ResourceNamingOption; readonly logOption?: LogOption; readonly timeout?: Timeout; } export interface ResourceCustomNaming { readonly type: RDSDatabaseAutoRunningProtectionStackResourceNamingType.CUSTOM; readonly stateMachineName: string; readonly stateMachineRoleName: string; readonly startEventCatchRuleRoleName: string; readonly startInstanceEventCatchRuleName: string; readonly startClusterEventCatchRuleName: string; } export type ResourceNamingOption = ResourceDefaultNaming | ResourceAutoNaming | ResourceCustomNaming; export declare class RDSDatabaseAutoRunningProtectionStack extends Stack { constructor(scope: Construct, id: string, props: RDSDatabaseAutoRunningProtectionStackProps); }