aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 44.5 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnEventSubscription=exports.CfnDBSubnetGroup=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},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>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(cdk_errors()).ValidationError("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}constructor(scope,id,props={}){super(scope,id,{type:CfnDBCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_docdb_CfnDBClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBCluster),error}this.attrClusterResourceId=cdk().Token.asString(this.getAtt("ClusterResourceId",cdk().ResolutionTypeHint.STRING)),this.attrEndpoint=cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrPort=cdk().Token.asString(this.getAtt("Port",cdk().ResolutionTypeHint.STRING)),this.attrReadEndpoint=cdk().Token.asString(this.getAtt("ReadEndpoint",cdk().ResolutionTypeHint.STRING)),this.availabilityZones=props.availabilityZones,this.backupRetentionPeriod=props.backupRetentionPeriod,this.copyTagsToSnapshot=props.copyTagsToSnapshot,this.dbClusterIdentifier=props.dbClusterIdentifier,this.dbClusterParameterGroupName=props.dbClusterParameterGroupName,this.dbSubnetGroupName=props.dbSubnetGroupName,this.deletionProtection=props.deletionProtection,this.enableCloudwatchLogsExports=props.enableCloudwatchLogsExports,this.engineVersion=props.engineVersion,this.kmsKeyId=props.kmsKeyId,this.manageMasterUserPassword=props.manageMasterUserPassword,this.masterUsername=props.masterUsername,this.masterUserPassword=props.masterUserPassword,this.masterUserSecretKmsKeyId=props.masterUserSecretKmsKeyId,this.port=props.port,this.preferredBackupWindow=props.preferredBackupWindow,this.preferredMaintenanceWindow=props.preferredMaintenanceWindow,this.restoreToTime=props.restoreToTime,this.restoreType=props.restoreType,this.rotateMasterUserPassword=props.rotateMasterUserPassword,this.serverlessV2ScalingConfiguration=props.serverlessV2ScalingConfiguration,this.snapshotIdentifier=props.snapshotIdentifier,this.sourceDbClusterIdentifier=props.sourceDbClusterIdentifier,this.storageEncrypted=props.storageEncrypted,this.storageType=props.storageType,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DocDB::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::DocDB::DBCluster' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}get cfnProperties(){return{availabilityZones:this.availabilityZones,backupRetentionPeriod:this.backupRetentionPeriod,copyTagsToSnapshot:this.copyTagsToSnapshot,dbClusterIdentifier:this.dbClusterIdentifier,dbClusterParameterGroupName:this.dbClusterParameterGroupName,dbSubnetGroupName:this.dbSubnetGroupName,deletionProtection:this.deletionProtection,enableCloudwatchLogsExports:this.enableCloudwatchLogsExports,engineVersion:this.engineVersion,kmsKeyId:this.kmsKeyId,manageMasterUserPassword:this.manageMasterUserPassword,masterUsername:this.masterUsername,masterUserPassword:this.masterUserPassword,masterUserSecretKmsKeyId:this.masterUserSecretKmsKeyId,port:this.port,preferredBackupWindow:this.preferredBackupWindow,preferredMaintenanceWindow:this.preferredMaintenanceWindow,restoreToTime:this.restoreToTime,restoreType:this.restoreType,rotateMasterUserPassword:this.rotateMasterUserPassword,serverlessV2ScalingConfiguration:this.serverlessV2ScalingConfiguration,snapshotIdentifier:this.snapshotIdentifier,sourceDbClusterIdentifier:this.sourceDbClusterIdentifier,storageEncrypted:this.storageEncrypted,storageType:this.storageType,tags:this.tags.renderTags(),useLatestRestorableTime:this.useLatestRestorableTime,vpcSecurityGroupIds:this.vpcSecurityGroupIds}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDBCluster.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDBClusterPropsToCloudFormation(props)}}exports.CfnDBCluster=CfnDBCluster,_a=JSII_RTTI_SYMBOL_1,CfnDBCluster[_a]={fqn:"aws-cdk-lib.aws_docdb.CfnDBCluster",version:"2.202.0"},CfnDBCluster.CFN_RESOURCE_TYPE_NAME="AWS::DocDB::DBCluster";function CfnDBClusterServerlessV2ScalingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("maxCapacity",cdk().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 "ServerlessV2ScalingConfigurationProperty"')}function convertCfnDBClusterServerlessV2ScalingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterServerlessV2ScalingConfigurationPropertyValidator(properties).assertSuccess(),{MaxCapacity:cdk().numberToCloudFormation(properties.maxCapacity),MinCapacity:cdk().numberToCloudFormation(properties.minCapacity)}):properties}function CfnDBClusterServerlessV2ScalingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("maxCapacity","MaxCapacity",properties.MaxCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxCapacity):void 0),ret.addPropertyResult("minCapacity","MinCapacity",properties.MinCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinCapacity):void 0),ret.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("availabilityZones",cdk().listValidator(cdk().validateString))(properties.availabilityZones)),errors.collect(cdk().propertyValidator("backupRetentionPeriod",cdk().validateNumber)(properties.backupRetentionPeriod)),errors.collect(cdk().propertyValidator("copyTagsToSnapshot",cdk().validateBoolean)(properties.copyTagsToSnapshot)),errors.collect(cdk().propertyValidator("dbClusterIdentifier",cdk().validateString)(properties.dbClusterIdentifier)),errors.collect(cdk().propertyValidator("dbClusterParameterGroupName",cdk().validateString)(properties.dbClusterParameterGroupName)),errors.collect(cdk().propertyValidator("dbSubnetGroupName",cdk().validateString)(properties.dbSubnetGroupName)),errors.collect(cdk().propertyValidator("deletionProtection",cdk().validateBoolean)(properties.deletionProtection)),errors.collect(cdk().propertyValidator("enableCloudwatchLogsExports",cdk().listValidator(cdk().validateString))(properties.enableCloudwatchLogsExports)),errors.collect(cdk().propertyValidator("engineVersion",cdk().validateString)(properties.engineVersion)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("manageMasterUserPassword",cdk().validateBoolean)(properties.manageMasterUserPassword)),errors.collect(cdk().propertyValidator("masterUserPassword",cdk().validateString)(properties.masterUserPassword)),errors.collect(cdk().propertyValidator("masterUserSecretKmsKeyId",cdk().validateString)(properties.masterUserSecretKmsKeyId)),errors.collect(cdk().propertyValidator("masterUsername",cdk().validateString)(properties.masterUsername)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("preferredBackupWindow",cdk().validateString)(properties.preferredBackupWindow)),errors.collect(cdk().propertyValidator("preferredMaintenanceWindow",cdk().validateString)(properties.preferredMaintenanceWindow)),errors.collect(cdk().propertyValidator("restoreToTime",cdk().validateString)(properties.restoreToTime)),errors.collect(cdk().propertyValidator("restoreType",cdk().validateString)(properties.restoreType)),errors.collect(cdk().propertyValidator("rotateMasterUserPassword",cdk().validateBoolean)(properties.rotateMasterUserPassword)),errors.collect(cdk().propertyValidator("serverlessV2ScalingConfiguration",CfnDBClusterServerlessV2ScalingConfigurationPropertyValidator)(properties.serverlessV2ScalingConfiguration)),errors.collect(cdk().propertyValidator("snapshotIdentifier",cdk().validateString)(properties.snapshotIdentifier)),errors.collect(cdk().propertyValidator("sourceDbClusterIdentifier",cdk().validateString)(properties.sourceDbClusterIdentifier)),errors.collect(cdk().propertyValidator("storageEncrypted",cdk().validateBoolean)(properties.storageEncrypted)),errors.collect(cdk().propertyValidator("storageType",cdk().validateString)(properties.storageType)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("useLatestRestorableTime",cdk().validateBoolean)(properties.useLatestRestorableTime)),errors.collect(cdk().propertyValidator("vpcSecurityGroupIds",cdk().listValidator(cdk().validateString))(properties.vpcSecurityGroupIds)),errors.wrap('supplied properties not correct for "CfnDBClusterProps"')}function convertCfnDBClusterPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBClusterPropsValidator(properties).assertSuccess(),{AvailabilityZones:cdk().listMapper(cdk().stringToCloudFormation)(properties.availabilityZones),BackupRetentionPeriod:cdk().numberToCloudFormation(properties.backupRetentionPeriod),CopyTagsToSnapshot:cdk().booleanToCloudFormation(properties.copyTagsToSnapshot),DBClusterIdentifier:cdk().stringToCloudFormation(properties.dbClusterIdentifier),DBClusterParameterGroupName:cdk().stringToCloudFormation(properties.dbClusterParameterGroupName),DBSubnetGroupName:cdk().stringToCloudFormation(properties.dbSubnetGroupName),DeletionProtection:cdk().booleanToCloudFormation(properties.deletionProtection),EnableCloudwatchLogsExports:cdk().listMapper(cdk().stringToCloudFormation)(properties.enableCloudwatchLogsExports),EngineVersion:cdk().stringToCloudFormation(properties.engineVersion),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),ManageMasterUserPassword:cdk().booleanToCloudFormation(properties.manageMasterUserPassword),MasterUserPassword:cdk().stringToCloudFormation(properties.masterUserPassword),MasterUserSecretKmsKeyId:cdk().stringToCloudFormation(properties.masterUserSecretKmsKeyId),MasterUsername:cdk().stringToCloudFormation(properties.masterUsername),Port:cdk().numberToCloudFormation(properties.port),PreferredBackupWindow:cdk().stringToCloudFormation(properties.preferredBackupWindow),PreferredMaintenanceWindow:cdk().stringToCloudFormation(properties.preferredMaintenanceWindow),RestoreToTime:cdk().stringToCloudFormation(properties.restoreToTime),RestoreType:cdk().stringToCloudFormation(properties.restoreType),RotateMasterUserPassword:cdk().booleanToCloudFormation(properties.rotateMasterUserPassword),ServerlessV2ScalingConfiguration:convertCfnDBClusterServerlessV2ScalingConfigurationPropertyToCloudFormation(properties.serverlessV2ScalingConfiguration),SnapshotIdentifier:cdk().stringToCloudFormation(properties.snapshotIdentifier),SourceDBClusterIdentifier:cdk().stringToCloudFormation(properties.sourceDbClusterIdentifier),StorageEncrypted:cdk().booleanToCloudFormation(properties.storageEncrypted),StorageType:cdk().stringToCloudFormation(properties.storageType),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UseLatestRestorableTime:cdk().booleanToCloudFormation(properties.useLatestRestorableTime),VpcSecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSecurityGroupIds)}):properties}function CfnDBClusterPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("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("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("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("manageMasterUserPassword","ManageMasterUserPassword",properties.ManageMasterUserPassword!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ManageMasterUserPassword):void 0),ret.addPropertyResult("masterUsername","MasterUsername",properties.MasterUsername!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUsername):void 0),ret.addPropertyResult("masterUserPassword","MasterUserPassword",properties.MasterUserPassword!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUserPassword):void 0),ret.addPropertyResult("masterUserSecretKmsKeyId","MasterUserSecretKmsKeyId",properties.MasterUserSecretKmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUserSecretKmsKeyId):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("preferredBackupWindow","PreferredBackupWindow",properties.PreferredBackupWindow!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredBackupWindow):void 0),ret.addPropertyResult("preferredMaintenanceWindow","PreferredMaintenanceWindow",properties.PreferredMaintenanceWindow!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredMaintenanceWindow):void 0),ret.addPropertyResult("restoreToTime","RestoreToTime",properties.RestoreToTime!=null?cfn_parse().FromCloudFormation.getString(properties.RestoreToTime):void 0),ret.addPropertyResult("restoreType","RestoreType",properties.RestoreType!=null?cfn_parse().FromCloudFormation.getString(properties.RestoreType):void 0),ret.addPropertyResult("rotateMasterUserPassword","RotateMasterUserPassword",properties.RotateMasterUserPassword!=null?cfn_parse().FromCloudFormation.getBoolean(properties.RotateMasterUserPassword):void 0),ret.addPropertyResult("serverlessV2ScalingConfiguration","ServerlessV2ScalingConfiguration",properties.ServerlessV2ScalingConfiguration!=null?CfnDBClusterServerlessV2ScalingConfigurationPropertyFromCloudFormation(properties.ServerlessV2ScalingConfiguration):void 0),ret.addPropertyResult("snapshotIdentifier","SnapshotIdentifier",properties.SnapshotIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.SnapshotIdentifier):void 0),ret.addPropertyResult("sourceDbClusterIdentifier","SourceDBClusterIdentifier",properties.SourceDBClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.SourceDBClusterIdentifier):void 0),ret.addPropertyResult("storageEncrypted","StorageEncrypted",properties.StorageEncrypted!=null?cfn_parse().FromCloudFormation.getBoolean(properties.StorageEncrypted):void 0),ret.addPropertyResult("storageType","StorageType",properties.StorageType!=null?cfn_parse().FromCloudFormation.getString(properties.StorageType):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("useLatestRestorableTime","UseLatestRestorableTime",properties.UseLatestRestorableTime!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseLatestRestorableTime):void 0),ret.addPropertyResult("vpcSecurityGroupIds","VpcSecurityGroupIds",properties.VpcSecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSecurityGroupIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDBClusterParameterGroup extends cdk().CfnResource{static _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("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}constructor(scope,id,props){super(scope,id,{type:CfnDBClusterParameterGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_docdb_CfnDBClusterParameterGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBClusterParameterGroup),error}cdk().requireProperty(props,"description",this),cdk().requireProperty(props,"family",this),cdk().requireProperty(props,"parameters",this),this.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::DocDB::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_docdb.CfnDBClusterParameterGroup",version:"2.202.0"},CfnDBClusterParameterGroup.CFN_RESOURCE_TYPE_NAME="AWS::DocDB::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(cdk_errors()).ValidationError("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}constructor(scope,id,props){super(scope,id,{type:CfnDBInstance.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_docdb_CfnDBInstanceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBInstance),error}cdk().requireProperty(props,"dbClusterIdentifier",this),cdk().requireProperty(props,"dbInstanceClass",this),this.attrEndpoint=cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrPort=cdk().Token.asString(this.getAtt("Port",cdk().ResolutionTypeHint.STRING)),this.autoMinorVersionUpgrade=props.autoMinorVersionUpgrade,this.availabilityZone=props.availabilityZone,this.caCertificateIdentifier=props.caCertificateIdentifier,this.certificateRotationRestart=props.certificateRotationRestart,this.dbClusterIdentifier=props.dbClusterIdentifier,this.dbInstanceClass=props.dbInstanceClass,this.dbInstanceIdentifier=props.dbInstanceIdentifier,this.enablePerformanceInsights=props.enablePerformanceInsights,this.preferredMaintenanceWindow=props.preferredMaintenanceWindow,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DocDB::DBInstance",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.node.scope!=null&&cdk().Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::DocDB::DBInstance' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}get cfnProperties(){return{autoMinorVersionUpgrade:this.autoMinorVersionUpgrade,availabilityZone:this.availabilityZone,caCertificateIdentifier:this.caCertificateIdentifier,certificateRotationRestart:this.certificateRotationRestart,dbClusterIdentifier:this.dbClusterIdentifier,dbInstanceClass:this.dbInstanceClass,dbInstanceIdentifier:this.dbInstanceIdentifier,enablePerformanceInsights:this.enablePerformanceInsights,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_docdb.CfnDBInstance",version:"2.202.0"},CfnDBInstance.CFN_RESOURCE_TYPE_NAME="AWS::DocDB::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("autoMinorVersionUpgrade",cdk().validateBoolean)(properties.autoMinorVersionUpgrade)),errors.collect(cdk().propertyValidator("availabilityZone",cdk().validateString)(properties.availabilityZone)),errors.collect(cdk().propertyValidator("caCertificateIdentifier",cdk().validateString)(properties.caCertificateIdentifier)),errors.collect(cdk().propertyValidator("certificateRotationRestart",cdk().validateBoolean)(properties.certificateRotationRestart)),errors.collect(cdk().propertyValidator("dbClusterIdentifier",cdk().requiredValidator)(properties.dbClusterIdentifier)),errors.collect(cdk().propertyValidator("dbClusterIdentifier",cdk().validateString)(properties.dbClusterIdentifier)),errors.collect(cdk().propertyValidator("dbInstanceClass",cdk().requiredValidator)(properties.dbInstanceClass)),errors.collect(cdk().propertyValidator("dbInstanceClass",cdk().validateString)(properties.dbInstanceClass)),errors.collect(cdk().propertyValidator("dbInstanceIdentifier",cdk().validateString)(properties.dbInstanceIdentifier)),errors.collect(cdk().propertyValidator("enablePerformanceInsights",cdk().validateBoolean)(properties.enablePerformanceInsights)),errors.collect(cdk().propertyValidator("preferredMaintenanceWindow",cdk().validateString)(properties.preferredMaintenanceWindow)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDBInstanceProps"')}function convertCfnDBInstancePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDBInstancePropsValidator(properties).assertSuccess(),{AutoMinorVersionUpgrade:cdk().booleanToCloudFormation(properties.autoMinorVersionUpgrade),AvailabilityZone:cdk().stringToCloudFormation(properties.availabilityZone),CACertificateIdentifier:cdk().stringToCloudFormation(properties.caCertificateIdentifier),CertificateRotationRestart:cdk().booleanToCloudFormation(properties.certificateRotationRestart),DBClusterIdentifier:cdk().stringToCloudFormation(properties.dbClusterIdentifier),DBInstanceClass:cdk().stringToCloudFormation(properties.dbInstanceClass),DBInstanceIdentifier:cdk().stringToCloudFormation(properties.dbInstanceIdentifier),EnablePerformanceInsights:cdk().booleanToCloudFormation(properties.enablePerformanceInsights),PreferredMaintenanceWindow:cdk().stringToCloudFormation(properties.preferredMaintenanceWindow),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDBInstancePropsFromCloudFormation(properties){if(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("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("caCertificateIdentifier","CACertificateIdentifier",properties.CACertificateIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.CACertificateIdentifier):void 0),ret.addPropertyResult("certificateRotationRestart","CertificateRotationRestart",properties.CertificateRotationRestart!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CertificateRotationRestart):void 0),ret.addPropertyResult("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("enablePerformanceInsights","EnablePerformanceInsights",properties.EnablePerformanceInsights!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnablePerformanceInsights):void 0),ret.addPropertyResult("preferredMaintenanceWindow","PreferredMaintenanceWindow",properties.PreferredMaintenanceWindow!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredMaintenanceWindow):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class 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(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnDBSubnetGroup(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnDBSubnetGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_docdb_CfnDBSubnetGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDBSubnetGroup),error}cdk().requireProperty(props,"dbSubnetGroupDescription",this),cdk().requireProperty(props,"subnetIds",this),this.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::DocDB::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,_d=JSII_RTTI_SYMBOL_1,CfnDBSubnetGroup[_d]={fqn:"aws-cdk-lib.aws_docdb.CfnDBSubnetGroup",version:"2.202.0"},CfnDBSubnetGroup.CFN_RESOURCE_TYPE_NAME="AWS::DocDB::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(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnEventSubscription(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnEventSubscription.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_docdb_CfnEventSubscriptionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEventSubscription),error}cdk().requireProperty(props,"snsTopicArn",this),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,this.subscriptionName=props.subscriptionName}get cfnProperties(){return{enabled:this.enabled,eventCategories:this.eventCategories,snsTopicArn:this.snsTopicArn,sourceIds:this.sourceIds,sourceType:this.sourceType,subscriptionName:this.subscriptionName}}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,_e=JSII_RTTI_SYMBOL_1,CfnEventSubscription[_e]={fqn:"aws-cdk-lib.aws_docdb.CfnEventSubscription",version:"2.202.0"},CfnEventSubscription.CFN_RESOURCE_TYPE_NAME="AWS::DocDB::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().requiredValidator)(properties.snsTopicArn)),errors.collect(cdk().propertyValidator("snsTopicArn",cdk().validateString)(properties.snsTopicArn)),errors.collect(cdk().propertyValidator("sourceIds",cdk().listValidator(cdk().validateString))(properties.sourceIds)),errors.collect(cdk().propertyValidator("sourceType",cdk().validateString)(properties.sourceType)),errors.collect(cdk().propertyValidator("subscriptionName",cdk().validateString)(properties.subscriptionName)),errors.wrap('supplied properties not correct for "CfnEventSubscriptionProps"')}function convertCfnEventSubscriptionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEventSubscriptionPropsValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),EventCategories:cdk().listMapper(cdk().stringToCloudFormation)(properties.eventCategories),SnsTopicArn:cdk().stringToCloudFormation(properties.snsTopicArn),SourceIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.sourceIds),SourceType:cdk().stringToCloudFormation(properties.sourceType),SubscriptionName:cdk().stringToCloudFormation(properties.subscriptionName)}):properties}function CfnEventSubscriptionPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("eventCategories","EventCategories",properties.EventCategories!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EventCategories):void 0),ret.addPropertyResult("snsTopicArn","SnsTopicArn",properties.SnsTopicArn!=null?cfn_parse().FromCloudFormation.getString(properties.SnsTopicArn):void 0),ret.addPropertyResult("sourceIds","SourceIds",properties.SourceIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SourceIds):void 0),ret.addPropertyResult("sourceType","SourceType",properties.SourceType!=null?cfn_parse().FromCloudFormation.getString(properties.SourceType):void 0),ret.addPropertyResult("subscriptionName","SubscriptionName",properties.SubscriptionName!=null?cfn_parse().FromCloudFormation.getString(properties.SubscriptionName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}