UNPKG

@altostra/core

Version:

Core library for shared types and logic

55 lines (54 loc) 2.34 kB
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; }