UNPKG

@altostra/core

Version:

Core library for shared types and logic

76 lines (75 loc) 3.42 kB
import type { NonEmptyString } from "../../../common/CustomTypes/NonEmptyString"; import type { Integer, NaturalNumber } from "../../../common/CustomTypes/Numerics"; import type { Arn } from "../../CustomTypes/Arn"; import type { AwsResourceCommon, CloudFormationTags } from "../common"; import type { CloudFormationString, CloudFormationValue } from "../IntrinsicFunctions"; import type { DBRole } from "./common"; export declare type DBInstanceType = 'AWS::RDS::DBInstance'; export interface DBInstance extends AwsResourceCommon { Type: DBInstanceType; Properties: DBInstanceProperties; } export interface DBInstanceProperties { AllocatedStorage?: NaturalNumber | string; AllowMajorVersionUpgrade?: boolean; AssociatedRoles?: DBRole[]; AutoMinorVersionUpgrade?: boolean; AvailabilityZone?: CloudFormationValue; BackupRetentionPeriod?: NaturalNumber | 0; CACertificateIdentifier?: string; CharacterSetName?: string; CopyTagsToSnapshot?: boolean; DBClusterIdentifier?: CloudFormationValue; DBInstanceClass: string; DBInstanceIdentifier?: CloudFormationValue; DBName?: NonEmptyString; DBParameterGroupName?: CloudFormationValue; DBSecurityGroups?: CloudFormationValue[]; DBSnapshotIdentifier?: CloudFormationValue<Arn>; DBSubnetGroupName?: CloudFormationValue; DeleteAutomatedBackups?: boolean; DeletionProtection?: boolean; Domain?: string; DomainIAMRoleName?: string; EnableCloudwatchLogsExports?: string; EnableIAMDatabaseAuthentication?: boolean; EnablePerformanceInsights?: boolean; Engine: InstanceEngine; EngineVersion?: string; Iops?: Integer; KmsKeyId?: CloudFormationValue<Arn>; LicenseModel?: LicenseModel; MasterUsername?: CloudFormationValue; MasterUserPassword?: CloudFormationValue; MaxAllocatedStorage?: NaturalNumber; MonitoringInterval?: MonitoringInterval; MonitoringRoleArn?: CloudFormationValue<Arn>; MultiAZ?: boolean; OptionGroupName?: CloudFormationString; PerformanceInsightsKMSKeyId?: CloudFormationString; PerformanceInsightsRetentionPeriod?: PerformanceInsightsRetentionPeriod; Port?: NaturalNumber; PreferredBackupWindow?: string; PreferredMaintenanceWindow?: string; ProcessorFeatures?: ProcessorFeature[]; PromotionTier?: NaturalNumber | 0; PubliclyAccessible?: boolean; SourceDBInstanceIdentifier?: CloudFormationValue; SourceRegion?: CloudFormationValue; StorageEncrypted?: boolean; StorageType?: StorageType; Tags?: CloudFormationTags; Timezone?: string; UseDefaultProcessorFeatures?: boolean; VPCSecurityGroups?: CloudFormationValue[]; } export declare type InstanceEngine = 'aurora-mysql' | 'aurora-postgresql' | 'aurora' | 'mariadb' | 'mysql' | 'oracle-ee' | 'oracle-se' | 'oracle-se1' | 'oracle-se2' | 'postgres' | 'sqlserver-ee' | 'sqlserver-ex' | 'sqlserver-se' | 'sqlserver-web'; export declare type LicenseModel = 'bring-your-own-license' | 'general-public-license' | 'license-included'; export declare type MonitoringInterval = 0 | 1 | 5 | 10 | 15 | 30 | 60; export declare type PerformanceInsightsRetentionPeriod = 2 | 731; export interface ProcessorFeature { Name?: ProcessorFeatureName; Value?: Integer | string; } export declare type ProcessorFeatureName = 'coreCount' | 'threadsPerCore'; export declare type StorageType = 'gp2' | 'io1' | 'standard';