import { BaseDefaults } from "./base-module"; import BaseModule from "./base-module"; import { DatabaseInstance, DatabaseInstanceProps } from "aws-cdk-lib/aws-rds"; import { ISecurityGroup, ISubnet, IVpc } from "aws-cdk-lib/aws-ec2"; import ConvertivBaseStack from "../stacks/base-stack"; export interface DatabaseSettings extends DatabaseInstanceProps { name: string; vpc: IVpc; instance?: string; host?: string; database: string; port?: number; class?: string; deletionProtection?: boolean; enablePerformanceInsights?: boolean; multiAz?: boolean; availabilityZones: string[]; subnets: ISubnet[]; } export interface DatabaseDefaults extends BaseDefaults { name: string; port: number; class: string; deletionProtection: boolean; enablePerformanceInsights: boolean; multiAz: boolean; } /** * A Fargate service running on an ECS cluster fronted by an application load balancer. */ export declare class Database extends BaseModule { settings: DatabaseSettings; dbSecurityGroup: ISecurityGroup; /** * Define the defaults for the service */ defaults: DatabaseDefaults; database: DatabaseInstance | undefined; /** * Constructs a new instance of the ApplicationLoadBalancedFargateService class. */ constructor(scope: ConvertivBaseStack, settings: DatabaseSettings); /** * Run the base validator, and then allow the class to * perform additional validation * @param settings */ validate(settings: DatabaseSettings): void; }