Files
agent-claw/cdk/node_modules/aws-cdk-lib/aws-msk/lib/msk.generated.js
2026-05-06 18:55:16 -05:00

2 lines
161 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTopic=exports.CfnReplicator=exports.CfnVpcConnection=exports.CfnServerlessCluster=exports.CfnConfiguration=exports.CfnClusterPolicy=exports.CfnCluster=exports.CfnBatchScramSecret=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core/lib");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnBatchScramSecret extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_msk.CfnBatchScramSecret",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::MSK::BatchScramSecret";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBatchScramSecretPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnBatchScramSecret(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnBatchScramSecret(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnBatchScramSecret.CFN_RESOURCE_TYPE_NAME}_clusterArn;_secretArnList;cfnPropertyNames={clusterArn:"ClusterArn",secretArnList:"SecretArnList"};constructor(scope,id,props){super(scope,id,{type:CfnBatchScramSecret.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_msk_CfnBatchScramSecretProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBatchScramSecret),error}cdk().requireProperty(props,"clusterArn",this),this._clusterArn=props.clusterArn,this._secretArnList=props.secretArnList}get batchScramSecretRef(){return{clusterArn:this.ref}}get clusterArn(){return this._clusterArn}set clusterArn(value){cdk().traceProperty(this.node,"ClusterArn"),this._clusterArn=value}get secretArnList(){return this._secretArnList}set secretArnList(value){cdk().traceProperty(this.node,"SecretArnList"),this._secretArnList=value}get cfnProperties(){return{clusterArn:this._clusterArn,secretArnList:this._secretArnList}}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",CfnBatchScramSecret.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBatchScramSecretPropsToCloudFormation(props)}}exports.CfnBatchScramSecret=CfnBatchScramSecret;function CfnBatchScramSecretPropsValidator(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("clusterArn",cdk().requiredValidator)(properties.clusterArn)),errors.collect(cdk().propertyValidator("clusterArn",cdk().validateString)(properties.clusterArn)),errors.collect(cdk().propertyValidator("secretArnList",cdk().listValidator(cdk().validateString))(properties.secretArnList)),errors.wrap('supplied properties not correct for "CfnBatchScramSecretProps"')}function convertCfnBatchScramSecretPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBatchScramSecretPropsValidator(properties).assertSuccess(),{ClusterArn:cdk().stringToCloudFormation(properties.clusterArn),SecretArnList:cdk().listMapper(cdk().stringToCloudFormation)(properties.secretArnList)}):properties}function CfnBatchScramSecretPropsFromCloudFormation(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("clusterArn","ClusterArn",properties.ClusterArn!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterArn):void 0),ret.addPropertyResult("secretArnList","SecretArnList",properties.SecretArnList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecretArnList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCluster extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_msk.CfnCluster",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::MSK::Cluster";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnClusterPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCluster(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnCluster(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCluster.CFN_RESOURCE_TYPE_NAME}static arnForCluster(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_msk_IClusterRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCluster),error}return resource.clusterRef.clusterArn}_brokerNodeGroupInfo;_clientAuthentication;_clusterName;_configurationInfo;_currentVersion;_encryptionInfo;_enhancedMonitoring;_kafkaVersion;_loggingInfo;_numberOfBrokerNodes;_openMonitoring;_rebalancing;_storageMode;tags;_tagsRaw;cfnPropertyNames={brokerNodeGroupInfo:"BrokerNodeGroupInfo",clientAuthentication:"ClientAuthentication",clusterName:"ClusterName",configurationInfo:"ConfigurationInfo",currentVersion:"CurrentVersion",encryptionInfo:"EncryptionInfo",enhancedMonitoring:"EnhancedMonitoring",kafkaVersion:"KafkaVersion",loggingInfo:"LoggingInfo",numberOfBrokerNodes:"NumberOfBrokerNodes",openMonitoring:"OpenMonitoring",rebalancing:"Rebalancing",storageMode:"StorageMode",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_msk_CfnClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCluster),error}cdk().requireProperty(props,"brokerNodeGroupInfo",this),cdk().requireProperty(props,"clusterName",this),cdk().requireProperty(props,"kafkaVersion",this),cdk().requireProperty(props,"numberOfBrokerNodes",this),this._brokerNodeGroupInfo=props.brokerNodeGroupInfo,this._clientAuthentication=props.clientAuthentication,this._clusterName=props.clusterName,this._configurationInfo=props.configurationInfo,this._currentVersion=props.currentVersion,this._encryptionInfo=props.encryptionInfo,this._enhancedMonitoring=props.enhancedMonitoring,this._kafkaVersion=props.kafkaVersion,this._loggingInfo=props.loggingInfo,this._numberOfBrokerNodes=props.numberOfBrokerNodes,this._openMonitoring=props.openMonitoring,this._rebalancing=props.rebalancing,this._storageMode=props.storageMode,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::MSK::Cluster",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get clusterRef(){return{clusterArn:this.ref}}get brokerNodeGroupInfo(){return this._brokerNodeGroupInfo}set brokerNodeGroupInfo(value){cdk().traceProperty(this.node,"BrokerNodeGroupInfo"),this._brokerNodeGroupInfo=value}get clientAuthentication(){return this._clientAuthentication}set clientAuthentication(value){cdk().traceProperty(this.node,"ClientAuthentication"),this._clientAuthentication=value}get clusterName(){return this._clusterName}set clusterName(value){cdk().traceProperty(this.node,"ClusterName"),this._clusterName=value}get configurationInfo(){return this._configurationInfo}set configurationInfo(value){cdk().traceProperty(this.node,"ConfigurationInfo"),this._configurationInfo=value}get currentVersion(){return this._currentVersion}set currentVersion(value){cdk().traceProperty(this.node,"CurrentVersion"),this._currentVersion=value}get encryptionInfo(){return this._encryptionInfo}set encryptionInfo(value){cdk().traceProperty(this.node,"EncryptionInfo"),this._encryptionInfo=value}get enhancedMonitoring(){return this._enhancedMonitoring}set enhancedMonitoring(value){cdk().traceProperty(this.node,"EnhancedMonitoring"),this._enhancedMonitoring=value}get kafkaVersion(){return this._kafkaVersion}set kafkaVersion(value){cdk().traceProperty(this.node,"KafkaVersion"),this._kafkaVersion=value}get loggingInfo(){return this._loggingInfo}set loggingInfo(value){cdk().traceProperty(this.node,"LoggingInfo"),this._loggingInfo=value}get numberOfBrokerNodes(){return this._numberOfBrokerNodes}set numberOfBrokerNodes(value){cdk().traceProperty(this.node,"NumberOfBrokerNodes"),this._numberOfBrokerNodes=value}get openMonitoring(){return this._openMonitoring}set openMonitoring(value){cdk().traceProperty(this.node,"OpenMonitoring"),this._openMonitoring=value}get rebalancing(){return this._rebalancing}set rebalancing(value){cdk().traceProperty(this.node,"Rebalancing"),this._rebalancing=value}get storageMode(){return this._storageMode}set storageMode(value){cdk().traceProperty(this.node,"StorageMode"),this._storageMode=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCurrentVersion(){return cdk().Token.asString(this.getAtt("CurrentVersion",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{brokerNodeGroupInfo:this._brokerNodeGroupInfo,clientAuthentication:this._clientAuthentication,clusterName:this._clusterName,configurationInfo:this._configurationInfo,currentVersion:this._currentVersion,encryptionInfo:this._encryptionInfo,enhancedMonitoring:this._enhancedMonitoring,kafkaVersion:this._kafkaVersion,loggingInfo:this._loggingInfo,numberOfBrokerNodes:this._numberOfBrokerNodes,openMonitoring:this._openMonitoring,rebalancing:this._rebalancing,storageMode:this._storageMode,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",CfnCluster.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnClusterPropsToCloudFormation(props)}}exports.CfnCluster=CfnCluster;function CfnClusterEncryptionAtRestPropertyValidator(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("dataVolumeKmsKeyId",cdk().requiredValidator)(properties.dataVolumeKmsKeyId)),errors.collect(cdk().propertyValidator("dataVolumeKmsKeyId",cdk().validateString)(properties.dataVolumeKmsKeyId)),errors.wrap('supplied properties not correct for "EncryptionAtRestProperty"')}function convertCfnClusterEncryptionAtRestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterEncryptionAtRestPropertyValidator(properties).assertSuccess(),{DataVolumeKMSKeyId:cdk().stringToCloudFormation(properties.dataVolumeKmsKeyId)}):properties}function CfnClusterEncryptionAtRestPropertyFromCloudFormation(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("dataVolumeKmsKeyId","DataVolumeKMSKeyId",properties.DataVolumeKMSKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.DataVolumeKMSKeyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterEncryptionInTransitPropertyValidator(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("clientBroker",cdk().validateString)(properties.clientBroker)),errors.collect(cdk().propertyValidator("inCluster",cdk().validateBoolean)(properties.inCluster)),errors.wrap('supplied properties not correct for "EncryptionInTransitProperty"')}function convertCfnClusterEncryptionInTransitPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterEncryptionInTransitPropertyValidator(properties).assertSuccess(),{ClientBroker:cdk().stringToCloudFormation(properties.clientBroker),InCluster:cdk().booleanToCloudFormation(properties.inCluster)}):properties}function CfnClusterEncryptionInTransitPropertyFromCloudFormation(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("clientBroker","ClientBroker",properties.ClientBroker!=null?cfn_parse().FromCloudFormation.getString(properties.ClientBroker):void 0),ret.addPropertyResult("inCluster","InCluster",properties.InCluster!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InCluster):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterEncryptionInfoPropertyValidator(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("encryptionAtRest",CfnClusterEncryptionAtRestPropertyValidator)(properties.encryptionAtRest)),errors.collect(cdk().propertyValidator("encryptionInTransit",CfnClusterEncryptionInTransitPropertyValidator)(properties.encryptionInTransit)),errors.wrap('supplied properties not correct for "EncryptionInfoProperty"')}function convertCfnClusterEncryptionInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterEncryptionInfoPropertyValidator(properties).assertSuccess(),{EncryptionAtRest:convertCfnClusterEncryptionAtRestPropertyToCloudFormation(properties.encryptionAtRest),EncryptionInTransit:convertCfnClusterEncryptionInTransitPropertyToCloudFormation(properties.encryptionInTransit)}):properties}function CfnClusterEncryptionInfoPropertyFromCloudFormation(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("encryptionAtRest","EncryptionAtRest",properties.EncryptionAtRest!=null?CfnClusterEncryptionAtRestPropertyFromCloudFormation(properties.EncryptionAtRest):void 0),ret.addPropertyResult("encryptionInTransit","EncryptionInTransit",properties.EncryptionInTransit!=null?CfnClusterEncryptionInTransitPropertyFromCloudFormation(properties.EncryptionInTransit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterJmxExporterPropertyValidator(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("enabledInBroker",cdk().requiredValidator)(properties.enabledInBroker)),errors.collect(cdk().propertyValidator("enabledInBroker",cdk().validateBoolean)(properties.enabledInBroker)),errors.wrap('supplied properties not correct for "JmxExporterProperty"')}function convertCfnClusterJmxExporterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterJmxExporterPropertyValidator(properties).assertSuccess(),{EnabledInBroker:cdk().booleanToCloudFormation(properties.enabledInBroker)}):properties}function CfnClusterJmxExporterPropertyFromCloudFormation(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("enabledInBroker","EnabledInBroker",properties.EnabledInBroker!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnabledInBroker):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterNodeExporterPropertyValidator(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("enabledInBroker",cdk().requiredValidator)(properties.enabledInBroker)),errors.collect(cdk().propertyValidator("enabledInBroker",cdk().validateBoolean)(properties.enabledInBroker)),errors.wrap('supplied properties not correct for "NodeExporterProperty"')}function convertCfnClusterNodeExporterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterNodeExporterPropertyValidator(properties).assertSuccess(),{EnabledInBroker:cdk().booleanToCloudFormation(properties.enabledInBroker)}):properties}function CfnClusterNodeExporterPropertyFromCloudFormation(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("enabledInBroker","EnabledInBroker",properties.EnabledInBroker!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnabledInBroker):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterPrometheusPropertyValidator(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("jmxExporter",CfnClusterJmxExporterPropertyValidator)(properties.jmxExporter)),errors.collect(cdk().propertyValidator("nodeExporter",CfnClusterNodeExporterPropertyValidator)(properties.nodeExporter)),errors.wrap('supplied properties not correct for "PrometheusProperty"')}function convertCfnClusterPrometheusPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterPrometheusPropertyValidator(properties).assertSuccess(),{JmxExporter:convertCfnClusterJmxExporterPropertyToCloudFormation(properties.jmxExporter),NodeExporter:convertCfnClusterNodeExporterPropertyToCloudFormation(properties.nodeExporter)}):properties}function CfnClusterPrometheusPropertyFromCloudFormation(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("jmxExporter","JmxExporter",properties.JmxExporter!=null?CfnClusterJmxExporterPropertyFromCloudFormation(properties.JmxExporter):void 0),ret.addPropertyResult("nodeExporter","NodeExporter",properties.NodeExporter!=null?CfnClusterNodeExporterPropertyFromCloudFormation(properties.NodeExporter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterOpenMonitoringPropertyValidator(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("prometheus",cdk().requiredValidator)(properties.prometheus)),errors.collect(cdk().propertyValidator("prometheus",CfnClusterPrometheusPropertyValidator)(properties.prometheus)),errors.wrap('supplied properties not correct for "OpenMonitoringProperty"')}function convertCfnClusterOpenMonitoringPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterOpenMonitoringPropertyValidator(properties).assertSuccess(),{Prometheus:convertCfnClusterPrometheusPropertyToCloudFormation(properties.prometheus)}):properties}function CfnClusterOpenMonitoringPropertyFromCloudFormation(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("prometheus","Prometheus",properties.Prometheus!=null?CfnClusterPrometheusPropertyFromCloudFormation(properties.Prometheus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterConfigurationInfoPropertyValidator(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("arn",cdk().requiredValidator)(properties.arn)),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("revision",cdk().requiredValidator)(properties.revision)),errors.collect(cdk().propertyValidator("revision",cdk().validateNumber)(properties.revision)),errors.wrap('supplied properties not correct for "ConfigurationInfoProperty"')}function convertCfnClusterConfigurationInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterConfigurationInfoPropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),Revision:cdk().numberToCloudFormation(properties.revision)}):properties}function CfnClusterConfigurationInfoPropertyFromCloudFormation(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("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("revision","Revision",properties.Revision!=null?cfn_parse().FromCloudFormation.getNumber(properties.Revision):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterVpcConnectivityIamPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "VpcConnectivityIamProperty"')}function convertCfnClusterVpcConnectivityIamPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterVpcConnectivityIamPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnClusterVpcConnectivityIamPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterVpcConnectivityScramPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "VpcConnectivityScramProperty"')}function convertCfnClusterVpcConnectivityScramPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterVpcConnectivityScramPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnClusterVpcConnectivityScramPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterVpcConnectivitySaslPropertyValidator(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("iam",CfnClusterVpcConnectivityIamPropertyValidator)(properties.iam)),errors.collect(cdk().propertyValidator("scram",CfnClusterVpcConnectivityScramPropertyValidator)(properties.scram)),errors.wrap('supplied properties not correct for "VpcConnectivitySaslProperty"')}function convertCfnClusterVpcConnectivitySaslPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterVpcConnectivitySaslPropertyValidator(properties).assertSuccess(),{Iam:convertCfnClusterVpcConnectivityIamPropertyToCloudFormation(properties.iam),Scram:convertCfnClusterVpcConnectivityScramPropertyToCloudFormation(properties.scram)}):properties}function CfnClusterVpcConnectivitySaslPropertyFromCloudFormation(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("iam","Iam",properties.Iam!=null?CfnClusterVpcConnectivityIamPropertyFromCloudFormation(properties.Iam):void 0),ret.addPropertyResult("scram","Scram",properties.Scram!=null?CfnClusterVpcConnectivityScramPropertyFromCloudFormation(properties.Scram):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterVpcConnectivityTlsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "VpcConnectivityTlsProperty"')}function convertCfnClusterVpcConnectivityTlsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterVpcConnectivityTlsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnClusterVpcConnectivityTlsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterVpcConnectivityClientAuthenticationPropertyValidator(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("sasl",CfnClusterVpcConnectivitySaslPropertyValidator)(properties.sasl)),errors.collect(cdk().propertyValidator("tls",CfnClusterVpcConnectivityTlsPropertyValidator)(properties.tls)),errors.wrap('supplied properties not correct for "VpcConnectivityClientAuthenticationProperty"')}function convertCfnClusterVpcConnectivityClientAuthenticationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterVpcConnectivityClientAuthenticationPropertyValidator(properties).assertSuccess(),{Sasl:convertCfnClusterVpcConnectivitySaslPropertyToCloudFormation(properties.sasl),Tls:convertCfnClusterVpcConnectivityTlsPropertyToCloudFormation(properties.tls)}):properties}function CfnClusterVpcConnectivityClientAuthenticationPropertyFromCloudFormation(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("sasl","Sasl",properties.Sasl!=null?CfnClusterVpcConnectivitySaslPropertyFromCloudFormation(properties.Sasl):void 0),ret.addPropertyResult("tls","Tls",properties.Tls!=null?CfnClusterVpcConnectivityTlsPropertyFromCloudFormation(properties.Tls):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterVpcConnectivityPropertyValidator(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("clientAuthentication",CfnClusterVpcConnectivityClientAuthenticationPropertyValidator)(properties.clientAuthentication)),errors.wrap('supplied properties not correct for "VpcConnectivityProperty"')}function convertCfnClusterVpcConnectivityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterVpcConnectivityPropertyValidator(properties).assertSuccess(),{ClientAuthentication:convertCfnClusterVpcConnectivityClientAuthenticationPropertyToCloudFormation(properties.clientAuthentication)}):properties}function CfnClusterVpcConnectivityPropertyFromCloudFormation(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("clientAuthentication","ClientAuthentication",properties.ClientAuthentication!=null?CfnClusterVpcConnectivityClientAuthenticationPropertyFromCloudFormation(properties.ClientAuthentication):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterPublicAccessPropertyValidator(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("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "PublicAccessProperty"')}function convertCfnClusterPublicAccessPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterPublicAccessPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnClusterPublicAccessPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterConnectivityInfoPropertyValidator(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("networkType",cdk().validateString)(properties.networkType)),errors.collect(cdk().propertyValidator("publicAccess",CfnClusterPublicAccessPropertyValidator)(properties.publicAccess)),errors.collect(cdk().propertyValidator("vpcConnectivity",CfnClusterVpcConnectivityPropertyValidator)(properties.vpcConnectivity)),errors.wrap('supplied properties not correct for "ConnectivityInfoProperty"')}function convertCfnClusterConnectivityInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterConnectivityInfoPropertyValidator(properties).assertSuccess(),{NetworkType:cdk().stringToCloudFormation(properties.networkType),PublicAccess:convertCfnClusterPublicAccessPropertyToCloudFormation(properties.publicAccess),VpcConnectivity:convertCfnClusterVpcConnectivityPropertyToCloudFormation(properties.vpcConnectivity)}):properties}function CfnClusterConnectivityInfoPropertyFromCloudFormation(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("networkType","NetworkType",properties.NetworkType!=null?cfn_parse().FromCloudFormation.getString(properties.NetworkType):void 0),ret.addPropertyResult("publicAccess","PublicAccess",properties.PublicAccess!=null?CfnClusterPublicAccessPropertyFromCloudFormation(properties.PublicAccess):void 0),ret.addPropertyResult("vpcConnectivity","VpcConnectivity",properties.VpcConnectivity!=null?CfnClusterVpcConnectivityPropertyFromCloudFormation(properties.VpcConnectivity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterProvisionedThroughputPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("volumeThroughput",cdk().validateNumber)(properties.volumeThroughput)),errors.wrap('supplied properties not correct for "ProvisionedThroughputProperty"')}function convertCfnClusterProvisionedThroughputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterProvisionedThroughputPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),VolumeThroughput:cdk().numberToCloudFormation(properties.volumeThroughput)}):properties}function CfnClusterProvisionedThroughputPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("volumeThroughput","VolumeThroughput",properties.VolumeThroughput!=null?cfn_parse().FromCloudFormation.getNumber(properties.VolumeThroughput):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterEBSStorageInfoPropertyValidator(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("provisionedThroughput",CfnClusterProvisionedThroughputPropertyValidator)(properties.provisionedThroughput)),errors.collect(cdk().propertyValidator("volumeSize",cdk().validateNumber)(properties.volumeSize)),errors.wrap('supplied properties not correct for "EBSStorageInfoProperty"')}function convertCfnClusterEBSStorageInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterEBSStorageInfoPropertyValidator(properties).assertSuccess(),{ProvisionedThroughput:convertCfnClusterProvisionedThroughputPropertyToCloudFormation(properties.provisionedThroughput),VolumeSize:cdk().numberToCloudFormation(properties.volumeSize)}):properties}function CfnClusterEBSStorageInfoPropertyFromCloudFormation(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("provisionedThroughput","ProvisionedThroughput",properties.ProvisionedThroughput!=null?CfnClusterProvisionedThroughputPropertyFromCloudFormation(properties.ProvisionedThroughput):void 0),ret.addPropertyResult("volumeSize","VolumeSize",properties.VolumeSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.VolumeSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterStorageInfoPropertyValidator(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("ebsStorageInfo",CfnClusterEBSStorageInfoPropertyValidator)(properties.ebsStorageInfo)),errors.wrap('supplied properties not correct for "StorageInfoProperty"')}function convertCfnClusterStorageInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterStorageInfoPropertyValidator(properties).assertSuccess(),{EBSStorageInfo:convertCfnClusterEBSStorageInfoPropertyToCloudFormation(properties.ebsStorageInfo)}):properties}function CfnClusterStorageInfoPropertyFromCloudFormation(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("ebsStorageInfo","EBSStorageInfo",properties.EBSStorageInfo!=null?CfnClusterEBSStorageInfoPropertyFromCloudFormation(properties.EBSStorageInfo):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterBrokerNodeGroupInfoPropertyValidator(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("brokerAzDistribution",cdk().validateString)(properties.brokerAzDistribution)),errors.collect(cdk().propertyValidator("clientSubnets",cdk().requiredValidator)(properties.clientSubnets)),errors.collect(cdk().propertyValidator("clientSubnets",cdk().listValidator(cdk().validateString))(properties.clientSubnets)),errors.collect(cdk().propertyValidator("connectivityInfo",CfnClusterConnectivityInfoPropertyValidator)(properties.connectivityInfo)),errors.collect(cdk().propertyValidator("instanceType",cdk().requiredValidator)(properties.instanceType)),errors.collect(cdk().propertyValidator("instanceType",cdk().validateString)(properties.instanceType)),errors.collect(cdk().propertyValidator("securityGroups",cdk().listValidator(cdk().validateString))(properties.securityGroups)),errors.collect(cdk().propertyValidator("storageInfo",CfnClusterStorageInfoPropertyValidator)(properties.storageInfo)),errors.wrap('supplied properties not correct for "BrokerNodeGroupInfoProperty"')}function convertCfnClusterBrokerNodeGroupInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterBrokerNodeGroupInfoPropertyValidator(properties).assertSuccess(),{BrokerAZDistribution:cdk().stringToCloudFormation(properties.brokerAzDistribution),ClientSubnets:cdk().listMapper(cdk().stringToCloudFormation)(properties.clientSubnets),ConnectivityInfo:convertCfnClusterConnectivityInfoPropertyToCloudFormation(properties.connectivityInfo),InstanceType:cdk().stringToCloudFormation(properties.instanceType),SecurityGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroups),StorageInfo:convertCfnClusterStorageInfoPropertyToCloudFormation(properties.storageInfo)}):properties}function CfnClusterBrokerNodeGroupInfoPropertyFromCloudFormation(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("brokerAzDistribution","BrokerAZDistribution",properties.BrokerAZDistribution!=null?cfn_parse().FromCloudFormation.getString(properties.BrokerAZDistribution):void 0),ret.addPropertyResult("clientSubnets","ClientSubnets",properties.ClientSubnets!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ClientSubnets):void 0),ret.addPropertyResult("connectivityInfo","ConnectivityInfo",properties.ConnectivityInfo!=null?CfnClusterConnectivityInfoPropertyFromCloudFormation(properties.ConnectivityInfo):void 0),ret.addPropertyResult("instanceType","InstanceType",properties.InstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceType):void 0),ret.addPropertyResult("securityGroups","SecurityGroups",properties.SecurityGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroups):void 0),ret.addPropertyResult("storageInfo","StorageInfo",properties.StorageInfo!=null?CfnClusterStorageInfoPropertyFromCloudFormation(properties.StorageInfo):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterIamPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "IamProperty"')}function convertCfnClusterIamPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterIamPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnClusterIamPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterScramPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "ScramProperty"')}function convertCfnClusterScramPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterScramPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnClusterScramPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterSaslPropertyValidator(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("iam",CfnClusterIamPropertyValidator)(properties.iam)),errors.collect(cdk().propertyValidator("scram",CfnClusterScramPropertyValidator)(properties.scram)),errors.wrap('supplied properties not correct for "SaslProperty"')}function convertCfnClusterSaslPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterSaslPropertyValidator(properties).assertSuccess(),{Iam:convertCfnClusterIamPropertyToCloudFormation(properties.iam),Scram:convertCfnClusterScramPropertyToCloudFormation(properties.scram)}):properties}function CfnClusterSaslPropertyFromCloudFormation(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("iam","Iam",properties.Iam!=null?CfnClusterIamPropertyFromCloudFormation(properties.Iam):void 0),ret.addPropertyResult("scram","Scram",properties.Scram!=null?CfnClusterScramPropertyFromCloudFormation(properties.Scram):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterUnauthenticatedPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "UnauthenticatedProperty"')}function convertCfnClusterUnauthenticatedPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterUnauthenticatedPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnClusterUnauthenticatedPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterTlsPropertyValidator(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("certificateAuthorityArnList",cdk().listValidator(cdk().validateString))(properties.certificateAuthorityArnList)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "TlsProperty"')}function convertCfnClusterTlsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterTlsPropertyValidator(properties).assertSuccess(),{CertificateAuthorityArnList:cdk().listMapper(cdk().stringToCloudFormation)(properties.certificateAuthorityArnList),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnClusterTlsPropertyFromCloudFormation(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("certificateAuthorityArnList","CertificateAuthorityArnList",properties.CertificateAuthorityArnList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CertificateAuthorityArnList):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterClientAuthenticationPropertyValidator(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("sasl",CfnClusterSaslPropertyValidator)(properties.sasl)),errors.collect(cdk().propertyValidator("tls",CfnClusterTlsPropertyValidator)(properties.tls)),errors.collect(cdk().propertyValidator("unauthenticated",CfnClusterUnauthenticatedPropertyValidator)(properties.unauthenticated)),errors.wrap('supplied properties not correct for "ClientAuthenticationProperty"')}function convertCfnClusterClientAuthenticationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterClientAuthenticationPropertyValidator(properties).assertSuccess(),{Sasl:convertCfnClusterSaslPropertyToCloudFormation(properties.sasl),Tls:convertCfnClusterTlsPropertyToCloudFormation(properties.tls),Unauthenticated:convertCfnClusterUnauthenticatedPropertyToCloudFormation(properties.unauthenticated)}):properties}function CfnClusterClientAuthenticationPropertyFromCloudFormation(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("sasl","Sasl",properties.Sasl!=null?CfnClusterSaslPropertyFromCloudFormation(properties.Sasl):void 0),ret.addPropertyResult("tls","Tls",properties.Tls!=null?CfnClusterTlsPropertyFromCloudFormation(properties.Tls):void 0),ret.addPropertyResult("unauthenticated","Unauthenticated",properties.Unauthenticated!=null?CfnClusterUnauthenticatedPropertyFromCloudFormation(properties.Unauthenticated):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterS3PropertyValidator(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("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.wrap('supplied properties not correct for "S3Property"')}function convertCfnClusterS3PropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterS3PropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Enabled:cdk().booleanToCloudFormation(properties.enabled),Prefix:cdk().stringToCloudFormation(properties.prefix)}):properties}function CfnClusterS3PropertyFromCloudFormation(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("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterFirehosePropertyValidator(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().validateString)(properties.deliveryStream)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "FirehoseProperty"')}function convertCfnClusterFirehosePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterFirehosePropertyValidator(properties).assertSuccess(),{DeliveryStream:cdk().stringToCloudFormation(properties.deliveryStream),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnClusterFirehosePropertyFromCloudFormation(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.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterCloudWatchLogsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("logGroup",cdk().validateString)(properties.logGroup)),errors.wrap('supplied properties not correct for "CloudWatchLogsProperty"')}function convertCfnClusterCloudWatchLogsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterCloudWatchLogsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),LogGroup:cdk().stringToCloudFormation(properties.logGroup)}):properties}function CfnClusterCloudWatchLogsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("logGroup","LogGroup",properties.LogGroup!=null?cfn_parse().FromCloudFormation.getString(properties.LogGroup):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterBrokerLogsPropertyValidator(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("cloudWatchLogs",CfnClusterCloudWatchLogsPropertyValidator)(properties.cloudWatchLogs)),errors.collect(cdk().propertyValidator("firehose",CfnClusterFirehosePropertyValidator)(properties.firehose)),errors.collect(cdk().propertyValidator("s3",CfnClusterS3PropertyValidator)(properties.s3)),errors.wrap('supplied properties not correct for "BrokerLogsProperty"')}function convertCfnClusterBrokerLogsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterBrokerLogsPropertyValidator(properties).assertSuccess(),{CloudWatchLogs:convertCfnClusterCloudWatchLogsPropertyToCloudFormation(properties.cloudWatchLogs),Firehose:convertCfnClusterFirehosePropertyToCloudFormation(properties.firehose),S3:convertCfnClusterS3PropertyToCloudFormation(properties.s3)}):properties}function CfnClusterBrokerLogsPropertyFromCloudFormation(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("cloudWatchLogs","CloudWatchLogs",properties.CloudWatchLogs!=null?CfnClusterCloudWatchLogsPropertyFromCloudFormation(properties.CloudWatchLogs):void 0),ret.addPropertyResult("firehose","Firehose",properties.Firehose!=null?CfnClusterFirehosePropertyFromCloudFormation(properties.Firehose):void 0),ret.addPropertyResult("s3","S3",properties.S3!=null?CfnClusterS3PropertyFromCloudFormation(properties.S3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterLoggingInfoPropertyValidator(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("brokerLogs",cdk().requiredValidator)(properties.brokerLogs)),errors.collect(cdk().propertyValidator("brokerLogs",CfnClusterBrokerLogsPropertyValidator)(properties.brokerLogs)),errors.wrap('supplied properties not correct for "LoggingInfoProperty"')}function convertCfnClusterLoggingInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterLoggingInfoPropertyValidator(properties).assertSuccess(),{BrokerLogs:convertCfnClusterBrokerLogsPropertyToCloudFormation(properties.brokerLogs)}):properties}function CfnClusterLoggingInfoPropertyFromCloudFormation(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("brokerLogs","BrokerLogs",properties.BrokerLogs!=null?CfnClusterBrokerLogsPropertyFromCloudFormation(properties.BrokerLogs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterRebalancingPropertyValidator(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("status",cdk().requiredValidator)(properties.status)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "RebalancingProperty"')}function convertCfnClusterRebalancingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterRebalancingPropertyValidator(properties).assertSuccess(),{Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnClusterRebalancingPropertyFromCloudFormation(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("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterPropsValidator(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("brokerNodeGroupInfo",cdk().requiredValidator)(properties.brokerNodeGroupInfo)),errors.collect(cdk().propertyValidator("brokerNodeGroupInfo",CfnClusterBrokerNodeGroupInfoPropertyValidator)(properties.brokerNodeGroupInfo)),errors.collect(cdk().propertyValidator("clientAuthentication",CfnClusterClientAuthenticationPropertyValidator)(properties.clientAuthentication)),errors.collect(cdk().propertyValidator("clusterName",cdk().requiredValidator)(properties.clusterName)),errors.collect(cdk().propertyValidator("clusterName",cdk().validateString)(properties.clusterName)),errors.collect(cdk().propertyValidator("configurationInfo",CfnClusterConfigurationInfoPropertyValidator)(properties.configurationInfo)),errors.collect(cdk().propertyValidator("currentVersion",cdk().validateString)(properties.currentVersion)),errors.collect(cdk().propertyValidator("encryptionInfo",CfnClusterEncryptionInfoPropertyValidator)(properties.encryptionInfo)),errors.collect(cdk().propertyValidator("enhancedMonitoring",cdk().validateString)(properties.enhancedMonitoring)),errors.collect(cdk().propertyValidator("kafkaVersion",cdk().requiredValidator)(properties.kafkaVersion)),errors.collect(cdk().propertyValidator("kafkaVersion",cdk().validateString)(properties.kafkaVersion)),errors.collect(cdk().propertyValidator("loggingInfo",CfnClusterLoggingInfoPropertyValidator)(properties.loggingInfo)),errors.collect(cdk().propertyValidator("numberOfBrokerNodes",cdk().requiredValidator)(properties.numberOfBrokerNodes)),errors.collect(cdk().propertyValidator("numberOfBrokerNodes",cdk().validateNumber)(properties.numberOfBrokerNodes)),errors.collect(cdk().propertyValidator("openMonitoring",CfnClusterOpenMonitoringPropertyValidator)(properties.openMonitoring)),errors.collect(cdk().propertyValidator("rebalancing",CfnClusterRebalancingPropertyValidator)(properties.rebalancing)),errors.collect(cdk().propertyValidator("storageMode",cdk().validateString)(properties.storageMode)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnClusterProps"')}function convertCfnClusterPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterPropsValidator(properties).assertSuccess(),{BrokerNodeGroupInfo:convertCfnClusterBrokerNodeGroupInfoPropertyToCloudFormation(properties.brokerNodeGroupInfo),ClientAuthentication:convertCfnClusterClientAuthenticationPropertyToCloudFormation(properties.clientAuthentication),ClusterName:cdk().stringToCloudFormation(properties.clusterName),ConfigurationInfo:convertCfnClusterConfigurationInfoPropertyToCloudFormation(properties.configurationInfo),CurrentVersion:cdk().stringToCloudFormation(properties.currentVersion),EncryptionInfo:convertCfnClusterEncryptionInfoPropertyToCloudFormation(properties.encryptionInfo),EnhancedMonitoring:cdk().stringToCloudFormation(properties.enhancedMonitoring),KafkaVersion:cdk().stringToCloudFormation(properties.kafkaVersion),LoggingInfo:convertCfnClusterLoggingInfoPropertyToCloudFormation(properties.loggingInfo),NumberOfBrokerNodes:cdk().numberToCloudFormation(properties.numberOfBrokerNodes),OpenMonitoring:convertCfnClusterOpenMonitoringPropertyToCloudFormation(properties.openMonitoring),Rebalancing:convertCfnClusterRebalancingPropertyToCloudFormation(properties.rebalancing),StorageMode:cdk().stringToCloudFormation(properties.storageMode),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnClusterPropsFromCloudFormation(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("brokerNodeGroupInfo","BrokerNodeGroupInfo",properties.BrokerNodeGroupInfo!=null?CfnClusterBrokerNodeGroupInfoPropertyFromCloudFormation(properties.BrokerNodeGroupInfo):void 0),ret.addPropertyResult("clientAuthentication","ClientAuthentication",properties.ClientAuthentication!=null?CfnClusterClientAuthenticationPropertyFromCloudFormation(properties.ClientAuthentication):void 0),ret.addPropertyResult("clusterName","ClusterName",properties.ClusterName!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterName):void 0),ret.addPropertyResult("configurationInfo","ConfigurationInfo",properties.ConfigurationInfo!=null?CfnClusterConfigurationInfoPropertyFromCloudFormation(properties.ConfigurationInfo):void 0),ret.addPropertyResult("currentVersion","CurrentVersion",properties.CurrentVersion!=null?cfn_parse().FromCloudFormation.getString(properties.CurrentVersion):void 0),ret.addPropertyResult("encryptionInfo","EncryptionInfo",properties.EncryptionInfo!=null?CfnClusterEncryptionInfoPropertyFromCloudFormation(properties.EncryptionInfo):void 0),ret.addPropertyResult("enhancedMonitoring","EnhancedMonitoring",properties.EnhancedMonitoring!=null?cfn_parse().FromCloudFormation.getString(properties.EnhancedMonitoring):void 0),ret.addPropertyResult("kafkaVersion","KafkaVersion",properties.KafkaVersion!=null?cfn_parse().FromCloudFormation.getString(properties.KafkaVersion):void 0),ret.addPropertyResult("loggingInfo","LoggingInfo",properties.LoggingInfo!=null?CfnClusterLoggingInfoPropertyFromCloudFormation(properties.LoggingInfo):void 0),ret.addPropertyResult("numberOfBrokerNodes","NumberOfBrokerNodes",properties.NumberOfBrokerNodes!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfBrokerNodes):void 0),ret.addPropertyResult("openMonitoring","OpenMonitoring",properties.OpenMonitoring!=null?CfnClusterOpenMonitoringPropertyFromCloudFormation(properties.OpenMonitoring):void 0),ret.addPropertyResult("rebalancing","Rebalancing",properties.Rebalancing!=null?CfnClusterRebalancingPropertyFromCloudFormation(properties.Rebalancing):void 0),ret.addPropertyResult("storageMode","StorageMode",properties.StorageMode!=null?cfn_parse().FromCloudFormation.getString(properties.StorageMode):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnClusterPolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_msk.CfnClusterPolicy",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::MSK::ClusterPolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnClusterPolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnClusterPolicy(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnClusterPolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnClusterPolicy.CFN_RESOURCE_TYPE_NAME}_clusterArn;_policy;cfnPropertyNames={clusterArn:"ClusterArn",policy:"Policy"};constructor(scope,id,props){super(scope,id,{type:CfnClusterPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_msk_CfnClusterPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnClusterPolicy),error}cdk().requireProperty(props,"clusterArn",this),cdk().requireProperty(props,"policy",this),this._clusterArn=props.clusterArn,this._policy=props.policy}get clusterPolicyRef(){return{clusterArn:this.ref}}get clusterArn(){return this._clusterArn}set clusterArn(value){cdk().traceProperty(this.node,"ClusterArn"),this._clusterArn=value}get policy(){return this._policy}set policy(value){cdk().traceProperty(this.node,"Policy"),this._policy=value}get attrCurrentVersion(){return cdk().Token.asString(this.getAtt("CurrentVersion",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{clusterArn:this._clusterArn,policy:this._policy}}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",CfnClusterPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnClusterPolicyPropsToCloudFormation(props)}}exports.CfnClusterPolicy=CfnClusterPolicy;function CfnClusterPolicyPropsValidator(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("clusterArn",cdk().requiredValidator)(properties.clusterArn)),errors.collect(cdk().propertyValidator("clusterArn",cdk().validateString)(properties.clusterArn)),errors.collect(cdk().propertyValidator("policy",cdk().requiredValidator)(properties.policy)),errors.collect(cdk().propertyValidator("policy",cdk().validateObject)(properties.policy)),errors.wrap('supplied properties not correct for "CfnClusterPolicyProps"')}function convertCfnClusterPolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterPolicyPropsValidator(properties).assertSuccess(),{ClusterArn:cdk().stringToCloudFormation(properties.clusterArn),Policy:cdk().objectToCloudFormation(properties.policy)}):properties}function CfnClusterPolicyPropsFromCloudFormation(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("clusterArn","ClusterArn",properties.ClusterArn!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterArn):void 0),ret.addPropertyResult("policy","Policy",properties.Policy!=null?cfn_parse().FromCloudFormation.getAny(properties.Policy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnConfiguration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_msk.CfnConfiguration",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::MSK::Configuration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnConfiguration(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnConfiguration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnConfiguration.CFN_RESOURCE_TYPE_NAME}static arnForConfiguration(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_msk_IConfigurationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForConfiguration),error}return resource.configurationRef.configurationArn}_description;_kafkaVersionsList;_latestRevision;_name;_serverProperties;cfnPropertyNames={description:"Description",kafkaVersionsList:"KafkaVersionsList",latestRevision:"LatestRevision",name:"Name",serverProperties:"ServerProperties"};constructor(scope,id,props){super(scope,id,{type:CfnConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_msk_CfnConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnConfiguration),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"serverProperties",this),this._description=props.description,this._kafkaVersionsList=props.kafkaVersionsList,this._latestRevision=props.latestRevision,this._name=props.name,this._serverProperties=props.serverProperties}get configurationRef(){return{configurationArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get kafkaVersionsList(){return this._kafkaVersionsList}set kafkaVersionsList(value){cdk().traceProperty(this.node,"KafkaVersionsList"),this._kafkaVersionsList=value}get latestRevision(){return this._latestRevision}set latestRevision(value){cdk().traceProperty(this.node,"LatestRevision"),this._latestRevision=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get serverProperties(){return this._serverProperties}set serverProperties(value){cdk().traceProperty(this.node,"ServerProperties"),this._serverProperties=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrLatestRevisionCreationTime(){return cdk().Token.asString(this.getAtt("LatestRevision.CreationTime",cdk().ResolutionTypeHint.STRING))}get attrLatestRevisionDescription(){return cdk().Token.asString(this.getAtt("LatestRevision.Description",cdk().ResolutionTypeHint.STRING))}get attrLatestRevisionRevision(){return cdk().Token.asNumber(this.getAtt("LatestRevision.Revision",cdk().ResolutionTypeHint.NUMBER))}get cfnProperties(){return{description:this._description,kafkaVersionsList:this._kafkaVersionsList,latestRevision:this._latestRevision,name:this._name,serverProperties:this._serverProperties}}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",CfnConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnConfigurationPropsToCloudFormation(props)}}exports.CfnConfiguration=CfnConfiguration;function CfnConfigurationLatestRevisionPropertyValidator(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("creationTime",cdk().validateString)(properties.creationTime)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("revision",cdk().validateNumber)(properties.revision)),errors.wrap('supplied properties not correct for "LatestRevisionProperty"')}function convertCfnConfigurationLatestRevisionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConfigurationLatestRevisionPropertyValidator(properties).assertSuccess(),{CreationTime:cdk().stringToCloudFormation(properties.creationTime),Description:cdk().stringToCloudFormation(properties.description),Revision:cdk().numberToCloudFormation(properties.revision)}):properties}function CfnConfigurationLatestRevisionPropertyFromCloudFormation(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("creationTime","CreationTime",properties.CreationTime!=null?cfn_parse().FromCloudFormation.getString(properties.CreationTime):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("revision","Revision",properties.Revision!=null?cfn_parse().FromCloudFormation.getNumber(properties.Revision):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConfigurationPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("kafkaVersionsList",cdk().listValidator(cdk().validateString))(properties.kafkaVersionsList)),errors.collect(cdk().propertyValidator("latestRevision",CfnConfigurationLatestRevisionPropertyValidator)(properties.latestRevision)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("serverProperties",cdk().requiredValidator)(properties.serverProperties)),errors.collect(cdk().propertyValidator("serverProperties",cdk().validateString)(properties.serverProperties)),errors.wrap('supplied properties not correct for "CfnConfigurationProps"')}function convertCfnConfigurationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConfigurationPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),KafkaVersionsList:cdk().listMapper(cdk().stringToCloudFormation)(properties.kafkaVersionsList),LatestRevision:convertCfnConfigurationLatestRevisionPropertyToCloudFormation(properties.latestRevision),Name:cdk().stringToCloudFormation(properties.name),ServerProperties:cdk().stringToCloudFormation(properties.serverProperties)}):properties}function CfnConfigurationPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("kafkaVersionsList","KafkaVersionsList",properties.KafkaVersionsList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.KafkaVersionsList):void 0),ret.addPropertyResult("latestRevision","LatestRevision",properties.LatestRevision!=null?CfnConfigurationLatestRevisionPropertyFromCloudFormation(properties.LatestRevision):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("serverProperties","ServerProperties",properties.ServerProperties!=null?cfn_parse().FromCloudFormation.getString(properties.ServerProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnServerlessCluster extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_msk.CfnServerlessCluster",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::MSK::ServerlessCluster";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnServerlessClusterPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnServerlessCluster(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnServerlessCluster(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnServerlessCluster.CFN_RESOURCE_TYPE_NAME}static arnForServerlessCluster(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_msk_IServerlessClusterRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForServerlessCluster),error}return resource.serverlessClusterRef.serverlessClusterArn}_clientAuthentication;_clusterName;tags;_tagsRaw;_vpcConfigs;cfnPropertyNames={clientAuthentication:"ClientAuthentication",clusterName:"ClusterName",tags:"Tags",vpcConfigs:"VpcConfigs"};constructor(scope,id,props){super(scope,id,{type:CfnServerlessCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_msk_CfnServerlessClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnServerlessCluster),error}cdk().requireProperty(props,"clientAuthentication",this),cdk().requireProperty(props,"clusterName",this),cdk().requireProperty(props,"vpcConfigs",this),this._clientAuthentication=props.clientAuthentication,this._clusterName=props.clusterName,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::MSK::ServerlessCluster",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._vpcConfigs=props.vpcConfigs}get serverlessClusterRef(){return{serverlessClusterArn:this.ref}}get clientAuthentication(){return this._clientAuthentication}set clientAuthentication(value){cdk().traceProperty(this.node,"ClientAuthentication"),this._clientAuthentication=value}get clusterName(){return this._clusterName}set clusterName(value){cdk().traceProperty(this.node,"ClusterName"),this._clusterName=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get vpcConfigs(){return this._vpcConfigs}set vpcConfigs(value){cdk().traceProperty(this.node,"VpcConfigs"),this._vpcConfigs=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{clientAuthentication:this._clientAuthentication,clusterName:this._clusterName,tags:this.tags.renderTags(),vpcConfigs:this._vpcConfigs}}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",CfnServerlessCluster.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnServerlessClusterPropsToCloudFormation(props)}}exports.CfnServerlessCluster=CfnServerlessCluster;function CfnServerlessClusterVpcConfigPropertyValidator(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("securityGroups",cdk().listValidator(cdk().validateString))(properties.securityGroups)),errors.collect(cdk().propertyValidator("subnetIds",cdk().requiredValidator)(properties.subnetIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.wrap('supplied properties not correct for "VpcConfigProperty"')}function convertCfnServerlessClusterVpcConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerlessClusterVpcConfigPropertyValidator(properties).assertSuccess(),{SecurityGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroups),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds)}):properties}function CfnServerlessClusterVpcConfigPropertyFromCloudFormation(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("securityGroups","SecurityGroups",properties.SecurityGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroups):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServerlessClusterIamPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "IamProperty"')}function convertCfnServerlessClusterIamPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerlessClusterIamPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnServerlessClusterIamPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServerlessClusterSaslPropertyValidator(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("iam",cdk().requiredValidator)(properties.iam)),errors.collect(cdk().propertyValidator("iam",CfnServerlessClusterIamPropertyValidator)(properties.iam)),errors.wrap('supplied properties not correct for "SaslProperty"')}function convertCfnServerlessClusterSaslPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerlessClusterSaslPropertyValidator(properties).assertSuccess(),{Iam:convertCfnServerlessClusterIamPropertyToCloudFormation(properties.iam)}):properties}function CfnServerlessClusterSaslPropertyFromCloudFormation(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("iam","Iam",properties.Iam!=null?CfnServerlessClusterIamPropertyFromCloudFormation(properties.Iam):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServerlessClusterClientAuthenticationPropertyValidator(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("sasl",cdk().requiredValidator)(properties.sasl)),errors.collect(cdk().propertyValidator("sasl",CfnServerlessClusterSaslPropertyValidator)(properties.sasl)),errors.wrap('supplied properties not correct for "ClientAuthenticationProperty"')}function convertCfnServerlessClusterClientAuthenticationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerlessClusterClientAuthenticationPropertyValidator(properties).assertSuccess(),{Sasl:convertCfnServerlessClusterSaslPropertyToCloudFormation(properties.sasl)}):properties}function CfnServerlessClusterClientAuthenticationPropertyFromCloudFormation(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("sasl","Sasl",properties.Sasl!=null?CfnServerlessClusterSaslPropertyFromCloudFormation(properties.Sasl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServerlessClusterPropsValidator(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("clientAuthentication",cdk().requiredValidator)(properties.clientAuthentication)),errors.collect(cdk().propertyValidator("clientAuthentication",CfnServerlessClusterClientAuthenticationPropertyValidator)(properties.clientAuthentication)),errors.collect(cdk().propertyValidator("clusterName",cdk().requiredValidator)(properties.clusterName)),errors.collect(cdk().propertyValidator("clusterName",cdk().validateString)(properties.clusterName)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("vpcConfigs",cdk().requiredValidator)(properties.vpcConfigs)),errors.collect(cdk().propertyValidator("vpcConfigs",cdk().listValidator(CfnServerlessClusterVpcConfigPropertyValidator))(properties.vpcConfigs)),errors.wrap('supplied properties not correct for "CfnServerlessClusterProps"')}function convertCfnServerlessClusterPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerlessClusterPropsValidator(properties).assertSuccess(),{ClientAuthentication:convertCfnServerlessClusterClientAuthenticationPropertyToCloudFormation(properties.clientAuthentication),ClusterName:cdk().stringToCloudFormation(properties.clusterName),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),VpcConfigs:cdk().listMapper(convertCfnServerlessClusterVpcConfigPropertyToCloudFormation)(properties.vpcConfigs)}):properties}function CfnServerlessClusterPropsFromCloudFormation(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("clientAuthentication","ClientAuthentication",properties.ClientAuthentication!=null?CfnServerlessClusterClientAuthenticationPropertyFromCloudFormation(properties.ClientAuthentication):void 0),ret.addPropertyResult("clusterName","ClusterName",properties.ClusterName!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("vpcConfigs","VpcConfigs",properties.VpcConfigs!=null?cfn_parse().FromCloudFormation.getArray(CfnServerlessClusterVpcConfigPropertyFromCloudFormation)(properties.VpcConfigs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnVpcConnection extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_msk.CfnVpcConnection",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::MSK::VpcConnection";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnVpcConnectionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnVpcConnection(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnVpcConnection(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnVpcConnection.CFN_RESOURCE_TYPE_NAME}static arnForVpcConnection(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_msk_IVpcConnectionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForVpcConnection),error}return resource.vpcConnectionRef.vpcConnectionArn}_authentication;_clientSubnets;_securityGroups;tags;_tagsRaw;_targetClusterArn;_vpcId;cfnPropertyNames={authentication:"Authentication",clientSubnets:"ClientSubnets",securityGroups:"SecurityGroups",tags:"Tags",targetClusterArn:"TargetClusterArn",vpcId:"VpcId"};constructor(scope,id,props){super(scope,id,{type:CfnVpcConnection.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_msk_CfnVpcConnectionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnVpcConnection),error}cdk().requireProperty(props,"authentication",this),cdk().requireProperty(props,"clientSubnets",this),cdk().requireProperty(props,"securityGroups",this),cdk().requireProperty(props,"targetClusterArn",this),cdk().requireProperty(props,"vpcId",this),this._authentication=props.authentication,this._clientSubnets=props.clientSubnets,this._securityGroups=props.securityGroups,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::MSK::VpcConnection",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._targetClusterArn=props.targetClusterArn,this._vpcId=props.vpcId}get vpcConnectionRef(){return{vpcConnectionArn:this.ref}}get authentication(){return this._authentication}set authentication(value){cdk().traceProperty(this.node,"Authentication"),this._authentication=value}get clientSubnets(){return this._clientSubnets}set clientSubnets(value){cdk().traceProperty(this.node,"ClientSubnets"),this._clientSubnets=value}get securityGroups(){return this._securityGroups}set securityGroups(value){cdk().traceProperty(this.node,"SecurityGroups"),this._securityGroups=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get targetClusterArn(){return this._targetClusterArn}set targetClusterArn(value){cdk().traceProperty(this.node,"TargetClusterArn"),this._targetClusterArn=value}get vpcId(){return this._vpcId}set vpcId(value){cdk().traceProperty(this.node,"VpcId"),this._vpcId=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{authentication:this._authentication,clientSubnets:this._clientSubnets,securityGroups:this._securityGroups,tags:this.tags.renderTags(),targetClusterArn:this._targetClusterArn,vpcId:this._vpcId}}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",CfnVpcConnection.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnVpcConnectionPropsToCloudFormation(props)}}exports.CfnVpcConnection=CfnVpcConnection;function CfnVpcConnectionPropsValidator(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("authentication",cdk().requiredValidator)(properties.authentication)),errors.collect(cdk().propertyValidator("authentication",cdk().validateString)(properties.authentication)),errors.collect(cdk().propertyValidator("clientSubnets",cdk().requiredValidator)(properties.clientSubnets)),errors.collect(cdk().propertyValidator("clientSubnets",cdk().listValidator(cdk().validateString))(properties.clientSubnets)),errors.collect(cdk().propertyValidator("securityGroups",cdk().requiredValidator)(properties.securityGroups)),errors.collect(cdk().propertyValidator("securityGroups",cdk().listValidator(cdk().validateString))(properties.securityGroups)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("targetClusterArn",cdk().requiredValidator)(properties.targetClusterArn)),errors.collect(cdk().propertyValidator("targetClusterArn",cdk().validateString)(properties.targetClusterArn)),errors.collect(cdk().propertyValidator("vpcId",cdk().requiredValidator)(properties.vpcId)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "CfnVpcConnectionProps"')}function convertCfnVpcConnectionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVpcConnectionPropsValidator(properties).assertSuccess(),{Authentication:cdk().stringToCloudFormation(properties.authentication),ClientSubnets:cdk().listMapper(cdk().stringToCloudFormation)(properties.clientSubnets),SecurityGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroups),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),TargetClusterArn:cdk().stringToCloudFormation(properties.targetClusterArn),VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnVpcConnectionPropsFromCloudFormation(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("authentication","Authentication",properties.Authentication!=null?cfn_parse().FromCloudFormation.getString(properties.Authentication):void 0),ret.addPropertyResult("clientSubnets","ClientSubnets",properties.ClientSubnets!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ClientSubnets):void 0),ret.addPropertyResult("securityGroups","SecurityGroups",properties.SecurityGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroups):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("targetClusterArn","TargetClusterArn",properties.TargetClusterArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetClusterArn):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnReplicator extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_msk.CfnReplicator",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::MSK::Replicator";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnReplicatorPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnReplicator(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnReplicator(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnReplicator.CFN_RESOURCE_TYPE_NAME}static arnForReplicator(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_msk_IReplicatorRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForReplicator),error}return resource.replicatorRef.replicatorArn}cdkTagManager;_description;_kafkaClusters;_logDelivery;_replicationInfoList;_replicatorName;_serviceExecutionRoleArn;_tags;cfnPropertyNames={tags:"Tags",description:"Description",kafkaClusters:"KafkaClusters",logDelivery:"LogDelivery",replicationInfoList:"ReplicationInfoList",replicatorName:"ReplicatorName",serviceExecutionRoleArn:"ServiceExecutionRoleArn"};constructor(scope,id,props){super(scope,id,{type:CfnReplicator.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_msk_CfnReplicatorProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnReplicator),error}cdk().requireProperty(props,"kafkaClusters",this),cdk().requireProperty(props,"replicationInfoList",this),cdk().requireProperty(props,"replicatorName",this),cdk().requireProperty(props,"serviceExecutionRoleArn",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::MSK::Replicator",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._kafkaClusters=props.kafkaClusters,this._logDelivery=props.logDelivery,this._replicationInfoList=props.replicationInfoList,this._replicatorName=props.replicatorName,this._serviceExecutionRoleArn=props.serviceExecutionRoleArn,this._tags=props.tags}get replicatorRef(){return{replicatorArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get kafkaClusters(){return this._kafkaClusters}set kafkaClusters(value){cdk().traceProperty(this.node,"KafkaClusters"),this._kafkaClusters=value}get logDelivery(){return this._logDelivery}set logDelivery(value){cdk().traceProperty(this.node,"LogDelivery"),this._logDelivery=value}get replicationInfoList(){return this._replicationInfoList}set replicationInfoList(value){cdk().traceProperty(this.node,"ReplicationInfoList"),this._replicationInfoList=value}get replicatorName(){return this._replicatorName}set replicatorName(value){cdk().traceProperty(this.node,"ReplicatorName"),this._replicatorName=value}get serviceExecutionRoleArn(){return this._serviceExecutionRoleArn}set serviceExecutionRoleArn(value){cdk().traceProperty(this.node,"ServiceExecutionRoleArn"),this._serviceExecutionRoleArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCurrentVersion(){return cdk().Token.asString(this.getAtt("CurrentVersion",cdk().ResolutionTypeHint.STRING))}get attrReplicatorArn(){return cdk().Token.asString(this.getAtt("ReplicatorArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,kafkaClusters:this._kafkaClusters,logDelivery:this._logDelivery,replicationInfoList:this._replicationInfoList,replicatorName:this._replicatorName,serviceExecutionRoleArn:this._serviceExecutionRoleArn}}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",CfnReplicator.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnReplicatorPropsToCloudFormation(props)}}exports.CfnReplicator=CfnReplicator;function CfnReplicatorAmazonMskClusterPropertyValidator(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("mskClusterArn",cdk().requiredValidator)(properties.mskClusterArn)),errors.collect(cdk().propertyValidator("mskClusterArn",cdk().validateString)(properties.mskClusterArn)),errors.wrap('supplied properties not correct for "AmazonMskClusterProperty"')}function convertCfnReplicatorAmazonMskClusterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorAmazonMskClusterPropertyValidator(properties).assertSuccess(),{MskClusterArn:cdk().stringToCloudFormation(properties.mskClusterArn)}):properties}function CfnReplicatorAmazonMskClusterPropertyFromCloudFormation(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("mskClusterArn","MskClusterArn",properties.MskClusterArn!=null?cfn_parse().FromCloudFormation.getString(properties.MskClusterArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorApacheKafkaClusterPropertyValidator(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("apacheKafkaClusterId",cdk().requiredValidator)(properties.apacheKafkaClusterId)),errors.collect(cdk().propertyValidator("apacheKafkaClusterId",cdk().validateString)(properties.apacheKafkaClusterId)),errors.collect(cdk().propertyValidator("bootstrapBrokerString",cdk().requiredValidator)(properties.bootstrapBrokerString)),errors.collect(cdk().propertyValidator("bootstrapBrokerString",cdk().validateString)(properties.bootstrapBrokerString)),errors.wrap('supplied properties not correct for "ApacheKafkaClusterProperty"')}function convertCfnReplicatorApacheKafkaClusterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorApacheKafkaClusterPropertyValidator(properties).assertSuccess(),{ApacheKafkaClusterId:cdk().stringToCloudFormation(properties.apacheKafkaClusterId),BootstrapBrokerString:cdk().stringToCloudFormation(properties.bootstrapBrokerString)}):properties}function CfnReplicatorApacheKafkaClusterPropertyFromCloudFormation(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("apacheKafkaClusterId","ApacheKafkaClusterId",properties.ApacheKafkaClusterId!=null?cfn_parse().FromCloudFormation.getString(properties.ApacheKafkaClusterId):void 0),ret.addPropertyResult("bootstrapBrokerString","BootstrapBrokerString",properties.BootstrapBrokerString!=null?cfn_parse().FromCloudFormation.getString(properties.BootstrapBrokerString):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorKafkaClusterClientVpcConfigPropertyValidator(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("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().requiredValidator)(properties.subnetIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.wrap('supplied properties not correct for "KafkaClusterClientVpcConfigProperty"')}function convertCfnReplicatorKafkaClusterClientVpcConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorKafkaClusterClientVpcConfigPropertyValidator(properties).assertSuccess(),{SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds)}):properties}function CfnReplicatorKafkaClusterClientVpcConfigPropertyFromCloudFormation(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("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorKafkaClusterSaslScramAuthenticationPropertyValidator(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("mechanism",cdk().requiredValidator)(properties.mechanism)),errors.collect(cdk().propertyValidator("mechanism",cdk().validateString)(properties.mechanism)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "KafkaClusterSaslScramAuthenticationProperty"')}function convertCfnReplicatorKafkaClusterSaslScramAuthenticationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorKafkaClusterSaslScramAuthenticationPropertyValidator(properties).assertSuccess(),{Mechanism:cdk().stringToCloudFormation(properties.mechanism),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnReplicatorKafkaClusterSaslScramAuthenticationPropertyFromCloudFormation(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("mechanism","Mechanism",properties.Mechanism!=null?cfn_parse().FromCloudFormation.getString(properties.Mechanism):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorKafkaClusterClientAuthenticationPropertyValidator(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("saslScram",cdk().requiredValidator)(properties.saslScram)),errors.collect(cdk().propertyValidator("saslScram",CfnReplicatorKafkaClusterSaslScramAuthenticationPropertyValidator)(properties.saslScram)),errors.wrap('supplied properties not correct for "KafkaClusterClientAuthenticationProperty"')}function convertCfnReplicatorKafkaClusterClientAuthenticationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorKafkaClusterClientAuthenticationPropertyValidator(properties).assertSuccess(),{SaslScram:convertCfnReplicatorKafkaClusterSaslScramAuthenticationPropertyToCloudFormation(properties.saslScram)}):properties}function CfnReplicatorKafkaClusterClientAuthenticationPropertyFromCloudFormation(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("saslScram","SaslScram",properties.SaslScram!=null?CfnReplicatorKafkaClusterSaslScramAuthenticationPropertyFromCloudFormation(properties.SaslScram):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorKafkaClusterEncryptionInTransitPropertyValidator(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("encryptionType",cdk().requiredValidator)(properties.encryptionType)),errors.collect(cdk().propertyValidator("encryptionType",cdk().validateString)(properties.encryptionType)),errors.collect(cdk().propertyValidator("rootCaCertificate",cdk().validateString)(properties.rootCaCertificate)),errors.wrap('supplied properties not correct for "KafkaClusterEncryptionInTransitProperty"')}function convertCfnReplicatorKafkaClusterEncryptionInTransitPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorKafkaClusterEncryptionInTransitPropertyValidator(properties).assertSuccess(),{EncryptionType:cdk().stringToCloudFormation(properties.encryptionType),RootCaCertificate:cdk().stringToCloudFormation(properties.rootCaCertificate)}):properties}function CfnReplicatorKafkaClusterEncryptionInTransitPropertyFromCloudFormation(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("encryptionType","EncryptionType",properties.EncryptionType!=null?cfn_parse().FromCloudFormation.getString(properties.EncryptionType):void 0),ret.addPropertyResult("rootCaCertificate","RootCaCertificate",properties.RootCaCertificate!=null?cfn_parse().FromCloudFormation.getString(properties.RootCaCertificate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorKafkaClusterPropertyValidator(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("amazonMskCluster",CfnReplicatorAmazonMskClusterPropertyValidator)(properties.amazonMskCluster)),errors.collect(cdk().propertyValidator("apacheKafkaCluster",CfnReplicatorApacheKafkaClusterPropertyValidator)(properties.apacheKafkaCluster)),errors.collect(cdk().propertyValidator("clientAuthentication",CfnReplicatorKafkaClusterClientAuthenticationPropertyValidator)(properties.clientAuthentication)),errors.collect(cdk().propertyValidator("encryptionInTransit",CfnReplicatorKafkaClusterEncryptionInTransitPropertyValidator)(properties.encryptionInTransit)),errors.collect(cdk().propertyValidator("vpcConfig",CfnReplicatorKafkaClusterClientVpcConfigPropertyValidator)(properties.vpcConfig)),errors.wrap('supplied properties not correct for "KafkaClusterProperty"')}function convertCfnReplicatorKafkaClusterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorKafkaClusterPropertyValidator(properties).assertSuccess(),{AmazonMskCluster:convertCfnReplicatorAmazonMskClusterPropertyToCloudFormation(properties.amazonMskCluster),ApacheKafkaCluster:convertCfnReplicatorApacheKafkaClusterPropertyToCloudFormation(properties.apacheKafkaCluster),ClientAuthentication:convertCfnReplicatorKafkaClusterClientAuthenticationPropertyToCloudFormation(properties.clientAuthentication),EncryptionInTransit:convertCfnReplicatorKafkaClusterEncryptionInTransitPropertyToCloudFormation(properties.encryptionInTransit),VpcConfig:convertCfnReplicatorKafkaClusterClientVpcConfigPropertyToCloudFormation(properties.vpcConfig)}):properties}function CfnReplicatorKafkaClusterPropertyFromCloudFormation(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("amazonMskCluster","AmazonMskCluster",properties.AmazonMskCluster!=null?CfnReplicatorAmazonMskClusterPropertyFromCloudFormation(properties.AmazonMskCluster):void 0),ret.addPropertyResult("apacheKafkaCluster","ApacheKafkaCluster",properties.ApacheKafkaCluster!=null?CfnReplicatorApacheKafkaClusterPropertyFromCloudFormation(properties.ApacheKafkaCluster):void 0),ret.addPropertyResult("clientAuthentication","ClientAuthentication",properties.ClientAuthentication!=null?CfnReplicatorKafkaClusterClientAuthenticationPropertyFromCloudFormation(properties.ClientAuthentication):void 0),ret.addPropertyResult("encryptionInTransit","EncryptionInTransit",properties.EncryptionInTransit!=null?CfnReplicatorKafkaClusterEncryptionInTransitPropertyFromCloudFormation(properties.EncryptionInTransit):void 0),ret.addPropertyResult("vpcConfig","VpcConfig",properties.VpcConfig!=null?CfnReplicatorKafkaClusterClientVpcConfigPropertyFromCloudFormation(properties.VpcConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorReplicationStartingPositionPropertyValidator(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("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ReplicationStartingPositionProperty"')}function convertCfnReplicatorReplicationStartingPositionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorReplicationStartingPositionPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnReplicatorReplicationStartingPositionPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorReplicationTopicNameConfigurationPropertyValidator(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("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ReplicationTopicNameConfigurationProperty"')}function convertCfnReplicatorReplicationTopicNameConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorReplicationTopicNameConfigurationPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnReplicatorReplicationTopicNameConfigurationPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorTopicReplicationPropertyValidator(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("copyAccessControlListsForTopics",cdk().validateBoolean)(properties.copyAccessControlListsForTopics)),errors.collect(cdk().propertyValidator("copyTopicConfigurations",cdk().validateBoolean)(properties.copyTopicConfigurations)),errors.collect(cdk().propertyValidator("detectAndCopyNewTopics",cdk().validateBoolean)(properties.detectAndCopyNewTopics)),errors.collect(cdk().propertyValidator("startingPosition",CfnReplicatorReplicationStartingPositionPropertyValidator)(properties.startingPosition)),errors.collect(cdk().propertyValidator("topicNameConfiguration",CfnReplicatorReplicationTopicNameConfigurationPropertyValidator)(properties.topicNameConfiguration)),errors.collect(cdk().propertyValidator("topicsToExclude",cdk().listValidator(cdk().validateString))(properties.topicsToExclude)),errors.collect(cdk().propertyValidator("topicsToReplicate",cdk().requiredValidator)(properties.topicsToReplicate)),errors.collect(cdk().propertyValidator("topicsToReplicate",cdk().listValidator(cdk().validateString))(properties.topicsToReplicate)),errors.wrap('supplied properties not correct for "TopicReplicationProperty"')}function convertCfnReplicatorTopicReplicationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorTopicReplicationPropertyValidator(properties).assertSuccess(),{CopyAccessControlListsForTopics:cdk().booleanToCloudFormation(properties.copyAccessControlListsForTopics),CopyTopicConfigurations:cdk().booleanToCloudFormation(properties.copyTopicConfigurations),DetectAndCopyNewTopics:cdk().booleanToCloudFormation(properties.detectAndCopyNewTopics),StartingPosition:convertCfnReplicatorReplicationStartingPositionPropertyToCloudFormation(properties.startingPosition),TopicNameConfiguration:convertCfnReplicatorReplicationTopicNameConfigurationPropertyToCloudFormation(properties.topicNameConfiguration),TopicsToExclude:cdk().listMapper(cdk().stringToCloudFormation)(properties.topicsToExclude),TopicsToReplicate:cdk().listMapper(cdk().stringToCloudFormation)(properties.topicsToReplicate)}):properties}function CfnReplicatorTopicReplicationPropertyFromCloudFormation(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("copyAccessControlListsForTopics","CopyAccessControlListsForTopics",properties.CopyAccessControlListsForTopics!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CopyAccessControlListsForTopics):void 0),ret.addPropertyResult("copyTopicConfigurations","CopyTopicConfigurations",properties.CopyTopicConfigurations!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CopyTopicConfigurations):void 0),ret.addPropertyResult("detectAndCopyNewTopics","DetectAndCopyNewTopics",properties.DetectAndCopyNewTopics!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DetectAndCopyNewTopics):void 0),ret.addPropertyResult("startingPosition","StartingPosition",properties.StartingPosition!=null?CfnReplicatorReplicationStartingPositionPropertyFromCloudFormation(properties.StartingPosition):void 0),ret.addPropertyResult("topicNameConfiguration","TopicNameConfiguration",properties.TopicNameConfiguration!=null?CfnReplicatorReplicationTopicNameConfigurationPropertyFromCloudFormation(properties.TopicNameConfiguration):void 0),ret.addPropertyResult("topicsToExclude","TopicsToExclude",properties.TopicsToExclude!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.TopicsToExclude):void 0),ret.addPropertyResult("topicsToReplicate","TopicsToReplicate",properties.TopicsToReplicate!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.TopicsToReplicate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorConsumerGroupReplicationPropertyValidator(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("consumerGroupOffsetSyncMode",cdk().validateString)(properties.consumerGroupOffsetSyncMode)),errors.collect(cdk().propertyValidator("consumerGroupsToExclude",cdk().listValidator(cdk().validateString))(properties.consumerGroupsToExclude)),errors.collect(cdk().propertyValidator("consumerGroupsToReplicate",cdk().requiredValidator)(properties.consumerGroupsToReplicate)),errors.collect(cdk().propertyValidator("consumerGroupsToReplicate",cdk().listValidator(cdk().validateString))(properties.consumerGroupsToReplicate)),errors.collect(cdk().propertyValidator("detectAndCopyNewConsumerGroups",cdk().validateBoolean)(properties.detectAndCopyNewConsumerGroups)),errors.collect(cdk().propertyValidator("synchroniseConsumerGroupOffsets",cdk().validateBoolean)(properties.synchroniseConsumerGroupOffsets)),errors.wrap('supplied properties not correct for "ConsumerGroupReplicationProperty"')}function convertCfnReplicatorConsumerGroupReplicationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorConsumerGroupReplicationPropertyValidator(properties).assertSuccess(),{ConsumerGroupOffsetSyncMode:cdk().stringToCloudFormation(properties.consumerGroupOffsetSyncMode),ConsumerGroupsToExclude:cdk().listMapper(cdk().stringToCloudFormation)(properties.consumerGroupsToExclude),ConsumerGroupsToReplicate:cdk().listMapper(cdk().stringToCloudFormation)(properties.consumerGroupsToReplicate),DetectAndCopyNewConsumerGroups:cdk().booleanToCloudFormation(properties.detectAndCopyNewConsumerGroups),SynchroniseConsumerGroupOffsets:cdk().booleanToCloudFormation(properties.synchroniseConsumerGroupOffsets)}):properties}function CfnReplicatorConsumerGroupReplicationPropertyFromCloudFormation(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("consumerGroupOffsetSyncMode","ConsumerGroupOffsetSyncMode",properties.ConsumerGroupOffsetSyncMode!=null?cfn_parse().FromCloudFormation.getString(properties.ConsumerGroupOffsetSyncMode):void 0),ret.addPropertyResult("consumerGroupsToExclude","ConsumerGroupsToExclude",properties.ConsumerGroupsToExclude!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ConsumerGroupsToExclude):void 0),ret.addPropertyResult("consumerGroupsToReplicate","ConsumerGroupsToReplicate",properties.ConsumerGroupsToReplicate!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ConsumerGroupsToReplicate):void 0),ret.addPropertyResult("detectAndCopyNewConsumerGroups","DetectAndCopyNewConsumerGroups",properties.DetectAndCopyNewConsumerGroups!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DetectAndCopyNewConsumerGroups):void 0),ret.addPropertyResult("synchroniseConsumerGroupOffsets","SynchroniseConsumerGroupOffsets",properties.SynchroniseConsumerGroupOffsets!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SynchroniseConsumerGroupOffsets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorReplicationInfoPropertyValidator(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("consumerGroupReplication",cdk().requiredValidator)(properties.consumerGroupReplication)),errors.collect(cdk().propertyValidator("consumerGroupReplication",CfnReplicatorConsumerGroupReplicationPropertyValidator)(properties.consumerGroupReplication)),errors.collect(cdk().propertyValidator("sourceKafkaClusterArn",cdk().validateString)(properties.sourceKafkaClusterArn)),errors.collect(cdk().propertyValidator("sourceKafkaClusterId",cdk().validateString)(properties.sourceKafkaClusterId)),errors.collect(cdk().propertyValidator("targetCompressionType",cdk().requiredValidator)(properties.targetCompressionType)),errors.collect(cdk().propertyValidator("targetCompressionType",cdk().validateString)(properties.targetCompressionType)),errors.collect(cdk().propertyValidator("targetKafkaClusterArn",cdk().validateString)(properties.targetKafkaClusterArn)),errors.collect(cdk().propertyValidator("targetKafkaClusterId",cdk().validateString)(properties.targetKafkaClusterId)),errors.collect(cdk().propertyValidator("topicReplication",cdk().requiredValidator)(properties.topicReplication)),errors.collect(cdk().propertyValidator("topicReplication",CfnReplicatorTopicReplicationPropertyValidator)(properties.topicReplication)),errors.wrap('supplied properties not correct for "ReplicationInfoProperty"')}function convertCfnReplicatorReplicationInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorReplicationInfoPropertyValidator(properties).assertSuccess(),{ConsumerGroupReplication:convertCfnReplicatorConsumerGroupReplicationPropertyToCloudFormation(properties.consumerGroupReplication),SourceKafkaClusterArn:cdk().stringToCloudFormation(properties.sourceKafkaClusterArn),SourceKafkaClusterId:cdk().stringToCloudFormation(properties.sourceKafkaClusterId),TargetCompressionType:cdk().stringToCloudFormation(properties.targetCompressionType),TargetKafkaClusterArn:cdk().stringToCloudFormation(properties.targetKafkaClusterArn),TargetKafkaClusterId:cdk().stringToCloudFormation(properties.targetKafkaClusterId),TopicReplication:convertCfnReplicatorTopicReplicationPropertyToCloudFormation(properties.topicReplication)}):properties}function CfnReplicatorReplicationInfoPropertyFromCloudFormation(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("consumerGroupReplication","ConsumerGroupReplication",properties.ConsumerGroupReplication!=null?CfnReplicatorConsumerGroupReplicationPropertyFromCloudFormation(properties.ConsumerGroupReplication):void 0),ret.addPropertyResult("sourceKafkaClusterArn","SourceKafkaClusterArn",properties.SourceKafkaClusterArn!=null?cfn_parse().FromCloudFormation.getString(properties.SourceKafkaClusterArn):void 0),ret.addPropertyResult("sourceKafkaClusterId","SourceKafkaClusterId",properties.SourceKafkaClusterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceKafkaClusterId):void 0),ret.addPropertyResult("targetCompressionType","TargetCompressionType",properties.TargetCompressionType!=null?cfn_parse().FromCloudFormation.getString(properties.TargetCompressionType):void 0),ret.addPropertyResult("targetKafkaClusterArn","TargetKafkaClusterArn",properties.TargetKafkaClusterArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetKafkaClusterArn):void 0),ret.addPropertyResult("targetKafkaClusterId","TargetKafkaClusterId",properties.TargetKafkaClusterId!=null?cfn_parse().FromCloudFormation.getString(properties.TargetKafkaClusterId):void 0),ret.addPropertyResult("topicReplication","TopicReplication",properties.TopicReplication!=null?CfnReplicatorTopicReplicationPropertyFromCloudFormation(properties.TopicReplication):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorCloudWatchLogsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("logGroup",cdk().validateString)(properties.logGroup)),errors.wrap('supplied properties not correct for "CloudWatchLogsProperty"')}function convertCfnReplicatorCloudWatchLogsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorCloudWatchLogsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),LogGroup:cdk().stringToCloudFormation(properties.logGroup)}):properties}function CfnReplicatorCloudWatchLogsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("logGroup","LogGroup",properties.LogGroup!=null?cfn_parse().FromCloudFormation.getString(properties.LogGroup):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorFirehosePropertyValidator(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().validateString)(properties.deliveryStream)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "FirehoseProperty"')}function convertCfnReplicatorFirehosePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorFirehosePropertyValidator(properties).assertSuccess(),{DeliveryStream:cdk().stringToCloudFormation(properties.deliveryStream),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnReplicatorFirehosePropertyFromCloudFormation(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.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorS3PropertyValidator(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("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.wrap('supplied properties not correct for "S3Property"')}function convertCfnReplicatorS3PropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorS3PropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Enabled:cdk().booleanToCloudFormation(properties.enabled),Prefix:cdk().stringToCloudFormation(properties.prefix)}):properties}function CfnReplicatorS3PropertyFromCloudFormation(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("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorReplicatorLogDeliveryPropertyValidator(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("cloudWatchLogs",CfnReplicatorCloudWatchLogsPropertyValidator)(properties.cloudWatchLogs)),errors.collect(cdk().propertyValidator("firehose",CfnReplicatorFirehosePropertyValidator)(properties.firehose)),errors.collect(cdk().propertyValidator("s3",CfnReplicatorS3PropertyValidator)(properties.s3)),errors.wrap('supplied properties not correct for "ReplicatorLogDeliveryProperty"')}function convertCfnReplicatorReplicatorLogDeliveryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorReplicatorLogDeliveryPropertyValidator(properties).assertSuccess(),{CloudWatchLogs:convertCfnReplicatorCloudWatchLogsPropertyToCloudFormation(properties.cloudWatchLogs),Firehose:convertCfnReplicatorFirehosePropertyToCloudFormation(properties.firehose),S3:convertCfnReplicatorS3PropertyToCloudFormation(properties.s3)}):properties}function CfnReplicatorReplicatorLogDeliveryPropertyFromCloudFormation(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("cloudWatchLogs","CloudWatchLogs",properties.CloudWatchLogs!=null?CfnReplicatorCloudWatchLogsPropertyFromCloudFormation(properties.CloudWatchLogs):void 0),ret.addPropertyResult("firehose","Firehose",properties.Firehose!=null?CfnReplicatorFirehosePropertyFromCloudFormation(properties.Firehose):void 0),ret.addPropertyResult("s3","S3",properties.S3!=null?CfnReplicatorS3PropertyFromCloudFormation(properties.S3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorLogDeliveryPropertyValidator(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("replicatorLogDelivery",CfnReplicatorReplicatorLogDeliveryPropertyValidator)(properties.replicatorLogDelivery)),errors.wrap('supplied properties not correct for "LogDeliveryProperty"')}function convertCfnReplicatorLogDeliveryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorLogDeliveryPropertyValidator(properties).assertSuccess(),{ReplicatorLogDelivery:convertCfnReplicatorReplicatorLogDeliveryPropertyToCloudFormation(properties.replicatorLogDelivery)}):properties}function CfnReplicatorLogDeliveryPropertyFromCloudFormation(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("replicatorLogDelivery","ReplicatorLogDelivery",properties.ReplicatorLogDelivery!=null?CfnReplicatorReplicatorLogDeliveryPropertyFromCloudFormation(properties.ReplicatorLogDelivery):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicatorPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("kafkaClusters",cdk().requiredValidator)(properties.kafkaClusters)),errors.collect(cdk().propertyValidator("kafkaClusters",cdk().listValidator(CfnReplicatorKafkaClusterPropertyValidator))(properties.kafkaClusters)),errors.collect(cdk().propertyValidator("logDelivery",CfnReplicatorLogDeliveryPropertyValidator)(properties.logDelivery)),errors.collect(cdk().propertyValidator("replicationInfoList",cdk().requiredValidator)(properties.replicationInfoList)),errors.collect(cdk().propertyValidator("replicationInfoList",cdk().listValidator(CfnReplicatorReplicationInfoPropertyValidator))(properties.replicationInfoList)),errors.collect(cdk().propertyValidator("replicatorName",cdk().requiredValidator)(properties.replicatorName)),errors.collect(cdk().propertyValidator("replicatorName",cdk().validateString)(properties.replicatorName)),errors.collect(cdk().propertyValidator("serviceExecutionRoleArn",cdk().requiredValidator)(properties.serviceExecutionRoleArn)),errors.collect(cdk().propertyValidator("serviceExecutionRoleArn",cdk().validateString)(properties.serviceExecutionRoleArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnReplicatorProps"')}function convertCfnReplicatorPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicatorPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),KafkaClusters:cdk().listMapper(convertCfnReplicatorKafkaClusterPropertyToCloudFormation)(properties.kafkaClusters),LogDelivery:convertCfnReplicatorLogDeliveryPropertyToCloudFormation(properties.logDelivery),ReplicationInfoList:cdk().listMapper(convertCfnReplicatorReplicationInfoPropertyToCloudFormation)(properties.replicationInfoList),ReplicatorName:cdk().stringToCloudFormation(properties.replicatorName),ServiceExecutionRoleArn:cdk().stringToCloudFormation(properties.serviceExecutionRoleArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnReplicatorPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("kafkaClusters","KafkaClusters",properties.KafkaClusters!=null?cfn_parse().FromCloudFormation.getArray(CfnReplicatorKafkaClusterPropertyFromCloudFormation)(properties.KafkaClusters):void 0),ret.addPropertyResult("logDelivery","LogDelivery",properties.LogDelivery!=null?CfnReplicatorLogDeliveryPropertyFromCloudFormation(properties.LogDelivery):void 0),ret.addPropertyResult("replicationInfoList","ReplicationInfoList",properties.ReplicationInfoList!=null?cfn_parse().FromCloudFormation.getArray(CfnReplicatorReplicationInfoPropertyFromCloudFormation)(properties.ReplicationInfoList):void 0),ret.addPropertyResult("replicatorName","ReplicatorName",properties.ReplicatorName!=null?cfn_parse().FromCloudFormation.getString(properties.ReplicatorName):void 0),ret.addPropertyResult("serviceExecutionRoleArn","ServiceExecutionRoleArn",properties.ServiceExecutionRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceExecutionRoleArn):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 CfnTopic extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_msk.CfnTopic",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::MSK::Topic";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTopicPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTopic(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnTopic(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTopic.CFN_RESOURCE_TYPE_NAME}static arnForTopic(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_msk_ITopicRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTopic),error}return resource.topicRef.topicArn}_clusterArn;_configs;_partitionCount;_replicationFactor;_topicName;cfnPropertyNames={clusterArn:"ClusterArn",configs:"Configs",partitionCount:"PartitionCount",replicationFactor:"ReplicationFactor",topicName:"TopicName"};constructor(scope,id,props){super(scope,id,{type:CfnTopic.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_msk_CfnTopicProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTopic),error}cdk().requireProperty(props,"clusterArn",this),cdk().requireProperty(props,"partitionCount",this),cdk().requireProperty(props,"replicationFactor",this),cdk().requireProperty(props,"topicName",this),this._clusterArn=props.clusterArn,this._configs=props.configs,this._partitionCount=props.partitionCount,this._replicationFactor=props.replicationFactor,this._topicName=props.topicName}get topicRef(){return{topicArn:this.ref}}get clusterArn(){return this._clusterArn}set clusterArn(value){cdk().traceProperty(this.node,"ClusterArn"),this._clusterArn=value}get configs(){return this._configs}set configs(value){cdk().traceProperty(this.node,"Configs"),this._configs=value}get partitionCount(){return this._partitionCount}set partitionCount(value){cdk().traceProperty(this.node,"PartitionCount"),this._partitionCount=value}get replicationFactor(){return this._replicationFactor}set replicationFactor(value){cdk().traceProperty(this.node,"ReplicationFactor"),this._replicationFactor=value}get topicName(){return this._topicName}set topicName(value){cdk().traceProperty(this.node,"TopicName"),this._topicName=value}get attrTopicArn(){return cdk().Token.asString(this.getAtt("TopicArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{clusterArn:this._clusterArn,configs:this._configs,partitionCount:this._partitionCount,replicationFactor:this._replicationFactor,topicName:this._topicName}}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",CfnTopic.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTopicPropsToCloudFormation(props)}}exports.CfnTopic=CfnTopic;function CfnTopicPropsValidator(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("clusterArn",cdk().requiredValidator)(properties.clusterArn)),errors.collect(cdk().propertyValidator("clusterArn",cdk().validateString)(properties.clusterArn)),errors.collect(cdk().propertyValidator("configs",cdk().validateString)(properties.configs)),errors.collect(cdk().propertyValidator("partitionCount",cdk().requiredValidator)(properties.partitionCount)),errors.collect(cdk().propertyValidator("partitionCount",cdk().validateNumber)(properties.partitionCount)),errors.collect(cdk().propertyValidator("replicationFactor",cdk().requiredValidator)(properties.replicationFactor)),errors.collect(cdk().propertyValidator("replicationFactor",cdk().validateNumber)(properties.replicationFactor)),errors.collect(cdk().propertyValidator("topicName",cdk().requiredValidator)(properties.topicName)),errors.collect(cdk().propertyValidator("topicName",cdk().validateString)(properties.topicName)),errors.wrap('supplied properties not correct for "CfnTopicProps"')}function convertCfnTopicPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicPropsValidator(properties).assertSuccess(),{ClusterArn:cdk().stringToCloudFormation(properties.clusterArn),Configs:cdk().stringToCloudFormation(properties.configs),PartitionCount:cdk().numberToCloudFormation(properties.partitionCount),ReplicationFactor:cdk().numberToCloudFormation(properties.replicationFactor),TopicName:cdk().stringToCloudFormation(properties.topicName)}):properties}function CfnTopicPropsFromCloudFormation(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("clusterArn","ClusterArn",properties.ClusterArn!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterArn):void 0),ret.addPropertyResult("configs","Configs",properties.Configs!=null?cfn_parse().FromCloudFormation.getString(properties.Configs):void 0),ret.addPropertyResult("partitionCount","PartitionCount",properties.PartitionCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.PartitionCount):void 0),ret.addPropertyResult("replicationFactor","ReplicationFactor",properties.ReplicationFactor!=null?cfn_parse().FromCloudFormation.getNumber(properties.ReplicationFactor):void 0),ret.addPropertyResult("topicName","TopicName",properties.TopicName!=null?cfn_parse().FromCloudFormation.getString(properties.TopicName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}