aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 64.8 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnEventSubscription=exports.CfnDBSubnetGroup=exports.CfnDBParameterGroup=exports.CfnDBInstance=exports.CfnDBClusterParameterGroup=exports.CfnDBCluster=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 CfnDBCluster extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_neptune.CfnDBCluster",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Neptune::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}_associatedRoles;_availabilityZones;_backupRetentionPeriod;_copyTagsToSnapshot;_dbClusterIdentifier;_dbClusterParameterGroupName;_dbInstanceParameterGroupName;_dbPort;_dbSubnetGroupName;_deletionProtection;_enableCloudwatchLogsExports;_engineVersion;_iamAuthEnabled;_kmsKeyId;_preferredBackupWindow;_preferredMaintenanceWindow;_restoreToTime;_restoreType;_serverlessScalingConfiguration;_snapshotIdentifier;_sourceDbClusterIdentifier;_storageEncrypted;tags;_tagsRaw;_useLatestRestorableTime;_vpcSecurityGroupIds;constructor(scope,id,props={}){super(scope,id,{type:CfnDBCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_neptune_CfnDBClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBCluster),error}this._associatedRoles=props.associatedRoles,this._availabilityZones=props.availabilityZones,this._backupRetentionPeriod=props.backupRetentionPeriod,this._copyTagsToSnapshot=props.copyTagsToSnapshot,this._dbClusterIdentifier=props.dbClusterIdentifier,this._dbClusterParameterGroupName=props.dbClusterParameterGroupName,this._dbInstanceParameterGroupName=props.dbInstanceParameterGroupName,this._dbPort=props.dbPort,this._dbSubnetGroupName=props.dbSubnetGroupName,this._deletionProtection=props.deletionProtection,this._enableCloudwatchLogsExports=props.enableCloudwatchLogsExports,this._engineVersion=props.engineVersion,this._iamAuthEnabled=props.iamAuthEnabled,this._kmsKeyId=cdk().getRefProperty(props.kmsKeyId?.keyRef,"keyArn")??cdk().getRefProperty(props.kmsKeyId?.keyRef,"keyId")??cdk().ensureStringOrUndefined(props.kmsKeyId,"kmsKeyId","kms.IKeyRef | string"),this._preferredBackupWindow=props.preferredBackupWindow,this._preferredMaintenanceWindow=props.preferredMaintenanceWindow,this._restoreToTime=props.restoreToTime,this._restoreType=props.restoreType,this._serverlessScalingConfiguration=props.serverlessScalingConfiguration,this._snapshotIdentifier=props.snapshotIdentifier,this._sourceDbClusterIdentifier=props.sourceDbClusterIdentifier,this._storageEncrypted=props.storageEncrypted,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Neptune::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::Neptune::DBCluster' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}get dbClusterRef(){return{dbClusterIdentifier:this.ref}}get associatedRoles(){return this._associatedRoles}set associatedRoles(value){cdk().traceProperty(this.node,"AssociatedRoles"),this._associatedRoles=value}get availabilityZones(){return this._availabilityZones}set availabilityZones(value){cdk().traceProperty(this.node,"AvailabilityZones"),this._availabilityZones=value}get backupRetentionPeriod(){return this._backupRetentionPeriod}set backupRetentionPeriod(value){cdk().traceProperty(this.node,"BackupRetentionPeriod"),this._backupRetentionPeriod=value}get copyTagsToSnapshot(){return this._copyTagsToSnapshot}set copyTagsToSnapshot(value){cdk().traceProperty(this.node,"CopyTagsToSnapshot"),this._copyTagsToSnapshot=value}get dbClusterIdentifier(){return this._dbClusterIdentifier}set dbClusterIdentifier(value){cdk().traceProperty(this.node,"DBClusterIdentifier"),this._dbClusterIdentifier=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 dbPort(){return this._dbPort}set dbPort(value){cdk().traceProperty(this.node,"DBPort"),this._dbPort=value}get dbSubnetGroupName(){return this._dbSubnetGroupName}set dbSubnetGroupName(value){cdk().traceProperty(this.node,"DBSubnetGroupName"),this._dbSubnetGroupName=value}get deletionProtection(){return this._deletionProtection}set deletionProtection(value){cdk().traceProperty(this.node,"DeletionProtection"),this._deletionProtection=value}get enableCloudwatchLogsExports(){return this._enableCloudwatchLogsExports}set enableCloudwatchLogsExports(value){cdk().traceProperty(this.node,"EnableCloudwatchLogsExports"),this._enableCloudwatchLogsExports=value}get engineVersion(){return this._engineVersion}set engineVersion(value){cdk().traceProperty(this.node,"EngineVersion"),this._engineVersion=value}get iamAuthEnabled(){return this._iamAuthEnabled}set iamAuthEnabled(value){cdk().traceProperty(this.node,"IamAuthEnabled"),this._iamAuthEnabled=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KmsKeyId"),this._kmsKeyId=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 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 serverlessScalingConfiguration(){return this._serverlessScalingConfiguration}set serverlessScalingConfiguration(value){cdk().traceProperty(this.node,"ServerlessScalingConfiguration"),this._serverlessScalingConfiguration=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 storageEncrypted(){return this._storageEncrypted}set storageEncrypted(value){cdk().traceProperty(this.node,"StorageEncrypted"),this._storageEncrypted=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 attrClusterResourceId(){return cdk().Token.asString(this.getAtt("ClusterResourceId",cdk().ResolutionTypeHint.STRING))}get attrEndpoint(){return cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING))}get attrPort(){return cdk().Token.asString(this.getAtt("Port",cdk().ResolutionTypeHint.STRING))}get attrReadEndpoint(){return cdk().Token.asString(this.getAtt("ReadEndpoint",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{associatedRoles:this._associatedRoles,availabilityZones:this._availabilityZones,backupRetentionPeriod:this._backupRetentionPeriod,copyTagsToSnapshot:this._copyTagsToSnapshot,dbClusterIdentifier:this._dbClusterIdentifier,dbClusterParameterGroupName:this._dbClusterParameterGroupName,dbInstanceParameterGroupName:this._dbInstanceParameterGroupName,dbPort:this._dbPort,dbSubnetGroupName:this._dbSubnetGroupName,deletionProtection:this._deletionProtection,enableCloudwatchLogsExports:this._enableCloudwatchLogsExports,engineVersion:this._engineVersion,iamAuthEnabled:this._iamAuthEnabled,kmsKeyId:this._kmsKeyId,preferredBackupWindow:this._preferredBackupWindow,preferredMaintenanceWindow:this._preferredMaintenanceWindow,restoreToTime:this._restoreToTime,restoreType:this._restoreType,serverlessScalingConfiguration:this._serverlessScalingConfiguration,snapshotIdentifier:this._snapshotIdentifier,sourceDbClusterIdentifier:this._sourceDbClusterIdentifier,storageEncrypted:this._storageEncrypted,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 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 CfnDBClusterServerlessScalingConfigurationPropertyValidator(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().requiredValidator)(properties.maxCapacity)),errors.collect(cdk().propertyValidator("maxCapacity",cdk().validateNumber)(properties.maxCapacity)),errors.collect(cdk().propertyValidator("minCapacity",cdk().requiredValidator)(properties.minCapacity)),errors.collect(cdk().propertyValidator("minCapacity",cdk().validateNumber)(properties.minCapacity)),errors.wrap('supplied properties not correct for "ServerlessScalingConfigurationProperty"')}function convertCfnDBClusterServerlessScalingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterServerlessScalingConfigurationPropertyValidator(properties).assertSuccess(),{MaxCapacity:cdk().numberToCloudFormation(properties.maxCapacity),MinCapacity:cdk().numberToCloudFormation(properties.minCapacity)}):properties}function CfnDBClusterServerlessScalingConfigurationPropertyFromCloudFormation(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.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("associatedRoles",cdk().listValidator(CfnDBClusterDBClusterRolePropertyValidator))(properties.associatedRoles)),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("dbInstanceParameterGroupName",cdk().validateString)(properties.dbInstanceParameterGroupName)),errors.collect(cdk().propertyValidator("dbPort",cdk().validateNumber)(properties.dbPort)),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("iamAuthEnabled",cdk().validateBoolean)(properties.iamAuthEnabled)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),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("serverlessScalingConfiguration",CfnDBClusterServerlessScalingConfigurationPropertyValidator)(properties.serverlessScalingConfiguration)),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 convertCfnDBClusterPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterPropsValidator(properties).assertSuccess(),{AssociatedRoles:cdk().listMapper(convertCfnDBClusterDBClusterRolePropertyToCloudFormation)(properties.associatedRoles),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),DBInstanceParameterGroupName:cdk().stringToCloudFormation(properties.dbInstanceParameterGroupName),DBPort:cdk().numberToCloudFormation(properties.dbPort),DBSubnetGroupName:cdk().stringToCloudFormation(properties.dbSubnetGroupName),DeletionProtection:cdk().booleanToCloudFormation(properties.deletionProtection),EnableCloudwatchLogsExports:cdk().listMapper(cdk().stringToCloudFormation)(properties.enableCloudwatchLogsExports),EngineVersion:cdk().stringToCloudFormation(properties.engineVersion),IamAuthEnabled:cdk().booleanToCloudFormation(properties.iamAuthEnabled),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),PreferredBackupWindow:cdk().stringToCloudFormation(properties.preferredBackupWindow),PreferredMaintenanceWindow:cdk().stringToCloudFormation(properties.preferredMaintenanceWindow),RestoreToTime:cdk().stringToCloudFormation(properties.restoreToTime),RestoreType:cdk().stringToCloudFormation(properties.restoreType),ServerlessScalingConfiguration:convertCfnDBClusterServerlessScalingConfigurationPropertyToCloudFormation(properties.serverlessScalingConfiguration),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(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("associatedRoles","AssociatedRoles",properties.AssociatedRoles!=null?cfn_parse().FromCloudFormation.getArray(CfnDBClusterDBClusterRolePropertyFromCloudFormation)(properties.AssociatedRoles):void 0),ret.addPropertyResult("availabilityZones","AvailabilityZones",properties.AvailabilityZones!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(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("dbInstanceParameterGroupName","DBInstanceParameterGroupName",properties.DBInstanceParameterGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.DBInstanceParameterGroupName):void 0),ret.addPropertyResult("dbPort","DBPort",properties.DBPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.DBPort):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.getArray(cfn_parse().FromCloudFormation.getString)(properties.EnableCloudwatchLogsExports):void 0),ret.addPropertyResult("engineVersion","EngineVersion",properties.EngineVersion!=null?cfn_parse().FromCloudFormation.getString(properties.EngineVersion):void 0),ret.addPropertyResult("iamAuthEnabled","IamAuthEnabled",properties.IamAuthEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IamAuthEnabled):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):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("serverlessScalingConfiguration","ServerlessScalingConfiguration",properties.ServerlessScalingConfiguration!=null?CfnDBClusterServerlessScalingConfigurationPropertyFromCloudFormation(properties.ServerlessScalingConfiguration):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.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_neptune.CfnDBClusterParameterGroup",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Neptune::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}_description;_family;_name;_parameters;tags;_tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnDBClusterParameterGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_neptune_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._name=props.name,this._parameters=props.parameters,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Neptune::DBClusterParameterGroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get dbClusterParameterGroupRef(){return{dbClusterParameterGroupName:this.ref}}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 name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=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{description:this._description,family:this._family,name:this._name,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("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 convertCfnDBClusterParameterGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterParameterGroupPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Family:cdk().stringToCloudFormation(properties.family),Name:cdk().stringToCloudFormation(properties.name),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("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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):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_neptune.CfnDBInstance",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Neptune::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}_allowMajorVersionUpgrade;_autoMinorVersionUpgrade;_availabilityZone;_dbClusterIdentifier;_dbInstanceClass;_dbInstanceIdentifier;_dbParameterGroupName;_dbSnapshotIdentifier;_dbSubnetGroupName;_preferredMaintenanceWindow;_publiclyAccessible;tags;_tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnDBInstance.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_neptune_CfnDBInstanceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBInstance),error}cdk().requireProperty(props,"dbInstanceClass",this),this._allowMajorVersionUpgrade=props.allowMajorVersionUpgrade,this._autoMinorVersionUpgrade=props.autoMinorVersionUpgrade,this._availabilityZone=props.availabilityZone,this._dbClusterIdentifier=props.dbClusterIdentifier,this._dbInstanceClass=props.dbInstanceClass,this._dbInstanceIdentifier=props.dbInstanceIdentifier,this._dbParameterGroupName=props.dbParameterGroupName,this._dbSnapshotIdentifier=props.dbSnapshotIdentifier,this._dbSubnetGroupName=props.dbSubnetGroupName,this._preferredMaintenanceWindow=props.preferredMaintenanceWindow,this._publiclyAccessible=props.publiclyAccessible,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Neptune::DBInstance",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this.node.scope!=null&&cdk().Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::Neptune::DBInstance' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}get dbInstanceRef(){return{dbInstanceIdentifier:this.ref}}get allowMajorVersionUpgrade(){return this._allowMajorVersionUpgrade}set allowMajorVersionUpgrade(value){cdk().traceProperty(this.node,"AllowMajorVersionUpgrade"),this._allowMajorVersionUpgrade=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 dbClusterIdentifier(){return this._dbClusterIdentifier}set dbClusterIdentifier(value){cdk().traceProperty(this.node,"DBClusterIdentifier"),this._dbClusterIdentifier=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 dbParameterGroupName(){return this._dbParameterGroupName}set dbParameterGroupName(value){cdk().traceProperty(this.node,"DBParameterGroupName"),this._dbParameterGroupName=value}get dbSnapshotIdentifier(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_neptune.CfnDBInstance#dbSnapshotIdentifier","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"dbSnapshotIdentifier").get),error}return this._dbSnapshotIdentifier}set dbSnapshotIdentifier(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_neptune.CfnDBInstance#dbSnapshotIdentifier","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"dbSnapshotIdentifier").set),error}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 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 tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrEndpoint(){return cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING))}get attrPort(){return cdk().Token.asString(this.getAtt("Port",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{allowMajorVersionUpgrade:this._allowMajorVersionUpgrade,autoMinorVersionUpgrade:this._autoMinorVersionUpgrade,availabilityZone:this._availabilityZone,dbClusterIdentifier:this._dbClusterIdentifier,dbInstanceClass:this._dbInstanceClass,dbInstanceIdentifier:this._dbInstanceIdentifier,dbParameterGroupName:this._dbParameterGroupName,dbSnapshotIdentifier:this._dbSnapshotIdentifier,dbSubnetGroupName:this._dbSubnetGroupName,preferredMaintenanceWindow:this._preferredMaintenanceWindow,publiclyAccessible:this._publiclyAccessible,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",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 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("allowMajorVersionUpgrade",cdk().validateBoolean)(properties.allowMajorVersionUpgrade)),errors.collect(cdk().propertyValidator("autoMinorVersionUpgrade",cdk().validateBoolean)(properties.autoMinorVersionUpgrade)),errors.collect(cdk().propertyValidator("availabilityZone",cdk().validateString)(properties.availabilityZone)),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("dbParameterGroupName",cdk().validateString)(properties.dbParameterGroupName)),errors.collect(cdk().propertyValidator("dbSnapshotIdentifier",cdk().validateString)(properties.dbSnapshotIdentifier)),errors.collect(cdk().propertyValidator("dbSubnetGroupName",cdk().validateString)(properties.dbSubnetGroupName)),errors.collect(cdk().propertyValidator("preferredMaintenanceWindow",cdk().validateString)(properties.preferredMaintenanceWindow)),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 "CfnDBInstanceProps"')}function convertCfnDBInstancePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBInstancePropsValidator(properties).assertSuccess(),{AllowMajorVersionUpgrade:cdk().booleanToCloudFormation(properties.allowMajorVersionUpgrade),AutoMinorVersionUpgrade:cdk().booleanToCloudFormation(properties.autoMinorVersionUpgrade),AvailabilityZone:cdk().stringToCloudFormation(properties.availabilityZone),DBClusterIdentifier:cdk().stringToCloudFormation(properties.dbClusterIdentifier),DBInstanceClass:cdk().stringToCloudFormation(properties.dbInstanceClass),DBInstanceIdentifier:cdk().stringToCloudFormation(properties.dbInstanceIdentifier),DBParameterGroupName:cdk().stringToCloudFormation(properties.dbParameterGroupName),DBSnapshotIdentifier:cdk().stringToCloudFormation(properties.dbSnapshotIdentifier),DBSubnetGroupName:cdk().stringToCloudFormation(properties.dbSubnetGroupName),PreferredMaintenanceWindow:cdk().stringToCloudFormation(properties.preferredMaintenanceWindow),PubliclyAccessible:cdk().booleanToCloudFormation(properties.publiclyAccessible),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):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("allowMajorVersionUpgrade","AllowMajorVersionUpgrade",properties.AllowMajorVersionUpgrade!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowMajorVersionUpgrade):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("dbClusterIdentifier","DBClusterIdentifier",properties.DBClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DBClusterIdentifier):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("dbParameterGroupName","DBParameterGroupName",properties.DBParameterGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.DBParameterGroupName):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("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("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBParameterGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_neptune.CfnDBParameterGroup",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Neptune::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_neptune_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})}_description;_family;_name;_parameters;tags;_tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnDBParameterGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_neptune_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),cdk().requireProperty(props,"parameters",this),this._description=props.description,this._family=props.family,this._name=props.name,this._parameters=props.parameters,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Neptune::DBParameterGroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get dbParameterGroupRef(){return{dbParameterGroupName:this.ref}}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 name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=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{description:this._description,family:this._family,name:this._name,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("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 "CfnDBParameterGroupProps"')}function convertCfnDBParameterGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBParameterGroupPropsValidator(properties).assertSucce