aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 30.1 kB
JavaScript
"use strict";var _a,_b,_c,_d;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnDBSubnetGroup=exports.CfnDBInstance=exports.CfnDBClusterParameterGroup=exports.CfnDBCluster=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnDBClusterPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("availabilityZones",cdk.listValidator(cdk.validateString))(properties.availabilityZones)),errors.collect(cdk.propertyValidator("backupRetentionPeriod",cdk.validateNumber)(properties.backupRetentionPeriod)),errors.collect(cdk.propertyValidator("copyTagsToSnapshot",cdk.validateBoolean)(properties.copyTagsToSnapshot)),errors.collect(cdk.propertyValidator("dbClusterIdentifier",cdk.validateString)(properties.dbClusterIdentifier)),errors.collect(cdk.propertyValidator("dbClusterParameterGroupName",cdk.validateString)(properties.dbClusterParameterGroupName)),errors.collect(cdk.propertyValidator("dbSubnetGroupName",cdk.validateString)(properties.dbSubnetGroupName)),errors.collect(cdk.propertyValidator("deletionProtection",cdk.validateBoolean)(properties.deletionProtection)),errors.collect(cdk.propertyValidator("enableCloudwatchLogsExports",cdk.listValidator(cdk.validateString))(properties.enableCloudwatchLogsExports)),errors.collect(cdk.propertyValidator("engineVersion",cdk.validateString)(properties.engineVersion)),errors.collect(cdk.propertyValidator("kmsKeyId",cdk.validateString)(properties.kmsKeyId)),errors.collect(cdk.propertyValidator("masterUserPassword",cdk.validateString)(properties.masterUserPassword)),errors.collect(cdk.propertyValidator("masterUsername",cdk.validateString)(properties.masterUsername)),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("restoreToTime",cdk.validateString)(properties.restoreToTime)),errors.collect(cdk.propertyValidator("restoreType",cdk.validateString)(properties.restoreType)),errors.collect(cdk.propertyValidator("snapshotIdentifier",cdk.validateString)(properties.snapshotIdentifier)),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.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 cfnDBClusterPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDBClusterPropsValidator(properties).assertSuccess(),{AvailabilityZones:cdk.listMapper(cdk.stringToCloudFormation)(properties.availabilityZones),BackupRetentionPeriod:cdk.numberToCloudFormation(properties.backupRetentionPeriod),CopyTagsToSnapshot:cdk.booleanToCloudFormation(properties.copyTagsToSnapshot),DBClusterIdentifier:cdk.stringToCloudFormation(properties.dbClusterIdentifier),DBClusterParameterGroupName:cdk.stringToCloudFormation(properties.dbClusterParameterGroupName),DBSubnetGroupName:cdk.stringToCloudFormation(properties.dbSubnetGroupName),DeletionProtection:cdk.booleanToCloudFormation(properties.deletionProtection),EnableCloudwatchLogsExports:cdk.listMapper(cdk.stringToCloudFormation)(properties.enableCloudwatchLogsExports),EngineVersion:cdk.stringToCloudFormation(properties.engineVersion),KmsKeyId:cdk.stringToCloudFormation(properties.kmsKeyId),MasterUsername:cdk.stringToCloudFormation(properties.masterUsername),MasterUserPassword:cdk.stringToCloudFormation(properties.masterUserPassword),Port:cdk.numberToCloudFormation(properties.port),PreferredBackupWindow:cdk.stringToCloudFormation(properties.preferredBackupWindow),PreferredMaintenanceWindow:cdk.stringToCloudFormation(properties.preferredMaintenanceWindow),RestoreToTime:cdk.stringToCloudFormation(properties.restoreToTime),RestoreType:cdk.stringToCloudFormation(properties.restoreType),SnapshotIdentifier:cdk.stringToCloudFormation(properties.snapshotIdentifier),SourceDBClusterIdentifier:cdk.stringToCloudFormation(properties.sourceDbClusterIdentifier),StorageEncrypted:cdk.booleanToCloudFormation(properties.storageEncrypted),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),UseLatestRestorableTime:cdk.booleanToCloudFormation(properties.useLatestRestorableTime),VpcSecurityGroupIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.vpcSecurityGroupIds)}):properties}function CfnDBClusterPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityZones","AvailabilityZones",properties.AvailabilityZones!=null?cfn_parse.FromCloudFormation.getStringArray(properties.AvailabilityZones):void 0),ret.addPropertyResult("backupRetentionPeriod","BackupRetentionPeriod",properties.BackupRetentionPeriod!=null?cfn_parse.FromCloudFormation.getNumber(properties.BackupRetentionPeriod):void 0),ret.addPropertyResult("copyTagsToSnapshot","CopyTagsToSnapshot",properties.CopyTagsToSnapshot!=null?cfn_parse.FromCloudFormation.getBoolean(properties.CopyTagsToSnapshot):void 0),ret.addPropertyResult("dbClusterIdentifier","DBClusterIdentifier",properties.DBClusterIdentifier!=null?cfn_parse.FromCloudFormation.getString(properties.DBClusterIdentifier):void 0),ret.addPropertyResult("dbClusterParameterGroupName","DBClusterParameterGroupName",properties.DBClusterParameterGroupName!=null?cfn_parse.FromCloudFormation.getString(properties.DBClusterParameterGroupName):void 0),ret.addPropertyResult("dbSubnetGroupName","DBSubnetGroupName",properties.DBSubnetGroupName!=null?cfn_parse.FromCloudFormation.getString(properties.DBSubnetGroupName):void 0),ret.addPropertyResult("deletionProtection","DeletionProtection",properties.DeletionProtection!=null?cfn_parse.FromCloudFormation.getBoolean(properties.DeletionProtection):void 0),ret.addPropertyResult("enableCloudwatchLogsExports","EnableCloudwatchLogsExports",properties.EnableCloudwatchLogsExports!=null?cfn_parse.FromCloudFormation.getStringArray(properties.EnableCloudwatchLogsExports):void 0),ret.addPropertyResult("engineVersion","EngineVersion",properties.EngineVersion!=null?cfn_parse.FromCloudFormation.getString(properties.EngineVersion):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse.FromCloudFormation.getString(properties.KmsKeyId):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("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("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("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("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.addPropertyResult("useLatestRestorableTime","UseLatestRestorableTime",properties.UseLatestRestorableTime!=null?cfn_parse.FromCloudFormation.getBoolean(properties.UseLatestRestorableTime):void 0),ret.addPropertyResult("vpcSecurityGroupIds","VpcSecurityGroupIds",properties.VpcSecurityGroupIds!=null?cfn_parse.FromCloudFormation.getStringArray(properties.VpcSecurityGroupIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBCluster extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnDBCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_docdb_CfnDBClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBCluster),error}this.attrClusterResourceId=cdk.Token.asString(this.getAtt("ClusterResourceId",cdk.ResolutionTypeHint.STRING)),this.attrEndpoint=cdk.Token.asString(this.getAtt("Endpoint",cdk.ResolutionTypeHint.STRING)),this.attrPort=cdk.Token.asString(this.getAtt("Port",cdk.ResolutionTypeHint.STRING)),this.attrReadEndpoint=cdk.Token.asString(this.getAtt("ReadEndpoint",cdk.ResolutionTypeHint.STRING)),this.availabilityZones=props.availabilityZones,this.backupRetentionPeriod=props.backupRetentionPeriod,this.copyTagsToSnapshot=props.copyTagsToSnapshot,this.dbClusterIdentifier=props.dbClusterIdentifier,this.dbClusterParameterGroupName=props.dbClusterParameterGroupName,this.dbSubnetGroupName=props.dbSubnetGroupName,this.deletionProtection=props.deletionProtection,this.enableCloudwatchLogsExports=props.enableCloudwatchLogsExports,this.engineVersion=props.engineVersion,this.kmsKeyId=props.kmsKeyId,this.masterUsername=props.masterUsername,this.masterUserPassword=props.masterUserPassword,this.port=props.port,this.preferredBackupWindow=props.preferredBackupWindow,this.preferredMaintenanceWindow=props.preferredMaintenanceWindow,this.restoreToTime=props.restoreToTime,this.restoreType=props.restoreType,this.snapshotIdentifier=props.snapshotIdentifier,this.sourceDbClusterIdentifier=props.sourceDbClusterIdentifier,this.storageEncrypted=props.storageEncrypted,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::DocDB::DBCluster",props.tags,{tagPropertyName:"tags"}),this.useLatestRestorableTime=props.useLatestRestorableTime,this.vpcSecurityGroupIds=props.vpcSecurityGroupIds,this.node.scope&&cdk.Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::DocDB::DBCluster' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBClusterPropsFromCloudFormation(resourceProperties),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}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:props",this.cfnProperties)}get cfnProperties(){return{availabilityZones:this.availabilityZones,backupRetentionPeriod:this.backupRetentionPeriod,copyTagsToSnapshot:this.copyTagsToSnapshot,dbClusterIdentifier:this.dbClusterIdentifier,dbClusterParameterGroupName:this.dbClusterParameterGroupName,dbSubnetGroupName:this.dbSubnetGroupName,deletionProtection:this.deletionProtection,enableCloudwatchLogsExports:this.enableCloudwatchLogsExports,engineVersion:this.engineVersion,kmsKeyId:this.kmsKeyId,masterUsername:this.masterUsername,masterUserPassword:this.masterUserPassword,port:this.port,preferredBackupWindow:this.preferredBackupWindow,preferredMaintenanceWindow:this.preferredMaintenanceWindow,restoreToTime:this.restoreToTime,restoreType:this.restoreType,snapshotIdentifier:this.snapshotIdentifier,sourceDbClusterIdentifier:this.sourceDbClusterIdentifier,storageEncrypted:this.storageEncrypted,tags:this.tags.renderTags(),useLatestRestorableTime:this.useLatestRestorableTime,vpcSecurityGroupIds:this.vpcSecurityGroupIds}}renderProperties(props){return cfnDBClusterPropsToCloudFormation(props)}}exports.CfnDBCluster=CfnDBCluster,_a=JSII_RTTI_SYMBOL_1,CfnDBCluster[_a]={fqn:"aws-cdk-lib.aws_docdb.CfnDBCluster",version:"2.70.0"},CfnDBCluster.CFN_RESOURCE_TYPE_NAME="AWS::DocDB::DBCluster";function CfnDBClusterParameterGroupPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),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("name",cdk.validateString)(properties.name)),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 cfnDBClusterParameterGroupPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDBClusterParameterGroupPropsValidator(properties).assertSuccess(),{Description:cdk.stringToCloudFormation(properties.description),Family:cdk.stringToCloudFormation(properties.family),Parameters:cdk.objectToCloudFormation(properties.parameters),Name:cdk.stringToCloudFormation(properties.name),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDBClusterParameterGroupPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",cfn_parse.FromCloudFormation.getString(properties.Description)),ret.addPropertyResult("family","Family",cfn_parse.FromCloudFormation.getString(properties.Family)),ret.addPropertyResult("parameters","Parameters",cfn_parse.FromCloudFormation.getAny(properties.Parameters)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):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 CfnDBClusterParameterGroup extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnDBClusterParameterGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_docdb_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.description=props.description,this.family=props.family,this.parameters=props.parameters,this.name=props.name,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::DocDB::DBClusterParameterGroup",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBClusterParameterGroupPropsFromCloudFormation(resourceProperties),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}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:props",this.cfnProperties)}get cfnProperties(){return{description:this.description,family:this.family,parameters:this.parameters,name:this.name,tags:this.tags.renderTags()}}renderProperties(props){return cfnDBClusterParameterGroupPropsToCloudFormation(props)}}exports.CfnDBClusterParameterGroup=CfnDBClusterParameterGroup,_b=JSII_RTTI_SYMBOL_1,CfnDBClusterParameterGroup[_b]={fqn:"aws-cdk-lib.aws_docdb.CfnDBClusterParameterGroup",version:"2.70.0"},CfnDBClusterParameterGroup.CFN_RESOURCE_TYPE_NAME="AWS::DocDB::DBClusterParameterGroup";function CfnDBInstancePropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("autoMinorVersionUpgrade",cdk.validateBoolean)(properties.autoMinorVersionUpgrade)),errors.collect(cdk.propertyValidator("availabilityZone",cdk.validateString)(properties.availabilityZone)),errors.collect(cdk.propertyValidator("dbClusterIdentifier",cdk.requiredValidator)(properties.dbClusterIdentifier)),errors.collect(cdk.propertyValidator("dbClusterIdentifier",cdk.validateString)(properties.dbClusterIdentifier)),errors.collect(cdk.propertyValidator("dbInstanceClass",cdk.requiredValidator)(properties.dbInstanceClass)),errors.collect(cdk.propertyValidator("dbInstanceClass",cdk.validateString)(properties.dbInstanceClass)),errors.collect(cdk.propertyValidator("dbInstanceIdentifier",cdk.validateString)(properties.dbInstanceIdentifier)),errors.collect(cdk.propertyValidator("enablePerformanceInsights",cdk.validateBoolean)(properties.enablePerformanceInsights)),errors.collect(cdk.propertyValidator("preferredMaintenanceWindow",cdk.validateString)(properties.preferredMaintenanceWindow)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDBInstanceProps"')}function cfnDBInstancePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDBInstancePropsValidator(properties).assertSuccess(),{DBClusterIdentifier:cdk.stringToCloudFormation(properties.dbClusterIdentifier),DBInstanceClass:cdk.stringToCloudFormation(properties.dbInstanceClass),AutoMinorVersionUpgrade:cdk.booleanToCloudFormation(properties.autoMinorVersionUpgrade),AvailabilityZone:cdk.stringToCloudFormation(properties.availabilityZone),DBInstanceIdentifier:cdk.stringToCloudFormation(properties.dbInstanceIdentifier),EnablePerformanceInsights:cdk.booleanToCloudFormation(properties.enablePerformanceInsights),PreferredMaintenanceWindow:cdk.stringToCloudFormation(properties.preferredMaintenanceWindow),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDBInstancePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dbClusterIdentifier","DBClusterIdentifier",cfn_parse.FromCloudFormation.getString(properties.DBClusterIdentifier)),ret.addPropertyResult("dbInstanceClass","DBInstanceClass",cfn_parse.FromCloudFormation.getString(properties.DBInstanceClass)),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("dbInstanceIdentifier","DBInstanceIdentifier",properties.DBInstanceIdentifier!=null?cfn_parse.FromCloudFormation.getString(properties.DBInstanceIdentifier):void 0),ret.addPropertyResult("enablePerformanceInsights","EnablePerformanceInsights",properties.EnablePerformanceInsights!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EnablePerformanceInsights):void 0),ret.addPropertyResult("preferredMaintenanceWindow","PreferredMaintenanceWindow",properties.PreferredMaintenanceWindow!=null?cfn_parse.FromCloudFormation.getString(properties.PreferredMaintenanceWindow):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{constructor(scope,id,props){super(scope,id,{type:CfnDBInstance.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_docdb_CfnDBInstanceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBInstance),error}cdk.requireProperty(props,"dbClusterIdentifier",this),cdk.requireProperty(props,"dbInstanceClass",this),this.attrEndpoint=cdk.Token.asString(this.getAtt("Endpoint",cdk.ResolutionTypeHint.STRING)),this.attrPort=cdk.Token.asString(this.getAtt("Port",cdk.ResolutionTypeHint.STRING)),this.dbClusterIdentifier=props.dbClusterIdentifier,this.dbInstanceClass=props.dbInstanceClass,this.autoMinorVersionUpgrade=props.autoMinorVersionUpgrade,this.availabilityZone=props.availabilityZone,this.dbInstanceIdentifier=props.dbInstanceIdentifier,this.enablePerformanceInsights=props.enablePerformanceInsights,this.preferredMaintenanceWindow=props.preferredMaintenanceWindow,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::DocDB::DBInstance",props.tags,{tagPropertyName:"tags"}),this.node.scope&&cdk.Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::DocDB::DBInstance' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBInstancePropsFromCloudFormation(resourceProperties),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}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:props",this.cfnProperties)}get cfnProperties(){return{dbClusterIdentifier:this.dbClusterIdentifier,dbInstanceClass:this.dbInstanceClass,autoMinorVersionUpgrade:this.autoMinorVersionUpgrade,availabilityZone:this.availabilityZone,dbInstanceIdentifier:this.dbInstanceIdentifier,enablePerformanceInsights:this.enablePerformanceInsights,preferredMaintenanceWindow:this.preferredMaintenanceWindow,tags:this.tags.renderTags()}}renderProperties(props){return cfnDBInstancePropsToCloudFormation(props)}}exports.CfnDBInstance=CfnDBInstance,_c=JSII_RTTI_SYMBOL_1,CfnDBInstance[_c]={fqn:"aws-cdk-lib.aws_docdb.CfnDBInstance",version:"2.70.0"},CfnDBInstance.CFN_RESOURCE_TYPE_NAME="AWS::DocDB::DBInstance";function CfnDBSubnetGroupPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnDBSubnetGroupPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDBSubnetGroupPropsValidator(properties).assertSuccess(),{DBSubnetGroupDescription:cdk.stringToCloudFormation(properties.dbSubnetGroupDescription),SubnetIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.subnetIds),DBSubnetGroupName:cdk.stringToCloudFormation(properties.dbSubnetGroupName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDBSubnetGroupPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dbSubnetGroupDescription","DBSubnetGroupDescription",cfn_parse.FromCloudFormation.getString(properties.DBSubnetGroupDescription)),ret.addPropertyResult("subnetIds","SubnetIds",cfn_parse.FromCloudFormation.getStringArray(properties.SubnetIds)),ret.addPropertyResult("dbSubnetGroupName","DBSubnetGroupName",properties.DBSubnetGroupName!=null?cfn_parse.FromCloudFormation.getString(properties.DBSubnetGroupName):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 CfnDBSubnetGroup extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnDBSubnetGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_docdb_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.subnetIds=props.subnetIds,this.dbSubnetGroupName=props.dbSubnetGroupName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::DocDB::DBSubnetGroup",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBSubnetGroupPropsFromCloudFormation(resourceProperties),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}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:props",this.cfnProperties)}get cfnProperties(){return{dbSubnetGroupDescription:this.dbSubnetGroupDescription,subnetIds:this.subnetIds,dbSubnetGroupName:this.dbSubnetGroupName,tags:this.tags.renderTags()}}renderProperties(props){return cfnDBSubnetGroupPropsToCloudFormation(props)}}exports.CfnDBSubnetGroup=CfnDBSubnetGroup,_d=JSII_RTTI_SYMBOL_1,CfnDBSubnetGroup[_d]={fqn:"aws-cdk-lib.aws_docdb.CfnDBSubnetGroup",version:"2.70.0"},CfnDBSubnetGroup.CFN_RESOURCE_TYPE_NAME="AWS::DocDB::DBSubnetGroup";