"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnIntegration=exports.CfnDBShardGroup=exports.CfnOptionGroup=exports.CfnGlobalCluster=exports.CfnEventSubscription=exports.CfnDBSubnetGroup=exports.CfnDBSecurityGroupIngress=exports.CfnDBSecurityGroup=exports.CfnDBProxyTargetGroup=exports.CfnDBProxyEndpoint=exports.CfnDBProxy=exports.CfnDBParameterGroup=exports.CfnDBInstance=exports.CfnDBClusterParameterGroup=exports.CfnDBCluster=exports.CfnCustomDBEngineVersion=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core/lib");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnCustomDBEngineVersion extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnCustomDBEngineVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::CustomDBEngineVersion";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCustomDBEngineVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCustomDBEngineVersion(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnCustomDBEngineVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCustomDBEngineVersion.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_databaseInstallationFilesS3BucketName;_databaseInstallationFilesS3Prefix;_description;_engine;_engineVersion;_imageId;_kmsKeyId;_manifest;_sourceCustomDbEngineVersionIdentifier;_status;_tags;_useAwsProvidedLatestImage;cfnPropertyNames={tags:"Tags",databaseInstallationFilesS3BucketName:"DatabaseInstallationFilesS3BucketName",databaseInstallationFilesS3Prefix:"DatabaseInstallationFilesS3Prefix",description:"Description",engine:"Engine",engineVersion:"EngineVersion",imageId:"ImageId",kmsKeyId:"KMSKeyId",manifest:"Manifest",sourceCustomDbEngineVersionIdentifier:"SourceCustomDbEngineVersionIdentifier",status:"Status",useAwsProvidedLatestImage:"UseAwsProvidedLatestImage"};constructor(scope,id,props){super(scope,id,{type:CfnCustomDBEngineVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnCustomDBEngineVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCustomDBEngineVersion),error}cdk().requireProperty(props,"engine",this),cdk().requireProperty(props,"engineVersion",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::CustomDBEngineVersion",void 0,{tagPropertyName:"tags"}),this._databaseInstallationFilesS3BucketName=props.databaseInstallationFilesS3BucketName,this._databaseInstallationFilesS3Prefix=props.databaseInstallationFilesS3Prefix,this._description=props.description,this._engine=props.engine,this._engineVersion=props.engineVersion,this._imageId=props.imageId,this._kmsKeyId=props.kmsKeyId,this._manifest=props.manifest,this._sourceCustomDbEngineVersionIdentifier=props.sourceCustomDbEngineVersionIdentifier,this._status=props.status,this._tags=props.tags,this._useAwsProvidedLatestImage=props.useAwsProvidedLatestImage}get customDbEngineVersionRef(){return{engine:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),engineVersion:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get databaseInstallationFilesS3BucketName(){return this._databaseInstallationFilesS3BucketName}set databaseInstallationFilesS3BucketName(value){cdk().traceProperty(this.node,"DatabaseInstallationFilesS3BucketName"),this._databaseInstallationFilesS3BucketName=value}get databaseInstallationFilesS3Prefix(){return this._databaseInstallationFilesS3Prefix}set databaseInstallationFilesS3Prefix(value){cdk().traceProperty(this.node,"DatabaseInstallationFilesS3Prefix"),this._databaseInstallationFilesS3Prefix=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get engine(){return this._engine}set engine(value){cdk().traceProperty(this.node,"Engine"),this._engine=value}get engineVersion(){return this._engineVersion}set engineVersion(value){cdk().traceProperty(this.node,"EngineVersion"),this._engineVersion=value}get imageId(){return this._imageId}set imageId(value){cdk().traceProperty(this.node,"ImageId"),this._imageId=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KMSKeyId"),this._kmsKeyId=value}get manifest(){return this._manifest}set manifest(value){cdk().traceProperty(this.node,"Manifest"),this._manifest=value}get sourceCustomDbEngineVersionIdentifier(){return this._sourceCustomDbEngineVersionIdentifier}set sourceCustomDbEngineVersionIdentifier(value){cdk().traceProperty(this.node,"SourceCustomDbEngineVersionIdentifier"),this._sourceCustomDbEngineVersionIdentifier=value}get status(){return this._status}set status(value){cdk().traceProperty(this.node,"Status"),this._status=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get useAwsProvidedLatestImage(){return this._useAwsProvidedLatestImage}set useAwsProvidedLatestImage(value){cdk().traceProperty(this.node,"UseAwsProvidedLatestImage"),this._useAwsProvidedLatestImage=value}get attrDbEngineVersionArn(){return cdk().Token.asString(this.getAtt("DBEngineVersionArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),databaseInstallationFilesS3BucketName:this._databaseInstallationFilesS3BucketName,databaseInstallationFilesS3Prefix:this._databaseInstallationFilesS3Prefix,description:this._description,engine:this._engine,engineVersion:this._engineVersion,imageId:this._imageId,kmsKeyId:this._kmsKeyId,manifest:this._manifest,sourceCustomDbEngineVersionIdentifier:this._sourceCustomDbEngineVersionIdentifier,status:this._status,useAwsProvidedLatestImage:this._useAwsProvidedLatestImage}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnCustomDBEngineVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCustomDBEngineVersionPropsToCloudFormation(props)}}exports.CfnCustomDBEngineVersion=CfnCustomDBEngineVersion;function CfnCustomDBEngineVersionPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("databaseInstallationFilesS3BucketName",cdk().validateString)(properties.databaseInstallationFilesS3BucketName)),errors.collect(cdk().propertyValidator("databaseInstallationFilesS3Prefix",cdk().validateString)(properties.databaseInstallationFilesS3Prefix)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("engine",cdk().requiredValidator)(properties.engine)),errors.collect(cdk().propertyValidator("engine",cdk().validateString)(properties.engine)),errors.collect(cdk().propertyValidator("engineVersion",cdk().requiredValidator)(properties.engineVersion)),errors.collect(cdk().propertyValidator("engineVersion",cdk().validateString)(properties.engineVersion)),errors.collect(cdk().propertyValidator("imageId",cdk().validateString)(properties.imageId)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("manifest",cdk().validateString)(properties.manifest)),errors.collect(cdk().propertyValidator("sourceCustomDbEngineVersionIdentifier",cdk().validateString)(properties.sourceCustomDbEngineVersionIdentifier)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("useAwsProvidedLatestImage",cdk().validateBoolean)(properties.useAwsProvidedLatestImage)),errors.wrap('supplied properties not correct for "CfnCustomDBEngineVersionProps"')}function convertCfnCustomDBEngineVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCustomDBEngineVersionPropsValidator(properties).assertSuccess(),{DatabaseInstallationFilesS3BucketName:cdk().stringToCloudFormation(properties.databaseInstallationFilesS3BucketName),DatabaseInstallationFilesS3Prefix:cdk().stringToCloudFormation(properties.databaseInstallationFilesS3Prefix),Description:cdk().stringToCloudFormation(properties.description),Engine:cdk().stringToCloudFormation(properties.engine),EngineVersion:cdk().stringToCloudFormation(properties.engineVersion),ImageId:cdk().stringToCloudFormation(properties.imageId),KMSKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),Manifest:cdk().stringToCloudFormation(properties.manifest),SourceCustomDbEngineVersionIdentifier:cdk().stringToCloudFormation(properties.sourceCustomDbEngineVersionIdentifier),Status:cdk().stringToCloudFormation(properties.status),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UseAwsProvidedLatestImage:cdk().booleanToCloudFormation(properties.useAwsProvidedLatestImage)}):properties}function CfnCustomDBEngineVersionPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("databaseInstallationFilesS3BucketName","DatabaseInstallationFilesS3BucketName",properties.DatabaseInstallationFilesS3BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseInstallationFilesS3BucketName):void 0),ret.addPropertyResult("databaseInstallationFilesS3Prefix","DatabaseInstallationFilesS3Prefix",properties.DatabaseInstallationFilesS3Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseInstallationFilesS3Prefix):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("engine","Engine",properties.Engine!=null?cfn_parse().FromCloudFormation.getString(properties.Engine):void 0),ret.addPropertyResult("engineVersion","EngineVersion",properties.EngineVersion!=null?cfn_parse().FromCloudFormation.getString(properties.EngineVersion):void 0),ret.addPropertyResult("imageId","ImageId",properties.ImageId!=null?cfn_parse().FromCloudFormation.getString(properties.ImageId):void 0),ret.addPropertyResult("kmsKeyId","KMSKeyId",properties.KMSKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KMSKeyId):void 0),ret.addPropertyResult("manifest","Manifest",properties.Manifest!=null?cfn_parse().FromCloudFormation.getString(properties.Manifest):void 0),ret.addPropertyResult("sourceCustomDbEngineVersionIdentifier","SourceCustomDbEngineVersionIdentifier",properties.SourceCustomDbEngineVersionIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.SourceCustomDbEngineVersionIdentifier):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("useAwsProvidedLatestImage","UseAwsProvidedLatestImage",properties.UseAwsProvidedLatestImage!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseAwsProvidedLatestImage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBCluster extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnDBCluster",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::DBCluster";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBClusterPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDBCluster(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDBCluster(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDBCluster.CFN_RESOURCE_TYPE_NAME}static arnForDBCluster(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rds_IDBClusterRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDBCluster),error}return resource.dbClusterRef.dbClusterArn}_allocatedStorage;_associatedRoles;_autoMinorVersionUpgrade;_availabilityZones;_backtrackWindow;_backupRetentionPeriod;_clusterScalabilityType;_copyTagsToSnapshot;_databaseInsightsMode;_databaseName;_dbClusterIdentifier;_dbClusterInstanceClass;_dbClusterParameterGroupName;_dbInstanceParameterGroupName;_dbSubnetGroupName;_dbSystemId;_deleteAutomatedBackups;_deletionProtection;_domain;_domainIamRoleName;_enableCloudwatchLogsExports;_enableGlobalWriteForwarding;_enableHttpEndpoint;_enableIamDatabaseAuthentication;_enableLocalWriteForwarding;_engine;_engineLifecycleSupport;_engineMode;_engineVersion;_globalClusterIdentifier;_iops;_kmsKeyId;_manageMasterUserPassword;_masterUserAuthenticationType;_masterUsername;_masterUserPassword;_masterUserSecret;_monitoringInterval;_monitoringRoleArn;_networkType;_performanceInsightsEnabled;_performanceInsightsKmsKeyId;_performanceInsightsRetentionPeriod;_port;_preferredBackupWindow;_preferredMaintenanceWindow;_publiclyAccessible;_replicationSourceIdentifier;_restoreToTime;_restoreType;_scalingConfiguration;_serverlessV2ScalingConfiguration;_snapshotIdentifier;_sourceDbClusterIdentifier;_sourceDbClusterResourceId;_sourceRegion;_storageEncrypted;_storageType;tags;_tagsRaw;_useLatestRestorableTime;_vpcSecurityGroupIds;cfnPropertyNames={allocatedStorage:"AllocatedStorage",associatedRoles:"AssociatedRoles",autoMinorVersionUpgrade:"AutoMinorVersionUpgrade",availabilityZones:"AvailabilityZones",backtrackWindow:"BacktrackWindow",backupRetentionPeriod:"BackupRetentionPeriod",clusterScalabilityType:"ClusterScalabilityType",copyTagsToSnapshot:"CopyTagsToSnapshot",databaseInsightsMode:"DatabaseInsightsMode",databaseName:"DatabaseName",dbClusterIdentifier:"DBClusterIdentifier",dbClusterInstanceClass:"DBClusterInstanceClass",dbClusterParameterGroupName:"DBClusterParameterGroupName",dbInstanceParameterGroupName:"DBInstanceParameterGroupName",dbSubnetGroupName:"DBSubnetGroupName",dbSystemId:"DBSystemId",deleteAutomatedBackups:"DeleteAutomatedBackups",deletionProtection:"DeletionProtection",domain:"Domain",domainIamRoleName:"DomainIAMRoleName",enableCloudwatchLogsExports:"EnableCloudwatchLogsExports",enableGlobalWriteForwarding:"EnableGlobalWriteForwarding",enableHttpEndpoint:"EnableHttpEndpoint",enableIamDatabaseAuthentication:"EnableIAMDatabaseAuthentication",enableLocalWriteForwarding:"EnableLocalWriteForwarding",engine:"Engine",engineLifecycleSupport:"EngineLifecycleSupport",engineMode:"EngineMode",engineVersion:"EngineVersion",globalClusterIdentifier:"GlobalClusterIdentifier",iops:"Iops",kmsKeyId:"KmsKeyId",manageMasterUserPassword:"ManageMasterUserPassword",masterUserAuthenticationType:"MasterUserAuthenticationType",masterUsername:"MasterUsername",masterUserPassword:"MasterUserPassword",masterUserSecret:"MasterUserSecret",monitoringInterval:"MonitoringInterval",monitoringRoleArn:"MonitoringRoleArn",networkType:"NetworkType",performanceInsightsEnabled:"PerformanceInsightsEnabled",performanceInsightsKmsKeyId:"PerformanceInsightsKmsKeyId",performanceInsightsRetentionPeriod:"PerformanceInsightsRetentionPeriod",port:"Port",preferredBackupWindow:"PreferredBackupWindow",preferredMaintenanceWindow:"PreferredMaintenanceWindow",publiclyAccessible:"PubliclyAccessible",replicationSourceIdentifier:"ReplicationSourceIdentifier",restoreToTime:"RestoreToTime",restoreType:"RestoreType",scalingConfiguration:"ScalingConfiguration",serverlessV2ScalingConfiguration:"ServerlessV2ScalingConfiguration",snapshotIdentifier:"SnapshotIdentifier",sourceDbClusterIdentifier:"SourceDBClusterIdentifier",sourceDbClusterResourceId:"SourceDbClusterResourceId",sourceRegion:"SourceRegion",storageEncrypted:"StorageEncrypted",storageType:"StorageType",tags:"Tags",useLatestRestorableTime:"UseLatestRestorableTime",vpcSecurityGroupIds:"VpcSecurityGroupIds"};constructor(scope,id,props={}){super(scope,id,{type:CfnDBCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnDBClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBCluster),error}this._allocatedStorage=props.allocatedStorage,this._associatedRoles=props.associatedRoles,this._autoMinorVersionUpgrade=props.autoMinorVersionUpgrade,this._availabilityZones=props.availabilityZones,this._backtrackWindow=props.backtrackWindow,this._backupRetentionPeriod=props.backupRetentionPeriod,this._clusterScalabilityType=props.clusterScalabilityType,this._copyTagsToSnapshot=props.copyTagsToSnapshot,this._databaseInsightsMode=props.databaseInsightsMode,this._databaseName=props.databaseName,this._dbClusterIdentifier=props.dbClusterIdentifier,this._dbClusterInstanceClass=props.dbClusterInstanceClass,this._dbClusterParameterGroupName=cdk().getRefProperty(props.dbClusterParameterGroupName?.dbClusterParameterGroupRef,"dbClusterParameterGroupName")??cdk().ensureStringOrUndefined(props.dbClusterParameterGroupName,"dbClusterParameterGroupName","rds.IDBClusterParameterGroupRef | string"),this._dbInstanceParameterGroupName=props.dbInstanceParameterGroupName,this._dbSubnetGroupName=cdk().getRefProperty(props.dbSubnetGroupName?.dbSubnetGroupRef,"dbSubnetGroupName")??cdk().ensureStringOrUndefined(props.dbSubnetGroupName,"dbSubnetGroupName","rds.IDBSubnetGroupRef | string"),this._dbSystemId=props.dbSystemId,this._deleteAutomatedBackups=props.deleteAutomatedBackups,this._deletionProtection=props.deletionProtection,this._domain=props.domain,this._domainIamRoleName=props.domainIamRoleName,this._enableCloudwatchLogsExports=props.enableCloudwatchLogsExports,this._enableGlobalWriteForwarding=props.enableGlobalWriteForwarding,this._enableHttpEndpoint=props.enableHttpEndpoint,this._enableIamDatabaseAuthentication=props.enableIamDatabaseAuthentication,this._enableLocalWriteForwarding=props.enableLocalWriteForwarding,this._engine=props.engine,this._engineLifecycleSupport=props.engineLifecycleSupport,this._engineMode=props.engineMode,this._engineVersion=props.engineVersion,this._globalClusterIdentifier=cdk().getRefProperty(props.globalClusterIdentifier?.globalClusterRef,"globalClusterIdentifier")??cdk().ensureStringOrUndefined(props.globalClusterIdentifier,"globalClusterIdentifier","rds.IGlobalClusterRef | string"),this._iops=props.iops,this._kmsKeyId=cdk().getRefProperty(props.kmsKeyId?.keyRef,"keyArn")??cdk().getRefProperty(props.kmsKeyId?.keyRef,"keyId")??cdk().ensureStringOrUndefined(props.kmsKeyId,"kmsKeyId","kms.IKeyRef | string"),this._manageMasterUserPassword=props.manageMasterUserPassword,this._masterUserAuthenticationType=props.masterUserAuthenticationType,this._masterUsername=props.masterUsername,this._masterUserPassword=props.masterUserPassword,this._masterUserSecret=props.masterUserSecret,this._monitoringInterval=props.monitoringInterval,this._monitoringRoleArn=props.monitoringRoleArn,this._networkType=props.networkType,this._performanceInsightsEnabled=props.performanceInsightsEnabled,this._performanceInsightsKmsKeyId=props.performanceInsightsKmsKeyId,this._performanceInsightsRetentionPeriod=props.performanceInsightsRetentionPeriod,this._port=props.port,this._preferredBackupWindow=props.preferredBackupWindow,this._preferredMaintenanceWindow=props.preferredMaintenanceWindow,this._publiclyAccessible=props.publiclyAccessible,this._replicationSourceIdentifier=props.replicationSourceIdentifier,this._restoreToTime=props.restoreToTime,this._restoreType=props.restoreType,this._scalingConfiguration=props.scalingConfiguration,this._serverlessV2ScalingConfiguration=props.serverlessV2ScalingConfiguration,this._snapshotIdentifier=props.snapshotIdentifier,this._sourceDbClusterIdentifier=props.sourceDbClusterIdentifier,this._sourceDbClusterResourceId=props.sourceDbClusterResourceId,this._sourceRegion=props.sourceRegion,this._storageEncrypted=props.storageEncrypted,this._storageType=props.storageType,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::DBCluster",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._useLatestRestorableTime=props.useLatestRestorableTime,this._vpcSecurityGroupIds=cdk().mapArrayInPlace(props.vpcSecurityGroupIds,item=>cdk().getRefProperty(item?.securityGroupRef,"securityGroupId")??cdk().ensureStringOrUndefined(item,"vpcSecurityGroupIds","ec2.ISecurityGroupRef | string")),this.node.scope!=null&&cdk().Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::RDS::DBCluster' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}get dbClusterRef(){return{dbClusterIdentifier:this.ref,dbClusterArn:this.attrDbClusterArn}}get allocatedStorage(){return this._allocatedStorage}set allocatedStorage(value){cdk().traceProperty(this.node,"AllocatedStorage"),this._allocatedStorage=value}get associatedRoles(){return this._associatedRoles}set associatedRoles(value){cdk().traceProperty(this.node,"AssociatedRoles"),this._associatedRoles=value}get autoMinorVersionUpgrade(){return this._autoMinorVersionUpgrade}set autoMinorVersionUpgrade(value){cdk().traceProperty(this.node,"AutoMinorVersionUpgrade"),this._autoMinorVersionUpgrade=value}get availabilityZones(){return this._availabilityZones}set availabilityZones(value){cdk().traceProperty(this.node,"AvailabilityZones"),this._availabilityZones=value}get backtrackWindow(){return this._backtrackWindow}set backtrackWindow(value){cdk().traceProperty(this.node,"BacktrackWindow"),this._backtrackWindow=value}get backupRetentionPeriod(){return this._backupRetentionPeriod}set backupRetentionPeriod(value){cdk().traceProperty(this.node,"BackupRetentionPeriod"),this._backupRetentionPeriod=value}get clusterScalabilityType(){return this._clusterScalabilityType}set clusterScalabilityType(value){cdk().traceProperty(this.node,"ClusterScalabilityType"),this._clusterScalabilityType=value}get copyTagsToSnapshot(){return this._copyTagsToSnapshot}set copyTagsToSnapshot(value){cdk().traceProperty(this.node,"CopyTagsToSnapshot"),this._copyTagsToSnapshot=value}get databaseInsightsMode(){return this._databaseInsightsMode}set databaseInsightsMode(value){cdk().traceProperty(this.node,"DatabaseInsightsMode"),this._databaseInsightsMode=value}get databaseName(){return this._databaseName}set databaseName(value){cdk().traceProperty(this.node,"DatabaseName"),this._databaseName=value}get dbClusterIdentifier(){return this._dbClusterIdentifier}set dbClusterIdentifier(value){cdk().traceProperty(this.node,"DBClusterIdentifier"),this._dbClusterIdentifier=value}get dbClusterInstanceClass(){return this._dbClusterInstanceClass}set dbClusterInstanceClass(value){cdk().traceProperty(this.node,"DBClusterInstanceClass"),this._dbClusterInstanceClass=value}get dbClusterParameterGroupName(){return this._dbClusterParameterGroupName}set dbClusterParameterGroupName(value){cdk().traceProperty(this.node,"DBClusterParameterGroupName"),this._dbClusterParameterGroupName=value}get dbInstanceParameterGroupName(){return this._dbInstanceParameterGroupName}set dbInstanceParameterGroupName(value){cdk().traceProperty(this.node,"DBInstanceParameterGroupName"),this._dbInstanceParameterGroupName=value}get dbSubnetGroupName(){return this._dbSubnetGroupName}set dbSubnetGroupName(value){cdk().traceProperty(this.node,"DBSubnetGroupName"),this._dbSubnetGroupName=value}get dbSystemId(){return this._dbSystemId}set dbSystemId(value){cdk().traceProperty(this.node,"DBSystemId"),this._dbSystemId=value}get deleteAutomatedBackups(){return this._deleteAutomatedBackups}set deleteAutomatedBackups(value){cdk().traceProperty(this.node,"DeleteAutomatedBackups"),this._deleteAutomatedBackups=value}get deletionProtection(){return this._deletionProtection}set deletionProtection(value){cdk().traceProperty(this.node,"DeletionProtection"),this._deletionProtection=value}get domain(){return this._domain}set domain(value){cdk().traceProperty(this.node,"Domain"),this._domain=value}get domainIamRoleName(){return this._domainIamRoleName}set domainIamRoleName(value){cdk().traceProperty(this.node,"DomainIAMRoleName"),this._domainIamRoleName=value}get enableCloudwatchLogsExports(){return this._enableCloudwatchLogsExports}set enableCloudwatchLogsExports(value){cdk().traceProperty(this.node,"EnableCloudwatchLogsExports"),this._enableCloudwatchLogsExports=value}get enableGlobalWriteForwarding(){return this._enableGlobalWriteForwarding}set enableGlobalWriteForwarding(value){cdk().traceProperty(this.node,"EnableGlobalWriteForwarding"),this._enableGlobalWriteForwarding=value}get enableHttpEndpoint(){return this._enableHttpEndpoint}set enableHttpEndpoint(value){cdk().traceProperty(this.node,"EnableHttpEndpoint"),this._enableHttpEndpoint=value}get enableIamDatabaseAuthentication(){return this._enableIamDatabaseAuthentication}set enableIamDatabaseAuthentication(value){cdk().traceProperty(this.node,"EnableIAMDatabaseAuthentication"),this._enableIamDatabaseAuthentication=value}get enableLocalWriteForwarding(){return this._enableLocalWriteForwarding}set enableLocalWriteForwarding(value){cdk().traceProperty(this.node,"EnableLocalWriteForwarding"),this._enableLocalWriteForwarding=value}get engine(){return this._engine}set engine(value){cdk().traceProperty(this.node,"Engine"),this._engine=value}get engineLifecycleSupport(){return this._engineLifecycleSupport}set engineLifecycleSupport(value){cdk().traceProperty(this.node,"EngineLifecycleSupport"),this._engineLifecycleSupport=value}get engineMode(){return this._engineMode}set engineMode(value){cdk().traceProperty(this.node,"EngineMode"),this._engineMode=value}get engineVersion(){return this._engineVersion}set engineVersion(value){cdk().traceProperty(this.node,"EngineVersion"),this._engineVersion=value}get globalClusterIdentifier(){return this._globalClusterIdentifier}set globalClusterIdentifier(value){cdk().traceProperty(this.node,"GlobalClusterIdentifier"),this._globalClusterIdentifier=value}get iops(){return this._iops}set iops(value){cdk().traceProperty(this.node,"Iops"),this._iops=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KmsKeyId"),this._kmsKeyId=value}get manageMasterUserPassword(){return this._manageMasterUserPassword}set manageMasterUserPassword(value){cdk().traceProperty(this.node,"ManageMasterUserPassword"),this._manageMasterUserPassword=value}get masterUserAuthenticationType(){return this._masterUserAuthenticationType}set masterUserAuthenticationType(value){cdk().traceProperty(this.node,"MasterUserAuthenticationType"),this._masterUserAuthenticationType=value}get masterUsername(){return this._masterUsername}set masterUsername(value){cdk().traceProperty(this.node,"MasterUsername"),this._masterUsername=value}get masterUserPassword(){return this._masterUserPassword}set masterUserPassword(value){cdk().traceProperty(this.node,"MasterUserPassword"),this._masterUserPassword=value}get masterUserSecret(){return this._masterUserSecret}set masterUserSecret(value){cdk().traceProperty(this.node,"MasterUserSecret"),this._masterUserSecret=value}get monitoringInterval(){return this._monitoringInterval}set monitoringInterval(value){cdk().traceProperty(this.node,"MonitoringInterval"),this._monitoringInterval=value}get monitoringRoleArn(){return this._monitoringRoleArn}set monitoringRoleArn(value){cdk().traceProperty(this.node,"MonitoringRoleArn"),this._monitoringRoleArn=value}get networkType(){return this._networkType}set networkType(value){cdk().traceProperty(this.node,"NetworkType"),this._networkType=value}get performanceInsightsEnabled(){return this._performanceInsightsEnabled}set performanceInsightsEnabled(value){cdk().traceProperty(this.node,"PerformanceInsightsEnabled"),this._performanceInsightsEnabled=value}get performanceInsightsKmsKeyId(){return this._performanceInsightsKmsKeyId}set performanceInsightsKmsKeyId(value){cdk().traceProperty(this.node,"PerformanceInsightsKmsKeyId"),this._performanceInsightsKmsKeyId=value}get performanceInsightsRetentionPeriod(){return this._performanceInsightsRetentionPeriod}set performanceInsightsRetentionPeriod(value){cdk().traceProperty(this.node,"PerformanceInsightsRetentionPeriod"),this._performanceInsightsRetentionPeriod=value}get port(){return this._port}set port(value){cdk().traceProperty(this.node,"Port"),this._port=value}get preferredBackupWindow(){return this._preferredBackupWindow}set preferredBackupWindow(value){cdk().traceProperty(this.node,"PreferredBackupWindow"),this._preferredBackupWindow=value}get preferredMaintenanceWindow(){return this._preferredMaintenanceWindow}set preferredMaintenanceWindow(value){cdk().traceProperty(this.node,"PreferredMaintenanceWindow"),this._preferredMaintenanceWindow=value}get publiclyAccessible(){return this._publiclyAccessible}set publiclyAccessible(value){cdk().traceProperty(this.node,"PubliclyAccessible"),this._publiclyAccessible=value}get replicationSourceIdentifier(){return this._replicationSourceIdentifier}set replicationSourceIdentifier(value){cdk().traceProperty(this.node,"ReplicationSourceIdentifier"),this._replicationSourceIdentifier=value}get restoreToTime(){return this._restoreToTime}set restoreToTime(value){cdk().traceProperty(this.node,"RestoreToTime"),this._restoreToTime=value}get restoreType(){return this._restoreType}set restoreType(value){cdk().traceProperty(this.node,"RestoreType"),this._restoreType=value}get scalingConfiguration(){return this._scalingConfiguration}set scalingConfiguration(value){cdk().traceProperty(this.node,"ScalingConfiguration"),this._scalingConfiguration=value}get serverlessV2ScalingConfiguration(){return this._serverlessV2ScalingConfiguration}set serverlessV2ScalingConfiguration(value){cdk().traceProperty(this.node,"ServerlessV2ScalingConfiguration"),this._serverlessV2ScalingConfiguration=value}get snapshotIdentifier(){return this._snapshotIdentifier}set snapshotIdentifier(value){cdk().traceProperty(this.node,"SnapshotIdentifier"),this._snapshotIdentifier=value}get sourceDbClusterIdentifier(){return this._sourceDbClusterIdentifier}set sourceDbClusterIdentifier(value){cdk().traceProperty(this.node,"SourceDBClusterIdentifier"),this._sourceDbClusterIdentifier=value}get sourceDbClusterResourceId(){return this._sourceDbClusterResourceId}set sourceDbClusterResourceId(value){cdk().traceProperty(this.node,"SourceDbClusterResourceId"),this._sourceDbClusterResourceId=value}get sourceRegion(){return this._sourceRegion}set sourceRegion(value){cdk().traceProperty(this.node,"SourceRegion"),this._sourceRegion=value}get storageEncrypted(){return this._storageEncrypted}set storageEncrypted(value){cdk().traceProperty(this.node,"StorageEncrypted"),this._storageEncrypted=value}get storageType(){return this._storageType}set storageType(value){cdk().traceProperty(this.node,"StorageType"),this._storageType=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get useLatestRestorableTime(){return this._useLatestRestorableTime}set useLatestRestorableTime(value){cdk().traceProperty(this.node,"UseLatestRestorableTime"),this._useLatestRestorableTime=value}get vpcSecurityGroupIds(){return this._vpcSecurityGroupIds}set vpcSecurityGroupIds(value){cdk().traceProperty(this.node,"VpcSecurityGroupIds"),this._vpcSecurityGroupIds=value}get attrDbClusterArn(){return cdk().Token.asString(this.getAtt("DBClusterArn",cdk().ResolutionTypeHint.STRING))}get attrDbClusterResourceId(){return cdk().Token.asString(this.getAtt("DBClusterResourceId",cdk().ResolutionTypeHint.STRING))}get attrEndpoint(){return this.getAtt("Endpoint")}get attrEndpointAddress(){return cdk().Token.asString(this.getAtt("Endpoint.Address",cdk().ResolutionTypeHint.STRING))}get attrEndpointPort(){return cdk().Token.asString(this.getAtt("Endpoint.Port",cdk().ResolutionTypeHint.STRING))}get attrMasterUserSecretSecretArn(){return cdk().Token.asString(this.getAtt("MasterUserSecret.SecretArn",cdk().ResolutionTypeHint.STRING))}get attrReadEndpoint(){return this.getAtt("ReadEndpoint")}get attrReadEndpointAddress(){return cdk().Token.asString(this.getAtt("ReadEndpoint.Address",cdk().ResolutionTypeHint.STRING))}get attrStorageEncryptionType(){return cdk().Token.asString(this.getAtt("StorageEncryptionType",cdk().ResolutionTypeHint.STRING))}get attrStorageThroughput(){return cdk().Token.asNumber(this.getAtt("StorageThroughput",cdk().ResolutionTypeHint.NUMBER))}get cfnProperties(){return{allocatedStorage:this._allocatedStorage,associatedRoles:this._associatedRoles,autoMinorVersionUpgrade:this._autoMinorVersionUpgrade,availabilityZones:this._availabilityZones,backtrackWindow:this._backtrackWindow,backupRetentionPeriod:this._backupRetentionPeriod,clusterScalabilityType:this._clusterScalabilityType,copyTagsToSnapshot:this._copyTagsToSnapshot,databaseInsightsMode:this._databaseInsightsMode,databaseName:this._databaseName,dbClusterIdentifier:this._dbClusterIdentifier,dbClusterInstanceClass:this._dbClusterInstanceClass,dbClusterParameterGroupName:this._dbClusterParameterGroupName,dbInstanceParameterGroupName:this._dbInstanceParameterGroupName,dbSubnetGroupName:this._dbSubnetGroupName,dbSystemId:this._dbSystemId,deleteAutomatedBackups:this._deleteAutomatedBackups,deletionProtection:this._deletionProtection,domain:this._domain,domainIamRoleName:this._domainIamRoleName,enableCloudwatchLogsExports:this._enableCloudwatchLogsExports,enableGlobalWriteForwarding:this._enableGlobalWriteForwarding,enableHttpEndpoint:this._enableHttpEndpoint,enableIamDatabaseAuthentication:this._enableIamDatabaseAuthentication,enableLocalWriteForwarding:this._enableLocalWriteForwarding,engine:this._engine,engineLifecycleSupport:this._engineLifecycleSupport,engineMode:this._engineMode,engineVersion:this._engineVersion,globalClusterIdentifier:this._globalClusterIdentifier,iops:this._iops,kmsKeyId:this._kmsKeyId,manageMasterUserPassword:this._manageMasterUserPassword,masterUserAuthenticationType:this._masterUserAuthenticationType,masterUsername:this._masterUsername,masterUserPassword:this._masterUserPassword,masterUserSecret:this._masterUserSecret,monitoringInterval:this._monitoringInterval,monitoringRoleArn:this._monitoringRoleArn,networkType:this._networkType,performanceInsightsEnabled:this._performanceInsightsEnabled,performanceInsightsKmsKeyId:this._performanceInsightsKmsKeyId,performanceInsightsRetentionPeriod:this._performanceInsightsRetentionPeriod,port:this._port,preferredBackupWindow:this._preferredBackupWindow,preferredMaintenanceWindow:this._preferredMaintenanceWindow,publiclyAccessible:this._publiclyAccessible,replicationSourceIdentifier:this._replicationSourceIdentifier,restoreToTime:this._restoreToTime,restoreType:this._restoreType,scalingConfiguration:this._scalingConfiguration,serverlessV2ScalingConfiguration:this._serverlessV2ScalingConfiguration,snapshotIdentifier:this._snapshotIdentifier,sourceDbClusterIdentifier:this._sourceDbClusterIdentifier,sourceDbClusterResourceId:this._sourceDbClusterResourceId,sourceRegion:this._sourceRegion,storageEncrypted:this._storageEncrypted,storageType:this._storageType,tags:this.tags.renderTags(),useLatestRestorableTime:this._useLatestRestorableTime,vpcSecurityGroupIds:this._vpcSecurityGroupIds}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBCluster.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBClusterPropsToCloudFormation(props)}}exports.CfnDBCluster=CfnDBCluster;function CfnDBClusterServerlessV2ScalingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("maxCapacity",cdk().validateNumber)(properties.maxCapacity)),errors.collect(cdk().propertyValidator("minCapacity",cdk().validateNumber)(properties.minCapacity)),errors.collect(cdk().propertyValidator("secondsUntilAutoPause",cdk().validateNumber)(properties.secondsUntilAutoPause)),errors.wrap('supplied properties not correct for "ServerlessV2ScalingConfigurationProperty"')}function convertCfnDBClusterServerlessV2ScalingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterServerlessV2ScalingConfigurationPropertyValidator(properties).assertSuccess(),{MaxCapacity:cdk().numberToCloudFormation(properties.maxCapacity),MinCapacity:cdk().numberToCloudFormation(properties.minCapacity),SecondsUntilAutoPause:cdk().numberToCloudFormation(properties.secondsUntilAutoPause)}):properties}function CfnDBClusterServerlessV2ScalingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("maxCapacity","MaxCapacity",properties.MaxCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxCapacity):void 0),ret.addPropertyResult("minCapacity","MinCapacity",properties.MinCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinCapacity):void 0),ret.addPropertyResult("secondsUntilAutoPause","SecondsUntilAutoPause",properties.SecondsUntilAutoPause!=null?cfn_parse().FromCloudFormation.getNumber(properties.SecondsUntilAutoPause):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBClusterMasterUserSecretPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "MasterUserSecretProperty"')}function convertCfnDBClusterMasterUserSecretPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterMasterUserSecretPropertyValidator(properties).assertSuccess(),{KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnDBClusterMasterUserSecretPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBClusterScalingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("autoPause",cdk().validateBoolean)(properties.autoPause)),errors.collect(cdk().propertyValidator("maxCapacity",cdk().validateNumber)(properties.maxCapacity)),errors.collect(cdk().propertyValidator("minCapacity",cdk().validateNumber)(properties.minCapacity)),errors.collect(cdk().propertyValidator("secondsBeforeTimeout",cdk().validateNumber)(properties.secondsBeforeTimeout)),errors.collect(cdk().propertyValidator("secondsUntilAutoPause",cdk().validateNumber)(properties.secondsUntilAutoPause)),errors.collect(cdk().propertyValidator("timeoutAction",cdk().validateString)(properties.timeoutAction)),errors.wrap('supplied properties not correct for "ScalingConfigurationProperty"')}function convertCfnDBClusterScalingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterScalingConfigurationPropertyValidator(properties).assertSuccess(),{AutoPause:cdk().booleanToCloudFormation(properties.autoPause),MaxCapacity:cdk().numberToCloudFormation(properties.maxCapacity),MinCapacity:cdk().numberToCloudFormation(properties.minCapacity),SecondsBeforeTimeout:cdk().numberToCloudFormation(properties.secondsBeforeTimeout),SecondsUntilAutoPause:cdk().numberToCloudFormation(properties.secondsUntilAutoPause),TimeoutAction:cdk().stringToCloudFormation(properties.timeoutAction)}):properties}function CfnDBClusterScalingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("autoPause","AutoPause",properties.AutoPause!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoPause):void 0),ret.addPropertyResult("maxCapacity","MaxCapacity",properties.MaxCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxCapacity):void 0),ret.addPropertyResult("minCapacity","MinCapacity",properties.MinCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinCapacity):void 0),ret.addPropertyResult("secondsBeforeTimeout","SecondsBeforeTimeout",properties.SecondsBeforeTimeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.SecondsBeforeTimeout):void 0),ret.addPropertyResult("secondsUntilAutoPause","SecondsUntilAutoPause",properties.SecondsUntilAutoPause!=null?cfn_parse().FromCloudFormation.getNumber(properties.SecondsUntilAutoPause):void 0),ret.addPropertyResult("timeoutAction","TimeoutAction",properties.TimeoutAction!=null?cfn_parse().FromCloudFormation.getString(properties.TimeoutAction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBClusterDBClusterRolePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("featureName",cdk().validateString)(properties.featureName)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "DBClusterRoleProperty"')}function convertCfnDBClusterDBClusterRolePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterDBClusterRolePropertyValidator(properties).assertSuccess(),{FeatureName:cdk().stringToCloudFormation(properties.featureName),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnDBClusterDBClusterRolePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("featureName","FeatureName",properties.FeatureName!=null?cfn_parse().FromCloudFormation.getString(properties.FeatureName):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBClusterEndpointPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("address",cdk().validateString)(properties.address)),errors.collect(cdk().propertyValidator("port",cdk().validateString)(properties.port)),errors.wrap('supplied properties not correct for "EndpointProperty"')}function convertCfnDBClusterEndpointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterEndpointPropertyValidator(properties).assertSuccess(),{Address:cdk().stringToCloudFormation(properties.address),Port:cdk().stringToCloudFormation(properties.port)}):properties}function CfnDBClusterEndpointPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("address","Address",properties.Address!=null?cfn_parse().FromCloudFormation.getString(properties.Address):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getString(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBClusterReadEndpointPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("address",cdk().validateString)(properties.address)),errors.wrap('supplied properties not correct for "ReadEndpointProperty"')}function convertCfnDBClusterReadEndpointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterReadEndpointPropertyValidator(properties).assertSuccess(),{Address:cdk().stringToCloudFormation(properties.address)}):properties}function CfnDBClusterReadEndpointPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("address","Address",properties.Address!=null?cfn_parse().FromCloudFormation.getString(properties.Address):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBClusterPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allocatedStorage",cdk().validateNumber)(properties.allocatedStorage)),errors.collect(cdk().propertyValidator("associatedRoles",cdk().listValidator(CfnDBClusterDBClusterRolePropertyValidator))(properties.associatedRoles)),errors.collect(cdk().propertyValidator("autoMinorVersionUpgrade",cdk().validateBoolean)(properties.autoMinorVersionUpgrade)),errors.collect(cdk().propertyValidator("availabilityZones",cdk().listValidator(cdk().validateString))(properties.availabilityZones)),errors.collect(cdk().propertyValidator("backtrackWindow",cdk().validateNumber)(properties.backtrackWindow)),errors.collect(cdk().propertyValidator("backupRetentionPeriod",cdk().validateNumber)(properties.backupRetentionPeriod)),errors.collect(cdk().propertyValidator("clusterScalabilityType",cdk().validateString)(properties.clusterScalabilityType)),errors.collect(cdk().propertyValidator("copyTagsToSnapshot",cdk().validateBoolean)(properties.copyTagsToSnapshot)),errors.collect(cdk().propertyValidator("dbClusterIdentifier",cdk().validateString)(properties.dbClusterIdentifier)),errors.collect(cdk().propertyValidator("dbClusterInstanceClass",cdk().validateString)(properties.dbClusterInstanceClass)),errors.collect(cdk().propertyValidator("dbClusterParameterGroupName",cdk().validateString)(properties.dbClusterParameterGroupName)),errors.collect(cdk().propertyValidator("dbInstanceParameterGroupName",cdk().validateString)(properties.dbInstanceParameterGroupName)),errors.collect(cdk().propertyValidator("dbSubnetGroupName",cdk().validateString)(properties.dbSubnetGroupName)),errors.collect(cdk().propertyValidator("dbSystemId",cdk().validateString)(properties.dbSystemId)),errors.collect(cdk().propertyValidator("databaseInsightsMode",cdk().validateString)(properties.databaseInsightsMode)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("deleteAutomatedBackups",cdk().validateBoolean)(properties.deleteAutomatedBackups)),errors.collect(cdk().propertyValidator("deletionProtection",cdk().validateBoolean)(properties.deletionProtection)),errors.collect(cdk().propertyValidator("domain",cdk().validateString)(properties.domain)),errors.collect(cdk().propertyValidator("domainIamRoleName",cdk().validateString)(properties.domainIamRoleName)),errors.collect(cdk().propertyValidator("enableCloudwatchLogsExports",cdk().listValidator(cdk().validateString))(properties.enableCloudwatchLogsExports)),errors.collect(cdk().propertyValidator("enableGlobalWriteForwarding",cdk().validateBoolean)(properties.enableGlobalWriteForwarding)),errors.collect(cdk().propertyValidator("enableHttpEndpoint",cdk().validateBoolean)(properties.enableHttpEndpoint)),errors.collect(cdk().propertyValidator("enableIamDatabaseAuthentication",cdk().validateBoolean)(properties.enableIamDatabaseAuthentication)),errors.collect(cdk().propertyValidator("enableLocalWriteForwarding",cdk().validateBoolean)(properties.enableLocalWriteForwarding)),errors.collect(cdk().propertyValidator("engine",cdk().validateString)(properties.engine)),errors.collect(cdk().propertyValidator("engineLifecycleSupport",cdk().validateString)(properties.engineLifecycleSupport)),errors.collect(cdk().propertyValidator("engineMode",cdk().validateString)(properties.engineMode)),errors.collect(cdk().propertyValidator("engineVersion",cdk().validateString)(properties.engineVersion)),errors.collect(cdk().propertyValidator("globalClusterIdentifier",cdk().validateString)(properties.globalClusterIdentifier)),errors.collect(cdk().propertyValidator("iops",cdk().validateNumber)(properties.iops)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("manageMasterUserPassword",cdk().validateBoolean)(properties.manageMasterUserPassword)),errors.collect(cdk().propertyValidator("masterUserAuthenticationType",cdk().validateString)(properties.masterUserAuthenticationType)),errors.collect(cdk().propertyValidator("masterUserPassword",cdk().validateString)(properties.masterUserPassword)),errors.collect(cdk().propertyValidator("masterUserSecret",CfnDBClusterMasterUserSecretPropertyValidator)(properties.masterUserSecret)),errors.collect(cdk().propertyValidator("masterUsername",cdk().validateString)(properties.masterUsername)),errors.collect(cdk().propertyValidator("monitoringInterval",cdk().validateNumber)(properties.monitoringInterval)),errors.collect(cdk().propertyValidator("monitoringRoleArn",cdk().validateString)(properties.monitoringRoleArn)),errors.collect(cdk().propertyValidator("networkType",cdk().validateString)(properties.networkType)),errors.collect(cdk().propertyValidator("performanceInsightsEnabled",cdk().validateBoolean)(properties.performanceInsightsEnabled)),errors.collect(cdk().propertyValidator("performanceInsightsKmsKeyId",cdk().validateString)(properties.performanceInsightsKmsKeyId)),errors.collect(cdk().propertyValidator("performanceInsightsRetentionPeriod",cdk().validateNumber)(properties.performanceInsightsRetentionPeriod)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("preferredBackupWindow",cdk().validateString)(properties.preferredBackupWindow)),errors.collect(cdk().propertyValidator("preferredMaintenanceWindow",cdk().validateString)(properties.preferredMaintenanceWindow)),errors.collect(cdk().propertyValidator("publiclyAccessible",cdk().validateBoolean)(properties.publiclyAccessible)),errors.collect(cdk().propertyValidator("replicationSourceIdentifier",cdk().validateString)(properties.replicationSourceIdentifier)),errors.collect(cdk().propertyValidator("restoreToTime",cdk().validateString)(properties.restoreToTime)),errors.collect(cdk().propertyValidator("restoreType",cdk().validateString)(properties.restoreType)),errors.collect(cdk().propertyValidator("scalingConfiguration",CfnDBClusterScalingConfigurationPropertyValidator)(properties.scalingConfiguration)),errors.collect(cdk().propertyValidator("serverlessV2ScalingConfiguration",CfnDBClusterServerlessV2ScalingConfigurationPropertyValidator)(properties.serverlessV2ScalingConfiguration)),errors.collect(cdk().propertyValidator("snapshotIdentifier",cdk().validateString)(properties.snapshotIdentifier)),errors.collect(cdk().propertyValidator("sourceDbClusterIdentifier",cdk().validateString)(properties.sourceDbClusterIdentifier)),errors.collect(cdk().propertyValidator("sourceDbClusterResourceId",cdk().validateString)(properties.sourceDbClusterResourceId)),errors.collect(cdk().propertyValidator("sourceRegion",cdk().validateString)(properties.sourceRegion)),errors.collect(cdk().propertyValidator("storageEncrypted",cdk().validateBoolean)(properties.storageEncrypted)),errors.collect(cdk().propertyValidator("storageType",cdk().validateString)(properties.storageType)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("useLatestRestorableTime",cdk().validateBoolean)(properties.useLatestRestorableTime)),errors.collect(cdk().propertyValidator("vpcSecurityGroupIds",cdk().listValidator(cdk().validateString))(properties.vpcSecurityGroupIds)),errors.wrap('supplied properties not correct for "CfnDBClusterProps"')}function convertCfnDBClusterPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterPropsValidator(properties).assertSuccess(),{AllocatedStorage:cdk().numberToCloudFormation(properties.allocatedStorage),AssociatedRoles:cdk().listMapper(convertCfnDBClusterDBClusterRolePropertyToCloudFormation)(properties.associatedRoles),AutoMinorVersionUpgrade:cdk().booleanToCloudFormation(properties.autoMinorVersionUpgrade),AvailabilityZones:cdk().listMapper(cdk().stringToCloudFormation)(properties.availabilityZones),BacktrackWindow:cdk().numberToCloudFormation(properties.backtrackWindow),BackupRetentionPeriod:cdk().numberToCloudFormation(properties.backupRetentionPeriod),ClusterScalabilityType:cdk().stringToCloudFormation(properties.clusterScalabilityType),CopyTagsToSnapshot:cdk().booleanToCloudFormation(properties.copyTagsToSnapshot),DBClusterIdentifier:cdk().stringToCloudFormation(properties.dbClusterIdentifier),DBClusterInstanceClass:cdk().stringToCloudFormation(properties.dbClusterInstanceClass),DBClusterParameterGroupName:cdk().stringToCloudFormation(properties.dbClusterParameterGroupName),DBInstanceParameterGroupName:cdk().stringToCloudFormation(properties.dbInstanceParameterGroupName),DBSubnetGroupName:cdk().stringToCloudFormation(properties.dbSubnetGroupName),DBSystemId:cdk().stringToCloudFormation(properties.dbSystemId),DatabaseInsightsMode:cdk().stringToCloudFormation(properties.databaseInsightsMode),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),DeleteAutomatedBackups:cdk().booleanToCloudFormation(properties.deleteAutomatedBackups),DeletionProtection:cdk().booleanToCloudFormation(properties.deletionProtection),Domain:cdk().stringToCloudFormation(properties.domain),DomainIAMRoleName:cdk().stringToCloudFormation(properties.domainIamRoleName),EnableCloudwatchLogsExports:cdk().listMapper(cdk().stringToCloudFormation)(properties.enableCloudwatchLogsExports),EnableGlobalWriteForwarding:cdk().booleanToCloudFormation(properties.enableGlobalWriteForwarding),EnableHttpEndpoint:cdk().booleanToCloudFormation(properties.enableHttpEndpoint),EnableIAMDatabaseAuthentication:cdk().booleanToCloudFormation(properties.enableIamDatabaseAuthentication),EnableLocalWriteForwarding:cdk().booleanToCloudFormation(properties.enableLocalWriteForwarding),Engine:cdk().stringToCloudFormation(properties.engine),EngineLifecycleSupport:cdk().stringToCloudFormation(properties.engineLifecycleSupport),EngineMode:cdk().stringToCloudFormation(properties.engineMode),EngineVersion:cdk().stringToCloudFormation(properties.engineVersion),GlobalClusterIdentifier:cdk().stringToCloudFormation(properties.globalClusterIdentifier),Iops:cdk().numberToCloudFormation(properties.iops),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),ManageMasterUserPassword:cdk().booleanToCloudFormation(properties.manageMasterUserPassword),MasterUserAuthenticationType:cdk().stringToCloudFormation(properties.masterUserAuthenticationType),MasterUserPassword:cdk().stringToCloudFormation(properties.masterUserPassword),MasterUserSecret:convertCfnDBClusterMasterUserSecretPropertyToCloudFormation(properties.masterUserSecret),MasterUsername:cdk().stringToCloudFormation(properties.masterUsername),MonitoringInterval:cdk().numberToCloudFormation(properties.monitoringInterval),MonitoringRoleArn:cdk().stringToCloudFormation(properties.monitoringRoleArn),NetworkType:cdk().stringToCloudFormation(properties.networkType),PerformanceInsightsEnabled:cdk().booleanToCloudFormation(properties.performanceInsightsEnabled),PerformanceInsightsKmsKeyId:cdk().stringToCloudFormation(properties.performanceInsightsKmsKeyId),PerformanceInsightsRetentionPeriod:cdk().numberToCloudFormation(properties.performanceInsightsRetentionPeriod),Port:cdk().numberToCloudFormation(properties.port),PreferredBackupWindow:cdk().stringToCloudFormation(properties.preferredBackupWindow),PreferredMaintenanceWindow:cdk().stringToCloudFormation(properties.preferredMaintenanceWindow),PubliclyAccessible:cdk().booleanToCloudFormation(properties.publiclyAccessible),ReplicationSourceIdentifier:cdk().stringToCloudFormation(properties.replicationSourceIdentifier),RestoreToTime:cdk().stringToCloudFormation(properties.restoreToTime),RestoreType:cdk().stringToCloudFormation(properties.restoreType),ScalingConfiguration:convertCfnDBClusterScalingConfigurationPropertyToCloudFormation(properties.scalingConfiguration),ServerlessV2ScalingConfiguration:convertCfnDBClusterServerlessV2ScalingConfigurationPropertyToCloudFormation(properties.serverlessV2ScalingConfiguration),SnapshotIdentifier:cdk().stringToCloudFormation(properties.snapshotIdentifier),SourceDBClusterIdentifier:cdk().stringToCloudFormation(properties.sourceDbClusterIdentifier),SourceDbClusterResourceId:cdk().stringToCloudFormation(properties.sourceDbClusterResourceId),SourceRegion:cdk().stringToCloudFormation(properties.sourceRegion),StorageEncrypted:cdk().booleanToCloudFormation(properties.storageEncrypted),StorageType:cdk().stringToCloudFormation(properties.storageType),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UseLatestRestorableTime:cdk().booleanToCloudFormation(properties.useLatestRestorableTime),VpcSecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSecurityGroupIds)}):properties}function CfnDBClusterPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allocatedStorage","AllocatedStorage",properties.AllocatedStorage!=null?cfn_parse().FromCloudFormation.getNumber(properties.AllocatedStorage):void 0),ret.addPropertyResult("associatedRoles","AssociatedRoles",properties.AssociatedRoles!=null?cfn_parse().FromCloudFormation.getArray(CfnDBClusterDBClusterRolePropertyFromCloudFormation)(properties.AssociatedRoles):void 0),ret.addPropertyResult("autoMinorVersionUpgrade","AutoMinorVersionUpgrade",properties.AutoMinorVersionUpgrade!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoMinorVersionUpgrade):void 0),ret.addPropertyResult("availabilityZones","AvailabilityZones",properties.AvailabilityZones!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AvailabilityZones):void 0),ret.addPropertyResult("backtrackWindow","BacktrackWindow",properties.BacktrackWindow!=null?cfn_parse().FromCloudFormation.getNumber(properties.BacktrackWindow):void 0),ret.addPropertyResult("backupRetentionPeriod","BackupRetentionPeriod",properties.BackupRetentionPeriod!=null?cfn_parse().FromCloudFormation.getNumber(properties.BackupRetentionPeriod):void 0),ret.addPropertyResult("clusterScalabilityType","ClusterScalabilityType",properties.ClusterScalabilityType!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterScalabilityType):void 0),ret.addPropertyResult("copyTagsToSnapshot","CopyTagsToSnapshot",properties.CopyTagsToSnapshot!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CopyTagsToSnapshot):void 0),ret.addPropertyResult("databaseInsightsMode","DatabaseInsightsMode",properties.DatabaseInsightsMode!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseInsightsMode):void 0),ret.addPropertyResult("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("dbClusterIdentifier","DBClusterIdentifier",properties.DBClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DBClusterIdentifier):void 0),ret.addPropertyResult("dbClusterInstanceClass","DBClusterInstanceClass",properties.DBClusterInstanceClass!=null?cfn_parse().FromCloudFormation.getString(properties.DBClusterInstanceClass):void 0),ret.addPropertyResult("dbClusterParameterGroupName","DBClusterParameterGroupName",properties.DBClusterParameterGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.DBClusterParameterGroupName):void 0),ret.addPropertyResult("dbInstanceParameterGroupName","DBInstanceParameterGroupName",properties.DBInstanceParameterGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.DBInstanceParameterGroupName):void 0),ret.addPropertyResult("dbSubnetGroupName","DBSubnetGroupName",properties.DBSubnetGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.DBSubnetGroupName):void 0),ret.addPropertyResult("dbSystemId","DBSystemId",properties.DBSystemId!=null?cfn_parse().FromCloudFormation.getString(properties.DBSystemId):void 0),ret.addPropertyResult("deleteAutomatedBackups","DeleteAutomatedBackups",properties.DeleteAutomatedBackups!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DeleteAutomatedBackups):void 0),ret.addPropertyResult("deletionProtection","DeletionProtection",properties.DeletionProtection!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DeletionProtection):void 0),ret.addPropertyResult("domain","Domain",properties.Domain!=null?cfn_parse().FromCloudFormation.getString(properties.Domain):void 0),ret.addPropertyResult("domainIamRoleName","DomainIAMRoleName",properties.DomainIAMRoleName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainIAMRoleName):void 0),ret.addPropertyResult("enableCloudwatchLogsExports","EnableCloudwatchLogsExports",properties.EnableCloudwatchLogsExports!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EnableCloudwatchLogsExports):void 0),ret.addPropertyResult("enableGlobalWriteForwarding","EnableGlobalWriteForwarding",properties.EnableGlobalWriteForwarding!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableGlobalWriteForwarding):void 0),ret.addPropertyResult("enableHttpEndpoint","EnableHttpEndpoint",properties.EnableHttpEndpoint!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableHttpEndpoint):void 0),ret.addPropertyResult("enableIamDatabaseAuthentication","EnableIAMDatabaseAuthentication",properties.EnableIAMDatabaseAuthentication!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableIAMDatabaseAuthentication):void 0),ret.addPropertyResult("enableLocalWriteForwarding","EnableLocalWriteForwarding",properties.EnableLocalWriteForwarding!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableLocalWriteForwarding):void 0),ret.addPropertyResult("engine","Engine",properties.Engine!=null?cfn_parse().FromCloudFormation.getString(properties.Engine):void 0),ret.addPropertyResult("engineLifecycleSupport","EngineLifecycleSupport",properties.EngineLifecycleSupport!=null?cfn_parse().FromCloudFormation.getString(properties.EngineLifecycleSupport):void 0),ret.addPropertyResult("engineMode","EngineMode",properties.EngineMode!=null?cfn_parse().FromCloudFormation.getString(properties.EngineMode):void 0),ret.addPropertyResult("engineVersion","EngineVersion",properties.EngineVersion!=null?cfn_parse().FromCloudFormation.getString(properties.EngineVersion):void 0),ret.addPropertyResult("globalClusterIdentifier","GlobalClusterIdentifier",properties.GlobalClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.GlobalClusterIdentifier):void 0),ret.addPropertyResult("iops","Iops",properties.Iops!=null?cfn_parse().FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("manageMasterUserPassword","ManageMasterUserPassword",properties.ManageMasterUserPassword!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ManageMasterUserPassword):void 0),ret.addPropertyResult("masterUserAuthenticationType","MasterUserAuthenticationType",properties.MasterUserAuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUserAuthenticationType):void 0),ret.addPropertyResult("masterUsername","MasterUsername",properties.MasterUsername!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUsername):void 0),ret.addPropertyResult("masterUserPassword","MasterUserPassword",properties.MasterUserPassword!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUserPassword):void 0),ret.addPropertyResult("masterUserSecret","MasterUserSecret",properties.MasterUserSecret!=null?CfnDBClusterMasterUserSecretPropertyFromCloudFormation(properties.MasterUserSecret):void 0),ret.addPropertyResult("monitoringInterval","MonitoringInterval",properties.MonitoringInterval!=null?cfn_parse().FromCloudFormation.getNumber(properties.MonitoringInterval):void 0),ret.addPropertyResult("monitoringRoleArn","MonitoringRoleArn",properties.MonitoringRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.MonitoringRoleArn):void 0),ret.addPropertyResult("networkType","NetworkType",properties.NetworkType!=null?cfn_parse().FromCloudFormation.getString(properties.NetworkType):void 0),ret.addPropertyResult("performanceInsightsEnabled","PerformanceInsightsEnabled",properties.PerformanceInsightsEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PerformanceInsightsEnabled):void 0),ret.addPropertyResult("performanceInsightsKmsKeyId","PerformanceInsightsKmsKeyId",properties.PerformanceInsightsKmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.PerformanceInsightsKmsKeyId):void 0),ret.addPropertyResult("performanceInsightsRetentionPeriod","PerformanceInsightsRetentionPeriod",properties.PerformanceInsightsRetentionPeriod!=null?cfn_parse().FromCloudFormation.getNumber(properties.PerformanceInsightsRetentionPeriod):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("preferredBackupWindow","PreferredBackupWindow",properties.PreferredBackupWindow!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredBackupWindow):void 0),ret.addPropertyResult("preferredMaintenanceWindow","PreferredMaintenanceWindow",properties.PreferredMaintenanceWindow!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredMaintenanceWindow):void 0),ret.addPropertyResult("publiclyAccessible","PubliclyAccessible",properties.PubliclyAccessible!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PubliclyAccessible):void 0),ret.addPropertyResult("replicationSourceIdentifier","ReplicationSourceIdentifier",properties.ReplicationSourceIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.ReplicationSourceIdentifier):void 0),ret.addPropertyResult("restoreToTime","RestoreToTime",properties.RestoreToTime!=null?cfn_parse().FromCloudFormation.getString(properties.RestoreToTime):void 0),ret.addPropertyResult("restoreType","RestoreType",properties.RestoreType!=null?cfn_parse().FromCloudFormation.getString(properties.RestoreType):void 0),ret.addPropertyResult("scalingConfiguration","ScalingConfiguration",properties.ScalingConfiguration!=null?CfnDBClusterScalingConfigurationPropertyFromCloudFormation(properties.ScalingConfiguration):void 0),ret.addPropertyResult("serverlessV2ScalingConfiguration","ServerlessV2ScalingConfiguration",properties.ServerlessV2ScalingConfiguration!=null?CfnDBClusterServerlessV2ScalingConfigurationPropertyFromCloudFormation(properties.ServerlessV2ScalingConfiguration):void 0),ret.addPropertyResult("snapshotIdentifier","SnapshotIdentifier",properties.SnapshotIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.SnapshotIdentifier):void 0),ret.addPropertyResult("sourceDbClusterIdentifier","SourceDBClusterIdentifier",properties.SourceDBClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.SourceDBClusterIdentifier):void 0),ret.addPropertyResult("sourceDbClusterResourceId","SourceDbClusterResourceId",properties.SourceDbClusterResourceId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceDbClusterResourceId):void 0),ret.addPropertyResult("sourceRegion","SourceRegion",properties.SourceRegion!=null?cfn_parse().FromCloudFormation.getString(properties.SourceRegion):void 0),ret.addPropertyResult("storageEncrypted","StorageEncrypted",properties.StorageEncrypted!=null?cfn_parse().FromCloudFormation.getBoolean(properties.StorageEncrypted):void 0),ret.addPropertyResult("storageType","StorageType",properties.StorageType!=null?cfn_parse().FromCloudFormation.getString(properties.StorageType):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("useLatestRestorableTime","UseLatestRestorableTime",properties.UseLatestRestorableTime!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseLatestRestorableTime):void 0),ret.addPropertyResult("vpcSecurityGroupIds","VpcSecurityGroupIds",properties.VpcSecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSecurityGroupIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBClusterParameterGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnDBClusterParameterGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::DBClusterParameterGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBClusterParameterGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDBClusterParameterGroup(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDBClusterParameterGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDBClusterParameterGroup.CFN_RESOURCE_TYPE_NAME}_dbClusterParameterGroupName;_description;_family;_parameters;tags;_tagsRaw;cfnPropertyNames={dbClusterParameterGroupName:"DBClusterParameterGroupName",description:"Description",family:"Family",parameters:"Parameters",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnDBClusterParameterGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnDBClusterParameterGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBClusterParameterGroup),error}cdk().requireProperty(props,"description",this),cdk().requireProperty(props,"family",this),cdk().requireProperty(props,"parameters",this),this._dbClusterParameterGroupName=props.dbClusterParameterGroupName,this._description=props.description,this._family=props.family,this._parameters=props.parameters,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::DBClusterParameterGroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get dbClusterParameterGroupRef(){return{dbClusterParameterGroupName:this.ref}}get dbClusterParameterGroupName(){return this._dbClusterParameterGroupName}set dbClusterParameterGroupName(value){cdk().traceProperty(this.node,"DBClusterParameterGroupName"),this._dbClusterParameterGroupName=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get family(){return this._family}set family(value){cdk().traceProperty(this.node,"Family"),this._family=value}get parameters(){return this._parameters}set parameters(value){cdk().traceProperty(this.node,"Parameters"),this._parameters=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get cfnProperties(){return{dbClusterParameterGroupName:this._dbClusterParameterGroupName,description:this._description,family:this._family,parameters:this._parameters,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBClusterParameterGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBClusterParameterGroupPropsToCloudFormation(props)}}exports.CfnDBClusterParameterGroup=CfnDBClusterParameterGroup;function CfnDBClusterParameterGroupPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dbClusterParameterGroupName",cdk().validateString)(properties.dbClusterParameterGroupName)),errors.collect(cdk().propertyValidator("description",cdk().requiredValidator)(properties.description)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("family",cdk().requiredValidator)(properties.family)),errors.collect(cdk().propertyValidator("family",cdk().validateString)(properties.family)),errors.collect(cdk().propertyValidator("parameters",cdk().requiredValidator)(properties.parameters)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDBClusterParameterGroupProps"')}function convertCfnDBClusterParameterGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterParameterGroupPropsValidator(properties).assertSuccess(),{DBClusterParameterGroupName:cdk().stringToCloudFormation(properties.dbClusterParameterGroupName),Description:cdk().stringToCloudFormation(properties.description),Family:cdk().stringToCloudFormation(properties.family),Parameters:cdk().objectToCloudFormation(properties.parameters),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDBClusterParameterGroupPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dbClusterParameterGroupName","DBClusterParameterGroupName",properties.DBClusterParameterGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.DBClusterParameterGroupName):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("family","Family",properties.Family!=null?cfn_parse().FromCloudFormation.getString(properties.Family):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBInstance extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnDBInstance",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::DBInstance";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBInstancePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDBInstance(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDBInstance(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDBInstance.CFN_RESOURCE_TYPE_NAME}static arnForDBInstance(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rds_IDBInstanceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDBInstance),error}return resource.dbInstanceRef.dbInstanceArn}_additionalStorageVolumes;_allocatedStorage;_allowMajorVersionUpgrade;_applyImmediately;_associatedRoles;_automaticBackupReplicationKmsKeyId;_automaticBackupReplicationRegion;_automaticBackupReplicationRetentionPeriod;_autoMinorVersionUpgrade;_availabilityZone;_backupRetentionPeriod;_backupTarget;_caCertificateIdentifier;_certificateRotationRestart;_characterSetName;_copyTagsToSnapshot;_customIamInstanceProfile;_databaseInsightsMode;_dbClusterIdentifier;_dbClusterSnapshotIdentifier;_dbInstanceClass;_dbInstanceIdentifier;_dbName;_dbParameterGroupName;_dbSecurityGroups;_dbSnapshotIdentifier;_dbSubnetGroupName;_dbSystemId;_dedicatedLogVolume;_deleteAutomatedBackups;_deletionProtection;_domain;_domainAuthSecretArn;_domainDnsIps;_domainFqdn;_domainIamRoleName;_domainOu;_enableCloudwatchLogsExports;_enableIamDatabaseAuthentication;_enablePerformanceInsights;_engine;_engineLifecycleSupport;_engineVersion;_iops;_kmsKeyId;_licenseModel;_manageMasterUserPassword;_masterUserAuthenticationType;_masterUsername;_masterUserPassword;_masterUserSecret;_maxAllocatedStorage;_monitoringInterval;_monitoringRoleArn;_multiAz;_ncharCharacterSetName;_networkType;_optionGroupName;_performanceInsightsKmsKeyId;_performanceInsightsRetentionPeriod;_port;_preferredBackupWindow;_preferredMaintenanceWindow;_processorFeatures;_promotionTier;_publiclyAccessible;_replicaMode;_restoreTime;_sourceDbClusterIdentifier;_sourceDbInstanceAutomatedBackupsArn;_sourceDbInstanceIdentifier;_sourceDbiResourceId;_sourceRegion;_storageEncrypted;_storageThroughput;_storageType;tags;_tagsRaw;_tdeCredentialArn;_tdeCredentialPassword;_timezone;_useDefaultProcessorFeatures;_useLatestRestorableTime;_vpcSecurityGroups;cfnPropertyNames={additionalStorageVolumes:"AdditionalStorageVolumes",allocatedStorage:"AllocatedStorage",allowMajorVersionUpgrade:"AllowMajorVersionUpgrade",applyImmediately:"ApplyImmediately",associatedRoles:"AssociatedRoles",automaticBackupReplicationKmsKeyId:"AutomaticBackupReplicationKmsKeyId",automaticBackupReplicationRegion:"AutomaticBackupReplicationRegion",automaticBackupReplicationRetentionPeriod:"AutomaticBackupReplicationRetentionPeriod",autoMinorVersionUpgrade:"AutoMinorVersionUpgrade",availabilityZone:"AvailabilityZone",backupRetentionPeriod:"BackupRetentionPeriod",backupTarget:"BackupTarget",caCertificateIdentifier:"CACertificateIdentifier",certificateRotationRestart:"CertificateRotationRestart",characterSetName:"CharacterSetName",copyTagsToSnapshot:"CopyTagsToSnapshot",customIamInstanceProfile:"CustomIAMInstanceProfile",databaseInsightsMode:"DatabaseInsightsMode",dbClusterIdentifier:"DBClusterIdentifier",dbClusterSnapshotIdentifier:"DBClusterSnapshotIdentifier",dbInstanceClass:"DBInstanceClass",dbInstanceIdentifier:"DBInstanceIdentifier",dbName:"DBName",dbParameterGroupName:"DBParameterGroupName",dbSecurityGroups:"DBSecurityGroups",dbSnapshotIdentifier:"DBSnapshotIdentifier",dbSubnetGroupName:"DBSubnetGroupName",dbSystemId:"DBSystemId",dedicatedLogVolume:"DedicatedLogVolume",deleteAutomatedBackups:"DeleteAutomatedBackups",deletionProtection:"DeletionProtection",domain:"Domain",domainAuthSecretArn:"DomainAuthSecretArn",domainDnsIps:"DomainDnsIps",domainFqdn:"DomainFqdn",domainIamRoleName:"DomainIAMRoleName",domainOu:"DomainOu",enableCloudwatchLogsExports:"EnableCloudwatchLogsExports",enableIamDatabaseAuthentication:"EnableIAMDatabaseAuthentication",enablePerformanceInsights:"EnablePerformanceInsights",engine:"Engine",engineLifecycleSupport:"EngineLifecycleSupport",engineVersion:"EngineVersion",iops:"Iops",kmsKeyId:"KmsKeyId",licenseModel:"LicenseModel",manageMasterUserPassword:"ManageMasterUserPassword",masterUserAuthenticationType:"MasterUserAuthenticationType",masterUsername:"MasterUsername",masterUserPassword:"MasterUserPassword",masterUserSecret:"MasterUserSecret",maxAllocatedStorage:"MaxAllocatedStorage",monitoringInterval:"MonitoringInterval",monitoringRoleArn:"MonitoringRoleArn",multiAz:"MultiAZ",ncharCharacterSetName:"NcharCharacterSetName",networkType:"NetworkType",optionGroupName:"OptionGroupName",performanceInsightsKmsKeyId:"PerformanceInsightsKMSKeyId",performanceInsightsRetentionPeriod:"PerformanceInsightsRetentionPeriod",port:"Port",preferredBackupWindow:"PreferredBackupWindow",preferredMaintenanceWindow:"PreferredMaintenanceWindow",processorFeatures:"ProcessorFeatures",promotionTier:"PromotionTier",publiclyAccessible:"PubliclyAccessible",replicaMode:"ReplicaMode",restoreTime:"RestoreTime",sourceDbClusterIdentifier:"SourceDBClusterIdentifier",sourceDbInstanceAutomatedBackupsArn:"SourceDBInstanceAutomatedBackupsArn",sourceDbInstanceIdentifier:"SourceDBInstanceIdentifier",sourceDbiResourceId:"SourceDbiResourceId",sourceRegion:"SourceRegion",storageEncrypted:"StorageEncrypted",storageThroughput:"StorageThroughput",storageType:"StorageType",tags:"Tags",tdeCredentialArn:"TdeCredentialArn",tdeCredentialPassword:"TdeCredentialPassword",timezone:"Timezone",useDefaultProcessorFeatures:"UseDefaultProcessorFeatures",useLatestRestorableTime:"UseLatestRestorableTime",vpcSecurityGroups:"VPCSecurityGroups"};constructor(scope,id,props={}){super(scope,id,{type:CfnDBInstance.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnDBInstanceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBInstance),error}this._additionalStorageVolumes=props.additionalStorageVolumes,this._allocatedStorage=props.allocatedStorage,this._allowMajorVersionUpgrade=props.allowMajorVersionUpgrade,this._applyImmediately=props.applyImmediately,this._associatedRoles=props.associatedRoles,this._automaticBackupReplicationKmsKeyId=props.automaticBackupReplicationKmsKeyId,this._automaticBackupReplicationRegion=props.automaticBackupReplicationRegion,this._automaticBackupReplicationRetentionPeriod=props.automaticBackupReplicationRetentionPeriod,this._autoMinorVersionUpgrade=props.autoMinorVersionUpgrade,this._availabilityZone=props.availabilityZone,this._backupRetentionPeriod=props.backupRetentionPeriod,this._backupTarget=props.backupTarget,this._caCertificateIdentifier=props.caCertificateIdentifier,this._certificateRotationRestart=props.certificateRotationRestart,this._characterSetName=props.characterSetName,this._copyTagsToSnapshot=props.copyTagsToSnapshot,this._customIamInstanceProfile=props.customIamInstanceProfile,this._databaseInsightsMode=props.databaseInsightsMode,this._dbClusterIdentifier=cdk().getRefProperty(props.dbClusterIdentifier?.dbClusterRef,"dbClusterIdentifier")??cdk().ensureStringOrUndefined(props.dbClusterIdentifier,"dbClusterIdentifier","rds.IDBClusterRef | string"),this._dbClusterSnapshotIdentifier=props.dbClusterSnapshotIdentifier,this._dbInstanceClass=props.dbInstanceClass,this._dbInstanceIdentifier=props.dbInstanceIdentifier,this._dbName=props.dbName,this._dbParameterGroupName=cdk().getRefProperty(props.dbParameterGroupName?.dbParameterGroupRef,"dbParameterGroupName")??cdk().ensureStringOrUndefined(props.dbParameterGroupName,"dbParameterGroupName","rds.IDBParameterGroupRef | string"),this._dbSecurityGroups=props.dbSecurityGroups,this._dbSnapshotIdentifier=props.dbSnapshotIdentifier,this._dbSubnetGroupName=cdk().getRefProperty(props.dbSubnetGroupName?.dbSubnetGroupRef,"dbSubnetGroupName")??cdk().ensureStringOrUndefined(props.dbSubnetGroupName,"dbSubnetGroupName","rds.IDBSubnetGroupRef | string"),this._dbSystemId=props.dbSystemId,this._dedicatedLogVolume=props.dedicatedLogVolume,this._deleteAutomatedBackups=props.deleteAutomatedBackups,this._deletionProtection=props.deletionProtection,this._domain=props.domain,this._domainAuthSecretArn=props.domainAuthSecretArn,this._domainDnsIps=props.domainDnsIps,this._domainFqdn=props.domainFqdn,this._domainIamRoleName=props.domainIamRoleName,this._domainOu=props.domainOu,this._enableCloudwatchLogsExports=props.enableCloudwatchLogsExports,this._enableIamDatabaseAuthentication=props.enableIamDatabaseAuthentication,this._enablePerformanceInsights=props.enablePerformanceInsights,this._engine=props.engine,this._engineLifecycleSupport=props.engineLifecycleSupport,this._engineVersion=props.engineVersion,this._iops=props.iops,this._kmsKeyId=cdk().getRefProperty(props.kmsKeyId?.keyRef,"keyArn")??cdk().getRefProperty(props.kmsKeyId?.keyRef,"keyId")??cdk().ensureStringOrUndefined(props.kmsKeyId,"kmsKeyId","kms.IKeyRef | string"),this._licenseModel=props.licenseModel,this._manageMasterUserPassword=props.manageMasterUserPassword,this._masterUserAuthenticationType=props.masterUserAuthenticationType,this._masterUsername=props.masterUsername,this._masterUserPassword=props.masterUserPassword,this._masterUserSecret=props.masterUserSecret,this._maxAllocatedStorage=props.maxAllocatedStorage,this._monitoringInterval=props.monitoringInterval,this._monitoringRoleArn=cdk().getRefProperty(props.monitoringRoleArn?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.monitoringRoleArn,"monitoringRoleArn","iam.IRoleRef | string"),this._multiAz=props.multiAz,this._ncharCharacterSetName=props.ncharCharacterSetName,this._networkType=props.networkType,this._optionGroupName=props.optionGroupName,this._performanceInsightsKmsKeyId=cdk().getRefProperty(props.performanceInsightsKmsKeyId?.keyRef,"keyArn")??cdk().getRefProperty(props.performanceInsightsKmsKeyId?.keyRef,"keyId")??cdk().ensureStringOrUndefined(props.performanceInsightsKmsKeyId,"performanceInsightsKmsKeyId","kms.IKeyRef | string"),this._performanceInsightsRetentionPeriod=props.performanceInsightsRetentionPeriod,this._port=props.port,this._preferredBackupWindow=props.preferredBackupWindow,this._preferredMaintenanceWindow=props.preferredMaintenanceWindow,this._processorFeatures=props.processorFeatures,this._promotionTier=props.promotionTier,this._publiclyAccessible=props.publiclyAccessible,this._replicaMode=props.replicaMode,this._restoreTime=props.restoreTime,this._sourceDbClusterIdentifier=props.sourceDbClusterIdentifier,this._sourceDbInstanceAutomatedBackupsArn=props.sourceDbInstanceAutomatedBackupsArn,this._sourceDbInstanceIdentifier=cdk().getRefProperty(props.sourceDbInstanceIdentifier?.dbInstanceRef,"dbInstanceIdentifier")??cdk().ensureStringOrUndefined(props.sourceDbInstanceIdentifier,"sourceDbInstanceIdentifier","rds.IDBInstanceRef | string"),this._sourceDbiResourceId=props.sourceDbiResourceId,this._sourceRegion=props.sourceRegion,this._storageEncrypted=props.storageEncrypted,this._storageThroughput=props.storageThroughput,this._storageType=props.storageType,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::DBInstance",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._tdeCredentialArn=props.tdeCredentialArn,this._tdeCredentialPassword=props.tdeCredentialPassword,this._timezone=props.timezone,this._useDefaultProcessorFeatures=props.useDefaultProcessorFeatures,this._useLatestRestorableTime=props.useLatestRestorableTime,this._vpcSecurityGroups=cdk().mapArrayInPlace(props.vpcSecurityGroups,item=>cdk().getRefProperty(item?.securityGroupRef,"securityGroupId")??cdk().ensureStringOrUndefined(item,"vpcSecurityGroups","ec2.ISecurityGroupRef | string")),this.node.scope!=null&&cdk().Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::RDS::DBInstance' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}get dbInstanceRef(){return{dbInstanceIdentifier:this.ref,dbInstanceArn:this.attrDbInstanceArn}}get additionalStorageVolumes(){return this._additionalStorageVolumes}set additionalStorageVolumes(value){cdk().traceProperty(this.node,"AdditionalStorageVolumes"),this._additionalStorageVolumes=value}get allocatedStorage(){return this._allocatedStorage}set allocatedStorage(value){cdk().traceProperty(this.node,"AllocatedStorage"),this._allocatedStorage=value}get allowMajorVersionUpgrade(){return this._allowMajorVersionUpgrade}set allowMajorVersionUpgrade(value){cdk().traceProperty(this.node,"AllowMajorVersionUpgrade"),this._allowMajorVersionUpgrade=value}get applyImmediately(){return this._applyImmediately}set applyImmediately(value){cdk().traceProperty(this.node,"ApplyImmediately"),this._applyImmediately=value}get associatedRoles(){return this._associatedRoles}set associatedRoles(value){cdk().traceProperty(this.node,"AssociatedRoles"),this._associatedRoles=value}get automaticBackupReplicationKmsKeyId(){return this._automaticBackupReplicationKmsKeyId}set automaticBackupReplicationKmsKeyId(value){cdk().traceProperty(this.node,"AutomaticBackupReplicationKmsKeyId"),this._automaticBackupReplicationKmsKeyId=value}get automaticBackupReplicationRegion(){return this._automaticBackupReplicationRegion}set automaticBackupReplicationRegion(value){cdk().traceProperty(this.node,"AutomaticBackupReplicationRegion"),this._automaticBackupReplicationRegion=value}get automaticBackupReplicationRetentionPeriod(){return this._automaticBackupReplicationRetentionPeriod}set automaticBackupReplicationRetentionPeriod(value){cdk().traceProperty(this.node,"AutomaticBackupReplicationRetentionPeriod"),this._automaticBackupReplicationRetentionPeriod=value}get autoMinorVersionUpgrade(){return this._autoMinorVersionUpgrade}set autoMinorVersionUpgrade(value){cdk().traceProperty(this.node,"AutoMinorVersionUpgrade"),this._autoMinorVersionUpgrade=value}get availabilityZone(){return this._availabilityZone}set availabilityZone(value){cdk().traceProperty(this.node,"AvailabilityZone"),this._availabilityZone=value}get backupRetentionPeriod(){return this._backupRetentionPeriod}set backupRetentionPeriod(value){cdk().traceProperty(this.node,"BackupRetentionPeriod"),this._backupRetentionPeriod=value}get backupTarget(){return this._backupTarget}set backupTarget(value){cdk().traceProperty(this.node,"BackupTarget"),this._backupTarget=value}get caCertificateIdentifier(){return this._caCertificateIdentifier}set caCertificateIdentifier(value){cdk().traceProperty(this.node,"CACertificateIdentifier"),this._caCertificateIdentifier=value}get certificateRotationRestart(){return this._certificateRotationRestart}set certificateRotationRestart(value){cdk().traceProperty(this.node,"CertificateRotationRestart"),this._certificateRotationRestart=value}get characterSetName(){return this._characterSetName}set characterSetName(value){cdk().traceProperty(this.node,"CharacterSetName"),this._characterSetName=value}get copyTagsToSnapshot(){return this._copyTagsToSnapshot}set copyTagsToSnapshot(value){cdk().traceProperty(this.node,"CopyTagsToSnapshot"),this._copyTagsToSnapshot=value}get customIamInstanceProfile(){return this._customIamInstanceProfile}set customIamInstanceProfile(value){cdk().traceProperty(this.node,"CustomIAMInstanceProfile"),this._customIamInstanceProfile=value}get databaseInsightsMode(){return this._databaseInsightsMode}set databaseInsightsMode(value){cdk().traceProperty(this.node,"DatabaseInsightsMode"),this._databaseInsightsMode=value}get dbClusterIdentifier(){return this._dbClusterIdentifier}set dbClusterIdentifier(value){cdk().traceProperty(this.node,"DBClusterIdentifier"),this._dbClusterIdentifier=value}get dbClusterSnapshotIdentifier(){return this._dbClusterSnapshotIdentifier}set dbClusterSnapshotIdentifier(value){cdk().traceProperty(this.node,"DBClusterSnapshotIdentifier"),this._dbClusterSnapshotIdentifier=value}get dbInstanceClass(){return this._dbInstanceClass}set dbInstanceClass(value){cdk().traceProperty(this.node,"DBInstanceClass"),this._dbInstanceClass=value}get dbInstanceIdentifier(){return this._dbInstanceIdentifier}set dbInstanceIdentifier(value){cdk().traceProperty(this.node,"DBInstanceIdentifier"),this._dbInstanceIdentifier=value}get dbName(){return this._dbName}set dbName(value){cdk().traceProperty(this.node,"DBName"),this._dbName=value}get dbParameterGroupName(){return this._dbParameterGroupName}set dbParameterGroupName(value){cdk().traceProperty(this.node,"DBParameterGroupName"),this._dbParameterGroupName=value}get dbSecurityGroups(){return this._dbSecurityGroups}set dbSecurityGroups(value){cdk().traceProperty(this.node,"DBSecurityGroups"),this._dbSecurityGroups=value}get dbSnapshotIdentifier(){return this._dbSnapshotIdentifier}set dbSnapshotIdentifier(value){cdk().traceProperty(this.node,"DBSnapshotIdentifier"),this._dbSnapshotIdentifier=value}get dbSubnetGroupName(){return this._dbSubnetGroupName}set dbSubnetGroupName(value){cdk().traceProperty(this.node,"DBSubnetGroupName"),this._dbSubnetGroupName=value}get dbSystemId(){return this._dbSystemId}set dbSystemId(value){cdk().traceProperty(this.node,"DBSystemId"),this._dbSystemId=value}get dedicatedLogVolume(){return this._dedicatedLogVolume}set dedicatedLogVolume(value){cdk().traceProperty(this.node,"DedicatedLogVolume"),this._dedicatedLogVolume=value}get deleteAutomatedBackups(){return this._deleteAutomatedBackups}set deleteAutomatedBackups(value){cdk().traceProperty(this.node,"DeleteAutomatedBackups"),this._deleteAutomatedBackups=value}get deletionProtection(){return this._deletionProtection}set deletionProtection(value){cdk().traceProperty(this.node,"DeletionProtection"),this._deletionProtection=value}get domain(){return this._domain}set domain(value){cdk().traceProperty(this.node,"Domain"),this._domain=value}get domainAuthSecretArn(){return this._domainAuthSecretArn}set domainAuthSecretArn(value){cdk().traceProperty(this.node,"DomainAuthSecretArn"),this._domainAuthSecretArn=value}get domainDnsIps(){return this._domainDnsIps}set domainDnsIps(value){cdk().traceProperty(this.node,"DomainDnsIps"),this._domainDnsIps=value}get domainFqdn(){return this._domainFqdn}set domainFqdn(value){cdk().traceProperty(this.node,"DomainFqdn"),this._domainFqdn=value}get domainIamRoleName(){return this._domainIamRoleName}set domainIamRoleName(value){cdk().traceProperty(this.node,"DomainIAMRoleName"),this._domainIamRoleName=value}get domainOu(){return this._domainOu}set domainOu(value){cdk().traceProperty(this.node,"DomainOu"),this._domainOu=value}get enableCloudwatchLogsExports(){return this._enableCloudwatchLogsExports}set enableCloudwatchLogsExports(value){cdk().traceProperty(this.node,"EnableCloudwatchLogsExports"),this._enableCloudwatchLogsExports=value}get enableIamDatabaseAuthentication(){return this._enableIamDatabaseAuthentication}set enableIamDatabaseAuthentication(value){cdk().traceProperty(this.node,"EnableIAMDatabaseAuthentication"),this._enableIamDatabaseAuthentication=value}get enablePerformanceInsights(){return this._enablePerformanceInsights}set enablePerformanceInsights(value){cdk().traceProperty(this.node,"EnablePerformanceInsights"),this._enablePerformanceInsights=value}get engine(){return this._engine}set engine(value){cdk().traceProperty(this.node,"Engine"),this._engine=value}get engineLifecycleSupport(){return this._engineLifecycleSupport}set engineLifecycleSupport(value){cdk().traceProperty(this.node,"EngineLifecycleSupport"),this._engineLifecycleSupport=value}get engineVersion(){return this._engineVersion}set engineVersion(value){cdk().traceProperty(this.node,"EngineVersion"),this._engineVersion=value}get iops(){return this._iops}set iops(value){cdk().traceProperty(this.node,"Iops"),this._iops=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KmsKeyId"),this._kmsKeyId=value}get licenseModel(){return this._licenseModel}set licenseModel(value){cdk().traceProperty(this.node,"LicenseModel"),this._licenseModel=value}get manageMasterUserPassword(){return this._manageMasterUserPassword}set manageMasterUserPassword(value){cdk().traceProperty(this.node,"ManageMasterUserPassword"),this._manageMasterUserPassword=value}get masterUserAuthenticationType(){return this._masterUserAuthenticationType}set masterUserAuthenticationType(value){cdk().traceProperty(this.node,"MasterUserAuthenticationType"),this._masterUserAuthenticationType=value}get masterUsername(){return this._masterUsername}set masterUsername(value){cdk().traceProperty(this.node,"MasterUsername"),this._masterUsername=value}get masterUserPassword(){return this._masterUserPassword}set masterUserPassword(value){cdk().traceProperty(this.node,"MasterUserPassword"),this._masterUserPassword=value}get masterUserSecret(){return this._masterUserSecret}set masterUserSecret(value){cdk().traceProperty(this.node,"MasterUserSecret"),this._masterUserSecret=value}get maxAllocatedStorage(){return this._maxAllocatedStorage}set maxAllocatedStorage(value){cdk().traceProperty(this.node,"MaxAllocatedStorage"),this._maxAllocatedStorage=value}get monitoringInterval(){return this._monitoringInterval}set monitoringInterval(value){cdk().traceProperty(this.node,"MonitoringInterval"),this._monitoringInterval=value}get monitoringRoleArn(){return this._monitoringRoleArn}set monitoringRoleArn(value){cdk().traceProperty(this.node,"MonitoringRoleArn"),this._monitoringRoleArn=value}get multiAz(){return this._multiAz}set multiAz(value){cdk().traceProperty(this.node,"MultiAZ"),this._multiAz=value}get ncharCharacterSetName(){return this._ncharCharacterSetName}set ncharCharacterSetName(value){cdk().traceProperty(this.node,"NcharCharacterSetName"),this._ncharCharacterSetName=value}get networkType(){return this._networkType}set networkType(value){cdk().traceProperty(this.node,"NetworkType"),this._networkType=value}get optionGroupName(){return this._optionGroupName}set optionGroupName(value){cdk().traceProperty(this.node,"OptionGroupName"),this._optionGroupName=value}get performanceInsightsKmsKeyId(){return this._performanceInsightsKmsKeyId}set performanceInsightsKmsKeyId(value){cdk().traceProperty(this.node,"PerformanceInsightsKMSKeyId"),this._performanceInsightsKmsKeyId=value}get performanceInsightsRetentionPeriod(){return this._performanceInsightsRetentionPeriod}set performanceInsightsRetentionPeriod(value){cdk().traceProperty(this.node,"PerformanceInsightsRetentionPeriod"),this._performanceInsightsRetentionPeriod=value}get port(){return this._port}set port(value){cdk().traceProperty(this.node,"Port"),this._port=value}get preferredBackupWindow(){return this._preferredBackupWindow}set preferredBackupWindow(value){cdk().traceProperty(this.node,"PreferredBackupWindow"),this._preferredBackupWindow=value}get preferredMaintenanceWindow(){return this._preferredMaintenanceWindow}set preferredMaintenanceWindow(value){cdk().traceProperty(this.node,"PreferredMaintenanceWindow"),this._preferredMaintenanceWindow=value}get processorFeatures(){return this._processorFeatures}set processorFeatures(value){cdk().traceProperty(this.node,"ProcessorFeatures"),this._processorFeatures=value}get promotionTier(){return this._promotionTier}set promotionTier(value){cdk().traceProperty(this.node,"PromotionTier"),this._promotionTier=value}get publiclyAccessible(){return this._publiclyAccessible}set publiclyAccessible(value){cdk().traceProperty(this.node,"PubliclyAccessible"),this._publiclyAccessible=value}get replicaMode(){return this._replicaMode}set replicaMode(value){cdk().traceProperty(this.node,"ReplicaMode"),this._replicaMode=value}get restoreTime(){return this._restoreTime}set restoreTime(value){cdk().traceProperty(this.node,"RestoreTime"),this._restoreTime=value}get sourceDbClusterIdentifier(){return this._sourceDbClusterIdentifier}set sourceDbClusterIdentifier(value){cdk().traceProperty(this.node,"SourceDBClusterIdentifier"),this._sourceDbClusterIdentifier=value}get sourceDbInstanceAutomatedBackupsArn(){return this._sourceDbInstanceAutomatedBackupsArn}set sourceDbInstanceAutomatedBackupsArn(value){cdk().traceProperty(this.node,"SourceDBInstanceAutomatedBackupsArn"),this._sourceDbInstanceAutomatedBackupsArn=value}get sourceDbInstanceIdentifier(){return this._sourceDbInstanceIdentifier}set sourceDbInstanceIdentifier(value){cdk().traceProperty(this.node,"SourceDBInstanceIdentifier"),this._sourceDbInstanceIdentifier=value}get sourceDbiResourceId(){return this._sourceDbiResourceId}set sourceDbiResourceId(value){cdk().traceProperty(this.node,"SourceDbiResourceId"),this._sourceDbiResourceId=value}get sourceRegion(){return this._sourceRegion}set sourceRegion(value){cdk().traceProperty(this.node,"SourceRegion"),this._sourceRegion=value}get storageEncrypted(){return this._storageEncrypted}set storageEncrypted(value){cdk().traceProperty(this.node,"StorageEncrypted"),this._storageEncrypted=value}get storageThroughput(){return this._storageThroughput}set storageThroughput(value){cdk().traceProperty(this.node,"StorageThroughput"),this._storageThroughput=value}get storageType(){return this._storageType}set storageType(value){cdk().traceProperty(this.node,"StorageType"),this._storageType=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get tdeCredentialArn(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_rds.CfnDBInstance#tdeCredentialArn","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"tdeCredentialArn").get),error}return this._tdeCredentialArn}set tdeCredentialArn(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_rds.CfnDBInstance#tdeCredentialArn","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"tdeCredentialArn").set),error}cdk().traceProperty(this.node,"TdeCredentialArn"),this._tdeCredentialArn=value}get tdeCredentialPassword(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_rds.CfnDBInstance#tdeCredentialPassword","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"tdeCredentialPassword").get),error}return this._tdeCredentialPassword}set tdeCredentialPassword(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_rds.CfnDBInstance#tdeCredentialPassword","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"tdeCredentialPassword").set),error}cdk().traceProperty(this.node,"TdeCredentialPassword"),this._tdeCredentialPassword=value}get timezone(){return this._timezone}set timezone(value){cdk().traceProperty(this.node,"Timezone"),this._timezone=value}get useDefaultProcessorFeatures(){return this._useDefaultProcessorFeatures}set useDefaultProcessorFeatures(value){cdk().traceProperty(this.node,"UseDefaultProcessorFeatures"),this._useDefaultProcessorFeatures=value}get useLatestRestorableTime(){return this._useLatestRestorableTime}set useLatestRestorableTime(value){cdk().traceProperty(this.node,"UseLatestRestorableTime"),this._useLatestRestorableTime=value}get vpcSecurityGroups(){return this._vpcSecurityGroups}set vpcSecurityGroups(value){cdk().traceProperty(this.node,"VPCSecurityGroups"),this._vpcSecurityGroups=value}get attrAutomaticRestartTime(){return cdk().Token.asString(this.getAtt("AutomaticRestartTime",cdk().ResolutionTypeHint.STRING))}get attrCertificateDetails(){return this.getAtt("CertificateDetails")}get attrCertificateDetailsCaIdentifier(){return cdk().Token.asString(this.getAtt("CertificateDetails.CAIdentifier",cdk().ResolutionTypeHint.STRING))}get attrCertificateDetailsValidTill(){return cdk().Token.asString(this.getAtt("CertificateDetails.ValidTill",cdk().ResolutionTypeHint.STRING))}get attrDbInstanceArn(){return cdk().Token.asString(this.getAtt("DBInstanceArn",cdk().ResolutionTypeHint.STRING))}get attrDbInstanceStatus(){return cdk().Token.asString(this.getAtt("DBInstanceStatus",cdk().ResolutionTypeHint.STRING))}get attrDbiResourceId(){return cdk().Token.asString(this.getAtt("DbiResourceId",cdk().ResolutionTypeHint.STRING))}get attrDbSystemId(){return cdk().Token.asString(this.getAtt("DBSystemId",cdk().ResolutionTypeHint.STRING))}get attrEndpoint(){return this.getAtt("Endpoint")}get attrEndpointAddress(){return cdk().Token.asString(this.getAtt("Endpoint.Address",cdk().ResolutionTypeHint.STRING))}get attrEndpointHostedZoneId(){return cdk().Token.asString(this.getAtt("Endpoint.HostedZoneId",cdk().ResolutionTypeHint.STRING))}get attrEndpointPort(){return cdk().Token.asString(this.getAtt("Endpoint.Port",cdk().ResolutionTypeHint.STRING))}get attrInstanceCreateTime(){return cdk().Token.asString(this.getAtt("InstanceCreateTime",cdk().ResolutionTypeHint.STRING))}get attrIsStorageConfigUpgradeAvailable(){return this.getAtt("IsStorageConfigUpgradeAvailable")}get attrLatestRestorableTime(){return cdk().Token.asString(this.getAtt("LatestRestorableTime",cdk().ResolutionTypeHint.STRING))}get attrListenerEndpoint(){return this.getAtt("ListenerEndpoint")}get attrListenerEndpointAddress(){return cdk().Token.asString(this.getAtt("ListenerEndpoint.Address",cdk().ResolutionTypeHint.STRING))}get attrListenerEndpointHostedZoneId(){return cdk().Token.asString(this.getAtt("ListenerEndpoint.HostedZoneId",cdk().ResolutionTypeHint.STRING))}get attrListenerEndpointPort(){return cdk().Token.asString(this.getAtt("ListenerEndpoint.Port",cdk().ResolutionTypeHint.STRING))}get attrMasterUserSecretSecretArn(){return cdk().Token.asString(this.getAtt("MasterUserSecret.SecretArn",cdk().ResolutionTypeHint.STRING))}get attrPercentProgress(){return cdk().Token.asString(this.getAtt("PercentProgress",cdk().ResolutionTypeHint.STRING))}get attrReadReplicaDbClusterIdentifiers(){return cdk().Token.asList(this.getAtt("ReadReplicaDBClusterIdentifiers",cdk().ResolutionTypeHint.STRING_LIST))}get attrReadReplicaDbInstanceIdentifiers(){return cdk().Token.asList(this.getAtt("ReadReplicaDBInstanceIdentifiers",cdk().ResolutionTypeHint.STRING_LIST))}get attrResumeFullAutomationModeTime(){return cdk().Token.asString(this.getAtt("ResumeFullAutomationModeTime",cdk().ResolutionTypeHint.STRING))}get attrSecondaryAvailabilityZone(){return cdk().Token.asString(this.getAtt("SecondaryAvailabilityZone",cdk().ResolutionTypeHint.STRING))}get attrStatusInfos(){return this.getAtt("StatusInfos")}get cfnProperties(){return{additionalStorageVolumes:this._additionalStorageVolumes,allocatedStorage:this._allocatedStorage,allowMajorVersionUpgrade:this._allowMajorVersionUpgrade,applyImmediately:this._applyImmediately,associatedRoles:this._associatedRoles,automaticBackupReplicationKmsKeyId:this._automaticBackupReplicationKmsKeyId,automaticBackupReplicationRegion:this._automaticBackupReplicationRegion,automaticBackupReplicationRetentionPeriod:this._automaticBackupReplicationRetentionPeriod,autoMinorVersionUpgrade:this._autoMinorVersionUpgrade,availabilityZone:this._availabilityZone,backupRetentionPeriod:this._backupRetentionPeriod,backupTarget:this._backupTarget,caCertificateIdentifier:this._caCertificateIdentifier,certificateRotationRestart:this._certificateRotationRestart,characterSetName:this._characterSetName,copyTagsToSnapshot:this._copyTagsToSnapshot,customIamInstanceProfile:this._customIamInstanceProfile,databaseInsightsMode:this._databaseInsightsMode,dbClusterIdentifier:this._dbClusterIdentifier,dbClusterSnapshotIdentifier:this._dbClusterSnapshotIdentifier,dbInstanceClass:this._dbInstanceClass,dbInstanceIdentifier:this._dbInstanceIdentifier,dbName:this._dbName,dbParameterGroupName:this._dbParameterGroupName,dbSecurityGroups:this._dbSecurityGroups,dbSnapshotIdentifier:this._dbSnapshotIdentifier,dbSubnetGroupName:this._dbSubnetGroupName,dbSystemId:this._dbSystemId,dedicatedLogVolume:this._dedicatedLogVolume,deleteAutomatedBackups:this._deleteAutomatedBackups,deletionProtection:this._deletionProtection,domain:this._domain,domainAuthSecretArn:this._domainAuthSecretArn,domainDnsIps:this._domainDnsIps,domainFqdn:this._domainFqdn,domainIamRoleName:this._domainIamRoleName,domainOu:this._domainOu,enableCloudwatchLogsExports:this._enableCloudwatchLogsExports,enableIamDatabaseAuthentication:this._enableIamDatabaseAuthentication,enablePerformanceInsights:this._enablePerformanceInsights,engine:this._engine,engineLifecycleSupport:this._engineLifecycleSupport,engineVersion:this._engineVersion,iops:this._iops,kmsKeyId:this._kmsKeyId,licenseModel:this._licenseModel,manageMasterUserPassword:this._manageMasterUserPassword,masterUserAuthenticationType:this._masterUserAuthenticationType,masterUsername:this._masterUsername,masterUserPassword:this._masterUserPassword,masterUserSecret:this._masterUserSecret,maxAllocatedStorage:this._maxAllocatedStorage,monitoringInterval:this._monitoringInterval,monitoringRoleArn:this._monitoringRoleArn,multiAz:this._multiAz,ncharCharacterSetName:this._ncharCharacterSetName,networkType:this._networkType,optionGroupName:this._optionGroupName,performanceInsightsKmsKeyId:this._performanceInsightsKmsKeyId,performanceInsightsRetentionPeriod:this._performanceInsightsRetentionPeriod,port:this._port,preferredBackupWindow:this._preferredBackupWindow,preferredMaintenanceWindow:this._preferredMaintenanceWindow,processorFeatures:this._processorFeatures,promotionTier:this._promotionTier,publiclyAccessible:this._publiclyAccessible,replicaMode:this._replicaMode,restoreTime:this._restoreTime,sourceDbClusterIdentifier:this._sourceDbClusterIdentifier,sourceDbInstanceAutomatedBackupsArn:this._sourceDbInstanceAutomatedBackupsArn,sourceDbInstanceIdentifier:this._sourceDbInstanceIdentifier,sourceDbiResourceId:this._sourceDbiResourceId,sourceRegion:this._sourceRegion,storageEncrypted:this._storageEncrypted,storageThroughput:this._storageThroughput,storageType:this._storageType,tags:this.tags.renderTags(),tdeCredentialArn:this._tdeCredentialArn,tdeCredentialPassword:this._tdeCredentialPassword,timezone:this._timezone,useDefaultProcessorFeatures:this._useDefaultProcessorFeatures,useLatestRestorableTime:this._useLatestRestorableTime,vpcSecurityGroups:this._vpcSecurityGroups}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBInstance.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBInstancePropsToCloudFormation(props)}}exports.CfnDBInstance=CfnDBInstance;function CfnDBInstanceMasterUserSecretPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "MasterUserSecretProperty"')}function convertCfnDBInstanceMasterUserSecretPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBInstanceMasterUserSecretPropertyValidator(properties).assertSuccess(),{KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnDBInstanceMasterUserSecretPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBInstanceDBInstanceRolePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("featureName",cdk().requiredValidator)(properties.featureName)),errors.collect(cdk().propertyValidator("featureName",cdk().validateString)(properties.featureName)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "DBInstanceRoleProperty"')}function convertCfnDBInstanceDBInstanceRolePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBInstanceDBInstanceRolePropertyValidator(properties).assertSuccess(),{FeatureName:cdk().stringToCloudFormation(properties.featureName),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnDBInstanceDBInstanceRolePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("featureName","FeatureName",properties.FeatureName!=null?cfn_parse().FromCloudFormation.getString(properties.FeatureName):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBInstanceProcessorFeaturePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "ProcessorFeatureProperty"')}function convertCfnDBInstanceProcessorFeaturePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBInstanceProcessorFeaturePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnDBInstanceProcessorFeaturePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBInstanceAdditionalStorageVolumePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allocatedStorage",cdk().validateString)(properties.allocatedStorage)),errors.collect(cdk().propertyValidator("iops",cdk().validateNumber)(properties.iops)),errors.collect(cdk().propertyValidator("maxAllocatedStorage",cdk().validateNumber)(properties.maxAllocatedStorage)),errors.collect(cdk().propertyValidator("storageThroughput",cdk().validateNumber)(properties.storageThroughput)),errors.collect(cdk().propertyValidator("storageType",cdk().validateString)(properties.storageType)),errors.collect(cdk().propertyValidator("volumeName",cdk().validateString)(properties.volumeName)),errors.wrap('supplied properties not correct for "AdditionalStorageVolumeProperty"')}function convertCfnDBInstanceAdditionalStorageVolumePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBInstanceAdditionalStorageVolumePropertyValidator(properties).assertSuccess(),{AllocatedStorage:cdk().stringToCloudFormation(properties.allocatedStorage),Iops:cdk().numberToCloudFormation(properties.iops),MaxAllocatedStorage:cdk().numberToCloudFormation(properties.maxAllocatedStorage),StorageThroughput:cdk().numberToCloudFormation(properties.storageThroughput),StorageType:cdk().stringToCloudFormation(properties.storageType),VolumeName:cdk().stringToCloudFormation(properties.volumeName)}):properties}function CfnDBInstanceAdditionalStorageVolumePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allocatedStorage","AllocatedStorage",properties.AllocatedStorage!=null?cfn_parse().FromCloudFormation.getString(properties.AllocatedStorage):void 0),ret.addPropertyResult("iops","Iops",properties.Iops!=null?cfn_parse().FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("maxAllocatedStorage","MaxAllocatedStorage",properties.MaxAllocatedStorage!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxAllocatedStorage):void 0),ret.addPropertyResult("storageThroughput","StorageThroughput",properties.StorageThroughput!=null?cfn_parse().FromCloudFormation.getNumber(properties.StorageThroughput):void 0),ret.addPropertyResult("storageType","StorageType",properties.StorageType!=null?cfn_parse().FromCloudFormation.getString(properties.StorageType):void 0),ret.addPropertyResult("volumeName","VolumeName",properties.VolumeName!=null?cfn_parse().FromCloudFormation.getString(properties.VolumeName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBInstanceCertificateDetailsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("caIdentifier",cdk().validateString)(properties.caIdentifier)),errors.collect(cdk().propertyValidator("validTill",cdk().validateString)(properties.validTill)),errors.wrap('supplied properties not correct for "CertificateDetailsProperty"')}function convertCfnDBInstanceCertificateDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBInstanceCertificateDetailsPropertyValidator(properties).assertSuccess(),{CAIdentifier:cdk().stringToCloudFormation(properties.caIdentifier),ValidTill:cdk().stringToCloudFormation(properties.validTill)}):properties}function CfnDBInstanceCertificateDetailsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("caIdentifier","CAIdentifier",properties.CAIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.CAIdentifier):void 0),ret.addPropertyResult("validTill","ValidTill",properties.ValidTill!=null?cfn_parse().FromCloudFormation.getString(properties.ValidTill):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBInstanceEndpointPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("address",cdk().validateString)(properties.address)),errors.collect(cdk().propertyValidator("hostedZoneId",cdk().validateString)(properties.hostedZoneId)),errors.collect(cdk().propertyValidator("port",cdk().validateString)(properties.port)),errors.wrap('supplied properties not correct for "EndpointProperty"')}function convertCfnDBInstanceEndpointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBInstanceEndpointPropertyValidator(properties).assertSuccess(),{Address:cdk().stringToCloudFormation(properties.address),HostedZoneId:cdk().stringToCloudFormation(properties.hostedZoneId),Port:cdk().stringToCloudFormation(properties.port)}):properties}function CfnDBInstanceEndpointPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("address","Address",properties.Address!=null?cfn_parse().FromCloudFormation.getString(properties.Address):void 0),ret.addPropertyResult("hostedZoneId","HostedZoneId",properties.HostedZoneId!=null?cfn_parse().FromCloudFormation.getString(properties.HostedZoneId):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getString(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBInstanceDBInstanceStatusInfoPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("message",cdk().validateString)(properties.message)),errors.collect(cdk().propertyValidator("normal",cdk().validateBoolean)(properties.normal)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("statusType",cdk().validateString)(properties.statusType)),errors.wrap('supplied properties not correct for "DBInstanceStatusInfoProperty"')}function convertCfnDBInstanceDBInstanceStatusInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBInstanceDBInstanceStatusInfoPropertyValidator(properties).assertSuccess(),{Message:cdk().stringToCloudFormation(properties.message),Normal:cdk().booleanToCloudFormation(properties.normal),Status:cdk().stringToCloudFormation(properties.status),StatusType:cdk().stringToCloudFormation(properties.statusType)}):properties}function CfnDBInstanceDBInstanceStatusInfoPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addPropertyResult("normal","Normal",properties.Normal!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Normal):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("statusType","StatusType",properties.StatusType!=null?cfn_parse().FromCloudFormation.getString(properties.StatusType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBInstancePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("additionalStorageVolumes",cdk().listValidator(CfnDBInstanceAdditionalStorageVolumePropertyValidator))(properties.additionalStorageVolumes)),errors.collect(cdk().propertyValidator("allocatedStorage",cdk().validateString)(properties.allocatedStorage)),errors.collect(cdk().propertyValidator("allowMajorVersionUpgrade",cdk().validateBoolean)(properties.allowMajorVersionUpgrade)),errors.collect(cdk().propertyValidator("applyImmediately",cdk().validateBoolean)(properties.applyImmediately)),errors.collect(cdk().propertyValidator("associatedRoles",cdk().listValidator(CfnDBInstanceDBInstanceRolePropertyValidator))(properties.associatedRoles)),errors.collect(cdk().propertyValidator("autoMinorVersionUpgrade",cdk().validateBoolean)(properties.autoMinorVersionUpgrade)),errors.collect(cdk().propertyValidator("automaticBackupReplicationKmsKeyId",cdk().validateString)(properties.automaticBackupReplicationKmsKeyId)),errors.collect(cdk().propertyValidator("automaticBackupReplicationRegion",cdk().validateString)(properties.automaticBackupReplicationRegion)),errors.collect(cdk().propertyValidator("automaticBackupReplicationRetentionPeriod",cdk().validateNumber)(properties.automaticBackupReplicationRetentionPeriod)),errors.collect(cdk().propertyValidator("availabilityZone",cdk().validateString)(properties.availabilityZone)),errors.collect(cdk().propertyValidator("backupRetentionPeriod",cdk().validateNumber)(properties.backupRetentionPeriod)),errors.collect(cdk().propertyValidator("backupTarget",cdk().validateString)(properties.backupTarget)),errors.collect(cdk().propertyValidator("caCertificateIdentifier",cdk().validateString)(properties.caCertificateIdentifier)),errors.collect(cdk().propertyValidator("certificateRotationRestart",cdk().validateBoolean)(properties.certificateRotationRestart)),errors.collect(cdk().propertyValidator("characterSetName",cdk().validateString)(properties.characterSetName)),errors.collect(cdk().propertyValidator("copyTagsToSnapshot",cdk().validateBoolean)(properties.copyTagsToSnapshot)),errors.collect(cdk().propertyValidator("customIamInstanceProfile",cdk().validateString)(properties.customIamInstanceProfile)),errors.collect(cdk().propertyValidator("dbClusterIdentifier",cdk().validateString)(properties.dbClusterIdentifier)),errors.collect(cdk().propertyValidator("dbClusterSnapshotIdentifier",cdk().validateString)(properties.dbClusterSnapshotIdentifier)),errors.collect(cdk().propertyValidator("dbInstanceClass",cdk().validateString)(properties.dbInstanceClass)),errors.collect(cdk().propertyValidator("dbInstanceIdentifier",cdk().validateString)(properties.dbInstanceIdentifier)),errors.collect(cdk().propertyValidator("dbName",cdk().validateString)(properties.dbName)),errors.collect(cdk().propertyValidator("dbParameterGroupName",cdk().validateString)(properties.dbParameterGroupName)),errors.collect(cdk().propertyValidator("dbSecurityGroups",cdk().listValidator(cdk().validateString))(properties.dbSecurityGroups)),errors.collect(cdk().propertyValidator("dbSnapshotIdentifier",cdk().validateString)(properties.dbSnapshotIdentifier)),errors.collect(cdk().propertyValidator("dbSubnetGroupName",cdk().validateString)(properties.dbSubnetGroupName)),errors.collect(cdk().propertyValidator("dbSystemId",cdk().validateString)(properties.dbSystemId)),errors.collect(cdk().propertyValidator("databaseInsightsMode",cdk().validateString)(properties.databaseInsightsMode)),errors.collect(cdk().propertyValidator("dedicatedLogVolume",cdk().validateBoolean)(properties.dedicatedLogVolume)),errors.collect(cdk().propertyValidator("deleteAutomatedBackups",cdk().validateBoolean)(properties.deleteAutomatedBackups)),errors.collect(cdk().propertyValidator("deletionProtection",cdk().validateBoolean)(properties.deletionProtection)),errors.collect(cdk().propertyValidator("domain",cdk().validateString)(properties.domain)),errors.collect(cdk().propertyValidator("domainAuthSecretArn",cdk().validateString)(properties.domainAuthSecretArn)),errors.collect(cdk().propertyValidator("domainDnsIps",cdk().listValidator(cdk().validateString))(properties.domainDnsIps)),errors.collect(cdk().propertyValidator("domainFqdn",cdk().validateString)(properties.domainFqdn)),errors.collect(cdk().propertyValidator("domainIamRoleName",cdk().validateString)(properties.domainIamRoleName)),errors.collect(cdk().propertyValidator("domainOu",cdk().validateString)(properties.domainOu)),errors.collect(cdk().propertyValidator("enableCloudwatchLogsExports",cdk().listValidator(cdk().validateString))(properties.enableCloudwatchLogsExports)),errors.collect(cdk().propertyValidator("enableIamDatabaseAuthentication",cdk().validateBoolean)(properties.enableIamDatabaseAuthentication)),errors.collect(cdk().propertyValidator("enablePerformanceInsights",cdk().validateBoolean)(properties.enablePerformanceInsights)),errors.collect(cdk().propertyValidator("engine",cdk().validateString)(properties.engine)),errors.collect(cdk().propertyValidator("engineLifecycleSupport",cdk().validateString)(properties.engineLifecycleSupport)),errors.collect(cdk().propertyValidator("engineVersion",cdk().validateString)(properties.engineVersion)),errors.collect(cdk().propertyValidator("iops",cdk().validateNumber)(properties.iops)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("licenseModel",cdk().validateString)(properties.licenseModel)),errors.collect(cdk().propertyValidator("manageMasterUserPassword",cdk().validateBoolean)(properties.manageMasterUserPassword)),errors.collect(cdk().propertyValidator("masterUserAuthenticationType",cdk().validateString)(properties.masterUserAuthenticationType)),errors.collect(cdk().propertyValidator("masterUserPassword",cdk().validateString)(properties.masterUserPassword)),errors.collect(cdk().propertyValidator("masterUserSecret",CfnDBInstanceMasterUserSecretPropertyValidator)(properties.masterUserSecret)),errors.collect(cdk().propertyValidator("masterUsername",cdk().validateString)(properties.masterUsername)),errors.collect(cdk().propertyValidator("maxAllocatedStorage",cdk().validateNumber)(properties.maxAllocatedStorage)),errors.collect(cdk().propertyValidator("monitoringInterval",cdk().validateNumber)(properties.monitoringInterval)),errors.collect(cdk().propertyValidator("monitoringRoleArn",cdk().validateString)(properties.monitoringRoleArn)),errors.collect(cdk().propertyValidator("multiAz",cdk().validateBoolean)(properties.multiAz)),errors.collect(cdk().propertyValidator("ncharCharacterSetName",cdk().validateString)(properties.ncharCharacterSetName)),errors.collect(cdk().propertyValidator("networkType",cdk().validateString)(properties.networkType)),errors.collect(cdk().propertyValidator("optionGroupName",cdk().validateString)(properties.optionGroupName)),errors.collect(cdk().propertyValidator("performanceInsightsKmsKeyId",cdk().validateString)(properties.performanceInsightsKmsKeyId)),errors.collect(cdk().propertyValidator("performanceInsightsRetentionPeriod",cdk().validateNumber)(properties.performanceInsightsRetentionPeriod)),errors.collect(cdk().propertyValidator("port",cdk().validateString)(properties.port)),errors.collect(cdk().propertyValidator("preferredBackupWindow",cdk().validateString)(properties.preferredBackupWindow)),errors.collect(cdk().propertyValidator("preferredMaintenanceWindow",cdk().validateString)(properties.preferredMaintenanceWindow)),errors.collect(cdk().propertyValidator("processorFeatures",cdk().listValidator(CfnDBInstanceProcessorFeaturePropertyValidator))(properties.processorFeatures)),errors.collect(cdk().propertyValidator("promotionTier",cdk().validateNumber)(properties.promotionTier)),errors.collect(cdk().propertyValidator("publiclyAccessible",cdk().validateBoolean)(properties.publiclyAccessible)),errors.collect(cdk().propertyValidator("replicaMode",cdk().validateString)(properties.replicaMode)),errors.collect(cdk().propertyValidator("restoreTime",cdk().validateString)(properties.restoreTime)),errors.collect(cdk().propertyValidator("sourceDbClusterIdentifier",cdk().validateString)(properties.sourceDbClusterIdentifier)),errors.collect(cdk().propertyValidator("sourceDbInstanceAutomatedBackupsArn",cdk().validateString)(properties.sourceDbInstanceAutomatedBackupsArn)),errors.collect(cdk().propertyValidator("sourceDbInstanceIdentifier",cdk().validateString)(properties.sourceDbInstanceIdentifier)),errors.collect(cdk().propertyValidator("sourceDbiResourceId",cdk().validateString)(properties.sourceDbiResourceId)),errors.collect(cdk().propertyValidator("sourceRegion",cdk().validateString)(properties.sourceRegion)),errors.collect(cdk().propertyValidator("storageEncrypted",cdk().validateBoolean)(properties.storageEncrypted)),errors.collect(cdk().propertyValidator("storageThroughput",cdk().validateNumber)(properties.storageThroughput)),errors.collect(cdk().propertyValidator("storageType",cdk().validateString)(properties.storageType)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("tdeCredentialArn",cdk().validateString)(properties.tdeCredentialArn)),errors.collect(cdk().propertyValidator("tdeCredentialPassword",cdk().validateString)(properties.tdeCredentialPassword)),errors.collect(cdk().propertyValidator("timezone",cdk().validateString)(properties.timezone)),errors.collect(cdk().propertyValidator("useDefaultProcessorFeatures",cdk().validateBoolean)(properties.useDefaultProcessorFeatures)),errors.collect(cdk().propertyValidator("useLatestRestorableTime",cdk().validateBoolean)(properties.useLatestRestorableTime)),errors.collect(cdk().propertyValidator("vpcSecurityGroups",cdk().listValidator(cdk().validateString))(properties.vpcSecurityGroups)),errors.wrap('supplied properties not correct for "CfnDBInstanceProps"')}function convertCfnDBInstancePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBInstancePropsValidator(properties).assertSuccess(),{AdditionalStorageVolumes:cdk().listMapper(convertCfnDBInstanceAdditionalStorageVolumePropertyToCloudFormation)(properties.additionalStorageVolumes),AllocatedStorage:cdk().stringToCloudFormation(properties.allocatedStorage),AllowMajorVersionUpgrade:cdk().booleanToCloudFormation(properties.allowMajorVersionUpgrade),ApplyImmediately:cdk().booleanToCloudFormation(properties.applyImmediately),AssociatedRoles:cdk().listMapper(convertCfnDBInstanceDBInstanceRolePropertyToCloudFormation)(properties.associatedRoles),AutoMinorVersionUpgrade:cdk().booleanToCloudFormation(properties.autoMinorVersionUpgrade),AutomaticBackupReplicationKmsKeyId:cdk().stringToCloudFormation(properties.automaticBackupReplicationKmsKeyId),AutomaticBackupReplicationRegion:cdk().stringToCloudFormation(properties.automaticBackupReplicationRegion),AutomaticBackupReplicationRetentionPeriod:cdk().numberToCloudFormation(properties.automaticBackupReplicationRetentionPeriod),AvailabilityZone:cdk().stringToCloudFormation(properties.availabilityZone),BackupRetentionPeriod:cdk().numberToCloudFormation(properties.backupRetentionPeriod),BackupTarget:cdk().stringToCloudFormation(properties.backupTarget),CACertificateIdentifier:cdk().stringToCloudFormation(properties.caCertificateIdentifier),CertificateRotationRestart:cdk().booleanToCloudFormation(properties.certificateRotationRestart),CharacterSetName:cdk().stringToCloudFormation(properties.characterSetName),CopyTagsToSnapshot:cdk().booleanToCloudFormation(properties.copyTagsToSnapshot),CustomIAMInstanceProfile:cdk().stringToCloudFormation(properties.customIamInstanceProfile),DBClusterIdentifier:cdk().stringToCloudFormation(properties.dbClusterIdentifier),DBClusterSnapshotIdentifier:cdk().stringToCloudFormation(properties.dbClusterSnapshotIdentifier),DBInstanceClass:cdk().stringToCloudFormation(properties.dbInstanceClass),DBInstanceIdentifier:cdk().stringToCloudFormation(properties.dbInstanceIdentifier),DBName:cdk().stringToCloudFormation(properties.dbName),DBParameterGroupName:cdk().stringToCloudFormation(properties.dbParameterGroupName),DBSecurityGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.dbSecurityGroups),DBSnapshotIdentifier:cdk().stringToCloudFormation(properties.dbSnapshotIdentifier),DBSubnetGroupName:cdk().stringToCloudFormation(properties.dbSubnetGroupName),DBSystemId:cdk().stringToCloudFormation(properties.dbSystemId),DatabaseInsightsMode:cdk().stringToCloudFormation(properties.databaseInsightsMode),DedicatedLogVolume:cdk().booleanToCloudFormation(properties.dedicatedLogVolume),DeleteAutomatedBackups:cdk().booleanToCloudFormation(properties.deleteAutomatedBackups),DeletionProtection:cdk().booleanToCloudFormation(properties.deletionProtection),Domain:cdk().stringToCloudFormation(properties.domain),DomainAuthSecretArn:cdk().stringToCloudFormation(properties.domainAuthSecretArn),DomainDnsIps:cdk().listMapper(cdk().stringToCloudFormation)(properties.domainDnsIps),DomainFqdn:cdk().stringToCloudFormation(properties.domainFqdn),DomainIAMRoleName:cdk().stringToCloudFormation(properties.domainIamRoleName),DomainOu:cdk().stringToCloudFormation(properties.domainOu),EnableCloudwatchLogsExports:cdk().listMapper(cdk().stringToCloudFormation)(properties.enableCloudwatchLogsExports),EnableIAMDatabaseAuthentication:cdk().booleanToCloudFormation(properties.enableIamDatabaseAuthentication),EnablePerformanceInsights:cdk().booleanToCloudFormation(properties.enablePerformanceInsights),Engine:cdk().stringToCloudFormation(properties.engine),EngineLifecycleSupport:cdk().stringToCloudFormation(properties.engineLifecycleSupport),EngineVersion:cdk().stringToCloudFormation(properties.engineVersion),Iops:cdk().numberToCloudFormation(properties.iops),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),LicenseModel:cdk().stringToCloudFormation(properties.licenseModel),ManageMasterUserPassword:cdk().booleanToCloudFormation(properties.manageMasterUserPassword),MasterUserAuthenticationType:cdk().stringToCloudFormation(properties.masterUserAuthenticationType),MasterUserPassword:cdk().stringToCloudFormation(properties.masterUserPassword),MasterUserSecret:convertCfnDBInstanceMasterUserSecretPropertyToCloudFormation(properties.masterUserSecret),MasterUsername:cdk().stringToCloudFormation(properties.masterUsername),MaxAllocatedStorage:cdk().numberToCloudFormation(properties.maxAllocatedStorage),MonitoringInterval:cdk().numberToCloudFormation(properties.monitoringInterval),MonitoringRoleArn:cdk().stringToCloudFormation(properties.monitoringRoleArn),MultiAZ:cdk().booleanToCloudFormation(properties.multiAz),NcharCharacterSetName:cdk().stringToCloudFormation(properties.ncharCharacterSetName),NetworkType:cdk().stringToCloudFormation(properties.networkType),OptionGroupName:cdk().stringToCloudFormation(properties.optionGroupName),PerformanceInsightsKMSKeyId:cdk().stringToCloudFormation(properties.performanceInsightsKmsKeyId),PerformanceInsightsRetentionPeriod:cdk().numberToCloudFormation(properties.performanceInsightsRetentionPeriod),Port:cdk().stringToCloudFormation(properties.port),PreferredBackupWindow:cdk().stringToCloudFormation(properties.preferredBackupWindow),PreferredMaintenanceWindow:cdk().stringToCloudFormation(properties.preferredMaintenanceWindow),ProcessorFeatures:cdk().listMapper(convertCfnDBInstanceProcessorFeaturePropertyToCloudFormation)(properties.processorFeatures),PromotionTier:cdk().numberToCloudFormation(properties.promotionTier),PubliclyAccessible:cdk().booleanToCloudFormation(properties.publiclyAccessible),ReplicaMode:cdk().stringToCloudFormation(properties.replicaMode),RestoreTime:cdk().stringToCloudFormation(properties.restoreTime),SourceDBClusterIdentifier:cdk().stringToCloudFormation(properties.sourceDbClusterIdentifier),SourceDBInstanceAutomatedBackupsArn:cdk().stringToCloudFormation(properties.sourceDbInstanceAutomatedBackupsArn),SourceDBInstanceIdentifier:cdk().stringToCloudFormation(properties.sourceDbInstanceIdentifier),SourceDbiResourceId:cdk().stringToCloudFormation(properties.sourceDbiResourceId),SourceRegion:cdk().stringToCloudFormation(properties.sourceRegion),StorageEncrypted:cdk().booleanToCloudFormation(properties.storageEncrypted),StorageThroughput:cdk().numberToCloudFormation(properties.storageThroughput),StorageType:cdk().stringToCloudFormation(properties.storageType),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TdeCredentialArn:cdk().stringToCloudFormation(properties.tdeCredentialArn),TdeCredentialPassword:cdk().stringToCloudFormation(properties.tdeCredentialPassword),Timezone:cdk().stringToCloudFormation(properties.timezone),UseDefaultProcessorFeatures:cdk().booleanToCloudFormation(properties.useDefaultProcessorFeatures),UseLatestRestorableTime:cdk().booleanToCloudFormation(properties.useLatestRestorableTime),VPCSecurityGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSecurityGroups)}):properties}function CfnDBInstancePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("additionalStorageVolumes","AdditionalStorageVolumes",properties.AdditionalStorageVolumes!=null?cfn_parse().FromCloudFormation.getArray(CfnDBInstanceAdditionalStorageVolumePropertyFromCloudFormation)(properties.AdditionalStorageVolumes):void 0),ret.addPropertyResult("allocatedStorage","AllocatedStorage",properties.AllocatedStorage!=null?cfn_parse().FromCloudFormation.getString(properties.AllocatedStorage):void 0),ret.addPropertyResult("allowMajorVersionUpgrade","AllowMajorVersionUpgrade",properties.AllowMajorVersionUpgrade!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowMajorVersionUpgrade):void 0),ret.addPropertyResult("applyImmediately","ApplyImmediately",properties.ApplyImmediately!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ApplyImmediately):void 0),ret.addPropertyResult("associatedRoles","AssociatedRoles",properties.AssociatedRoles!=null?cfn_parse().FromCloudFormation.getArray(CfnDBInstanceDBInstanceRolePropertyFromCloudFormation)(properties.AssociatedRoles):void 0),ret.addPropertyResult("automaticBackupReplicationKmsKeyId","AutomaticBackupReplicationKmsKeyId",properties.AutomaticBackupReplicationKmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.AutomaticBackupReplicationKmsKeyId):void 0),ret.addPropertyResult("automaticBackupReplicationRegion","AutomaticBackupReplicationRegion",properties.AutomaticBackupReplicationRegion!=null?cfn_parse().FromCloudFormation.getString(properties.AutomaticBackupReplicationRegion):void 0),ret.addPropertyResult("automaticBackupReplicationRetentionPeriod","AutomaticBackupReplicationRetentionPeriod",properties.AutomaticBackupReplicationRetentionPeriod!=null?cfn_parse().FromCloudFormation.getNumber(properties.AutomaticBackupReplicationRetentionPeriod):void 0),ret.addPropertyResult("autoMinorVersionUpgrade","AutoMinorVersionUpgrade",properties.AutoMinorVersionUpgrade!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoMinorVersionUpgrade):void 0),ret.addPropertyResult("availabilityZone","AvailabilityZone",properties.AvailabilityZone!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityZone):void 0),ret.addPropertyResult("backupRetentionPeriod","BackupRetentionPeriod",properties.BackupRetentionPeriod!=null?cfn_parse().FromCloudFormation.getNumber(properties.BackupRetentionPeriod):void 0),ret.addPropertyResult("backupTarget","BackupTarget",properties.BackupTarget!=null?cfn_parse().FromCloudFormation.getString(properties.BackupTarget):void 0),ret.addPropertyResult("caCertificateIdentifier","CACertificateIdentifier",properties.CACertificateIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.CACertificateIdentifier):void 0),ret.addPropertyResult("certificateRotationRestart","CertificateRotationRestart",properties.CertificateRotationRestart!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CertificateRotationRestart):void 0),ret.addPropertyResult("characterSetName","CharacterSetName",properties.CharacterSetName!=null?cfn_parse().FromCloudFormation.getString(properties.CharacterSetName):void 0),ret.addPropertyResult("copyTagsToSnapshot","CopyTagsToSnapshot",properties.CopyTagsToSnapshot!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CopyTagsToSnapshot):void 0),ret.addPropertyResult("customIamInstanceProfile","CustomIAMInstanceProfile",properties.CustomIAMInstanceProfile!=null?cfn_parse().FromCloudFormation.getString(properties.CustomIAMInstanceProfile):void 0),ret.addPropertyResult("databaseInsightsMode","DatabaseInsightsMode",properties.DatabaseInsightsMode!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseInsightsMode):void 0),ret.addPropertyResult("dbClusterIdentifier","DBClusterIdentifier",properties.DBClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DBClusterIdentifier):void 0),ret.addPropertyResult("dbClusterSnapshotIdentifier","DBClusterSnapshotIdentifier",properties.DBClusterSnapshotIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DBClusterSnapshotIdentifier):void 0),ret.addPropertyResult("dbInstanceClass","DBInstanceClass",properties.DBInstanceClass!=null?cfn_parse().FromCloudFormation.getString(properties.DBInstanceClass):void 0),ret.addPropertyResult("dbInstanceIdentifier","DBInstanceIdentifier",properties.DBInstanceIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DBInstanceIdentifier):void 0),ret.addPropertyResult("dbName","DBName",properties.DBName!=null?cfn_parse().FromCloudFormation.getString(properties.DBName):void 0),ret.addPropertyResult("dbParameterGroupName","DBParameterGroupName",properties.DBParameterGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.DBParameterGroupName):void 0),ret.addPropertyResult("dbSecurityGroups","DBSecurityGroups",properties.DBSecurityGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DBSecurityGroups):void 0),ret.addPropertyResult("dbSnapshotIdentifier","DBSnapshotIdentifier",properties.DBSnapshotIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DBSnapshotIdentifier):void 0),ret.addPropertyResult("dbSubnetGroupName","DBSubnetGroupName",properties.DBSubnetGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.DBSubnetGroupName):void 0),ret.addPropertyResult("dbSystemId","DBSystemId",properties.DBSystemId!=null?cfn_parse().FromCloudFormation.getString(properties.DBSystemId):void 0),ret.addPropertyResult("dedicatedLogVolume","DedicatedLogVolume",properties.DedicatedLogVolume!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DedicatedLogVolume):void 0),ret.addPropertyResult("deleteAutomatedBackups","DeleteAutomatedBackups",properties.DeleteAutomatedBackups!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DeleteAutomatedBackups):void 0),ret.addPropertyResult("deletionProtection","DeletionProtection",properties.DeletionProtection!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DeletionProtection):void 0),ret.addPropertyResult("domain","Domain",properties.Domain!=null?cfn_parse().FromCloudFormation.getString(properties.Domain):void 0),ret.addPropertyResult("domainAuthSecretArn","DomainAuthSecretArn",properties.DomainAuthSecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.DomainAuthSecretArn):void 0),ret.addPropertyResult("domainDnsIps","DomainDnsIps",properties.DomainDnsIps!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DomainDnsIps):void 0),ret.addPropertyResult("domainFqdn","DomainFqdn",properties.DomainFqdn!=null?cfn_parse().FromCloudFormation.getString(properties.DomainFqdn):void 0),ret.addPropertyResult("domainIamRoleName","DomainIAMRoleName",properties.DomainIAMRoleName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainIAMRoleName):void 0),ret.addPropertyResult("domainOu","DomainOu",properties.DomainOu!=null?cfn_parse().FromCloudFormation.getString(properties.DomainOu):void 0),ret.addPropertyResult("enableCloudwatchLogsExports","EnableCloudwatchLogsExports",properties.EnableCloudwatchLogsExports!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EnableCloudwatchLogsExports):void 0),ret.addPropertyResult("enableIamDatabaseAuthentication","EnableIAMDatabaseAuthentication",properties.EnableIAMDatabaseAuthentication!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableIAMDatabaseAuthentication):void 0),ret.addPropertyResult("enablePerformanceInsights","EnablePerformanceInsights",properties.EnablePerformanceInsights!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnablePerformanceInsights):void 0),ret.addPropertyResult("engine","Engine",properties.Engine!=null?cfn_parse().FromCloudFormation.getString(properties.Engine):void 0),ret.addPropertyResult("engineLifecycleSupport","EngineLifecycleSupport",properties.EngineLifecycleSupport!=null?cfn_parse().FromCloudFormation.getString(properties.EngineLifecycleSupport):void 0),ret.addPropertyResult("engineVersion","EngineVersion",properties.EngineVersion!=null?cfn_parse().FromCloudFormation.getString(properties.EngineVersion):void 0),ret.addPropertyResult("iops","Iops",properties.Iops!=null?cfn_parse().FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("licenseModel","LicenseModel",properties.LicenseModel!=null?cfn_parse().FromCloudFormation.getString(properties.LicenseModel):void 0),ret.addPropertyResult("manageMasterUserPassword","ManageMasterUserPassword",properties.ManageMasterUserPassword!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ManageMasterUserPassword):void 0),ret.addPropertyResult("masterUserAuthenticationType","MasterUserAuthenticationType",properties.MasterUserAuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUserAuthenticationType):void 0),ret.addPropertyResult("masterUsername","MasterUsername",properties.MasterUsername!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUsername):void 0),ret.addPropertyResult("masterUserPassword","MasterUserPassword",properties.MasterUserPassword!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUserPassword):void 0),ret.addPropertyResult("masterUserSecret","MasterUserSecret",properties.MasterUserSecret!=null?CfnDBInstanceMasterUserSecretPropertyFromCloudFormation(properties.MasterUserSecret):void 0),ret.addPropertyResult("maxAllocatedStorage","MaxAllocatedStorage",properties.MaxAllocatedStorage!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxAllocatedStorage):void 0),ret.addPropertyResult("monitoringInterval","MonitoringInterval",properties.MonitoringInterval!=null?cfn_parse().FromCloudFormation.getNumber(properties.MonitoringInterval):void 0),ret.addPropertyResult("monitoringRoleArn","MonitoringRoleArn",properties.MonitoringRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.MonitoringRoleArn):void 0),ret.addPropertyResult("multiAz","MultiAZ",properties.MultiAZ!=null?cfn_parse().FromCloudFormation.getBoolean(properties.MultiAZ):void 0),ret.addPropertyResult("ncharCharacterSetName","NcharCharacterSetName",properties.NcharCharacterSetName!=null?cfn_parse().FromCloudFormation.getString(properties.NcharCharacterSetName):void 0),ret.addPropertyResult("networkType","NetworkType",properties.NetworkType!=null?cfn_parse().FromCloudFormation.getString(properties.NetworkType):void 0),ret.addPropertyResult("optionGroupName","OptionGroupName",properties.OptionGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.OptionGroupName):void 0),ret.addPropertyResult("performanceInsightsKmsKeyId","PerformanceInsightsKMSKeyId",properties.PerformanceInsightsKMSKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.PerformanceInsightsKMSKeyId):void 0),ret.addPropertyResult("performanceInsightsRetentionPeriod","PerformanceInsightsRetentionPeriod",properties.PerformanceInsightsRetentionPeriod!=null?cfn_parse().FromCloudFormation.getNumber(properties.PerformanceInsightsRetentionPeriod):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getString(properties.Port):void 0),ret.addPropertyResult("preferredBackupWindow","PreferredBackupWindow",properties.PreferredBackupWindow!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredBackupWindow):void 0),ret.addPropertyResult("preferredMaintenanceWindow","PreferredMaintenanceWindow",properties.PreferredMaintenanceWindow!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredMaintenanceWindow):void 0),ret.addPropertyResult("processorFeatures","ProcessorFeatures",properties.ProcessorFeatures!=null?cfn_parse().FromCloudFormation.getArray(CfnDBInstanceProcessorFeaturePropertyFromCloudFormation)(properties.ProcessorFeatures):void 0),ret.addPropertyResult("promotionTier","PromotionTier",properties.PromotionTier!=null?cfn_parse().FromCloudFormation.getNumber(properties.PromotionTier):void 0),ret.addPropertyResult("publiclyAccessible","PubliclyAccessible",properties.PubliclyAccessible!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PubliclyAccessible):void 0),ret.addPropertyResult("replicaMode","ReplicaMode",properties.ReplicaMode!=null?cfn_parse().FromCloudFormation.getString(properties.ReplicaMode):void 0),ret.addPropertyResult("restoreTime","RestoreTime",properties.RestoreTime!=null?cfn_parse().FromCloudFormation.getString(properties.RestoreTime):void 0),ret.addPropertyResult("sourceDbClusterIdentifier","SourceDBClusterIdentifier",properties.SourceDBClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.SourceDBClusterIdentifier):void 0),ret.addPropertyResult("sourceDbInstanceAutomatedBackupsArn","SourceDBInstanceAutomatedBackupsArn",properties.SourceDBInstanceAutomatedBackupsArn!=null?cfn_parse().FromCloudFormation.getString(properties.SourceDBInstanceAutomatedBackupsArn):void 0),ret.addPropertyResult("sourceDbInstanceIdentifier","SourceDBInstanceIdentifier",properties.SourceDBInstanceIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.SourceDBInstanceIdentifier):void 0),ret.addPropertyResult("sourceDbiResourceId","SourceDbiResourceId",properties.SourceDbiResourceId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceDbiResourceId):void 0),ret.addPropertyResult("sourceRegion","SourceRegion",properties.SourceRegion!=null?cfn_parse().FromCloudFormation.getString(properties.SourceRegion):void 0),ret.addPropertyResult("storageEncrypted","StorageEncrypted",properties.StorageEncrypted!=null?cfn_parse().FromCloudFormation.getBoolean(properties.StorageEncrypted):void 0),ret.addPropertyResult("storageThroughput","StorageThroughput",properties.StorageThroughput!=null?cfn_parse().FromCloudFormation.getNumber(properties.StorageThroughput):void 0),ret.addPropertyResult("storageType","StorageType",properties.StorageType!=null?cfn_parse().FromCloudFormation.getString(properties.StorageType):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("tdeCredentialArn","TdeCredentialArn",properties.TdeCredentialArn!=null?cfn_parse().FromCloudFormation.getString(properties.TdeCredentialArn):void 0),ret.addPropertyResult("tdeCredentialPassword","TdeCredentialPassword",properties.TdeCredentialPassword!=null?cfn_parse().FromCloudFormation.getString(properties.TdeCredentialPassword):void 0),ret.addPropertyResult("timezone","Timezone",properties.Timezone!=null?cfn_parse().FromCloudFormation.getString(properties.Timezone):void 0),ret.addPropertyResult("useDefaultProcessorFeatures","UseDefaultProcessorFeatures",properties.UseDefaultProcessorFeatures!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseDefaultProcessorFeatures):void 0),ret.addPropertyResult("useLatestRestorableTime","UseLatestRestorableTime",properties.UseLatestRestorableTime!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseLatestRestorableTime):void 0),ret.addPropertyResult("vpcSecurityGroups","VPCSecurityGroups",properties.VPCSecurityGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VPCSecurityGroups):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBParameterGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnDBParameterGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::DBParameterGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBParameterGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDBParameterGroup(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDBParameterGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDBParameterGroup.CFN_RESOURCE_TYPE_NAME}static fromDBParameterGroupName(scope,id,dbParameterGroupName){class Import extends cdk().Resource{dbParameterGroupRef;constructor(scope2,id2,dbParameterGroupName2){super(scope2,id2),this.dbParameterGroupRef={dbParameterGroupName:dbParameterGroupName2}}}return new Import(scope,id,dbParameterGroupName)}static arnForDBParameterGroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rds_IDBParameterGroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDBParameterGroup),error}return new(cfn_parse()).TemplateString("arn:${Partition}:rds:${Region}:${Account}:pg:${DBParameterGroupName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,DBParameterGroupName:resource.dbParameterGroupRef.dbParameterGroupName})}_dbParameterGroupName;_description;_family;_parameters;tags;_tagsRaw;cfnPropertyNames={dbParameterGroupName:"DBParameterGroupName",description:"Description",family:"Family",parameters:"Parameters",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnDBParameterGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnDBParameterGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBParameterGroup),error}cdk().requireProperty(props,"description",this),cdk().requireProperty(props,"family",this),this._dbParameterGroupName=props.dbParameterGroupName,this._description=props.description,this._family=props.family,this._parameters=props.parameters,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::DBParameterGroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get dbParameterGroupRef(){return{dbParameterGroupName:this.ref}}get dbParameterGroupName(){return this._dbParameterGroupName}set dbParameterGroupName(value){cdk().traceProperty(this.node,"DBParameterGroupName"),this._dbParameterGroupName=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get family(){return this._family}set family(value){cdk().traceProperty(this.node,"Family"),this._family=value}get parameters(){return this._parameters}set parameters(value){cdk().traceProperty(this.node,"Parameters"),this._parameters=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrDbParameterGroupName(){return cdk().Token.asString(this.getAtt("DBParameterGroupName",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{dbParameterGroupName:this._dbParameterGroupName,description:this._description,family:this._family,parameters:this._parameters,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBParameterGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBParameterGroupPropsToCloudFormation(props)}}exports.CfnDBParameterGroup=CfnDBParameterGroup;function CfnDBParameterGroupPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dbParameterGroupName",cdk().validateString)(properties.dbParameterGroupName)),errors.collect(cdk().propertyValidator("description",cdk().requiredValidator)(properties.description)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("family",cdk().requiredValidator)(properties.family)),errors.collect(cdk().propertyValidator("family",cdk().validateString)(properties.family)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDBParameterGroupProps"')}function convertCfnDBParameterGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBParameterGroupPropsValidator(properties).assertSuccess(),{DBParameterGroupName:cdk().stringToCloudFormation(properties.dbParameterGroupName),Description:cdk().stringToCloudFormation(properties.description),Family:cdk().stringToCloudFormation(properties.family),Parameters:cdk().objectToCloudFormation(properties.parameters),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDBParameterGroupPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dbParameterGroupName","DBParameterGroupName",properties.DBParameterGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.DBParameterGroupName):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("family","Family",properties.Family!=null?cfn_parse().FromCloudFormation.getString(properties.Family):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBProxy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnDBProxy",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::DBProxy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBProxyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDBProxy(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDBProxy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDBProxy.CFN_RESOURCE_TYPE_NAME}static arnForDBProxy(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rds_IDBProxyRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDBProxy),error}return resource.dbProxyRef.dbProxyArn}_auth;cdkTagManager;_dbProxyName;_debugLogging;_defaultAuthScheme;_endpointNetworkType;_engineFamily;_idleClientTimeout;_requireTls;_roleArn;_tags;_targetConnectionNetworkType;_vpcSecurityGroupIds;_vpcSubnetIds;cfnPropertyNames={auth:"Auth",tags:"Tags",dbProxyName:"DBProxyName",debugLogging:"DebugLogging",defaultAuthScheme:"DefaultAuthScheme",endpointNetworkType:"EndpointNetworkType",engineFamily:"EngineFamily",idleClientTimeout:"IdleClientTimeout",requireTls:"RequireTLS",roleArn:"RoleArn",targetConnectionNetworkType:"TargetConnectionNetworkType",vpcSecurityGroupIds:"VpcSecurityGroupIds",vpcSubnetIds:"VpcSubnetIds"};constructor(scope,id,props){super(scope,id,{type:CfnDBProxy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnDBProxyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBProxy),error}cdk().requireProperty(props,"dbProxyName",this),cdk().requireProperty(props,"engineFamily",this),cdk().requireProperty(props,"roleArn",this),cdk().requireProperty(props,"vpcSubnetIds",this),this._auth=props.auth,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::DBProxy",void 0,{tagPropertyName:"tags"}),this._dbProxyName=props.dbProxyName,this._debugLogging=props.debugLogging,this._defaultAuthScheme=props.defaultAuthScheme,this._endpointNetworkType=props.endpointNetworkType,this._engineFamily=props.engineFamily,this._idleClientTimeout=props.idleClientTimeout,this._requireTls=props.requireTls,this._roleArn=cdk().getRefProperty(props.roleArn?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.roleArn,"roleArn","iam.IRoleRef | string"),this._tags=props.tags,this._targetConnectionNetworkType=props.targetConnectionNetworkType,this._vpcSecurityGroupIds=cdk().mapArrayInPlace(props.vpcSecurityGroupIds,item=>cdk().getRefProperty(item?.securityGroupRef,"securityGroupId")??cdk().ensureStringOrUndefined(item,"vpcSecurityGroupIds","ec2.ISecurityGroupRef | string")),this._vpcSubnetIds=cdk().mapArrayInPlace(props.vpcSubnetIds,item=>cdk().getRefProperty(item?.subnetRef,"subnetId")??cdk().ensureStringOrUndefined(item,"vpcSubnetIds","ec2.ISubnetRef | string"))}get dbProxyRef(){return{dbProxyName:this.ref,dbProxyArn:this.attrDbProxyArn}}get auth(){return this._auth}set auth(value){cdk().traceProperty(this.node,"Auth"),this._auth=value}get dbProxyName(){return this._dbProxyName}set dbProxyName(value){cdk().traceProperty(this.node,"DBProxyName"),this._dbProxyName=value}get debugLogging(){return this._debugLogging}set debugLogging(value){cdk().traceProperty(this.node,"DebugLogging"),this._debugLogging=value}get defaultAuthScheme(){return this._defaultAuthScheme}set defaultAuthScheme(value){cdk().traceProperty(this.node,"DefaultAuthScheme"),this._defaultAuthScheme=value}get endpointNetworkType(){return this._endpointNetworkType}set endpointNetworkType(value){cdk().traceProperty(this.node,"EndpointNetworkType"),this._endpointNetworkType=value}get engineFamily(){return this._engineFamily}set engineFamily(value){cdk().traceProperty(this.node,"EngineFamily"),this._engineFamily=value}get idleClientTimeout(){return this._idleClientTimeout}set idleClientTimeout(value){cdk().traceProperty(this.node,"IdleClientTimeout"),this._idleClientTimeout=value}get requireTls(){return this._requireTls}set requireTls(value){cdk().traceProperty(this.node,"RequireTLS"),this._requireTls=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get targetConnectionNetworkType(){return this._targetConnectionNetworkType}set targetConnectionNetworkType(value){cdk().traceProperty(this.node,"TargetConnectionNetworkType"),this._targetConnectionNetworkType=value}get vpcSecurityGroupIds(){return this._vpcSecurityGroupIds}set vpcSecurityGroupIds(value){cdk().traceProperty(this.node,"VpcSecurityGroupIds"),this._vpcSecurityGroupIds=value}get vpcSubnetIds(){return this._vpcSubnetIds}set vpcSubnetIds(value){cdk().traceProperty(this.node,"VpcSubnetIds"),this._vpcSubnetIds=value}get attrDbProxyArn(){return cdk().Token.asString(this.getAtt("DBProxyArn",cdk().ResolutionTypeHint.STRING))}get attrEndpoint(){return cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING))}get attrVpcId(){return cdk().Token.asString(this.getAtt("VpcId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{auth:this._auth,tags:this.cdkTagManager.renderTags(this._tags),dbProxyName:this._dbProxyName,debugLogging:this._debugLogging,defaultAuthScheme:this._defaultAuthScheme,endpointNetworkType:this._endpointNetworkType,engineFamily:this._engineFamily,idleClientTimeout:this._idleClientTimeout,requireTls:this._requireTls,roleArn:this._roleArn,targetConnectionNetworkType:this._targetConnectionNetworkType,vpcSecurityGroupIds:this._vpcSecurityGroupIds,vpcSubnetIds:this._vpcSubnetIds}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBProxy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBProxyPropsToCloudFormation(props)}}exports.CfnDBProxy=CfnDBProxy;function CfnDBProxyAuthFormatPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("authScheme",cdk().validateString)(properties.authScheme)),errors.collect(cdk().propertyValidator("clientPasswordAuthType",cdk().validateString)(properties.clientPasswordAuthType)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("iamAuth",cdk().validateString)(properties.iamAuth)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "AuthFormatProperty"')}function convertCfnDBProxyAuthFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBProxyAuthFormatPropertyValidator(properties).assertSuccess(),{AuthScheme:cdk().stringToCloudFormation(properties.authScheme),ClientPasswordAuthType:cdk().stringToCloudFormation(properties.clientPasswordAuthType),Description:cdk().stringToCloudFormation(properties.description),IAMAuth:cdk().stringToCloudFormation(properties.iamAuth),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnDBProxyAuthFormatPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("authScheme","AuthScheme",properties.AuthScheme!=null?cfn_parse().FromCloudFormation.getString(properties.AuthScheme):void 0),ret.addPropertyResult("clientPasswordAuthType","ClientPasswordAuthType",properties.ClientPasswordAuthType!=null?cfn_parse().FromCloudFormation.getString(properties.ClientPasswordAuthType):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("iamAuth","IAMAuth",properties.IAMAuth!=null?cfn_parse().FromCloudFormation.getString(properties.IAMAuth):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBProxyTagFormatPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "TagFormatProperty"')}function convertCfnDBProxyTagFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBProxyTagFormatPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnDBProxyTagFormatPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBProxyPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("auth",cdk().listValidator(CfnDBProxyAuthFormatPropertyValidator))(properties.auth)),errors.collect(cdk().propertyValidator("dbProxyName",cdk().requiredValidator)(properties.dbProxyName)),errors.collect(cdk().propertyValidator("dbProxyName",cdk().validateString)(properties.dbProxyName)),errors.collect(cdk().propertyValidator("debugLogging",cdk().validateBoolean)(properties.debugLogging)),errors.collect(cdk().propertyValidator("defaultAuthScheme",cdk().validateString)(properties.defaultAuthScheme)),errors.collect(cdk().propertyValidator("endpointNetworkType",cdk().validateString)(properties.endpointNetworkType)),errors.collect(cdk().propertyValidator("engineFamily",cdk().requiredValidator)(properties.engineFamily)),errors.collect(cdk().propertyValidator("engineFamily",cdk().validateString)(properties.engineFamily)),errors.collect(cdk().propertyValidator("idleClientTimeout",cdk().validateNumber)(properties.idleClientTimeout)),errors.collect(cdk().propertyValidator("requireTls",cdk().validateBoolean)(properties.requireTls)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(CfnDBProxyTagFormatPropertyValidator))(properties.tags)),errors.collect(cdk().propertyValidator("targetConnectionNetworkType",cdk().validateString)(properties.targetConnectionNetworkType)),errors.collect(cdk().propertyValidator("vpcSecurityGroupIds",cdk().listValidator(cdk().validateString))(properties.vpcSecurityGroupIds)),errors.collect(cdk().propertyValidator("vpcSubnetIds",cdk().requiredValidator)(properties.vpcSubnetIds)),errors.collect(cdk().propertyValidator("vpcSubnetIds",cdk().listValidator(cdk().validateString))(properties.vpcSubnetIds)),errors.wrap('supplied properties not correct for "CfnDBProxyProps"')}function convertCfnDBProxyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBProxyPropsValidator(properties).assertSuccess(),{Auth:cdk().listMapper(convertCfnDBProxyAuthFormatPropertyToCloudFormation)(properties.auth),DBProxyName:cdk().stringToCloudFormation(properties.dbProxyName),DebugLogging:cdk().booleanToCloudFormation(properties.debugLogging),DefaultAuthScheme:cdk().stringToCloudFormation(properties.defaultAuthScheme),EndpointNetworkType:cdk().stringToCloudFormation(properties.endpointNetworkType),EngineFamily:cdk().stringToCloudFormation(properties.engineFamily),IdleClientTimeout:cdk().numberToCloudFormation(properties.idleClientTimeout),RequireTLS:cdk().booleanToCloudFormation(properties.requireTls),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Tags:cdk().listMapper(convertCfnDBProxyTagFormatPropertyToCloudFormation)(properties.tags),TargetConnectionNetworkType:cdk().stringToCloudFormation(properties.targetConnectionNetworkType),VpcSecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSecurityGroupIds),VpcSubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSubnetIds)}):properties}function CfnDBProxyPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("auth","Auth",properties.Auth!=null?cfn_parse().FromCloudFormation.getArray(CfnDBProxyAuthFormatPropertyFromCloudFormation)(properties.Auth):void 0),ret.addPropertyResult("dbProxyName","DBProxyName",properties.DBProxyName!=null?cfn_parse().FromCloudFormation.getString(properties.DBProxyName):void 0),ret.addPropertyResult("debugLogging","DebugLogging",properties.DebugLogging!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DebugLogging):void 0),ret.addPropertyResult("defaultAuthScheme","DefaultAuthScheme",properties.DefaultAuthScheme!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultAuthScheme):void 0),ret.addPropertyResult("endpointNetworkType","EndpointNetworkType",properties.EndpointNetworkType!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointNetworkType):void 0),ret.addPropertyResult("engineFamily","EngineFamily",properties.EngineFamily!=null?cfn_parse().FromCloudFormation.getString(properties.EngineFamily):void 0),ret.addPropertyResult("idleClientTimeout","IdleClientTimeout",properties.IdleClientTimeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.IdleClientTimeout):void 0),ret.addPropertyResult("requireTls","RequireTLS",properties.RequireTLS!=null?cfn_parse().FromCloudFormation.getBoolean(properties.RequireTLS):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(CfnDBProxyTagFormatPropertyFromCloudFormation)(properties.Tags):void 0),ret.addPropertyResult("targetConnectionNetworkType","TargetConnectionNetworkType",properties.TargetConnectionNetworkType!=null?cfn_parse().FromCloudFormation.getString(properties.TargetConnectionNetworkType):void 0),ret.addPropertyResult("vpcSecurityGroupIds","VpcSecurityGroupIds",properties.VpcSecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSecurityGroupIds):void 0),ret.addPropertyResult("vpcSubnetIds","VpcSubnetIds",properties.VpcSubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBProxyEndpoint extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnDBProxyEndpoint",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::DBProxyEndpoint";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBProxyEndpointPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDBProxyEndpoint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDBProxyEndpoint(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDBProxyEndpoint.CFN_RESOURCE_TYPE_NAME}static arnForDBProxyEndpoint(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rds_IDBProxyEndpointRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDBProxyEndpoint),error}return resource.dbProxyEndpointRef.dbProxyEndpointArn}cdkTagManager;_dbProxyEndpointName;_dbProxyName;_endpointNetworkType;_tags;_targetRole;_vpcSecurityGroupIds;_vpcSubnetIds;cfnPropertyNames={tags:"Tags",dbProxyEndpointName:"DBProxyEndpointName",dbProxyName:"DBProxyName",endpointNetworkType:"EndpointNetworkType",targetRole:"TargetRole",vpcSecurityGroupIds:"VpcSecurityGroupIds",vpcSubnetIds:"VpcSubnetIds"};constructor(scope,id,props){super(scope,id,{type:CfnDBProxyEndpoint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnDBProxyEndpointProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBProxyEndpoint),error}cdk().requireProperty(props,"dbProxyEndpointName",this),cdk().requireProperty(props,"dbProxyName",this),cdk().requireProperty(props,"vpcSubnetIds",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::DBProxyEndpoint",void 0,{tagPropertyName:"tags"}),this._dbProxyEndpointName=props.dbProxyEndpointName,this._dbProxyName=props.dbProxyName,this._endpointNetworkType=props.endpointNetworkType,this._tags=props.tags,this._targetRole=props.targetRole,this._vpcSecurityGroupIds=cdk().mapArrayInPlace(props.vpcSecurityGroupIds,item=>cdk().getRefProperty(item?.securityGroupRef,"securityGroupId")??cdk().ensureStringOrUndefined(item,"vpcSecurityGroupIds","ec2.ISecurityGroupRef | string")),this._vpcSubnetIds=cdk().mapArrayInPlace(props.vpcSubnetIds,item=>cdk().getRefProperty(item?.subnetRef,"subnetId")??cdk().ensureStringOrUndefined(item,"vpcSubnetIds","ec2.ISubnetRef | string"))}get dbProxyEndpointRef(){return{dbProxyEndpointName:this.ref,dbProxyEndpointArn:this.attrDbProxyEndpointArn}}get dbProxyEndpointName(){return this._dbProxyEndpointName}set dbProxyEndpointName(value){cdk().traceProperty(this.node,"DBProxyEndpointName"),this._dbProxyEndpointName=value}get dbProxyName(){return this._dbProxyName}set dbProxyName(value){cdk().traceProperty(this.node,"DBProxyName"),this._dbProxyName=value}get endpointNetworkType(){return this._endpointNetworkType}set endpointNetworkType(value){cdk().traceProperty(this.node,"EndpointNetworkType"),this._endpointNetworkType=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get targetRole(){return this._targetRole}set targetRole(value){cdk().traceProperty(this.node,"TargetRole"),this._targetRole=value}get vpcSecurityGroupIds(){return this._vpcSecurityGroupIds}set vpcSecurityGroupIds(value){cdk().traceProperty(this.node,"VpcSecurityGroupIds"),this._vpcSecurityGroupIds=value}get vpcSubnetIds(){return this._vpcSubnetIds}set vpcSubnetIds(value){cdk().traceProperty(this.node,"VpcSubnetIds"),this._vpcSubnetIds=value}get attrDbProxyEndpointArn(){return cdk().Token.asString(this.getAtt("DBProxyEndpointArn",cdk().ResolutionTypeHint.STRING))}get attrEndpoint(){return cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING))}get attrIsDefault(){return this.getAtt("IsDefault")}get attrVpcId(){return cdk().Token.asString(this.getAtt("VpcId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),dbProxyEndpointName:this._dbProxyEndpointName,dbProxyName:this._dbProxyName,endpointNetworkType:this._endpointNetworkType,targetRole:this._targetRole,vpcSecurityGroupIds:this._vpcSecurityGroupIds,vpcSubnetIds:this._vpcSubnetIds}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBProxyEndpoint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBProxyEndpointPropsToCloudFormation(props)}}exports.CfnDBProxyEndpoint=CfnDBProxyEndpoint;function CfnDBProxyEndpointTagFormatPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "TagFormatProperty"')}function convertCfnDBProxyEndpointTagFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBProxyEndpointTagFormatPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnDBProxyEndpointTagFormatPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBProxyEndpointPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dbProxyEndpointName",cdk().requiredValidator)(properties.dbProxyEndpointName)),errors.collect(cdk().propertyValidator("dbProxyEndpointName",cdk().validateString)(properties.dbProxyEndpointName)),errors.collect(cdk().propertyValidator("dbProxyName",cdk().requiredValidator)(properties.dbProxyName)),errors.collect(cdk().propertyValidator("dbProxyName",cdk().validateString)(properties.dbProxyName)),errors.collect(cdk().propertyValidator("endpointNetworkType",cdk().validateString)(properties.endpointNetworkType)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(CfnDBProxyEndpointTagFormatPropertyValidator))(properties.tags)),errors.collect(cdk().propertyValidator("targetRole",cdk().validateString)(properties.targetRole)),errors.collect(cdk().propertyValidator("vpcSecurityGroupIds",cdk().listValidator(cdk().validateString))(properties.vpcSecurityGroupIds)),errors.collect(cdk().propertyValidator("vpcSubnetIds",cdk().requiredValidator)(properties.vpcSubnetIds)),errors.collect(cdk().propertyValidator("vpcSubnetIds",cdk().listValidator(cdk().validateString))(properties.vpcSubnetIds)),errors.wrap('supplied properties not correct for "CfnDBProxyEndpointProps"')}function convertCfnDBProxyEndpointPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBProxyEndpointPropsValidator(properties).assertSuccess(),{DBProxyEndpointName:cdk().stringToCloudFormation(properties.dbProxyEndpointName),DBProxyName:cdk().stringToCloudFormation(properties.dbProxyName),EndpointNetworkType:cdk().stringToCloudFormation(properties.endpointNetworkType),Tags:cdk().listMapper(convertCfnDBProxyEndpointTagFormatPropertyToCloudFormation)(properties.tags),TargetRole:cdk().stringToCloudFormation(properties.targetRole),VpcSecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSecurityGroupIds),VpcSubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSubnetIds)}):properties}function CfnDBProxyEndpointPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dbProxyEndpointName","DBProxyEndpointName",properties.DBProxyEndpointName!=null?cfn_parse().FromCloudFormation.getString(properties.DBProxyEndpointName):void 0),ret.addPropertyResult("dbProxyName","DBProxyName",properties.DBProxyName!=null?cfn_parse().FromCloudFormation.getString(properties.DBProxyName):void 0),ret.addPropertyResult("endpointNetworkType","EndpointNetworkType",properties.EndpointNetworkType!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointNetworkType):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(CfnDBProxyEndpointTagFormatPropertyFromCloudFormation)(properties.Tags):void 0),ret.addPropertyResult("targetRole","TargetRole",properties.TargetRole!=null?cfn_parse().FromCloudFormation.getString(properties.TargetRole):void 0),ret.addPropertyResult("vpcSecurityGroupIds","VpcSecurityGroupIds",properties.VpcSecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSecurityGroupIds):void 0),ret.addPropertyResult("vpcSubnetIds","VpcSubnetIds",properties.VpcSubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBProxyTargetGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnDBProxyTargetGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::DBProxyTargetGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBProxyTargetGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDBProxyTargetGroup(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDBProxyTargetGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDBProxyTargetGroup.CFN_RESOURCE_TYPE_NAME}_connectionPoolConfigurationInfo;_dbClusterIdentifiers;_dbInstanceIdentifiers;_dbProxyName;_targetGroupName;cfnPropertyNames={connectionPoolConfigurationInfo:"ConnectionPoolConfigurationInfo",dbClusterIdentifiers:"DBClusterIdentifiers",dbInstanceIdentifiers:"DBInstanceIdentifiers",dbProxyName:"DBProxyName",targetGroupName:"TargetGroupName"};constructor(scope,id,props){super(scope,id,{type:CfnDBProxyTargetGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnDBProxyTargetGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBProxyTargetGroup),error}cdk().requireProperty(props,"dbProxyName",this),cdk().requireProperty(props,"targetGroupName",this),this._connectionPoolConfigurationInfo=props.connectionPoolConfigurationInfo,this._dbClusterIdentifiers=cdk().mapArrayInPlace(props.dbClusterIdentifiers,item=>cdk().getRefProperty(item?.dbClusterRef,"dbClusterIdentifier")??cdk().ensureStringOrUndefined(item,"dbClusterIdentifiers","rds.IDBClusterRef | string")),this._dbInstanceIdentifiers=props.dbInstanceIdentifiers,this._dbProxyName=cdk().getRefProperty(props.dbProxyName?.dbProxyRef,"dbProxyName")??cdk().ensureStringOrUndefined(props.dbProxyName,"dbProxyName","rds.IDBProxyRef | string"),this._targetGroupName=props.targetGroupName}get dbProxyTargetGroupRef(){return{targetGroupArn:this.ref}}get connectionPoolConfigurationInfo(){return this._connectionPoolConfigurationInfo}set connectionPoolConfigurationInfo(value){cdk().traceProperty(this.node,"ConnectionPoolConfigurationInfo"),this._connectionPoolConfigurationInfo=value}get dbClusterIdentifiers(){return this._dbClusterIdentifiers}set dbClusterIdentifiers(value){cdk().traceProperty(this.node,"DBClusterIdentifiers"),this._dbClusterIdentifiers=value}get dbInstanceIdentifiers(){return this._dbInstanceIdentifiers}set dbInstanceIdentifiers(value){cdk().traceProperty(this.node,"DBInstanceIdentifiers"),this._dbInstanceIdentifiers=value}get dbProxyName(){return this._dbProxyName}set dbProxyName(value){cdk().traceProperty(this.node,"DBProxyName"),this._dbProxyName=value}get targetGroupName(){return this._targetGroupName}set targetGroupName(value){cdk().traceProperty(this.node,"TargetGroupName"),this._targetGroupName=value}get attrTargetGroupArn(){return cdk().Token.asString(this.getAtt("TargetGroupArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{connectionPoolConfigurationInfo:this._connectionPoolConfigurationInfo,dbClusterIdentifiers:this._dbClusterIdentifiers,dbInstanceIdentifiers:this._dbInstanceIdentifiers,dbProxyName:this._dbProxyName,targetGroupName:this._targetGroupName}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBProxyTargetGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBProxyTargetGroupPropsToCloudFormation(props)}}exports.CfnDBProxyTargetGroup=CfnDBProxyTargetGroup;function CfnDBProxyTargetGroupConnectionPoolConfigurationInfoFormatPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("connectionBorrowTimeout",cdk().validateNumber)(properties.connectionBorrowTimeout)),errors.collect(cdk().propertyValidator("initQuery",cdk().validateString)(properties.initQuery)),errors.collect(cdk().propertyValidator("maxConnectionsPercent",cdk().validateNumber)(properties.maxConnectionsPercent)),errors.collect(cdk().propertyValidator("maxIdleConnectionsPercent",cdk().validateNumber)(properties.maxIdleConnectionsPercent)),errors.collect(cdk().propertyValidator("sessionPinningFilters",cdk().listValidator(cdk().validateString))(properties.sessionPinningFilters)),errors.wrap('supplied properties not correct for "ConnectionPoolConfigurationInfoFormatProperty"')}function convertCfnDBProxyTargetGroupConnectionPoolConfigurationInfoFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBProxyTargetGroupConnectionPoolConfigurationInfoFormatPropertyValidator(properties).assertSuccess(),{ConnectionBorrowTimeout:cdk().numberToCloudFormation(properties.connectionBorrowTimeout),InitQuery:cdk().stringToCloudFormation(properties.initQuery),MaxConnectionsPercent:cdk().numberToCloudFormation(properties.maxConnectionsPercent),MaxIdleConnectionsPercent:cdk().numberToCloudFormation(properties.maxIdleConnectionsPercent),SessionPinningFilters:cdk().listMapper(cdk().stringToCloudFormation)(properties.sessionPinningFilters)}):properties}function CfnDBProxyTargetGroupConnectionPoolConfigurationInfoFormatPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("connectionBorrowTimeout","ConnectionBorrowTimeout",properties.ConnectionBorrowTimeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.ConnectionBorrowTimeout):void 0),ret.addPropertyResult("initQuery","InitQuery",properties.InitQuery!=null?cfn_parse().FromCloudFormation.getString(properties.InitQuery):void 0),ret.addPropertyResult("maxConnectionsPercent","MaxConnectionsPercent",properties.MaxConnectionsPercent!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxConnectionsPercent):void 0),ret.addPropertyResult("maxIdleConnectionsPercent","MaxIdleConnectionsPercent",properties.MaxIdleConnectionsPercent!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxIdleConnectionsPercent):void 0),ret.addPropertyResult("sessionPinningFilters","SessionPinningFilters",properties.SessionPinningFilters!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SessionPinningFilters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBProxyTargetGroupPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("connectionPoolConfigurationInfo",CfnDBProxyTargetGroupConnectionPoolConfigurationInfoFormatPropertyValidator)(properties.connectionPoolConfigurationInfo)),errors.collect(cdk().propertyValidator("dbClusterIdentifiers",cdk().listValidator(cdk().validateString))(properties.dbClusterIdentifiers)),errors.collect(cdk().propertyValidator("dbInstanceIdentifiers",cdk().listValidator(cdk().validateString))(properties.dbInstanceIdentifiers)),errors.collect(cdk().propertyValidator("dbProxyName",cdk().requiredValidator)(properties.dbProxyName)),errors.collect(cdk().propertyValidator("dbProxyName",cdk().validateString)(properties.dbProxyName)),errors.collect(cdk().propertyValidator("targetGroupName",cdk().requiredValidator)(properties.targetGroupName)),errors.collect(cdk().propertyValidator("targetGroupName",cdk().validateString)(properties.targetGroupName)),errors.wrap('supplied properties not correct for "CfnDBProxyTargetGroupProps"')}function convertCfnDBProxyTargetGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBProxyTargetGroupPropsValidator(properties).assertSuccess(),{ConnectionPoolConfigurationInfo:convertCfnDBProxyTargetGroupConnectionPoolConfigurationInfoFormatPropertyToCloudFormation(properties.connectionPoolConfigurationInfo),DBClusterIdentifiers:cdk().listMapper(cdk().stringToCloudFormation)(properties.dbClusterIdentifiers),DBInstanceIdentifiers:cdk().listMapper(cdk().stringToCloudFormation)(properties.dbInstanceIdentifiers),DBProxyName:cdk().stringToCloudFormation(properties.dbProxyName),TargetGroupName:cdk().stringToCloudFormation(properties.targetGroupName)}):properties}function CfnDBProxyTargetGroupPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("connectionPoolConfigurationInfo","ConnectionPoolConfigurationInfo",properties.ConnectionPoolConfigurationInfo!=null?CfnDBProxyTargetGroupConnectionPoolConfigurationInfoFormatPropertyFromCloudFormation(properties.ConnectionPoolConfigurationInfo):void 0),ret.addPropertyResult("dbClusterIdentifiers","DBClusterIdentifiers",properties.DBClusterIdentifiers!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DBClusterIdentifiers):void 0),ret.addPropertyResult("dbInstanceIdentifiers","DBInstanceIdentifiers",properties.DBInstanceIdentifiers!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DBInstanceIdentifiers):void 0),ret.addPropertyResult("dbProxyName","DBProxyName",properties.DBProxyName!=null?cfn_parse().FromCloudFormation.getString(properties.DBProxyName):void 0),ret.addPropertyResult("targetGroupName","TargetGroupName",properties.TargetGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.TargetGroupName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBSecurityGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnDBSecurityGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::DBSecurityGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBSecurityGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDBSecurityGroup(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDBSecurityGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDBSecurityGroup.CFN_RESOURCE_TYPE_NAME}_dbSecurityGroupIngress;_ec2VpcId;_groupDescription;tags;_tagsRaw;cfnPropertyNames={dbSecurityGroupIngress:"DBSecurityGroupIngress",ec2VpcId:"EC2VpcId",groupDescription:"GroupDescription",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnDBSecurityGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnDBSecurityGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBSecurityGroup),error}cdk().requireProperty(props,"dbSecurityGroupIngress",this),cdk().requireProperty(props,"groupDescription",this),this._dbSecurityGroupIngress=props.dbSecurityGroupIngress,this._ec2VpcId=props.ec2VpcId,this._groupDescription=props.groupDescription,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::DBSecurityGroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get dbSecurityGroupRef(){return{dbSecurityGroupId:this.ref}}get dbSecurityGroupIngress(){return this._dbSecurityGroupIngress}set dbSecurityGroupIngress(value){cdk().traceProperty(this.node,"DBSecurityGroupIngress"),this._dbSecurityGroupIngress=value}get ec2VpcId(){return this._ec2VpcId}set ec2VpcId(value){cdk().traceProperty(this.node,"EC2VpcId"),this._ec2VpcId=value}get groupDescription(){return this._groupDescription}set groupDescription(value){cdk().traceProperty(this.node,"GroupDescription"),this._groupDescription=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{dbSecurityGroupIngress:this._dbSecurityGroupIngress,ec2VpcId:this._ec2VpcId,groupDescription:this._groupDescription,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBSecurityGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBSecurityGroupPropsToCloudFormation(props)}}exports.CfnDBSecurityGroup=CfnDBSecurityGroup;function CfnDBSecurityGroupIngressPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cidrip",cdk().validateString)(properties.cidrip)),errors.collect(cdk().propertyValidator("ec2SecurityGroupId",cdk().validateString)(properties.ec2SecurityGroupId)),errors.collect(cdk().propertyValidator("ec2SecurityGroupName",cdk().validateString)(properties.ec2SecurityGroupName)),errors.collect(cdk().propertyValidator("ec2SecurityGroupOwnerId",cdk().validateString)(properties.ec2SecurityGroupOwnerId)),errors.wrap('supplied properties not correct for "IngressProperty"')}function convertCfnDBSecurityGroupIngressPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBSecurityGroupIngressPropertyValidator(properties).assertSuccess(),{CIDRIP:cdk().stringToCloudFormation(properties.cidrip),EC2SecurityGroupId:cdk().stringToCloudFormation(properties.ec2SecurityGroupId),EC2SecurityGroupName:cdk().stringToCloudFormation(properties.ec2SecurityGroupName),EC2SecurityGroupOwnerId:cdk().stringToCloudFormation(properties.ec2SecurityGroupOwnerId)}):properties}function CfnDBSecurityGroupIngressPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cidrip","CIDRIP",properties.CIDRIP!=null?cfn_parse().FromCloudFormation.getString(properties.CIDRIP):void 0),ret.addPropertyResult("ec2SecurityGroupId","EC2SecurityGroupId",properties.EC2SecurityGroupId!=null?cfn_parse().FromCloudFormation.getString(properties.EC2SecurityGroupId):void 0),ret.addPropertyResult("ec2SecurityGroupName","EC2SecurityGroupName",properties.EC2SecurityGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.EC2SecurityGroupName):void 0),ret.addPropertyResult("ec2SecurityGroupOwnerId","EC2SecurityGroupOwnerId",properties.EC2SecurityGroupOwnerId!=null?cfn_parse().FromCloudFormation.getString(properties.EC2SecurityGroupOwnerId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDBSecurityGroupPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dbSecurityGroupIngress",cdk().requiredValidator)(properties.dbSecurityGroupIngress)),errors.collect(cdk().propertyValidator("dbSecurityGroupIngress",cdk().listValidator(CfnDBSecurityGroupIngressPropertyValidator))(properties.dbSecurityGroupIngress)),errors.collect(cdk().propertyValidator("ec2VpcId",cdk().validateString)(properties.ec2VpcId)),errors.collect(cdk().propertyValidator("groupDescription",cdk().requiredValidator)(properties.groupDescription)),errors.collect(cdk().propertyValidator("groupDescription",cdk().validateString)(properties.groupDescription)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDBSecurityGroupProps"')}function convertCfnDBSecurityGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBSecurityGroupPropsValidator(properties).assertSuccess(),{DBSecurityGroupIngress:cdk().listMapper(convertCfnDBSecurityGroupIngressPropertyToCloudFormation)(properties.dbSecurityGroupIngress),EC2VpcId:cdk().stringToCloudFormation(properties.ec2VpcId),GroupDescription:cdk().stringToCloudFormation(properties.groupDescription),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDBSecurityGroupPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dbSecurityGroupIngress","DBSecurityGroupIngress",properties.DBSecurityGroupIngress!=null?cfn_parse().FromCloudFormation.getArray(CfnDBSecurityGroupIngressPropertyFromCloudFormation)(properties.DBSecurityGroupIngress):void 0),ret.addPropertyResult("ec2VpcId","EC2VpcId",properties.EC2VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.EC2VpcId):void 0),ret.addPropertyResult("groupDescription","GroupDescription",properties.GroupDescription!=null?cfn_parse().FromCloudFormation.getString(properties.GroupDescription):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBSecurityGroupIngress extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnDBSecurityGroupIngress",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::DBSecurityGroupIngress";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBSecurityGroupIngressPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDBSecurityGroupIngress(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDBSecurityGroupIngress(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDBSecurityGroupIngress.CFN_RESOURCE_TYPE_NAME}_cidrip;_dbSecurityGroupName;_ec2SecurityGroupId;_ec2SecurityGroupName;_ec2SecurityGroupOwnerId;cfnPropertyNames={cidrip:"CIDRIP",dbSecurityGroupName:"DBSecurityGroupName",ec2SecurityGroupId:"EC2SecurityGroupId",ec2SecurityGroupName:"EC2SecurityGroupName",ec2SecurityGroupOwnerId:"EC2SecurityGroupOwnerId"};constructor(scope,id,props){super(scope,id,{type:CfnDBSecurityGroupIngress.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnDBSecurityGroupIngressProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBSecurityGroupIngress),error}cdk().requireProperty(props,"dbSecurityGroupName",this),this._cidrip=props.cidrip,this._dbSecurityGroupName=props.dbSecurityGroupName,this._ec2SecurityGroupId=props.ec2SecurityGroupId,this._ec2SecurityGroupName=props.ec2SecurityGroupName,this._ec2SecurityGroupOwnerId=props.ec2SecurityGroupOwnerId}get dbSecurityGroupIngressRef(){return{dbSecurityGroupIngressId:this.ref}}get cidrip(){return this._cidrip}set cidrip(value){cdk().traceProperty(this.node,"CIDRIP"),this._cidrip=value}get dbSecurityGroupName(){return this._dbSecurityGroupName}set dbSecurityGroupName(value){cdk().traceProperty(this.node,"DBSecurityGroupName"),this._dbSecurityGroupName=value}get ec2SecurityGroupId(){return this._ec2SecurityGroupId}set ec2SecurityGroupId(value){cdk().traceProperty(this.node,"EC2SecurityGroupId"),this._ec2SecurityGroupId=value}get ec2SecurityGroupName(){return this._ec2SecurityGroupName}set ec2SecurityGroupName(value){cdk().traceProperty(this.node,"EC2SecurityGroupName"),this._ec2SecurityGroupName=value}get ec2SecurityGroupOwnerId(){return this._ec2SecurityGroupOwnerId}set ec2SecurityGroupOwnerId(value){cdk().traceProperty(this.node,"EC2SecurityGroupOwnerId"),this._ec2SecurityGroupOwnerId=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{cidrip:this._cidrip,dbSecurityGroupName:this._dbSecurityGroupName,ec2SecurityGroupId:this._ec2SecurityGroupId,ec2SecurityGroupName:this._ec2SecurityGroupName,ec2SecurityGroupOwnerId:this._ec2SecurityGroupOwnerId}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBSecurityGroupIngress.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBSecurityGroupIngressPropsToCloudFormation(props)}}exports.CfnDBSecurityGroupIngress=CfnDBSecurityGroupIngress;function CfnDBSecurityGroupIngressPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cidrip",cdk().validateString)(properties.cidrip)),errors.collect(cdk().propertyValidator("dbSecurityGroupName",cdk().requiredValidator)(properties.dbSecurityGroupName)),errors.collect(cdk().propertyValidator("dbSecurityGroupName",cdk().validateString)(properties.dbSecurityGroupName)),errors.collect(cdk().propertyValidator("ec2SecurityGroupId",cdk().validateString)(properties.ec2SecurityGroupId)),errors.collect(cdk().propertyValidator("ec2SecurityGroupName",cdk().validateString)(properties.ec2SecurityGroupName)),errors.collect(cdk().propertyValidator("ec2SecurityGroupOwnerId",cdk().validateString)(properties.ec2SecurityGroupOwnerId)),errors.wrap('supplied properties not correct for "CfnDBSecurityGroupIngressProps"')}function convertCfnDBSecurityGroupIngressPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBSecurityGroupIngressPropsValidator(properties).assertSuccess(),{CIDRIP:cdk().stringToCloudFormation(properties.cidrip),DBSecurityGroupName:cdk().stringToCloudFormation(properties.dbSecurityGroupName),EC2SecurityGroupId:cdk().stringToCloudFormation(properties.ec2SecurityGroupId),EC2SecurityGroupName:cdk().stringToCloudFormation(properties.ec2SecurityGroupName),EC2SecurityGroupOwnerId:cdk().stringToCloudFormation(properties.ec2SecurityGroupOwnerId)}):properties}function CfnDBSecurityGroupIngressPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cidrip","CIDRIP",properties.CIDRIP!=null?cfn_parse().FromCloudFormation.getString(properties.CIDRIP):void 0),ret.addPropertyResult("dbSecurityGroupName","DBSecurityGroupName",properties.DBSecurityGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.DBSecurityGroupName):void 0),ret.addPropertyResult("ec2SecurityGroupId","EC2SecurityGroupId",properties.EC2SecurityGroupId!=null?cfn_parse().FromCloudFormation.getString(properties.EC2SecurityGroupId):void 0),ret.addPropertyResult("ec2SecurityGroupName","EC2SecurityGroupName",properties.EC2SecurityGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.EC2SecurityGroupName):void 0),ret.addPropertyResult("ec2SecurityGroupOwnerId","EC2SecurityGroupOwnerId",properties.EC2SecurityGroupOwnerId!=null?cfn_parse().FromCloudFormation.getString(properties.EC2SecurityGroupOwnerId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBSubnetGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnDBSubnetGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::DBSubnetGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBSubnetGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDBSubnetGroup(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDBSubnetGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDBSubnetGroup.CFN_RESOURCE_TYPE_NAME}_dbSubnetGroupDescription;_dbSubnetGroupName;_subnetIds;tags;_tagsRaw;cfnPropertyNames={dbSubnetGroupDescription:"DBSubnetGroupDescription",dbSubnetGroupName:"DBSubnetGroupName",subnetIds:"SubnetIds",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnDBSubnetGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnDBSubnetGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBSubnetGroup),error}cdk().requireProperty(props,"dbSubnetGroupDescription",this),cdk().requireProperty(props,"subnetIds",this),this._dbSubnetGroupDescription=props.dbSubnetGroupDescription,this._dbSubnetGroupName=props.dbSubnetGroupName,this._subnetIds=cdk().mapArrayInPlace(props.subnetIds,item=>cdk().getRefProperty(item?.subnetRef,"subnetId")??cdk().ensureStringOrUndefined(item,"subnetIds","ec2.ISubnetRef | string")),this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::DBSubnetGroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get dbSubnetGroupRef(){return{dbSubnetGroupName:this.ref}}get dbSubnetGroupDescription(){return this._dbSubnetGroupDescription}set dbSubnetGroupDescription(value){cdk().traceProperty(this.node,"DBSubnetGroupDescription"),this._dbSubnetGroupDescription=value}get dbSubnetGroupName(){return this._dbSubnetGroupName}set dbSubnetGroupName(value){cdk().traceProperty(this.node,"DBSubnetGroupName"),this._dbSubnetGroupName=value}get subnetIds(){return this._subnetIds}set subnetIds(value){cdk().traceProperty(this.node,"SubnetIds"),this._subnetIds=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get cfnProperties(){return{dbSubnetGroupDescription:this._dbSubnetGroupDescription,dbSubnetGroupName:this._dbSubnetGroupName,subnetIds:this._subnetIds,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBSubnetGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBSubnetGroupPropsToCloudFormation(props)}}exports.CfnDBSubnetGroup=CfnDBSubnetGroup;function CfnDBSubnetGroupPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dbSubnetGroupDescription",cdk().requiredValidator)(properties.dbSubnetGroupDescription)),errors.collect(cdk().propertyValidator("dbSubnetGroupDescription",cdk().validateString)(properties.dbSubnetGroupDescription)),errors.collect(cdk().propertyValidator("dbSubnetGroupName",cdk().validateString)(properties.dbSubnetGroupName)),errors.collect(cdk().propertyValidator("subnetIds",cdk().requiredValidator)(properties.subnetIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDBSubnetGroupProps"')}function convertCfnDBSubnetGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBSubnetGroupPropsValidator(properties).assertSuccess(),{DBSubnetGroupDescription:cdk().stringToCloudFormation(properties.dbSubnetGroupDescription),DBSubnetGroupName:cdk().stringToCloudFormation(properties.dbSubnetGroupName),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDBSubnetGroupPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dbSubnetGroupDescription","DBSubnetGroupDescription",properties.DBSubnetGroupDescription!=null?cfn_parse().FromCloudFormation.getString(properties.DBSubnetGroupDescription):void 0),ret.addPropertyResult("dbSubnetGroupName","DBSubnetGroupName",properties.DBSubnetGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.DBSubnetGroupName):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnEventSubscription extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnEventSubscription",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::EventSubscription";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnEventSubscriptionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnEventSubscription(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnEventSubscription(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnEventSubscription.CFN_RESOURCE_TYPE_NAME}static fromSubscriptionName(scope,id,subscriptionName){class Import extends cdk().Resource{eventSubscriptionRef;constructor(scope2,id2,subscriptionName2){super(scope2,id2),this.eventSubscriptionRef={subscriptionName:subscriptionName2}}}return new Import(scope,id,subscriptionName)}static arnForEventSubscription(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rds_IEventSubscriptionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForEventSubscription),error}return new(cfn_parse()).TemplateString("arn:${Partition}:rds:${Region}:${Account}:es:${SubscriptionName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,SubscriptionName:resource.eventSubscriptionRef.subscriptionName})}_enabled;_eventCategories;_snsTopicArn;_sourceIds;_sourceType;_subscriptionName;tags;_tagsRaw;cfnPropertyNames={enabled:"Enabled",eventCategories:"EventCategories",snsTopicArn:"SnsTopicArn",sourceIds:"SourceIds",sourceType:"SourceType",subscriptionName:"SubscriptionName",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnEventSubscription.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnEventSubscriptionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEventSubscription),error}cdk().requireProperty(props,"snsTopicArn",this),this._enabled=props.enabled,this._eventCategories=props.eventCategories,this._snsTopicArn=cdk().getRefProperty(props.snsTopicArn?.topicRef,"topicArn")??cdk().ensureStringOrUndefined(props.snsTopicArn,"snsTopicArn","sns.ITopicRef | string"),this._sourceIds=cdk().mapArrayInPlace(props.sourceIds,item=>cdk().getRefProperty(item?.dbClusterRef,"dbClusterIdentifier")??cdk().getRefProperty(item?.dbInstanceRef,"dbInstanceIdentifier")??cdk().ensureStringOrUndefined(item,"sourceIds","rds.IDBClusterRef | rds.IDBInstanceRef | string")),this._sourceType=props.sourceType,this._subscriptionName=props.subscriptionName,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::EventSubscription",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get eventSubscriptionRef(){return{subscriptionName:this.ref}}get enabled(){return this._enabled}set enabled(value){cdk().traceProperty(this.node,"Enabled"),this._enabled=value}get eventCategories(){return this._eventCategories}set eventCategories(value){cdk().traceProperty(this.node,"EventCategories"),this._eventCategories=value}get snsTopicArn(){return this._snsTopicArn}set snsTopicArn(value){cdk().traceProperty(this.node,"SnsTopicArn"),this._snsTopicArn=value}get sourceIds(){return this._sourceIds}set sourceIds(value){cdk().traceProperty(this.node,"SourceIds"),this._sourceIds=value}get sourceType(){return this._sourceType}set sourceType(value){cdk().traceProperty(this.node,"SourceType"),this._sourceType=value}get subscriptionName(){return this._subscriptionName}set subscriptionName(value){cdk().traceProperty(this.node,"SubscriptionName"),this._subscriptionName=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get cfnProperties(){return{enabled:this._enabled,eventCategories:this._eventCategories,snsTopicArn:this._snsTopicArn,sourceIds:this._sourceIds,sourceType:this._sourceType,subscriptionName:this._subscriptionName,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnEventSubscription.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnEventSubscriptionPropsToCloudFormation(props)}}exports.CfnEventSubscription=CfnEventSubscription;function CfnEventSubscriptionPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("eventCategories",cdk().listValidator(cdk().validateString))(properties.eventCategories)),errors.collect(cdk().propertyValidator("snsTopicArn",cdk().requiredValidator)(properties.snsTopicArn)),errors.collect(cdk().propertyValidator("snsTopicArn",cdk().validateString)(properties.snsTopicArn)),errors.collect(cdk().propertyValidator("sourceIds",cdk().listValidator(cdk().validateString))(properties.sourceIds)),errors.collect(cdk().propertyValidator("sourceType",cdk().validateString)(properties.sourceType)),errors.collect(cdk().propertyValidator("subscriptionName",cdk().validateString)(properties.subscriptionName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnEventSubscriptionProps"')}function convertCfnEventSubscriptionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEventSubscriptionPropsValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),EventCategories:cdk().listMapper(cdk().stringToCloudFormation)(properties.eventCategories),SnsTopicArn:cdk().stringToCloudFormation(properties.snsTopicArn),SourceIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.sourceIds),SourceType:cdk().stringToCloudFormation(properties.sourceType),SubscriptionName:cdk().stringToCloudFormation(properties.subscriptionName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnEventSubscriptionPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("eventCategories","EventCategories",properties.EventCategories!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EventCategories):void 0),ret.addPropertyResult("snsTopicArn","SnsTopicArn",properties.SnsTopicArn!=null?cfn_parse().FromCloudFormation.getString(properties.SnsTopicArn):void 0),ret.addPropertyResult("sourceIds","SourceIds",properties.SourceIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SourceIds):void 0),ret.addPropertyResult("sourceType","SourceType",properties.SourceType!=null?cfn_parse().FromCloudFormation.getString(properties.SourceType):void 0),ret.addPropertyResult("subscriptionName","SubscriptionName",properties.SubscriptionName!=null?cfn_parse().FromCloudFormation.getString(properties.SubscriptionName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGlobalCluster extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnGlobalCluster",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::GlobalCluster";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGlobalClusterPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnGlobalCluster(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnGlobalCluster(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnGlobalCluster.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_deletionProtection;_engine;_engineLifecycleSupport;_engineVersion;_globalClusterIdentifier;_sourceDbClusterIdentifier;_storageEncrypted;_tags;cfnPropertyNames={tags:"Tags",deletionProtection:"DeletionProtection",engine:"Engine",engineLifecycleSupport:"EngineLifecycleSupport",engineVersion:"EngineVersion",globalClusterIdentifier:"GlobalClusterIdentifier",sourceDbClusterIdentifier:"SourceDBClusterIdentifier",storageEncrypted:"StorageEncrypted"};constructor(scope,id,props={}){super(scope,id,{type:CfnGlobalCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnGlobalClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGlobalCluster),error}this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::GlobalCluster",void 0,{tagPropertyName:"tags"}),this._deletionProtection=props.deletionProtection,this._engine=props.engine,this._engineLifecycleSupport=props.engineLifecycleSupport,this._engineVersion=props.engineVersion,this._globalClusterIdentifier=props.globalClusterIdentifier,this._sourceDbClusterIdentifier=cdk().getRefProperty(props.sourceDbClusterIdentifier?.dbClusterRef,"dbClusterIdentifier")??cdk().ensureStringOrUndefined(props.sourceDbClusterIdentifier,"sourceDbClusterIdentifier","rds.IDBClusterRef | string"),this._storageEncrypted=props.storageEncrypted,this._tags=props.tags}get globalClusterRef(){return{globalClusterIdentifier:this.ref}}get deletionProtection(){return this._deletionProtection}set deletionProtection(value){cdk().traceProperty(this.node,"DeletionProtection"),this._deletionProtection=value}get engine(){return this._engine}set engine(value){cdk().traceProperty(this.node,"Engine"),this._engine=value}get engineLifecycleSupport(){return this._engineLifecycleSupport}set engineLifecycleSupport(value){cdk().traceProperty(this.node,"EngineLifecycleSupport"),this._engineLifecycleSupport=value}get engineVersion(){return this._engineVersion}set engineVersion(value){cdk().traceProperty(this.node,"EngineVersion"),this._engineVersion=value}get globalClusterIdentifier(){return this._globalClusterIdentifier}set globalClusterIdentifier(value){cdk().traceProperty(this.node,"GlobalClusterIdentifier"),this._globalClusterIdentifier=value}get sourceDbClusterIdentifier(){return this._sourceDbClusterIdentifier}set sourceDbClusterIdentifier(value){cdk().traceProperty(this.node,"SourceDBClusterIdentifier"),this._sourceDbClusterIdentifier=value}get storageEncrypted(){return this._storageEncrypted}set storageEncrypted(value){cdk().traceProperty(this.node,"StorageEncrypted"),this._storageEncrypted=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrGlobalEndpoint(){return this.getAtt("GlobalEndpoint")}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),deletionProtection:this._deletionProtection,engine:this._engine,engineLifecycleSupport:this._engineLifecycleSupport,engineVersion:this._engineVersion,globalClusterIdentifier:this._globalClusterIdentifier,sourceDbClusterIdentifier:this._sourceDbClusterIdentifier,storageEncrypted:this._storageEncrypted}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnGlobalCluster.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGlobalClusterPropsToCloudFormation(props)}}exports.CfnGlobalCluster=CfnGlobalCluster;function CfnGlobalClusterGlobalEndpointPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("address",cdk().validateString)(properties.address)),errors.wrap('supplied properties not correct for "GlobalEndpointProperty"')}function convertCfnGlobalClusterGlobalEndpointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGlobalClusterGlobalEndpointPropertyValidator(properties).assertSuccess(),{Address:cdk().stringToCloudFormation(properties.address)}):properties}function CfnGlobalClusterGlobalEndpointPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("address","Address",properties.Address!=null?cfn_parse().FromCloudFormation.getString(properties.Address):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalClusterPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("deletionProtection",cdk().validateBoolean)(properties.deletionProtection)),errors.collect(cdk().propertyValidator("engine",cdk().validateString)(properties.engine)),errors.collect(cdk().propertyValidator("engineLifecycleSupport",cdk().validateString)(properties.engineLifecycleSupport)),errors.collect(cdk().propertyValidator("engineVersion",cdk().validateString)(properties.engineVersion)),errors.collect(cdk().propertyValidator("globalClusterIdentifier",cdk().validateString)(properties.globalClusterIdentifier)),errors.collect(cdk().propertyValidator("sourceDbClusterIdentifier",cdk().validateString)(properties.sourceDbClusterIdentifier)),errors.collect(cdk().propertyValidator("storageEncrypted",cdk().validateBoolean)(properties.storageEncrypted)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnGlobalClusterProps"')}function convertCfnGlobalClusterPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGlobalClusterPropsValidator(properties).assertSuccess(),{DeletionProtection:cdk().booleanToCloudFormation(properties.deletionProtection),Engine:cdk().stringToCloudFormation(properties.engine),EngineLifecycleSupport:cdk().stringToCloudFormation(properties.engineLifecycleSupport),EngineVersion:cdk().stringToCloudFormation(properties.engineVersion),GlobalClusterIdentifier:cdk().stringToCloudFormation(properties.globalClusterIdentifier),SourceDBClusterIdentifier:cdk().stringToCloudFormation(properties.sourceDbClusterIdentifier),StorageEncrypted:cdk().booleanToCloudFormation(properties.storageEncrypted),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnGlobalClusterPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("deletionProtection","DeletionProtection",properties.DeletionProtection!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DeletionProtection):void 0),ret.addPropertyResult("engine","Engine",properties.Engine!=null?cfn_parse().FromCloudFormation.getString(properties.Engine):void 0),ret.addPropertyResult("engineLifecycleSupport","EngineLifecycleSupport",properties.EngineLifecycleSupport!=null?cfn_parse().FromCloudFormation.getString(properties.EngineLifecycleSupport):void 0),ret.addPropertyResult("engineVersion","EngineVersion",properties.EngineVersion!=null?cfn_parse().FromCloudFormation.getString(properties.EngineVersion):void 0),ret.addPropertyResult("globalClusterIdentifier","GlobalClusterIdentifier",properties.GlobalClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.GlobalClusterIdentifier):void 0),ret.addPropertyResult("sourceDbClusterIdentifier","SourceDBClusterIdentifier",properties.SourceDBClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.SourceDBClusterIdentifier):void 0),ret.addPropertyResult("storageEncrypted","StorageEncrypted",properties.StorageEncrypted!=null?cfn_parse().FromCloudFormation.getBoolean(properties.StorageEncrypted):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnOptionGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnOptionGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::OptionGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnOptionGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnOptionGroup(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnOptionGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnOptionGroup.CFN_RESOURCE_TYPE_NAME}static fromOptionGroupName(scope,id,optionGroupName){class Import extends cdk().Resource{optionGroupRef;constructor(scope2,id2,optionGroupName2){super(scope2,id2),this.optionGroupRef={optionGroupName:optionGroupName2}}}return new Import(scope,id,optionGroupName)}static arnForOptionGroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rds_IOptionGroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForOptionGroup),error}return new(cfn_parse()).TemplateString("arn:${Partition}:rds:${Region}:${Account}:og:${OptionGroupName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,OptionGroupName:resource.optionGroupRef.optionGroupName})}_engineName;_majorEngineVersion;_optionConfigurations;_optionGroupDescription;_optionGroupName;tags;_tagsRaw;cfnPropertyNames={engineName:"EngineName",majorEngineVersion:"MajorEngineVersion",optionConfigurations:"OptionConfigurations",optionGroupDescription:"OptionGroupDescription",optionGroupName:"OptionGroupName",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnOptionGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnOptionGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnOptionGroup),error}cdk().requireProperty(props,"engineName",this),cdk().requireProperty(props,"majorEngineVersion",this),cdk().requireProperty(props,"optionGroupDescription",this),this._engineName=props.engineName,this._majorEngineVersion=props.majorEngineVersion,this._optionConfigurations=props.optionConfigurations,this._optionGroupDescription=props.optionGroupDescription,this._optionGroupName=props.optionGroupName,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::OptionGroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get optionGroupRef(){return{optionGroupName:this.ref}}get engineName(){return this._engineName}set engineName(value){cdk().traceProperty(this.node,"EngineName"),this._engineName=value}get majorEngineVersion(){return this._majorEngineVersion}set majorEngineVersion(value){cdk().traceProperty(this.node,"MajorEngineVersion"),this._majorEngineVersion=value}get optionConfigurations(){return this._optionConfigurations}set optionConfigurations(value){cdk().traceProperty(this.node,"OptionConfigurations"),this._optionConfigurations=value}get optionGroupDescription(){return this._optionGroupDescription}set optionGroupDescription(value){cdk().traceProperty(this.node,"OptionGroupDescription"),this._optionGroupDescription=value}get optionGroupName(){return this._optionGroupName}set optionGroupName(value){cdk().traceProperty(this.node,"OptionGroupName"),this._optionGroupName=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get cfnProperties(){return{engineName:this._engineName,majorEngineVersion:this._majorEngineVersion,optionConfigurations:this._optionConfigurations,optionGroupDescription:this._optionGroupDescription,optionGroupName:this._optionGroupName,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnOptionGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnOptionGroupPropsToCloudFormation(props)}}exports.CfnOptionGroup=CfnOptionGroup;function CfnOptionGroupOptionSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "OptionSettingProperty"')}function convertCfnOptionGroupOptionSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOptionGroupOptionSettingPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnOptionGroupOptionSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnOptionGroupOptionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dbSecurityGroupMemberships",cdk().listValidator(cdk().validateString))(properties.dbSecurityGroupMemberships)),errors.collect(cdk().propertyValidator("optionName",cdk().requiredValidator)(properties.optionName)),errors.collect(cdk().propertyValidator("optionName",cdk().validateString)(properties.optionName)),errors.collect(cdk().propertyValidator("optionSettings",cdk().listValidator(CfnOptionGroupOptionSettingPropertyValidator))(properties.optionSettings)),errors.collect(cdk().propertyValidator("optionVersion",cdk().validateString)(properties.optionVersion)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("vpcSecurityGroupMemberships",cdk().listValidator(cdk().validateString))(properties.vpcSecurityGroupMemberships)),errors.wrap('supplied properties not correct for "OptionConfigurationProperty"')}function convertCfnOptionGroupOptionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOptionGroupOptionConfigurationPropertyValidator(properties).assertSuccess(),{DBSecurityGroupMemberships:cdk().listMapper(cdk().stringToCloudFormation)(properties.dbSecurityGroupMemberships),OptionName:cdk().stringToCloudFormation(properties.optionName),OptionSettings:cdk().listMapper(convertCfnOptionGroupOptionSettingPropertyToCloudFormation)(properties.optionSettings),OptionVersion:cdk().stringToCloudFormation(properties.optionVersion),Port:cdk().numberToCloudFormation(properties.port),VpcSecurityGroupMemberships:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSecurityGroupMemberships)}):properties}function CfnOptionGroupOptionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dbSecurityGroupMemberships","DBSecurityGroupMemberships",properties.DBSecurityGroupMemberships!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DBSecurityGroupMemberships):void 0),ret.addPropertyResult("optionName","OptionName",properties.OptionName!=null?cfn_parse().FromCloudFormation.getString(properties.OptionName):void 0),ret.addPropertyResult("optionSettings","OptionSettings",properties.OptionSettings!=null?cfn_parse().FromCloudFormation.getArray(CfnOptionGroupOptionSettingPropertyFromCloudFormation)(properties.OptionSettings):void 0),ret.addPropertyResult("optionVersion","OptionVersion",properties.OptionVersion!=null?cfn_parse().FromCloudFormation.getString(properties.OptionVersion):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("vpcSecurityGroupMemberships","VpcSecurityGroupMemberships",properties.VpcSecurityGroupMemberships!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSecurityGroupMemberships):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnOptionGroupPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("engineName",cdk().requiredValidator)(properties.engineName)),errors.collect(cdk().propertyValidator("engineName",cdk().validateString)(properties.engineName)),errors.collect(cdk().propertyValidator("majorEngineVersion",cdk().requiredValidator)(properties.majorEngineVersion)),errors.collect(cdk().propertyValidator("majorEngineVersion",cdk().validateString)(properties.majorEngineVersion)),errors.collect(cdk().propertyValidator("optionConfigurations",cdk().listValidator(CfnOptionGroupOptionConfigurationPropertyValidator))(properties.optionConfigurations)),errors.collect(cdk().propertyValidator("optionGroupDescription",cdk().requiredValidator)(properties.optionGroupDescription)),errors.collect(cdk().propertyValidator("optionGroupDescription",cdk().validateString)(properties.optionGroupDescription)),errors.collect(cdk().propertyValidator("optionGroupName",cdk().validateString)(properties.optionGroupName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnOptionGroupProps"')}function convertCfnOptionGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOptionGroupPropsValidator(properties).assertSuccess(),{EngineName:cdk().stringToCloudFormation(properties.engineName),MajorEngineVersion:cdk().stringToCloudFormation(properties.majorEngineVersion),OptionConfigurations:cdk().listMapper(convertCfnOptionGroupOptionConfigurationPropertyToCloudFormation)(properties.optionConfigurations),OptionGroupDescription:cdk().stringToCloudFormation(properties.optionGroupDescription),OptionGroupName:cdk().stringToCloudFormation(properties.optionGroupName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnOptionGroupPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("engineName","EngineName",properties.EngineName!=null?cfn_parse().FromCloudFormation.getString(properties.EngineName):void 0),ret.addPropertyResult("majorEngineVersion","MajorEngineVersion",properties.MajorEngineVersion!=null?cfn_parse().FromCloudFormation.getString(properties.MajorEngineVersion):void 0),ret.addPropertyResult("optionConfigurations","OptionConfigurations",properties.OptionConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnOptionGroupOptionConfigurationPropertyFromCloudFormation)(properties.OptionConfigurations):void 0),ret.addPropertyResult("optionGroupDescription","OptionGroupDescription",properties.OptionGroupDescription!=null?cfn_parse().FromCloudFormation.getString(properties.OptionGroupDescription):void 0),ret.addPropertyResult("optionGroupName","OptionGroupName",properties.OptionGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.OptionGroupName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBShardGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnDBShardGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::DBShardGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBShardGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDBShardGroup(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDBShardGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDBShardGroup.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_computeRedundancy;_dbClusterIdentifier;_dbShardGroupIdentifier;_maxAcu;_minAcu;_publiclyAccessible;_tags;cfnPropertyNames={tags:"Tags",computeRedundancy:"ComputeRedundancy",dbClusterIdentifier:"DBClusterIdentifier",dbShardGroupIdentifier:"DBShardGroupIdentifier",maxAcu:"MaxACU",minAcu:"MinACU",publiclyAccessible:"PubliclyAccessible"};constructor(scope,id,props){super(scope,id,{type:CfnDBShardGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnDBShardGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBShardGroup),error}cdk().requireProperty(props,"dbClusterIdentifier",this),cdk().requireProperty(props,"maxAcu",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::DBShardGroup",void 0,{tagPropertyName:"tags"}),this._computeRedundancy=props.computeRedundancy,this._dbClusterIdentifier=props.dbClusterIdentifier,this._dbShardGroupIdentifier=props.dbShardGroupIdentifier,this._maxAcu=props.maxAcu,this._minAcu=props.minAcu,this._publiclyAccessible=props.publiclyAccessible,this._tags=props.tags}get dbShardGroupRef(){return{dbShardGroupIdentifier:this.ref}}get computeRedundancy(){return this._computeRedundancy}set computeRedundancy(value){cdk().traceProperty(this.node,"ComputeRedundancy"),this._computeRedundancy=value}get dbClusterIdentifier(){return this._dbClusterIdentifier}set dbClusterIdentifier(value){cdk().traceProperty(this.node,"DBClusterIdentifier"),this._dbClusterIdentifier=value}get dbShardGroupIdentifier(){return this._dbShardGroupIdentifier}set dbShardGroupIdentifier(value){cdk().traceProperty(this.node,"DBShardGroupIdentifier"),this._dbShardGroupIdentifier=value}get maxAcu(){return this._maxAcu}set maxAcu(value){cdk().traceProperty(this.node,"MaxACU"),this._maxAcu=value}get minAcu(){return this._minAcu}set minAcu(value){cdk().traceProperty(this.node,"MinACU"),this._minAcu=value}get publiclyAccessible(){return this._publiclyAccessible}set publiclyAccessible(value){cdk().traceProperty(this.node,"PubliclyAccessible"),this._publiclyAccessible=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrDbShardGroupResourceId(){return cdk().Token.asString(this.getAtt("DBShardGroupResourceId",cdk().ResolutionTypeHint.STRING))}get attrEndpoint(){return cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),computeRedundancy:this._computeRedundancy,dbClusterIdentifier:this._dbClusterIdentifier,dbShardGroupIdentifier:this._dbShardGroupIdentifier,maxAcu:this._maxAcu,minAcu:this._minAcu,publiclyAccessible:this._publiclyAccessible}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBShardGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBShardGroupPropsToCloudFormation(props)}}exports.CfnDBShardGroup=CfnDBShardGroup;function CfnDBShardGroupPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computeRedundancy",cdk().validateNumber)(properties.computeRedundancy)),errors.collect(cdk().propertyValidator("dbClusterIdentifier",cdk().requiredValidator)(properties.dbClusterIdentifier)),errors.collect(cdk().propertyValidator("dbClusterIdentifier",cdk().validateString)(properties.dbClusterIdentifier)),errors.collect(cdk().propertyValidator("dbShardGroupIdentifier",cdk().validateString)(properties.dbShardGroupIdentifier)),errors.collect(cdk().propertyValidator("maxAcu",cdk().requiredValidator)(properties.maxAcu)),errors.collect(cdk().propertyValidator("maxAcu",cdk().validateNumber)(properties.maxAcu)),errors.collect(cdk().propertyValidator("minAcu",cdk().validateNumber)(properties.minAcu)),errors.collect(cdk().propertyValidator("publiclyAccessible",cdk().validateBoolean)(properties.publiclyAccessible)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDBShardGroupProps"')}function convertCfnDBShardGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBShardGroupPropsValidator(properties).assertSuccess(),{ComputeRedundancy:cdk().numberToCloudFormation(properties.computeRedundancy),DBClusterIdentifier:cdk().stringToCloudFormation(properties.dbClusterIdentifier),DBShardGroupIdentifier:cdk().stringToCloudFormation(properties.dbShardGroupIdentifier),MaxACU:cdk().numberToCloudFormation(properties.maxAcu),MinACU:cdk().numberToCloudFormation(properties.minAcu),PubliclyAccessible:cdk().booleanToCloudFormation(properties.publiclyAccessible),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDBShardGroupPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computeRedundancy","ComputeRedundancy",properties.ComputeRedundancy!=null?cfn_parse().FromCloudFormation.getNumber(properties.ComputeRedundancy):void 0),ret.addPropertyResult("dbClusterIdentifier","DBClusterIdentifier",properties.DBClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DBClusterIdentifier):void 0),ret.addPropertyResult("dbShardGroupIdentifier","DBShardGroupIdentifier",properties.DBShardGroupIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DBShardGroupIdentifier):void 0),ret.addPropertyResult("maxAcu","MaxACU",properties.MaxACU!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxACU):void 0),ret.addPropertyResult("minAcu","MinACU",properties.MinACU!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinACU):void 0),ret.addPropertyResult("publiclyAccessible","PubliclyAccessible",properties.PubliclyAccessible!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PubliclyAccessible):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnIntegration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rds.CfnIntegration",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RDS::Integration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIntegrationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnIntegration(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnIntegration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIntegration.CFN_RESOURCE_TYPE_NAME}static arnForIntegration(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rds_IIntegrationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForIntegration),error}return resource.integrationRef.integrationArn}_additionalEncryptionContext;cdkTagManager;_dataFilter;_description;_integrationName;_kmsKeyId;_sourceArn;_tags;_targetArn;cfnPropertyNames={additionalEncryptionContext:"AdditionalEncryptionContext",tags:"Tags",dataFilter:"DataFilter",description:"Description",integrationName:"IntegrationName",kmsKeyId:"KMSKeyId",sourceArn:"SourceArn",targetArn:"TargetArn"};constructor(scope,id,props){super(scope,id,{type:CfnIntegration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rds_CfnIntegrationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIntegration),error}cdk().requireProperty(props,"sourceArn",this),cdk().requireProperty(props,"targetArn",this),this._additionalEncryptionContext=props.additionalEncryptionContext,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RDS::Integration",void 0,{tagPropertyName:"tags"}),this._dataFilter=props.dataFilter,this._description=props.description,this._integrationName=props.integrationName,this._kmsKeyId=props.kmsKeyId,this._sourceArn=props.sourceArn,this._tags=props.tags,this._targetArn=props.targetArn}get integrationRef(){return{integrationArn:this.ref}}get additionalEncryptionContext(){return this._additionalEncryptionContext}set additionalEncryptionContext(value){cdk().traceProperty(this.node,"AdditionalEncryptionContext"),this._additionalEncryptionContext=value}get dataFilter(){return this._dataFilter}set dataFilter(value){cdk().traceProperty(this.node,"DataFilter"),this._dataFilter=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get integrationName(){return this._integrationName}set integrationName(value){cdk().traceProperty(this.node,"IntegrationName"),this._integrationName=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KMSKeyId"),this._kmsKeyId=value}get sourceArn(){return this._sourceArn}set sourceArn(value){cdk().traceProperty(this.node,"SourceArn"),this._sourceArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get targetArn(){return this._targetArn}set targetArn(value){cdk().traceProperty(this.node,"TargetArn"),this._targetArn=value}get attrCreateTime(){return cdk().Token.asString(this.getAtt("CreateTime",cdk().ResolutionTypeHint.STRING))}get attrIntegrationArn(){return cdk().Token.asString(this.getAtt("IntegrationArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{additionalEncryptionContext:this._additionalEncryptionContext,tags:this.cdkTagManager.renderTags(this._tags),dataFilter:this._dataFilter,description:this._description,integrationName:this._integrationName,kmsKeyId:this._kmsKeyId,sourceArn:this._sourceArn,targetArn:this._targetArn}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnIntegration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIntegrationPropsToCloudFormation(props)}}exports.CfnIntegration=CfnIntegration;function CfnIntegrationPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("additionalEncryptionContext",cdk().hashValidator(cdk().validateString))(properties.additionalEncryptionContext)),errors.collect(cdk().propertyValidator("dataFilter",cdk().validateString)(properties.dataFilter)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("integrationName",cdk().validateString)(properties.integrationName)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("sourceArn",cdk().requiredValidator)(properties.sourceArn)),errors.collect(cdk().propertyValidator("sourceArn",cdk().validateString)(properties.sourceArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetArn",cdk().requiredValidator)(properties.targetArn)),errors.collect(cdk().propertyValidator("targetArn",cdk().validateString)(properties.targetArn)),errors.wrap('supplied properties not correct for "CfnIntegrationProps"')}function convertCfnIntegrationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationPropsValidator(properties).assertSuccess(),{AdditionalEncryptionContext:cdk().hashMapper(cdk().stringToCloudFormation)(properties.additionalEncryptionContext),DataFilter:cdk().stringToCloudFormation(properties.dataFilter),Description:cdk().stringToCloudFormation(properties.description),IntegrationName:cdk().stringToCloudFormation(properties.integrationName),KMSKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),SourceArn:cdk().stringToCloudFormation(properties.sourceArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetArn:cdk().stringToCloudFormation(properties.targetArn)}):properties}function CfnIntegrationPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("additionalEncryptionContext","AdditionalEncryptionContext",properties.AdditionalEncryptionContext!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.AdditionalEncryptionContext):void 0),ret.addPropertyResult("dataFilter","DataFilter",properties.DataFilter!=null?cfn_parse().FromCloudFormation.getString(properties.DataFilter):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("integrationName","IntegrationName",properties.IntegrationName!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationName):void 0),ret.addPropertyResult("kmsKeyId","KMSKeyId",properties.KMSKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KMSKeyId):void 0),ret.addPropertyResult("sourceArn","SourceArn",properties.SourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.SourceArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetArn","TargetArn",properties.TargetArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}