aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 98.1 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g,_h,_j;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnUserGroup=exports.CfnUser=exports.CfnSubnetGroup=exports.CfnSecurityGroupIngress=exports.CfnSecurityGroup=exports.CfnReplicationGroup=exports.CfnParameterGroup=exports.CfnGlobalReplicationGroup=exports.CfnCacheCluster=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnCacheClusterPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("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(CfnCacheCluster_LogDeliveryConfigurationRequestPropertyValidator))(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 cfnCacheClusterPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCacheClusterPropsValidator(properties).assertSuccess(),{CacheNodeType:cdk.stringToCloudFormation(properties.cacheNodeType),Engine:cdk.stringToCloudFormation(properties.engine),NumCacheNodes:cdk.numberToCloudFormation(properties.numCacheNodes),AutoMinorVersionUpgrade:cdk.booleanToCloudFormation(properties.autoMinorVersionUpgrade),AZMode:cdk.stringToCloudFormation(properties.azMode),CacheParameterGroupName:cdk.stringToCloudFormation(properties.cacheParameterGroupName),CacheSecurityGroupNames:cdk.listMapper(cdk.stringToCloudFormation)(properties.cacheSecurityGroupNames),CacheSubnetGroupName:cdk.stringToCloudFormation(properties.cacheSubnetGroupName),ClusterName:cdk.stringToCloudFormation(properties.clusterName),EngineVersion:cdk.stringToCloudFormation(properties.engineVersion),IpDiscovery:cdk.stringToCloudFormation(properties.ipDiscovery),LogDeliveryConfigurations:cdk.listMapper(cfnCacheClusterLogDeliveryConfigurationRequestPropertyToCloudFormation)(properties.logDeliveryConfigurations),NetworkType:cdk.stringToCloudFormation(properties.networkType),NotificationTopicArn:cdk.stringToCloudFormation(properties.notificationTopicArn),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(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("cacheNodeType","CacheNodeType",cfn_parse.FromCloudFormation.getString(properties.CacheNodeType)),ret.addPropertyResult("engine","Engine",cfn_parse.FromCloudFormation.getString(properties.Engine)),ret.addPropertyResult("numCacheNodes","NumCacheNodes",cfn_parse.FromCloudFormation.getNumber(properties.NumCacheNodes)),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("cacheParameterGroupName","CacheParameterGroupName",properties.CacheParameterGroupName!=null?cfn_parse.FromCloudFormation.getString(properties.CacheParameterGroupName):void 0),ret.addPropertyResult("cacheSecurityGroupNames","CacheSecurityGroupNames",properties.CacheSecurityGroupNames!=null?cfn_parse.FromCloudFormation.getStringArray(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("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("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.getStringArray(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.getStringArray(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.getStringArray(properties.VpcSecurityGroupIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCacheCluster extends cdk.CfnResource{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.attrRedisEndpointAddress=cdk.Token.asString(this.getAtt("RedisEndpoint.Address",cdk.ResolutionTypeHint.STRING)),this.attrRedisEndpointPort=cdk.Token.asString(this.getAtt("RedisEndpoint.Port",cdk.ResolutionTypeHint.STRING)),this.cacheNodeType=props.cacheNodeType,this.engine=props.engine,this.numCacheNodes=props.numCacheNodes,this.autoMinorVersionUpgrade=props.autoMinorVersionUpgrade,this.azMode=props.azMode,this.cacheParameterGroupName=props.cacheParameterGroupName,this.cacheSecurityGroupNames=props.cacheSecurityGroupNames,this.cacheSubnetGroupName=props.cacheSubnetGroupName,this.clusterName=props.clusterName,this.engineVersion=props.engineVersion,this.ipDiscovery=props.ipDiscovery,this.logDeliveryConfigurations=props.logDeliveryConfigurations,this.networkType=props.networkType,this.notificationTopicArn=props.notificationTopicArn,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.transitEncryptionEnabled=props.transitEncryptionEnabled,this.vpcSecurityGroupIds=props.vpcSecurityGroupIds,this.node.scope&&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()'."]:[]})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCacheClusterPropsFromCloudFormation(resourceProperties),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}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)}get cfnProperties(){return{cacheNodeType:this.cacheNodeType,engine:this.engine,numCacheNodes:this.numCacheNodes,autoMinorVersionUpgrade:this.autoMinorVersionUpgrade,azMode:this.azMode,cacheParameterGroupName:this.cacheParameterGroupName,cacheSecurityGroupNames:this.cacheSecurityGroupNames,cacheSubnetGroupName:this.cacheSubnetGroupName,clusterName:this.clusterName,engineVersion:this.engineVersion,ipDiscovery:this.ipDiscovery,logDeliveryConfigurations:this.logDeliveryConfigurations,networkType:this.networkType,notificationTopicArn:this.notificationTopicArn,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}}renderProperties(props){return cfnCacheClusterPropsToCloudFormation(props)}}exports.CfnCacheCluster=CfnCacheCluster,_a=JSII_RTTI_SYMBOL_1,CfnCacheCluster[_a]={fqn:"aws-cdk-lib.aws_elasticache.CfnCacheCluster",version:"2.70.0"},CfnCacheCluster.CFN_RESOURCE_TYPE_NAME="AWS::ElastiCache::CacheCluster";function CfnCacheCluster_CloudWatchLogsDestinationDetailsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("logGroup",cdk.requiredValidator)(properties.logGroup)),errors.collect(cdk.propertyValidator("logGroup",cdk.validateString)(properties.logGroup)),errors.wrap('supplied properties not correct for "CloudWatchLogsDestinationDetailsProperty"')}function cfnCacheClusterCloudWatchLogsDestinationDetailsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCacheCluster_CloudWatchLogsDestinationDetailsPropertyValidator(properties).assertSuccess(),{LogGroup:cdk.stringToCloudFormation(properties.logGroup)}):properties}function CfnCacheClusterCloudWatchLogsDestinationDetailsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("logGroup","LogGroup",cfn_parse.FromCloudFormation.getString(properties.LogGroup)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCacheCluster_DestinationDetailsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("cloudWatchLogsDetails",CfnCacheCluster_CloudWatchLogsDestinationDetailsPropertyValidator)(properties.cloudWatchLogsDetails)),errors.collect(cdk.propertyValidator("kinesisFirehoseDetails",CfnCacheCluster_KinesisFirehoseDestinationDetailsPropertyValidator)(properties.kinesisFirehoseDetails)),errors.wrap('supplied properties not correct for "DestinationDetailsProperty"')}function cfnCacheClusterDestinationDetailsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCacheCluster_DestinationDetailsPropertyValidator(properties).assertSuccess(),{CloudWatchLogsDetails:cfnCacheClusterCloudWatchLogsDestinationDetailsPropertyToCloudFormation(properties.cloudWatchLogsDetails),KinesisFirehoseDetails:cfnCacheClusterKinesisFirehoseDestinationDetailsPropertyToCloudFormation(properties.kinesisFirehoseDetails)}):properties}function CfnCacheClusterDestinationDetailsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")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 CfnCacheCluster_KinesisFirehoseDestinationDetailsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("deliveryStream",cdk.requiredValidator)(properties.deliveryStream)),errors.collect(cdk.propertyValidator("deliveryStream",cdk.validateString)(properties.deliveryStream)),errors.wrap('supplied properties not correct for "KinesisFirehoseDestinationDetailsProperty"')}function cfnCacheClusterKinesisFirehoseDestinationDetailsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCacheCluster_KinesisFirehoseDestinationDetailsPropertyValidator(properties).assertSuccess(),{DeliveryStream:cdk.stringToCloudFormation(properties.deliveryStream)}):properties}function CfnCacheClusterKinesisFirehoseDestinationDetailsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("deliveryStream","DeliveryStream",cfn_parse.FromCloudFormation.getString(properties.DeliveryStream)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCacheCluster_LogDeliveryConfigurationRequestPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("destinationDetails",cdk.requiredValidator)(properties.destinationDetails)),errors.collect(cdk.propertyValidator("destinationDetails",CfnCacheCluster_DestinationDetailsPropertyValidator)(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 cfnCacheClusterLogDeliveryConfigurationRequestPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCacheCluster_LogDeliveryConfigurationRequestPropertyValidator(properties).assertSuccess(),{DestinationDetails:cfnCacheClusterDestinationDetailsPropertyToCloudFormation(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??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationDetails","DestinationDetails",CfnCacheClusterDestinationDetailsPropertyFromCloudFormation(properties.DestinationDetails)),ret.addPropertyResult("destinationType","DestinationType",cfn_parse.FromCloudFormation.getString(properties.DestinationType)),ret.addPropertyResult("logFormat","LogFormat",cfn_parse.FromCloudFormation.getString(properties.LogFormat)),ret.addPropertyResult("logType","LogType",cfn_parse.FromCloudFormation.getString(properties.LogType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalReplicationGroupPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("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("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(CfnGlobalReplicationGroup_GlobalReplicationGroupMemberPropertyValidator))(properties.members)),errors.collect(cdk.propertyValidator("regionalConfigurations",cdk.listValidator(CfnGlobalReplicationGroup_RegionalConfigurationPropertyValidator))(properties.regionalConfigurations)),errors.wrap('supplied properties not correct for "CfnGlobalReplicationGroupProps"')}function cfnGlobalReplicationGroupPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalReplicationGroupPropsValidator(properties).assertSuccess(),{Members:cdk.listMapper(cfnGlobalReplicationGroupGlobalReplicationGroupMemberPropertyToCloudFormation)(properties.members),AutomaticFailoverEnabled:cdk.booleanToCloudFormation(properties.automaticFailoverEnabled),CacheNodeType:cdk.stringToCloudFormation(properties.cacheNodeType),CacheParameterGroupName:cdk.stringToCloudFormation(properties.cacheParameterGroupName),EngineVersion:cdk.stringToCloudFormation(properties.engineVersion),GlobalNodeGroupCount:cdk.numberToCloudFormation(properties.globalNodeGroupCount),GlobalReplicationGroupDescription:cdk.stringToCloudFormation(properties.globalReplicationGroupDescription),GlobalReplicationGroupIdSuffix:cdk.stringToCloudFormation(properties.globalReplicationGroupIdSuffix),RegionalConfigurations:cdk.listMapper(cfnGlobalReplicationGroupRegionalConfigurationPropertyToCloudFormation)(properties.regionalConfigurations)}):properties}function CfnGlobalReplicationGroupPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("members","Members",cfn_parse.FromCloudFormation.getArray(CfnGlobalReplicationGroupGlobalReplicationGroupMemberPropertyFromCloudFormation)(properties.Members)),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("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("regionalConfigurations","RegionalConfigurations",properties.RegionalConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnGlobalReplicationGroupRegionalConfigurationPropertyFromCloudFormation)(properties.RegionalConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGlobalReplicationGroup extends cdk.CfnResource{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.members=props.members,this.automaticFailoverEnabled=props.automaticFailoverEnabled,this.cacheNodeType=props.cacheNodeType,this.cacheParameterGroupName=props.cacheParameterGroupName,this.engineVersion=props.engineVersion,this.globalNodeGroupCount=props.globalNodeGroupCount,this.globalReplicationGroupDescription=props.globalReplicationGroupDescription,this.globalReplicationGroupIdSuffix=props.globalReplicationGroupIdSuffix,this.regionalConfigurations=props.regionalConfigurations}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGlobalReplicationGroupPropsFromCloudFormation(resourceProperties),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}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)}get cfnProperties(){return{members:this.members,automaticFailoverEnabled:this.automaticFailoverEnabled,cacheNodeType:this.cacheNodeType,cacheParameterGroupName:this.cacheParameterGroupName,engineVersion:this.engineVersion,globalNodeGroupCount:this.globalNodeGroupCount,globalReplicationGroupDescription:this.globalReplicationGroupDescription,globalReplicationGroupIdSuffix:this.globalReplicationGroupIdSuffix,regionalConfigurations:this.regionalConfigurations}}renderProperties(props){return cfnGlobalReplicationGroupPropsToCloudFormation(props)}}exports.CfnGlobalReplicationGroup=CfnGlobalReplicationGroup,_b=JSII_RTTI_SYMBOL_1,CfnGlobalReplicationGroup[_b]={fqn:"aws-cdk-lib.aws_elasticache.CfnGlobalReplicationGroup",version:"2.70.0"},CfnGlobalReplicationGroup.CFN_RESOURCE_TYPE_NAME="AWS::ElastiCache::GlobalReplicationGroup";function CfnGlobalReplicationGroup_GlobalReplicationGroupMemberPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("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 cfnGlobalReplicationGroupGlobalReplicationGroupMemberPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalReplicationGroup_GlobalReplicationGroupMemberPropertyValidator(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??{},typeof properties!="object")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 CfnGlobalReplicationGroup_RegionalConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("replicationGroupId",cdk.validateString)(properties.replicationGroupId)),errors.collect(cdk.propertyValidator("replicationGroupRegion",cdk.validateString)(properties.replicationGroupRegion)),errors.collect(cdk.propertyValidator("reshardingConfigurations",cdk.listValidator(CfnGlobalReplicationGroup_ReshardingConfigurationPropertyValidator))(properties.reshardingConfigurations)),errors.wrap('supplied properties not correct for "RegionalConfigurationProperty"')}function cfnGlobalReplicationGroupRegionalConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalReplicationGroup_RegionalConfigurationPropertyValidator(properties).assertSuccess(),{ReplicationGroupId:cdk.stringToCloudFormation(properties.replicationGroupId),ReplicationGroupRegion:cdk.stringToCloudFormation(properties.replicationGroupRegion),ReshardingConfigurations:cdk.listMapper(cfnGlobalReplicationGroupReshardingConfigurationPropertyToCloudFormation)(properties.reshardingConfigurations)}):properties}function CfnGlobalReplicationGroupRegionalConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")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 CfnGlobalReplicationGroup_ReshardingConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("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 cfnGlobalReplicationGroupReshardingConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalReplicationGroup_ReshardingConfigurationPropertyValidator(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??{},typeof properties!="object")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.getStringArray(properties.PreferredAvailabilityZones):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnParameterGroupPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("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 cfnParameterGroupPropsToCloudFormation(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(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("cacheParameterGroupFamily","CacheParameterGroupFamily",cfn_parse.FromCloudFormation.getString(properties.CacheParameterGroupFamily)),ret.addPropertyResult("description","Description",cfn_parse.FromCloudFormation.getString(properties.Description)),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 CfnParameterGroup extends cdk.CfnResource{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.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"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnParameterGroupPropsFromCloudFormation(resourceProperties),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}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)}get cfnProperties(){return{cacheParameterGroupFamily:this.cacheParameterGroupFamily,description:this.description,properties:this.properties,tags:this.tags.renderTags()}}renderProperties(props){return cfnParameterGroupPropsToCloudFormation(props)}}exports.CfnParameterGroup=CfnParameterGroup,_c=JSII_RTTI_SYMBOL_1,CfnParameterGroup[_c]={fqn:"aws-cdk-lib.aws_elasticache.CfnParameterGroup",version:"2.70.0"},CfnParameterGroup.CFN_RESOURCE_TYPE_NAME="AWS::ElastiCache::ParameterGroup";function CfnReplicationGroupPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("atRestEncryptionEnabled",cdk.validateBoolean)(properties.atRestEncryptionEnabled)),errors.collect(cdk.propertyValidator("authToken",cdk.validateString)(properties.authToken)),errors.collect(cdk.propertyValidator("autoMinorVersionUpgrade",cdk.validateBoolean)(properties.autoMinorVersionUpgrade)),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("cacheSecurityGroupNames",cdk.listValidator(cdk.validateString))(properties.cacheSecurityGroupNames)),errors.collect(cdk.propertyValidator("cacheSubnetGroupName",cdk.validateString)(properties.cacheSubnetGroupName)),errors.collect(cdk.propertyValidator("dataTieringEnabled",cdk.validateBoolean)(properties.dataTieringEnabled)),errors.collect(cdk.propertyValidator("engine",cdk.validateString)(properties.engine)),errors.collect(cdk.propertyValidator("engineVersion",cdk.validateString)(properties.engineVersion)),errors.collect(cdk.propertyValidator("globalReplicationGroupId",cdk.validateString)(properties.globalReplicationGroupId)),errors.collect(cdk.propertyValidator("ipDiscovery",cdk.validateString)(properties.ipDiscovery)),errors.collect(cdk.propertyValidator("kmsKeyId",cdk.validateString)(properties.kmsKeyId)),errors.collect(cdk.propertyValidator("logDeliveryConfigurations",cdk.listValidator(CfnReplicationGroup_LogDeliveryConfigurationRequestPropertyValidator))(properties.logDeliveryConfigurations)),errors.collect(cdk.propertyValidator("multiAzEnabled",cdk.validateBoolean)(properties.multiAzEnabled)),errors.collect(cdk.propertyValidator("networkType",cdk.validateString)(properties.networkType)),errors.collect(cdk.propertyValidator("nodeGroupConfiguration",cdk.listValidator(CfnReplicationGroup_NodeGroupConfigurationPropertyValidator))(properties.nodeGroupConfiguration)),errors.collect(cdk.propertyValidator("notificationTopicArn",cdk.validateString)(properties.notificationTopicArn)),errors.collect(cdk.propertyValidator("numCacheClusters",cdk.validateNumber)(properties.numCacheClusters)),errors.collect(cdk.propertyValidator("numNodeGroups",cdk.validateNumber)(properties.numNodeGroups)),errors.collect(cdk.propertyValidator("port",cdk.validateNumber)(properties.port)),errors.collect(cdk.propertyValidator("preferredCacheClusterAZs",cdk.listValidator(cdk.validateString))(properties.preferredCacheClusterAZs)),errors.collect(cdk.propertyValidator("preferredMaintenanceWindow",cdk.validateString)(properties.preferredMaintenanceWindow)),errors.collect(cdk.propertyValidator("primaryClusterId",cdk.validateString)(properties.primaryClusterId)),errors.collect(cdk.propertyValidator("replicasPerNodeGroup",cdk.validateNumber)(properties.replicasPerNodeGroup)),errors.collect(cdk.propertyValidator("replicationGroupDescription",cdk.requiredValidator)(properties.replicationGroupDescription)),errors.collect(cdk.propertyValidator("replicationGroupDescription",cdk.validateString)(properties.replicationGroupDescription)),errors.collect(cdk.propertyValidator("replicationGroupId",cdk.validateString)(properties.replicationGroupId)),errors.collect(cdk.propertyValidator("securityGroupIds",cdk.listValidator(cdk.validateString))(properties.securityGroupIds)),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("snapshottingClusterId",cdk.validateString)(properties.snapshottingClusterId)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("transitEncryptionEnabled",cdk.validateBoolean)(properties.transitEncryptionEnabled)),errors.collect(cdk.propertyValidator("transitEncryptionMode",cdk.validateString)(properties.transitEncryptionMode)),errors.collect(cdk.propertyValidator("userGroupIds",cdk.listValidator(cdk.validateString))(properties.userGroupIds)),errors.wrap('supplied properties not correct for "CfnReplicationGroupProps"')}function cfnReplicationGroupPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnReplicationGroupPropsValidator(properties).assertSuccess(),{ReplicationGroupDescription:cdk.stringToCloudFormation(properties.replicationGroupDescription),AtRestEncryptionEnabled:cdk.booleanToCloudFormation(properties.atRestEncryptionEnabled),AuthToken:cdk.stringToCloudFormation(properties.authToken),AutomaticFailoverEnabled:cdk.booleanToCloudFormation(properties.automaticFailoverEnabled),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),DataTieringEnabled:cdk.booleanToCloudFormation(properties.dataTieringEnabled),Engine:cdk.stringToCloudFormation(properties.engine),EngineVersion:cdk.stringToCloudFormation(properties.engineVersion),GlobalReplicationGroupId:cdk.stringToCloudFormation(properties.globalReplicationGroupId),IpDiscovery:cdk.stringToCloudFormation(properties.ipDiscovery),KmsKeyId:cdk.stringToCloudFormation(properties.kmsKeyId),LogDeliveryConfigurations:cdk.listMapper(cfnReplicationGroupLogDeliveryConfigurationRequestPropertyToCloudFormation)(properties.logDeliveryConfigurations),MultiAZEnabled:cdk.booleanToCloudFormation(properties.multiAzEnabled),NetworkType:cdk.stringToCloudFormation(properties.networkType),NodeGroupConfiguration:cdk.listMapper(cfnReplicationGroupNodeGroupConfigurationPropertyToCloudFormation)(properties.nodeGroupConfiguration),NotificationTopicArn:cdk.stringToCloudFormation(properties.notificationTopicArn),NumCacheClusters:cdk.numberToCloudFormation(properties.numCacheClusters),NumNodeGroups:cdk.numberToCloudFormation(properties.numNodeGroups),Port:cdk.numberToCloudFormation(properties.port),PreferredCacheClusterAZs:cdk.listMapper(cdk.stringToCloudFormation)(properties.preferredCacheClusterAZs),PreferredMaintenanceWindow:cdk.stringToCloudFormation(properties.preferredMaintenanceWindow),PrimaryClusterId:cdk.stringToCloudFormation(properties.primaryClusterId),ReplicasPerNodeGroup:cdk.numberToCloudFormation(properties.replicasPerNodeGroup),ReplicationGroupId:cdk.stringToCloudFormation(properties.replicationGroupId),SecurityGroupIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.securityGroupIds),SnapshotArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.snapshotArns),SnapshotName:cdk.stringToCloudFormation(properties.snapshotName),SnapshotRetentionLimit:cdk.numberToCloudFormation(properties.snapshotRetentionLimit),SnapshottingClusterId:cdk.stringToCloudFormation(properties.snapshottingClusterId),SnapshotWindow:cdk.stringToCloudFormation(properties.snapshotWindow),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TransitEncryptionEnabled:cdk.booleanToCloudFormation(properties.transitEncryptionEnabled),TransitEncryptionMode:cdk.stringToCloudFormation(properties.transitEncryptionMode),UserGroupIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.userGroupIds)}):properties}function CfnReplicationGroupPropsFromCloudFormation(properties){if(properties=properties??{},ty