@gammarers/aws-rds-database-auto-running-protection-stack
Version:
This construct is aws rds database or cluster auto running to stop.
43 lines (42 loc) • 1.93 kB
TypeScript
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);
}