@enfo/aws-cdkompliance
Version:
Tagging and compliant resources using the CDK
76 lines • 2.64 kB
TypeScript
import { DatabaseCluster as RDSDatabaseCluster, DatabaseClusterProps, DatabaseInstance as RDSDatabaseInstance, DatabaseInstanceProps as RDSDatabaseInstanceProps } from 'aws-cdk-lib/aws-rds';
import { Construct } from 'constructs';
/**
* Used to state whether or not this database should be considered a production database or not
*/
export declare enum DatabaseEnvironment {
/**
* When used the database must be deployed to multiple Availability Zones
*/
PRODUCTION = 0,
/**
* When used the database can be deployed to a single Availability Zone
*/
NOT_PRODUCTION = 1
}
export interface DatabaseInstanceProps extends RDSDatabaseInstanceProps {
readonly environment?: DatabaseEnvironment;
}
/**
* Properties for a new Compliant RDS Instance
*/
export declare const defaultDatabaseInstanceProps: {
publiclyAccessible: boolean;
storageEncrypted: boolean;
iamAuthentication: boolean;
autoMinorVersionUpgrade: boolean;
copyTagsToSnapshot: boolean;
deletionProtection: boolean;
multiAz: boolean;
environment: DatabaseEnvironment;
};
/**
* Compliant RDS Instance
*
* See README for usage examples
*/
export declare class DatabaseInstance extends RDSDatabaseInstance {
protected calculatedProps: DatabaseInstanceProps;
constructor(scope: Construct, id: string, props: DatabaseInstanceProps);
protected checkPubliclyAccessible(): string[];
protected checkStorageEncrypted(): string[];
protected checkIAMAuthentication(): string[];
protected checkAutoUpgrade(): string[];
protected checkCopyTags(): string[];
protected checkDeletionProtection(): string[];
protected checkMultiAz(): string[];
}
/**
* Properties for a new Compliant RDS Cluster
*/
export declare const defaultDatabaseClusterProps: {
storageEncrypted: boolean;
iamAuthentication: boolean;
copyTagsToSnapshot: boolean;
deletionProtection: boolean;
};
export declare const defaultInstanceProps: {
publiclyAccessible: boolean;
autoMinorVersionUpgrade: boolean;
};
/**
* Compliant RDS Cluster
*
* See README for usage examples
*/
export declare class DatabaseCluster extends RDSDatabaseCluster {
protected calculatedProps: DatabaseClusterProps;
constructor(scope: Construct, id: string, props: DatabaseClusterProps);
protected checkStorageEncrypted(): string[];
protected checkIAMAuthentication(): string[];
protected checkCopyTags(): string[];
protected checkDeletionProtection(): string[];
protected checkPubliclyAccessible(): string[];
protected checkAutoUpgrade(): string[];
}
//# sourceMappingURL=rds.d.ts.map