@altostra/core
Version:
Core library for shared types and logic
55 lines (54 loc) • 2.34 kB
TypeScript
import type { NonEmptyString } from "../../../common/CustomTypes/NonEmptyString";
import type { NaturalNumber } from "../../../common/CustomTypes/Numerics";
import type { Arn } from "../../CustomTypes/Arn";
import type { AwsResourceCommon, CloudFormationTags } from "../common";
import type { CloudFormationValue } from "../IntrinsicFunctions";
import type { DBRole } from "./common";
export declare type DBClusterType = 'AWS::RDS::DBCluster';
export interface DBCluster extends AwsResourceCommon {
Type: DBClusterType;
Properties: DBClusterProperties;
}
export interface DBClusterProperties {
AssociatedRoles?: DBRole[];
AvailabilityZones?: CloudFormationValue[];
BacktrackWindow?: NaturalNumber | 0;
BackupRetentionPeriod?: NaturalNumber;
DatabaseName?: NonEmptyString;
DBClusterIdentifier?: CloudFormationValue;
DBClusterParameterGroupName?: CloudFormationValue;
DBSubnetGroupName?: CloudFormationValue;
DeletionProtection?: boolean;
EnableCloudwatchLogsExports?: string[];
EnableHttpEndpoint?: boolean;
EnableIAMDatabaseAuthentication?: boolean;
Engine: ClusterEngine;
EngineMode?: EngineMode;
EngineVersion?: string;
GlobalClusterIdentifier?: CloudFormationValue;
KmsKeyId?: CloudFormationValue<Arn>;
MasterUsername?: CloudFormationValue;
MasterUserPassword?: CloudFormationValue;
Port?: NaturalNumber;
PreferredBackupWindow?: string;
PreferredMaintenanceWindow?: string;
ReplicationSourceIdentifier?: CloudFormationValue<Arn>;
RestoreType?: RestoreType;
ScalingConfiguration?: ScalingConfiguration;
SnapshotIdentifier?: CloudFormationValue;
SourceDBClusterIdentifier?: CloudFormationValue;
SourceRegion?: CloudFormationValue;
StorageEncrypted?: boolean;
Tags?: CloudFormationTags;
UseLatestRestorableTime?: boolean;
VpcSecurityGroupIds?: CloudFormationValue[];
}
export declare type ClusterEngine = 'aurora-mysql' | 'aurora-postgresql' | 'aurora';
export declare type EngineMode = 'global' | 'multimaster' | 'parallelquery' | 'provisioned' | 'serverless';
export declare type RestoreType = 'copy-on-write' | 'full-copy';
export interface ScalingConfiguration {
AutoPause?: boolean;
MaxCapacity?: NaturalNumber;
MinCapacity?: NaturalNumber;
SecondsUntilAutoPause?: NaturalNumber;
}