aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 49.4 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f;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");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp};class CfnDBCluster extends cdk().CfnResource{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 Error("Unexpected IResolvable");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}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.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.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=props.kmsKeyId,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=props.vpcSecurityGroupIds,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 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:props",this.cfnProperties)}renderProperties(props){return convertCfnDBClusterPropsToCloudFormation(props)}}exports.CfnDBCluster=CfnDBCluster,_a=JSII_RTTI_SYMBOL_1,CfnDBCluster[_a]={fqn:"aws-cdk-lib.aws_neptune.CfnDBCluster",version:"2.160.0"},CfnDBCluster.CFN_RESOURCE_TYPE_NAME="AWS::Neptune::DBCluster";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 _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBClusterParameterGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new Error("Unexpected IResolvable");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}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.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),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 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:props",this.cfnProperties)}renderProperties(props){return convertCfnDBClusterParameterGroupPropsToCloudFormation(props)}}exports.CfnDBClusterParameterGroup=CfnDBClusterParameterGroup,_b=JSII_RTTI_SYMBOL_1,CfnDBClusterParameterGroup[_b]={fqn:"aws-cdk-lib.aws_neptune.CfnDBClusterParameterGroup",version:"2.160.0"},CfnDBClusterParameterGroup.CFN_RESOURCE_TYPE_NAME="AWS::Neptune::DBClusterParameterGroup";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 _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBInstancePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new Error("Unexpected IResolvable");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}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.attrEndpoint=cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrPort=cdk().Token.asString(this.getAtt("Port",cdk().ResolutionTypeHint.STRING)),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.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 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,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:props",this.cfnProperties)}renderProperties(props){return convertCfnDBInstancePropsToCloudFormation(props)}}exports.CfnDBInstance=CfnDBInstance,_c=JSII_RTTI_SYMBOL_1,CfnDBInstance[_c]={fqn:"aws-cdk-lib.aws_neptune.CfnDBInstance",version:"2.160.0"},CfnDBInstance.CFN_RESOURCE_TYPE_NAME="AWS::Neptune::DBInstance";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("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),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("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 _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDBParameterGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new Error("Unexpected IResolvable");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}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.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),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 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:props",this.cfnProperties)}renderProperties(props){return convertCfnDBParameterGroupPropsToCloudFormation(props)}}exports.CfnDBParameterGroup=CfnDBParameterGroup,_d=JSII_RTTI_SYMBOL_1,CfnDBParameterGroup[_d]={fqn:"aws-cdk-lib.aws_neptune.CfnDBParameterGroup",version:"2.160.0"},CfnDBParameterGroup.CFN_RESOURCE_TYPE_NAME="AWS::Neptune::DBParameterGroup";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).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 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("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 CfnDBSubnetGroup extends cdk().CfnResource{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 Error("Unexpected IResolvable");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}constructor(scope,id,props){super(scope,id,{type:CfnDBSubnetGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_neptune_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.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.dbSubnetGroupDescription=props.dbSubnetGroupDescription,this.dbSubnetGroupName=props.dbSubnetGroupName,this.subnetIds=props.subnetIds,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Neptune::DBSubnetGroup",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}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:props",this.cfnProperties)}renderProperties(props){return convertCfnDBSubnetGroupPropsToCloudFormation(props)}}exports.CfnDBSubnetGroup=CfnDBSubnetGroup,_e=JSII_RTTI_SYMBOL_1,CfnDBSubnetGroup[_e]={fqn:"aws-cdk-lib.aws_neptune.CfnDBSubnetGroup",version:"2.160.0"},CfnDBSubnetGroup.CFN_RESOURCE_TYPE_NAME="AWS::Neptune::DBSubnetGroup";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 _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnEventSubscriptionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new Error("Unexpected IResolvable");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}constructor(scope,id,props={}){super(scope,id,{type:CfnEventSubscription.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_neptune_CfnEventSubscriptionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEventSubscription),error}this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.enabled=props.enabled,this.eventCategories=props.eventCategories,this.snsTopicArn=props.snsTopicArn,this.sourceIds=props.sourceIds,this.sourceType=props.sourceType}get cfnProperties(){return{enabled:this.enabled,eventCategories:this.eventCategories,snsTopicArn:this.snsTopicArn,sourceIds:this.sourceIds,sourceType:this.sourceType}}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:props",this.cfnProperties)}renderProperties(props){return convertCfnEventSubscriptionPropsToCloudFormation(props)}}exports.CfnEventSubscription=CfnEventSubscription,_f=JSII_RTTI_SYMBOL_1,CfnEventSubscription[_f]={fqn:"aws-cdk-lib.aws_neptune.CfnEventSubscription",version:"2.160.0"},CfnEventSubscription.CFN_RESOURCE_TYPE_NAME="AWS::Neptune::EventSubscription";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().validateString)(properties.snsTopicArn)),errors.collect(cdk().propertyValidator("sourceIds",cdk().listValidator(cdk().validateString))(properties.sourceIds)),errors.collect(cdk().propertyValidator("sourceType",cdk().validateString)(properties.sourceType)),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)}):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.addUnrecognizedPropertiesAsExtra(properties),ret}