aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 126 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnServerlessCache=exports.CfnUserGroup=exports.CfnUser=exports.CfnSubnetGroup=exports.CfnSecurityGroupIngress=exports.CfnSecurityGroup=exports.CfnReplicationGroup=exports.CfnParameterGroup=exports.CfnGlobalReplicationGroup=exports.CfnCacheCluster=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 CfnCacheCluster extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCacheClusterPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnCacheCluster(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:CfnCacheCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticache_CfnCacheClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCacheCluster),error}cdk().requireProperty(props,"cacheNodeType",this),cdk().requireProperty(props,"engine",this),cdk().requireProperty(props,"numCacheNodes",this),this.attrConfigurationEndpointAddress=cdk().Token.asString(this.getAtt("ConfigurationEndpoint.Address",cdk().ResolutionTypeHint.STRING)),this.attrConfigurationEndpointPort=cdk().Token.asString(this.getAtt("ConfigurationEndpoint.Port",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrRedisEndpointAddress=cdk().Token.asString(this.getAtt("RedisEndpoint.Address",cdk().ResolutionTypeHint.STRING)),this.attrRedisEndpointPort=cdk().Token.asString(this.getAtt("RedisEndpoint.Port",cdk().ResolutionTypeHint.STRING)),this.autoMinorVersionUpgrade=props.autoMinorVersionUpgrade,this.azMode=props.azMode,this.cacheNodeType=props.cacheNodeType,this.cacheParameterGroupName=props.cacheParameterGroupName,this.cacheSecurityGroupNames=props.cacheSecurityGroupNames,this.cacheSubnetGroupName=props.cacheSubnetGroupName,this.clusterName=props.clusterName,this.engine=props.engine,this.engineVersion=props.engineVersion,this.ipDiscovery=props.ipDiscovery,this.logDeliveryConfigurations=props.logDeliveryConfigurations,this.networkType=props.networkType,this.notificationTopicArn=props.notificationTopicArn,this.numCacheNodes=props.numCacheNodes,this.port=props.port,this.preferredAvailabilityZone=props.preferredAvailabilityZone,this.preferredAvailabilityZones=props.preferredAvailabilityZones,this.preferredMaintenanceWindow=props.preferredMaintenanceWindow,this.snapshotArns=props.snapshotArns,this.snapshotName=props.snapshotName,this.snapshotRetentionLimit=props.snapshotRetentionLimit,this.snapshotWindow=props.snapshotWindow,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ElastiCache::CacheCluster",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.transitEncryptionEnabled=props.transitEncryptionEnabled,this.vpcSecurityGroupIds=props.vpcSecurityGroupIds,this.node.scope!=null&&cdk().Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::ElastiCache::CacheCluster' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}get cfnProperties(){return{autoMinorVersionUpgrade:this.autoMinorVersionUpgrade,azMode:this.azMode,cacheNodeType:this.cacheNodeType,cacheParameterGroupName:this.cacheParameterGroupName,cacheSecurityGroupNames:this.cacheSecurityGroupNames,cacheSubnetGroupName:this.cacheSubnetGroupName,clusterName:this.clusterName,engine:this.engine,engineVersion:this.engineVersion,ipDiscovery:this.ipDiscovery,logDeliveryConfigurations:this.logDeliveryConfigurations,networkType:this.networkType,notificationTopicArn:this.notificationTopicArn,numCacheNodes:this.numCacheNodes,port:this.port,preferredAvailabilityZone:this.preferredAvailabilityZone,preferredAvailabilityZones:this.preferredAvailabilityZones,preferredMaintenanceWindow:this.preferredMaintenanceWindow,snapshotArns:this.snapshotArns,snapshotName:this.snapshotName,snapshotRetentionLimit:this.snapshotRetentionLimit,snapshotWindow:this.snapshotWindow,tags:this.tags.renderTags(),transitEncryptionEnabled:this.transitEncryptionEnabled,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",CfnCacheCluster.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCacheClusterPropsToCloudFormation(props)}}exports.CfnCacheCluster=CfnCacheCluster,_a=JSII_RTTI_SYMBOL_1,CfnCacheCluster[_a]={fqn:"aws-cdk-lib.aws_elasticache.CfnCacheCluster",version:"2.202.0"},CfnCacheCluster.CFN_RESOURCE_TYPE_NAME="AWS::ElastiCache::CacheCluster";function CfnCacheClusterCloudWatchLogsDestinationDetailsPropertyValidator(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("logGroup",cdk().requiredValidator)(properties.logGroup)),errors.collect(cdk().propertyValidator("logGroup",cdk().validateString)(properties.logGroup)),errors.wrap('supplied properties not correct for "CloudWatchLogsDestinationDetailsProperty"')}function convertCfnCacheClusterCloudWatchLogsDestinationDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCacheClusterCloudWatchLogsDestinationDetailsPropertyValidator(properties).assertSuccess(),{LogGroup:cdk().stringToCloudFormation(properties.logGroup)}):properties}function CfnCacheClusterCloudWatchLogsDestinationDetailsPropertyFromCloudFormation(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("logGroup","LogGroup",properties.LogGroup!=null?cfn_parse().FromCloudFormation.getString(properties.LogGroup):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCacheClusterKinesisFirehoseDestinationDetailsPropertyValidator(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("deliveryStream",cdk().requiredValidator)(properties.deliveryStream)),errors.collect(cdk().propertyValidator("deliveryStream",cdk().validateString)(properties.deliveryStream)),errors.wrap('supplied properties not correct for "KinesisFirehoseDestinationDetailsProperty"')}function convertCfnCacheClusterKinesisFirehoseDestinationDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCacheClusterKinesisFirehoseDestinationDetailsPropertyValidator(properties).assertSuccess(),{DeliveryStream:cdk().stringToCloudFormation(properties.deliveryStream)}):properties}function CfnCacheClusterKinesisFirehoseDestinationDetailsPropertyFromCloudFormation(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("deliveryStream","DeliveryStream",properties.DeliveryStream!=null?cfn_parse().FromCloudFormation.getString(properties.DeliveryStream):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCacheClusterDestinationDetailsPropertyValidator(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("cloudWatchLogsDetails",CfnCacheClusterCloudWatchLogsDestinationDetailsPropertyValidator)(properties.cloudWatchLogsDetails)),errors.collect(cdk().propertyValidator("kinesisFirehoseDetails",CfnCacheClusterKinesisFirehoseDestinationDetailsPropertyValidator)(properties.kinesisFirehoseDetails)),errors.wrap('supplied properties not correct for "DestinationDetailsProperty"')}function convertCfnCacheClusterDestinationDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCacheClusterDestinationDetailsPropertyValidator(properties).assertSuccess(),{CloudWatchLogsDetails:convertCfnCacheClusterCloudWatchLogsDestinationDetailsPropertyToCloudFormation(properties.cloudWatchLogsDetails),KinesisFirehoseDetails:convertCfnCacheClusterKinesisFirehoseDestinationDetailsPropertyToCloudFormation(properties.kinesisFirehoseDetails)}):properties}function CfnCacheClusterDestinationDetailsPropertyFromCloudFormation(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("cloudWatchLogsDetails","CloudWatchLogsDetails",properties.CloudWatchLogsDetails!=null?CfnCacheClusterCloudWatchLogsDestinationDetailsPropertyFromCloudFormation(properties.CloudWatchLogsDetails):void 0),ret.addPropertyResult("kinesisFirehoseDetails","KinesisFirehoseDetails",properties.KinesisFirehoseDetails!=null?CfnCacheClusterKinesisFirehoseDestinationDetailsPropertyFromCloudFormation(properties.KinesisFirehoseDetails):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCacheClusterLogDeliveryConfigurationRequestPropertyValidator(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("destinationDetails",cdk().requiredValidator)(properties.destinationDetails)),errors.collect(cdk().propertyValidator("destinationDetails",CfnCacheClusterDestinationDetailsPropertyValidator)(properties.destinationDetails)),errors.collect(cdk().propertyValidator("destinationType",cdk().requiredValidator)(properties.destinationType)),errors.collect(cdk().propertyValidator("destinationType",cdk().validateString)(properties.destinationType)),errors.collect(cdk().propertyValidator("logFormat",cdk().requiredValidator)(properties.logFormat)),errors.collect(cdk().propertyValidator("logFormat",cdk().validateString)(properties.logFormat)),errors.collect(cdk().propertyValidator("logType",cdk().requiredValidator)(properties.logType)),errors.collect(cdk().propertyValidator("logType",cdk().validateString)(properties.logType)),errors.wrap('supplied properties not correct for "LogDeliveryConfigurationRequestProperty"')}function convertCfnCacheClusterLogDeliveryConfigurationRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCacheClusterLogDeliveryConfigurationRequestPropertyValidator(properties).assertSuccess(),{DestinationDetails:convertCfnCacheClusterDestinationDetailsPropertyToCloudFormation(properties.destinationDetails),DestinationType:cdk().stringToCloudFormation(properties.destinationType),LogFormat:cdk().stringToCloudFormation(properties.logFormat),LogType:cdk().stringToCloudFormation(properties.logType)}):properties}function CfnCacheClusterLogDeliveryConfigurationRequestPropertyFromCloudFormation(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("destinationDetails","DestinationDetails",properties.DestinationDetails!=null?CfnCacheClusterDestinationDetailsPropertyFromCloudFormation(properties.DestinationDetails):void 0),ret.addPropertyResult("destinationType","DestinationType",properties.DestinationType!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationType):void 0),ret.addPropertyResult("logFormat","LogFormat",properties.LogFormat!=null?cfn_parse().FromCloudFormation.getString(properties.LogFormat):void 0),ret.addPropertyResult("logType","LogType",properties.LogType!=null?cfn_parse().FromCloudFormation.getString(properties.LogType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCacheClusterPropsValidator(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("azMode",cdk().validateString)(properties.azMode)),errors.collect(cdk().propertyValidator("autoMinorVersionUpgrade",cdk().validateBoolean)(properties.autoMinorVersionUpgrade)),errors.collect(cdk().propertyValidator("cacheNodeType",cdk().requiredValidator)(properties.cacheNodeType)),errors.collect(cdk().propertyValidator("cacheNodeType",cdk().validateString)(properties.cacheNodeType)),errors.collect(cdk().propertyValidator("cacheParameterGroupName",cdk().validateString)(properties.cacheParameterGroupName)),errors.collect(cdk().propertyValidator("cacheSecurityGroupNames",cdk().listValidator(cdk().validateString))(properties.cacheSecurityGroupNames)),errors.collect(cdk().propertyValidator("cacheSubnetGroupName",cdk().validateString)(properties.cacheSubnetGroupName)),errors.collect(cdk().propertyValidator("clusterName",cdk().validateString)(properties.clusterName)),errors.collect(cdk().propertyValidator("engine",cdk().requiredValidator)(properties.engine)),errors.collect(cdk().propertyValidator("engine",cdk().validateString)(properties.engine)),errors.collect(cdk().propertyValidator("engineVersion",cdk().validateString)(properties.engineVersion)),errors.collect(cdk().propertyValidator("ipDiscovery",cdk().validateString)(properties.ipDiscovery)),errors.collect(cdk().propertyValidator("logDeliveryConfigurations",cdk().listValidator(CfnCacheClusterLogDeliveryConfigurationRequestPropertyValidator))(properties.logDeliveryConfigurations)),errors.collect(cdk().propertyValidator("networkType",cdk().validateString)(properties.networkType)),errors.collect(cdk().propertyValidator("notificationTopicArn",cdk().validateString)(properties.notificationTopicArn)),errors.collect(cdk().propertyValidator("numCacheNodes",cdk().requiredValidator)(properties.numCacheNodes)),errors.collect(cdk().propertyValidator("numCacheNodes",cdk().validateNumber)(properties.numCacheNodes)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("preferredAvailabilityZone",cdk().validateString)(properties.preferredAvailabilityZone)),errors.collect(cdk().propertyValidator("preferredAvailabilityZones",cdk().listValidator(cdk().validateString))(properties.preferredAvailabilityZones)),errors.collect(cdk().propertyValidator("preferredMaintenanceWindow",cdk().validateString)(properties.preferredMaintenanceWindow)),errors.collect(cdk().propertyValidator("snapshotArns",cdk().listValidator(cdk().validateString))(properties.snapshotArns)),errors.collect(cdk().propertyValidator("snapshotName",cdk().validateString)(properties.snapshotName)),errors.collect(cdk().propertyValidator("snapshotRetentionLimit",cdk().validateNumber)(properties.snapshotRetentionLimit)),errors.collect(cdk().propertyValidator("snapshotWindow",cdk().validateString)(properties.snapshotWindow)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("transitEncryptionEnabled",cdk().validateBoolean)(properties.transitEncryptionEnabled)),errors.collect(cdk().propertyValidator("vpcSecurityGroupIds",cdk().listValidator(cdk().validateString))(properties.vpcSecurityGroupIds)),errors.wrap('supplied properties not correct for "CfnCacheClusterProps"')}function convertCfnCacheClusterPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCacheClusterPropsValidator(properties).assertSuccess(),{AZMode:cdk().stringToCloudFormation(properties.azMode),AutoMinorVersionUpgrade:cdk().booleanToCloudFormation(properties.autoMinorVersionUpgrade),CacheNodeType:cdk().stringToCloudFormation(properties.cacheNodeType),CacheParameterGroupName:cdk().stringToCloudFormation(properties.cacheParameterGroupName),CacheSecurityGroupNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.cacheSecurityGroupNames),CacheSubnetGroupName:cdk().stringToCloudFormation(properties.cacheSubnetGroupName),ClusterName:cdk().stringToCloudFormation(properties.clusterName),Engine:cdk().stringToCloudFormation(properties.engine),EngineVersion:cdk().stringToCloudFormation(properties.engineVersion),IpDiscovery:cdk().stringToCloudFormation(properties.ipDiscovery),LogDeliveryConfigurations:cdk().listMapper(convertCfnCacheClusterLogDeliveryConfigurationRequestPropertyToCloudFormation)(properties.logDeliveryConfigurations),NetworkType:cdk().stringToCloudFormation(properties.networkType),NotificationTopicArn:cdk().stringToCloudFormation(properties.notificationTopicArn),NumCacheNodes:cdk().numberToCloudFormation(properties.numCacheNodes),Port:cdk().numberToCloudFormation(properties.port),PreferredAvailabilityZone:cdk().stringToCloudFormation(properties.preferredAvailabilityZone),PreferredAvailabilityZones:cdk().listMapper(cdk().stringToCloudFormation)(properties.preferredAvailabilityZones),PreferredMaintenanceWindow:cdk().stringToCloudFormation(properties.preferredMaintenanceWindow),SnapshotArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.snapshotArns),SnapshotName:cdk().stringToCloudFormation(properties.snapshotName),SnapshotRetentionLimit:cdk().numberToCloudFormation(properties.snapshotRetentionLimit),SnapshotWindow:cdk().stringToCloudFormation(properties.snapshotWindow),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TransitEncryptionEnabled:cdk().booleanToCloudFormation(properties.transitEncryptionEnabled),VpcSecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSecurityGroupIds)}):properties}function CfnCacheClusterPropsFromCloudFormation(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("azMode","AZMode",properties.AZMode!=null?cfn_parse().FromCloudFormation.getString(properties.AZMode):void 0),ret.addPropertyResult("cacheNodeType","CacheNodeType",properties.CacheNodeType!=null?cfn_parse().FromCloudFormation.getString(properties.CacheNodeType):void 0),ret.addPropertyResult("cacheParameterGroupName","CacheParameterGroupName",properties.CacheParameterGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.CacheParameterGroupName):void 0),ret.addPropertyResult("cacheSecurityGroupNames","CacheSecurityGroupNames",properties.CacheSecurityGroupNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CacheSecurityGroupNames):void 0),ret.addPropertyResult("cacheSubnetGroupName","CacheSubnetGroupName",properties.CacheSubnetGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.CacheSubnetGroupName):void 0),ret.addPropertyResult("clusterName","ClusterName",properties.ClusterName!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterName):void 0),ret.addPropertyResult("engine","Engine",properties.Engine!=null?cfn_parse().FromCloudFormation.getString(properties.Engine):void 0),ret.addPropertyResult("engineVersion","EngineVersion",properties.EngineVersion!=null?cfn_parse().FromCloudFormation.getString(properties.EngineVersion):void 0),ret.addPropertyResult("ipDiscovery","IpDiscovery",properties.IpDiscovery!=null?cfn_parse().FromCloudFormation.getString(properties.IpDiscovery):void 0),ret.addPropertyResult("logDeliveryConfigurations","LogDeliveryConfigurations",properties.LogDeliveryConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnCacheClusterLogDeliveryConfigurationRequestPropertyFromCloudFormation)(properties.LogDeliveryConfigurations):void 0),ret.addPropertyResult("networkType","NetworkType",properties.NetworkType!=null?cfn_parse().FromCloudFormation.getString(properties.NetworkType):void 0),ret.addPropertyResult("notificationTopicArn","NotificationTopicArn",properties.NotificationTopicArn!=null?cfn_parse().FromCloudFormation.getString(properties.NotificationTopicArn):void 0),ret.addPropertyResult("numCacheNodes","NumCacheNodes",properties.NumCacheNodes!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumCacheNodes):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("preferredAvailabilityZone","PreferredAvailabilityZone",properties.PreferredAvailabilityZone!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredAvailabilityZone):void 0),ret.addPropertyResult("preferredAvailabilityZones","PreferredAvailabilityZones",properties.PreferredAvailabilityZones!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PreferredAvailabilityZones):void 0),ret.addPropertyResult("preferredMaintenanceWindow","PreferredMaintenanceWindow",properties.PreferredMaintenanceWindow!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredMaintenanceWindow):void 0),ret.addPropertyResult("snapshotArns","SnapshotArns",properties.SnapshotArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SnapshotArns):void 0),ret.addPropertyResult("snapshotName","SnapshotName",properties.SnapshotName!=null?cfn_parse().FromCloudFormation.getString(properties.SnapshotName):void 0),ret.addPropertyResult("snapshotRetentionLimit","SnapshotRetentionLimit",properties.SnapshotRetentionLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.SnapshotRetentionLimit):void 0),ret.addPropertyResult("snapshotWindow","SnapshotWindow",properties.SnapshotWindow!=null?cfn_parse().FromCloudFormation.getString(properties.SnapshotWindow):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("transitEncryptionEnabled","TransitEncryptionEnabled",properties.TransitEncryptionEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.TransitEncryptionEnabled):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 CfnGlobalReplicationGroup extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGlobalReplicationGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnGlobalReplicationGroup(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:CfnGlobalReplicationGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticache_CfnGlobalReplicationGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGlobalReplicationGroup),error}cdk().requireProperty(props,"members",this),this.attrGlobalReplicationGroupId=cdk().Token.asString(this.getAtt("GlobalReplicationGroupId",cdk().ResolutionTypeHint.STRING)),this.attrStatus=cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING)),this.automaticFailoverEnabled=props.automaticFailoverEnabled,this.cacheNodeType=props.cacheNodeType,this.cacheParameterGroupName=props.cacheParameterGroupName,this.engine=props.engine,this.engineVersion=props.engineVersion,this.globalNodeGroupCount=props.globalNodeGroupCount,this.globalReplicationGroupDescription=props.globalReplicationGroupDescription,this.globalReplicationGroupIdSuffix=props.globalReplicationGroupIdSuffix,this.members=props.members,this.regionalConfigurations=props.regionalConfigurations}get cfnProperties(){return{automaticFailoverEnabled:this.automaticFailoverEnabled,cacheNodeType:this.cacheNodeType,cacheParameterGroupName:this.cacheParameterGroupName,engine:this.engine,engineVersion:this.engineVersion,globalNodeGroupCount:this.globalNodeGroupCount,globalReplicationGroupDescription:this.globalReplicationGroupDescription,globalReplicationGroupIdSuffix:this.globalReplicationGroupIdSuffix,members:this.members,regionalConfigurations:this.regionalConfigurations}}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",CfnGlobalReplicationGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGlobalReplicationGroupPropsToCloudFormation(props)}}exports.CfnGlobalReplicationGroup=CfnGlobalReplicationGroup,_b=JSII_RTTI_SYMBOL_1,CfnGlobalReplicationGroup[_b]={fqn:"aws-cdk-lib.aws_elasticache.CfnGlobalReplicationGroup",version:"2.202.0"},CfnGlobalReplicationGroup.CFN_RESOURCE_TYPE_NAME="AWS::ElastiCache::GlobalReplicationGroup";function CfnGlobalReplicationGroupReshardingConfigurationPropertyValidator(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("nodeGroupId",cdk().validateString)(properties.nodeGroupId)),errors.collect(cdk().propertyValidator("preferredAvailabilityZones",cdk().listValidator(cdk().validateString))(properties.preferredAvailabilityZones)),errors.wrap('supplied properties not correct for "ReshardingConfigurationProperty"')}function convertCfnGlobalReplicationGroupReshardingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGlobalReplicationGroupReshardingConfigurationPropertyValidator(properties).assertSuccess(),{NodeGroupId:cdk().stringToCloudFormation(properties.nodeGroupId),PreferredAvailabilityZones:cdk().listMapper(cdk().stringToCloudFormation)(properties.preferredAvailabilityZones)}):properties}function CfnGlobalReplicationGroupReshardingConfigurationPropertyFromCloudFormation(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("nodeGroupId","NodeGroupId",properties.NodeGroupId!=null?cfn_parse().FromCloudFormation.getString(properties.NodeGroupId):void 0),ret.addPropertyResult("preferredAvailabilityZones","PreferredAvailabilityZones",properties.PreferredAvailabilityZones!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PreferredAvailabilityZones):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalReplicationGroupRegionalConfigurationPropertyValidator(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("replicationGroupId",cdk().validateString)(properties.replicationGroupId)),errors.collect(cdk().propertyValidator("replicationGroupRegion",cdk().validateString)(properties.replicationGroupRegion)),errors.collect(cdk().propertyValidator("reshardingConfigurations",cdk().listValidator(CfnGlobalReplicationGroupReshardingConfigurationPropertyValidator))(properties.reshardingConfigurations)),errors.wrap('supplied properties not correct for "RegionalConfigurationProperty"')}function convertCfnGlobalReplicationGroupRegionalConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGlobalReplicationGroupRegionalConfigurationPropertyValidator(properties).assertSuccess(),{ReplicationGroupId:cdk().stringToCloudFormation(properties.replicationGroupId),ReplicationGroupRegion:cdk().stringToCloudFormation(properties.replicationGroupRegion),ReshardingConfigurations:cdk().listMapper(convertCfnGlobalReplicationGroupReshardingConfigurationPropertyToCloudFormation)(properties.reshardingConfigurations)}):properties}function CfnGlobalReplicationGroupRegionalConfigurationPropertyFromCloudFormation(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("replicationGroupId","ReplicationGroupId",properties.ReplicationGroupId!=null?cfn_parse().FromCloudFormation.getString(properties.ReplicationGroupId):void 0),ret.addPropertyResult("replicationGroupRegion","ReplicationGroupRegion",properties.ReplicationGroupRegion!=null?cfn_parse().FromCloudFormation.getString(properties.ReplicationGroupRegion):void 0),ret.addPropertyResult("reshardingConfigurations","ReshardingConfigurations",properties.ReshardingConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnGlobalReplicationGroupReshardingConfigurationPropertyFromCloudFormation)(properties.ReshardingConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalReplicationGroupGlobalReplicationGroupMemberPropertyValidator(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("replicationGroupId",cdk().validateString)(properties.replicationGroupId)),errors.collect(cdk().propertyValidator("replicationGroupRegion",cdk().validateString)(properties.replicationGroupRegion)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.wrap('supplied properties not correct for "GlobalReplicationGroupMemberProperty"')}function convertCfnGlobalReplicationGroupGlobalReplicationGroupMemberPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGlobalReplicationGroupGlobalReplicationGroupMemberPropertyValidator(properties).assertSuccess(),{ReplicationGroupId:cdk().stringToCloudFormation(properties.replicationGroupId),ReplicationGroupRegion:cdk().stringToCloudFormation(properties.replicationGroupRegion),Role:cdk().stringToCloudFormation(properties.role)}):properties}function CfnGlobalReplicationGroupGlobalReplicationGroupMemberPropertyFromCloudFormation(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("replicationGroupId","ReplicationGroupId",properties.ReplicationGroupId!=null?cfn_parse().FromCloudFormation.getString(properties.ReplicationGroupId):void 0),ret.addPropertyResult("replicationGroupRegion","ReplicationGroupRegion",properties.ReplicationGroupRegion!=null?cfn_parse().FromCloudFormation.getString(properties.ReplicationGroupRegion):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalReplicationGroupPropsValidator(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("automaticFailoverEnabled",cdk().validateBoolean)(properties.automaticFailoverEnabled)),errors.collect(cdk().propertyValidator("cacheNodeType",cdk().validateString)(properties.cacheNodeType)),errors.collect(cdk().propertyValidator("cacheParameterGroupName",cdk().validateString)(properties.cacheParameterGroupName)),errors.collect(cdk().propertyValidator("engine",cdk().validateString)(properties.engine)),errors.collect(cdk().propertyValidator("engineVersion",cdk().validateString)(properties.engineVersion)),errors.collect(cdk().propertyValidator("globalNodeGroupCount",cdk().validateNumber)(properties.globalNodeGroupCount)),errors.collect(cdk().propertyValidator("globalReplicationGroupDescription",cdk().validateString)(properties.globalReplicationGroupDescription)),errors.collect(cdk().propertyValidator("globalReplicationGroupIdSuffix",cdk().validateString)(properties.globalReplicationGroupIdSuffix)),errors.collect(cdk().propertyValidator("members",cdk().requiredValidator)(properties.members)),errors.collect(cdk().propertyValidator("members",cdk().listValidator(CfnGlobalReplicationGroupGlobalReplicationGroupMemberPropertyValidator))(properties.members)),errors.collect(cdk().propertyValidator("regionalConfigurations",cdk().listValidator(CfnGlobalReplicationGroupRegionalConfigurationPropertyValidator))(properties.regionalConfigurations)),errors.wrap('supplied properties not correct for "CfnGlobalReplicationGroupProps"')}function convertCfnGlobalReplicationGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGlobalReplicationGroupPropsValidator(properties).assertSuccess(),{AutomaticFailoverEnabled:cdk().booleanToCloudFormation(properties.automaticFailoverEnabled),CacheNodeType:cdk().stringToCloudFormation(properties.cacheNodeType),CacheParameterGroupName:cdk().stringToCloudFormation(properties.cacheParameterGroupName),Engine:cdk().stringToCloudFormation(properties.engine),EngineVersion:cdk().stringToCloudFormation(properties.engineVersion),GlobalNodeGroupCount:cdk().numberToCloudFormation(properties.globalNodeGroupCount),GlobalReplicationGroupDescription:cdk().stringToCloudFormation(properties.globalReplicationGroupDescription),GlobalReplicationGroupIdSuffix:cdk().stringToCloudFormation(properties.globalReplicationGroupIdSuffix),Members:cdk().listMapper(convertCfnGlobalReplicationGroupGlobalReplicationGroupMemberPropertyToCloudFormation)(properties.members),RegionalConfigurations:cdk().listMapper(convertCfnGlobalReplicationGroupRegionalConfigurationPropertyToCloudFormation)(properties.regionalConfigurations)}):properties}function CfnGlobalReplicationGroupPropsFromCloudFormation(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("automaticFailoverEnabled","AutomaticFailoverEnabled",properties.AutomaticFailoverEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutomaticFailoverEnabled):void 0),ret.addPropertyResult("cacheNodeType","CacheNodeType",properties.CacheNodeType!=null?cfn_parse().FromCloudFormation.getString(properties.CacheNodeType):void 0),ret.addPropertyResult("cacheParameterGroupName","CacheParameterGroupName",properties.CacheParameterGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.CacheParameterGroupName):void 0),ret.addPropertyResult("engine","Engine",properties.Engine!=null?cfn_parse().FromCloudFormation.getString(properties.Engine):void 0),ret.addPropertyResult("engineVersion","EngineVersion",properties.EngineVersion!=null?cfn_parse().FromCloudFormation.getString(properties.EngineVersion):void 0),ret.addPropertyResult("globalNodeGroupCount","GlobalNodeGroupCount",properties.GlobalNodeGroupCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.GlobalNodeGroupCount):void 0),ret.addPropertyResult("globalReplicationGroupDescription","GlobalReplicationGroupDescription",properties.GlobalReplicationGroupDescription!=null?cfn_parse().FromCloudFormation.getString(properties.GlobalReplicationGroupDescription):void 0),ret.addPropertyResult("globalReplicationGroupIdSuffix","GlobalReplicationGroupIdSuffix",properties.GlobalReplicationGroupIdSuffix!=null?cfn_parse().FromCloudFormation.getString(properties.GlobalReplicationGroupIdSuffix):void 0),ret.addPropertyResult("members","Members",properties.Members!=null?cfn_parse().FromCloudFormation.getArray(CfnGlobalReplicationGroupGlobalReplicationGroupMemberPropertyFromCloudFormation)(properties.Members):void 0),ret.addPropertyResult("regionalConfigurations","RegionalConfigurations",properties.RegionalConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnGlobalReplicationGroupRegionalConfigurationPropertyFromCloudFormation)(properties.RegionalConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnParameterGroup extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnParameterGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnParameterGroup(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:CfnParameterGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticache_CfnParameterGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnParameterGroup),error}cdk().requireProperty(props,"cacheParameterGroupFamily",this),cdk().requireProperty(props,"description",this),this.attrCacheParameterGroupName=cdk().Token.asString(this.getAtt("CacheParameterGroupName",cdk().ResolutionTypeHint.STRING)),this.cacheParameterGroupFamily=props.cacheParameterGroupFamily,this.description=props.description,this.properties=props.properties,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ElastiCache::ParameterGroup",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{cacheParameterGroupFamily:this.cacheParameterGroupFamily,description:this.description,properties:this.properties,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",CfnParameterGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnParameterGroupPropsToCloudFormation(props)}}exports.CfnParameterGroup=CfnParameterGroup,_c=JSII_RTTI_SYMBOL_1,CfnParameterGroup[_c]={fqn:"aws-cdk-lib.aws_elasticache.CfnParameterGroup",version:"2.202.0"},CfnParameterGroup.CFN_RESOURCE_TYPE_NAME="AWS::ElastiCache::ParameterGroup";function CfnParameterGroupPropsValidator(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("cacheParameterGroupFamily",cdk().requiredValidator)(properties.cacheParameterGroupFamily)),errors.collect(cdk().propertyValidator("cacheParameterGroupFamily",cdk().validateString)(properties.cacheParameterGroupFamily)),errors.collect(cdk().propertyValidator("description",cdk().requiredValidator)(properties.description)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("properties",cdk().hashValidator(cdk().validateString))(properties.properties)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnParameterGroupProps"')}function convertCfnParameterGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnParameterGroupPropsValidator(properties).assertSuccess(),{CacheParameterGroupFamily:cdk().stringToCloudFormation(properties.cacheParameterGroupFamily),Description:cdk().stringToCloudFormation(properties.description),Properties:cdk().hashMapper(cdk().stringToCloudFormation)(properties.properties),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnParameterGroupPropsFromCloudFormation(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("cacheParameterGroupFamily","CacheParameterGroupFamily",properties.CacheParameterGroupFamily!=null?cfn_parse().FromCloudFormation.getString(properties.CacheParameterGroupFamily):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("properties","Properties",properties.Properties!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Properties):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 CfnReplicationGroup extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnReplicationGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnReplicationGroup(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:CfnReplicationGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticache_CfnReplicationGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnReplicationGroup),error}cdk().requireProperty(props,"replicationGroupDescription",this),this.attrConfigurationEndPointAddress=cdk().Token.asString(this.getAtt("ConfigurationEndPoint.Address",cdk().ResolutionTypeHint.STRING)),this.attrConfigurationEndPointPort=cdk().Token.asString(this.getAtt("ConfigurationEndPoint.Port",cdk().ResolutionTypeHint.STRING)),this.attrPrimaryEndPointAddress=cdk().Token.asString(this.getAtt("PrimaryEndPoint.Address",cdk().ResolutionTypeHint.STRING)),this.attrPrimaryEndPointPort=cdk().Token.asString(this.getAtt("PrimaryEndPoint.Port",cdk().ResolutionTypeHint.STRING)),this.attrReadEndPointAddresses=cdk().Token.asString(this.getAtt("ReadEndPoint.Addresses",cdk().ResolutionTypeHint.STRING)),this.attrReadEndPointAddressesList=cdk().Token.asList(this.getAtt("ReadEndPoint.Addresses.List",cdk().ResolutionTypeHint.STRING_LIST)),this.attrReadEndPointPorts=cdk().Token.asString(this.getAtt("ReadEndPoint.Ports",cdk().ResolutionTypeHint.STRING)),this.attrReadEndPointPortsList=cdk().Token.asList(this.getAtt("ReadEndPoint.Ports.List",cdk().ResolutionTypeHint.STRING_LIST)),this.attrReaderEndPointAddress=cdk().Token.asString(this.getAtt("ReaderEndPoint.Address",cdk().ResolutionTypeHint.STRING)),this.attrReaderEndPointPort=cdk().Token.asString(this.getAtt("ReaderEndPoint.Port",cdk().ResolutionTypeHint.STRING)),this.atRestEncryptionEnabled=props.atRestEncryptionEnabled,this.authToken=props.authToken,this.automaticFailoverEnabled=props.automaticFailoverEnabled,this.autoMinorVersionUpgrade=props.autoMinorVersionUpgrade,this.cacheNodeType=props.cacheNodeType,this.cacheParameterGroupName=props.cacheParameterGroupName,this.cacheSecurityGroupNames=props.cacheSecurityGroupNames,this.cacheSubnetGroupName=props.cacheSubnetGroupName,this.clusterMode=props.clusterMode,this.dataTieringEnabled=props.dataTieringEnabled,this.engine=props.engine,this.engineVersion=props.engineVersion,this.globalReplicationGroupId=props.globalReplicationGroupId,this.ipDiscovery=props.ipDiscovery,this.kmsKeyId=props.kmsKeyId,this.logDeliveryConfigurations=props.logDeliveryConfigurations,this.multiAzEnabled=props.multiAzEnabled,this.networkType=props.networkType,this.nodeGroupConfiguration=props.nodeGroupConfiguration,this.notificationTopicArn=props.notificationTopicArn,this.numCacheClusters=props.numCacheClusters,this.numNodeGroups=props.numNodeGroups,this.port=props.port,this.preferredCacheClusterAZs=props.preferredCacheClusterAZs,this.preferredMaintenanceWindow=props.preferredMaintenanceWindow,this.primaryClusterId=props.primaryClusterId,this.replicasPerNodeGroup=props.replicasPerNodeGroup,this.replicationGroupDescription=props.replicationGroupDescription,this.replicationGroupId=props.replicationGroupId,this.securityGroupIds=props.securityGroupIds,this.snapshotArns=props.snapshotArns,this.snapshotName=props.snapshotName,this.snapshotRetentionLimit=props.snapshotRetentionLimit,this.snapshottingClusterId=props.snapshottingClusterId,this.snapshotWindow=props.snapshotWindow,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ElastiCache::ReplicationGroup",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.transitEncryptionEnabled=props.transitEncryptionEnabled,this.transitEncryptionMode=props.transitEncryptionMode,this.userGroupIds=props.userGroupIds,this.node.scope!=null&&cdk().Resourc