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

2 lines
79 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnCampaign=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 CfnCampaign extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connectcampaignsv2.CfnCampaign",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ConnectCampaignsV2::Campaign";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCampaignPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCampaign(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 isCfnCampaign(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCampaign.CFN_RESOURCE_TYPE_NAME}static arnForCampaign(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connectcampaignsv2_ICampaignRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCampaign),error}return resource.campaignRef.campaignArn}cdkTagManager;_channelSubtypeConfig;_communicationLimitsOverride;_communicationTimeConfig;_connectCampaignFlowArn;_connectInstanceId;_entryLimitsConfig;_name;_schedule;_source;_tags;_type;cfnPropertyNames={tags:"Tags",channelSubtypeConfig:"ChannelSubtypeConfig",communicationLimitsOverride:"CommunicationLimitsOverride",communicationTimeConfig:"CommunicationTimeConfig",connectCampaignFlowArn:"ConnectCampaignFlowArn",connectInstanceId:"ConnectInstanceId",entryLimitsConfig:"EntryLimitsConfig",name:"Name",schedule:"Schedule",source:"Source",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnCampaign.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connectcampaignsv2_CfnCampaignProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCampaign),error}cdk().requireProperty(props,"connectInstanceId",this),cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ConnectCampaignsV2::Campaign",void 0,{tagPropertyName:"tags"}),this._channelSubtypeConfig=props.channelSubtypeConfig,this._communicationLimitsOverride=props.communicationLimitsOverride,this._communicationTimeConfig=props.communicationTimeConfig,this._connectCampaignFlowArn=props.connectCampaignFlowArn,this._connectInstanceId=props.connectInstanceId,this._entryLimitsConfig=props.entryLimitsConfig,this._name=props.name,this._schedule=props.schedule,this._source=props.source,this._tags=props.tags,this._type=props.type}get campaignRef(){return{campaignArn:this.ref}}get channelSubtypeConfig(){return this._channelSubtypeConfig}set channelSubtypeConfig(value){cdk().traceProperty(this.node,"ChannelSubtypeConfig"),this._channelSubtypeConfig=value}get communicationLimitsOverride(){return this._communicationLimitsOverride}set communicationLimitsOverride(value){cdk().traceProperty(this.node,"CommunicationLimitsOverride"),this._communicationLimitsOverride=value}get communicationTimeConfig(){return this._communicationTimeConfig}set communicationTimeConfig(value){cdk().traceProperty(this.node,"CommunicationTimeConfig"),this._communicationTimeConfig=value}get connectCampaignFlowArn(){return this._connectCampaignFlowArn}set connectCampaignFlowArn(value){cdk().traceProperty(this.node,"ConnectCampaignFlowArn"),this._connectCampaignFlowArn=value}get connectInstanceId(){return this._connectInstanceId}set connectInstanceId(value){cdk().traceProperty(this.node,"ConnectInstanceId"),this._connectInstanceId=value}get entryLimitsConfig(){return this._entryLimitsConfig}set entryLimitsConfig(value){cdk().traceProperty(this.node,"EntryLimitsConfig"),this._entryLimitsConfig=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get schedule(){return this._schedule}set schedule(value){cdk().traceProperty(this.node,"Schedule"),this._schedule=value}get source(){return this._source}set source(value){cdk().traceProperty(this.node,"Source"),this._source=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),channelSubtypeConfig:this._channelSubtypeConfig,communicationLimitsOverride:this._communicationLimitsOverride,communicationTimeConfig:this._communicationTimeConfig,connectCampaignFlowArn:this._connectCampaignFlowArn,connectInstanceId:this._connectInstanceId,entryLimitsConfig:this._entryLimitsConfig,name:this._name,schedule:this._schedule,source:this._source,type:this._type}}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",CfnCampaign.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCampaignPropsToCloudFormation(props)}}exports.CfnCampaign=CfnCampaign;function CfnCampaignProgressiveConfigPropertyValidator(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("bandwidthAllocation",cdk().requiredValidator)(properties.bandwidthAllocation)),errors.collect(cdk().propertyValidator("bandwidthAllocation",cdk().validateNumber)(properties.bandwidthAllocation)),errors.wrap('supplied properties not correct for "ProgressiveConfigProperty"')}function convertCfnCampaignProgressiveConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignProgressiveConfigPropertyValidator(properties).assertSuccess(),{BandwidthAllocation:cdk().numberToCloudFormation(properties.bandwidthAllocation)}):properties}function CfnCampaignProgressiveConfigPropertyFromCloudFormation(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("bandwidthAllocation","BandwidthAllocation",properties.BandwidthAllocation!=null?cfn_parse().FromCloudFormation.getNumber(properties.BandwidthAllocation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignPredictiveConfigPropertyValidator(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("bandwidthAllocation",cdk().requiredValidator)(properties.bandwidthAllocation)),errors.collect(cdk().propertyValidator("bandwidthAllocation",cdk().validateNumber)(properties.bandwidthAllocation)),errors.wrap('supplied properties not correct for "PredictiveConfigProperty"')}function convertCfnCampaignPredictiveConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignPredictiveConfigPropertyValidator(properties).assertSuccess(),{BandwidthAllocation:cdk().numberToCloudFormation(properties.bandwidthAllocation)}):properties}function CfnCampaignPredictiveConfigPropertyFromCloudFormation(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("bandwidthAllocation","BandwidthAllocation",properties.BandwidthAllocation!=null?cfn_parse().FromCloudFormation.getNumber(properties.BandwidthAllocation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignTimeoutConfigPropertyValidator(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("durationInSeconds",cdk().validateNumber)(properties.durationInSeconds)),errors.wrap('supplied properties not correct for "TimeoutConfigProperty"')}function convertCfnCampaignTimeoutConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignTimeoutConfigPropertyValidator(properties).assertSuccess(),{DurationInSeconds:cdk().numberToCloudFormation(properties.durationInSeconds)}):properties}function CfnCampaignTimeoutConfigPropertyFromCloudFormation(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("durationInSeconds","DurationInSeconds",properties.DurationInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.DurationInSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignPreviewConfigPropertyValidator(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("agentActions",cdk().listValidator(cdk().validateString))(properties.agentActions)),errors.collect(cdk().propertyValidator("bandwidthAllocation",cdk().requiredValidator)(properties.bandwidthAllocation)),errors.collect(cdk().propertyValidator("bandwidthAllocation",cdk().validateNumber)(properties.bandwidthAllocation)),errors.collect(cdk().propertyValidator("timeoutConfig",cdk().requiredValidator)(properties.timeoutConfig)),errors.collect(cdk().propertyValidator("timeoutConfig",CfnCampaignTimeoutConfigPropertyValidator)(properties.timeoutConfig)),errors.wrap('supplied properties not correct for "PreviewConfigProperty"')}function convertCfnCampaignPreviewConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignPreviewConfigPropertyValidator(properties).assertSuccess(),{AgentActions:cdk().listMapper(cdk().stringToCloudFormation)(properties.agentActions),BandwidthAllocation:cdk().numberToCloudFormation(properties.bandwidthAllocation),TimeoutConfig:convertCfnCampaignTimeoutConfigPropertyToCloudFormation(properties.timeoutConfig)}):properties}function CfnCampaignPreviewConfigPropertyFromCloudFormation(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("agentActions","AgentActions",properties.AgentActions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AgentActions):void 0),ret.addPropertyResult("bandwidthAllocation","BandwidthAllocation",properties.BandwidthAllocation!=null?cfn_parse().FromCloudFormation.getNumber(properties.BandwidthAllocation):void 0),ret.addPropertyResult("timeoutConfig","TimeoutConfig",properties.TimeoutConfig!=null?CfnCampaignTimeoutConfigPropertyFromCloudFormation(properties.TimeoutConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignTelephonyOutboundModePropertyValidator(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("agentlessConfig",cdk().validateObject)(properties.agentlessConfig)),errors.collect(cdk().propertyValidator("predictiveConfig",CfnCampaignPredictiveConfigPropertyValidator)(properties.predictiveConfig)),errors.collect(cdk().propertyValidator("previewConfig",CfnCampaignPreviewConfigPropertyValidator)(properties.previewConfig)),errors.collect(cdk().propertyValidator("progressiveConfig",CfnCampaignProgressiveConfigPropertyValidator)(properties.progressiveConfig)),errors.wrap('supplied properties not correct for "TelephonyOutboundModeProperty"')}function convertCfnCampaignTelephonyOutboundModePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignTelephonyOutboundModePropertyValidator(properties).assertSuccess(),{AgentlessConfig:cdk().objectToCloudFormation(properties.agentlessConfig),PredictiveConfig:convertCfnCampaignPredictiveConfigPropertyToCloudFormation(properties.predictiveConfig),PreviewConfig:convertCfnCampaignPreviewConfigPropertyToCloudFormation(properties.previewConfig),ProgressiveConfig:convertCfnCampaignProgressiveConfigPropertyToCloudFormation(properties.progressiveConfig)}):properties}function CfnCampaignTelephonyOutboundModePropertyFromCloudFormation(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("agentlessConfig","AgentlessConfig",properties.AgentlessConfig!=null?cfn_parse().FromCloudFormation.getAny(properties.AgentlessConfig):void 0),ret.addPropertyResult("predictiveConfig","PredictiveConfig",properties.PredictiveConfig!=null?CfnCampaignPredictiveConfigPropertyFromCloudFormation(properties.PredictiveConfig):void 0),ret.addPropertyResult("previewConfig","PreviewConfig",properties.PreviewConfig!=null?CfnCampaignPreviewConfigPropertyFromCloudFormation(properties.PreviewConfig):void 0),ret.addPropertyResult("progressiveConfig","ProgressiveConfig",properties.ProgressiveConfig!=null?CfnCampaignProgressiveConfigPropertyFromCloudFormation(properties.ProgressiveConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignAnswerMachineDetectionConfigPropertyValidator(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("awaitAnswerMachinePrompt",cdk().validateBoolean)(properties.awaitAnswerMachinePrompt)),errors.collect(cdk().propertyValidator("enableAnswerMachineDetection",cdk().requiredValidator)(properties.enableAnswerMachineDetection)),errors.collect(cdk().propertyValidator("enableAnswerMachineDetection",cdk().validateBoolean)(properties.enableAnswerMachineDetection)),errors.wrap('supplied properties not correct for "AnswerMachineDetectionConfigProperty"')}function convertCfnCampaignAnswerMachineDetectionConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignAnswerMachineDetectionConfigPropertyValidator(properties).assertSuccess(),{AwaitAnswerMachinePrompt:cdk().booleanToCloudFormation(properties.awaitAnswerMachinePrompt),EnableAnswerMachineDetection:cdk().booleanToCloudFormation(properties.enableAnswerMachineDetection)}):properties}function CfnCampaignAnswerMachineDetectionConfigPropertyFromCloudFormation(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("awaitAnswerMachinePrompt","AwaitAnswerMachinePrompt",properties.AwaitAnswerMachinePrompt!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AwaitAnswerMachinePrompt):void 0),ret.addPropertyResult("enableAnswerMachineDetection","EnableAnswerMachineDetection",properties.EnableAnswerMachineDetection!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableAnswerMachineDetection):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignTelephonyOutboundConfigPropertyValidator(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("answerMachineDetectionConfig",CfnCampaignAnswerMachineDetectionConfigPropertyValidator)(properties.answerMachineDetectionConfig)),errors.collect(cdk().propertyValidator("connectContactFlowId",cdk().requiredValidator)(properties.connectContactFlowId)),errors.collect(cdk().propertyValidator("connectContactFlowId",cdk().validateString)(properties.connectContactFlowId)),errors.collect(cdk().propertyValidator("connectSourcePhoneNumber",cdk().validateString)(properties.connectSourcePhoneNumber)),errors.collect(cdk().propertyValidator("ringTimeout",cdk().validateNumber)(properties.ringTimeout)),errors.wrap('supplied properties not correct for "TelephonyOutboundConfigProperty"')}function convertCfnCampaignTelephonyOutboundConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignTelephonyOutboundConfigPropertyValidator(properties).assertSuccess(),{AnswerMachineDetectionConfig:convertCfnCampaignAnswerMachineDetectionConfigPropertyToCloudFormation(properties.answerMachineDetectionConfig),ConnectContactFlowId:cdk().stringToCloudFormation(properties.connectContactFlowId),ConnectSourcePhoneNumber:cdk().stringToCloudFormation(properties.connectSourcePhoneNumber),RingTimeout:cdk().numberToCloudFormation(properties.ringTimeout)}):properties}function CfnCampaignTelephonyOutboundConfigPropertyFromCloudFormation(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("answerMachineDetectionConfig","AnswerMachineDetectionConfig",properties.AnswerMachineDetectionConfig!=null?CfnCampaignAnswerMachineDetectionConfigPropertyFromCloudFormation(properties.AnswerMachineDetectionConfig):void 0),ret.addPropertyResult("connectContactFlowId","ConnectContactFlowId",properties.ConnectContactFlowId!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectContactFlowId):void 0),ret.addPropertyResult("connectSourcePhoneNumber","ConnectSourcePhoneNumber",properties.ConnectSourcePhoneNumber!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectSourcePhoneNumber):void 0),ret.addPropertyResult("ringTimeout","RingTimeout",properties.RingTimeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.RingTimeout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignTelephonyChannelSubtypeConfigPropertyValidator(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("capacity",cdk().validateNumber)(properties.capacity)),errors.collect(cdk().propertyValidator("connectQueueId",cdk().validateString)(properties.connectQueueId)),errors.collect(cdk().propertyValidator("defaultOutboundConfig",cdk().requiredValidator)(properties.defaultOutboundConfig)),errors.collect(cdk().propertyValidator("defaultOutboundConfig",CfnCampaignTelephonyOutboundConfigPropertyValidator)(properties.defaultOutboundConfig)),errors.collect(cdk().propertyValidator("outboundMode",cdk().requiredValidator)(properties.outboundMode)),errors.collect(cdk().propertyValidator("outboundMode",CfnCampaignTelephonyOutboundModePropertyValidator)(properties.outboundMode)),errors.wrap('supplied properties not correct for "TelephonyChannelSubtypeConfigProperty"')}function convertCfnCampaignTelephonyChannelSubtypeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignTelephonyChannelSubtypeConfigPropertyValidator(properties).assertSuccess(),{Capacity:cdk().numberToCloudFormation(properties.capacity),ConnectQueueId:cdk().stringToCloudFormation(properties.connectQueueId),DefaultOutboundConfig:convertCfnCampaignTelephonyOutboundConfigPropertyToCloudFormation(properties.defaultOutboundConfig),OutboundMode:convertCfnCampaignTelephonyOutboundModePropertyToCloudFormation(properties.outboundMode)}):properties}function CfnCampaignTelephonyChannelSubtypeConfigPropertyFromCloudFormation(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("capacity","Capacity",properties.Capacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.Capacity):void 0),ret.addPropertyResult("connectQueueId","ConnectQueueId",properties.ConnectQueueId!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectQueueId):void 0),ret.addPropertyResult("defaultOutboundConfig","DefaultOutboundConfig",properties.DefaultOutboundConfig!=null?CfnCampaignTelephonyOutboundConfigPropertyFromCloudFormation(properties.DefaultOutboundConfig):void 0),ret.addPropertyResult("outboundMode","OutboundMode",properties.OutboundMode!=null?CfnCampaignTelephonyOutboundModePropertyFromCloudFormation(properties.OutboundMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignSmsOutboundModePropertyValidator(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("agentlessConfig",cdk().validateObject)(properties.agentlessConfig)),errors.wrap('supplied properties not correct for "SmsOutboundModeProperty"')}function convertCfnCampaignSmsOutboundModePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignSmsOutboundModePropertyValidator(properties).assertSuccess(),{AgentlessConfig:cdk().objectToCloudFormation(properties.agentlessConfig)}):properties}function CfnCampaignSmsOutboundModePropertyFromCloudFormation(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("agentlessConfig","AgentlessConfig",properties.AgentlessConfig!=null?cfn_parse().FromCloudFormation.getAny(properties.AgentlessConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignSmsOutboundConfigPropertyValidator(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("connectSourcePhoneNumberArn",cdk().requiredValidator)(properties.connectSourcePhoneNumberArn)),errors.collect(cdk().propertyValidator("connectSourcePhoneNumberArn",cdk().validateString)(properties.connectSourcePhoneNumberArn)),errors.collect(cdk().propertyValidator("wisdomTemplateArn",cdk().requiredValidator)(properties.wisdomTemplateArn)),errors.collect(cdk().propertyValidator("wisdomTemplateArn",cdk().validateString)(properties.wisdomTemplateArn)),errors.wrap('supplied properties not correct for "SmsOutboundConfigProperty"')}function convertCfnCampaignSmsOutboundConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignSmsOutboundConfigPropertyValidator(properties).assertSuccess(),{ConnectSourcePhoneNumberArn:cdk().stringToCloudFormation(properties.connectSourcePhoneNumberArn),WisdomTemplateArn:cdk().stringToCloudFormation(properties.wisdomTemplateArn)}):properties}function CfnCampaignSmsOutboundConfigPropertyFromCloudFormation(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("connectSourcePhoneNumberArn","ConnectSourcePhoneNumberArn",properties.ConnectSourcePhoneNumberArn!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectSourcePhoneNumberArn):void 0),ret.addPropertyResult("wisdomTemplateArn","WisdomTemplateArn",properties.WisdomTemplateArn!=null?cfn_parse().FromCloudFormation.getString(properties.WisdomTemplateArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignSmsChannelSubtypeConfigPropertyValidator(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("capacity",cdk().validateNumber)(properties.capacity)),errors.collect(cdk().propertyValidator("defaultOutboundConfig",cdk().requiredValidator)(properties.defaultOutboundConfig)),errors.collect(cdk().propertyValidator("defaultOutboundConfig",CfnCampaignSmsOutboundConfigPropertyValidator)(properties.defaultOutboundConfig)),errors.collect(cdk().propertyValidator("outboundMode",cdk().requiredValidator)(properties.outboundMode)),errors.collect(cdk().propertyValidator("outboundMode",CfnCampaignSmsOutboundModePropertyValidator)(properties.outboundMode)),errors.wrap('supplied properties not correct for "SmsChannelSubtypeConfigProperty"')}function convertCfnCampaignSmsChannelSubtypeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignSmsChannelSubtypeConfigPropertyValidator(properties).assertSuccess(),{Capacity:cdk().numberToCloudFormation(properties.capacity),DefaultOutboundConfig:convertCfnCampaignSmsOutboundConfigPropertyToCloudFormation(properties.defaultOutboundConfig),OutboundMode:convertCfnCampaignSmsOutboundModePropertyToCloudFormation(properties.outboundMode)}):properties}function CfnCampaignSmsChannelSubtypeConfigPropertyFromCloudFormation(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("capacity","Capacity",properties.Capacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.Capacity):void 0),ret.addPropertyResult("defaultOutboundConfig","DefaultOutboundConfig",properties.DefaultOutboundConfig!=null?CfnCampaignSmsOutboundConfigPropertyFromCloudFormation(properties.DefaultOutboundConfig):void 0),ret.addPropertyResult("outboundMode","OutboundMode",properties.OutboundMode!=null?CfnCampaignSmsOutboundModePropertyFromCloudFormation(properties.OutboundMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignEmailOutboundModePropertyValidator(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("agentlessConfig",cdk().validateObject)(properties.agentlessConfig)),errors.wrap('supplied properties not correct for "EmailOutboundModeProperty"')}function convertCfnCampaignEmailOutboundModePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignEmailOutboundModePropertyValidator(properties).assertSuccess(),{AgentlessConfig:cdk().objectToCloudFormation(properties.agentlessConfig)}):properties}function CfnCampaignEmailOutboundModePropertyFromCloudFormation(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("agentlessConfig","AgentlessConfig",properties.AgentlessConfig!=null?cfn_parse().FromCloudFormation.getAny(properties.AgentlessConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignEmailOutboundConfigPropertyValidator(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("connectSourceEmailAddress",cdk().requiredValidator)(properties.connectSourceEmailAddress)),errors.collect(cdk().propertyValidator("connectSourceEmailAddress",cdk().validateString)(properties.connectSourceEmailAddress)),errors.collect(cdk().propertyValidator("sourceEmailAddressDisplayName",cdk().validateString)(properties.sourceEmailAddressDisplayName)),errors.collect(cdk().propertyValidator("wisdomTemplateArn",cdk().requiredValidator)(properties.wisdomTemplateArn)),errors.collect(cdk().propertyValidator("wisdomTemplateArn",cdk().validateString)(properties.wisdomTemplateArn)),errors.wrap('supplied properties not correct for "EmailOutboundConfigProperty"')}function convertCfnCampaignEmailOutboundConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignEmailOutboundConfigPropertyValidator(properties).assertSuccess(),{ConnectSourceEmailAddress:cdk().stringToCloudFormation(properties.connectSourceEmailAddress),SourceEmailAddressDisplayName:cdk().stringToCloudFormation(properties.sourceEmailAddressDisplayName),WisdomTemplateArn:cdk().stringToCloudFormation(properties.wisdomTemplateArn)}):properties}function CfnCampaignEmailOutboundConfigPropertyFromCloudFormation(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("connectSourceEmailAddress","ConnectSourceEmailAddress",properties.ConnectSourceEmailAddress!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectSourceEmailAddress):void 0),ret.addPropertyResult("sourceEmailAddressDisplayName","SourceEmailAddressDisplayName",properties.SourceEmailAddressDisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceEmailAddressDisplayName):void 0),ret.addPropertyResult("wisdomTemplateArn","WisdomTemplateArn",properties.WisdomTemplateArn!=null?cfn_parse().FromCloudFormation.getString(properties.WisdomTemplateArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignEmailChannelSubtypeConfigPropertyValidator(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("capacity",cdk().validateNumber)(properties.capacity)),errors.collect(cdk().propertyValidator("defaultOutboundConfig",cdk().requiredValidator)(properties.defaultOutboundConfig)),errors.collect(cdk().propertyValidator("defaultOutboundConfig",CfnCampaignEmailOutboundConfigPropertyValidator)(properties.defaultOutboundConfig)),errors.collect(cdk().propertyValidator("outboundMode",cdk().requiredValidator)(properties.outboundMode)),errors.collect(cdk().propertyValidator("outboundMode",CfnCampaignEmailOutboundModePropertyValidator)(properties.outboundMode)),errors.wrap('supplied properties not correct for "EmailChannelSubtypeConfigProperty"')}function convertCfnCampaignEmailChannelSubtypeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignEmailChannelSubtypeConfigPropertyValidator(properties).assertSuccess(),{Capacity:cdk().numberToCloudFormation(properties.capacity),DefaultOutboundConfig:convertCfnCampaignEmailOutboundConfigPropertyToCloudFormation(properties.defaultOutboundConfig),OutboundMode:convertCfnCampaignEmailOutboundModePropertyToCloudFormation(properties.outboundMode)}):properties}function CfnCampaignEmailChannelSubtypeConfigPropertyFromCloudFormation(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("capacity","Capacity",properties.Capacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.Capacity):void 0),ret.addPropertyResult("defaultOutboundConfig","DefaultOutboundConfig",properties.DefaultOutboundConfig!=null?CfnCampaignEmailOutboundConfigPropertyFromCloudFormation(properties.DefaultOutboundConfig):void 0),ret.addPropertyResult("outboundMode","OutboundMode",properties.OutboundMode!=null?CfnCampaignEmailOutboundModePropertyFromCloudFormation(properties.OutboundMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignWhatsAppOutboundModePropertyValidator(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("agentlessConfig",cdk().validateObject)(properties.agentlessConfig)),errors.wrap('supplied properties not correct for "WhatsAppOutboundModeProperty"')}function convertCfnCampaignWhatsAppOutboundModePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignWhatsAppOutboundModePropertyValidator(properties).assertSuccess(),{AgentlessConfig:cdk().objectToCloudFormation(properties.agentlessConfig)}):properties}function CfnCampaignWhatsAppOutboundModePropertyFromCloudFormation(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("agentlessConfig","AgentlessConfig",properties.AgentlessConfig!=null?cfn_parse().FromCloudFormation.getAny(properties.AgentlessConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignWhatsAppOutboundConfigPropertyValidator(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("connectSourcePhoneNumberArn",cdk().requiredValidator)(properties.connectSourcePhoneNumberArn)),errors.collect(cdk().propertyValidator("connectSourcePhoneNumberArn",cdk().validateString)(properties.connectSourcePhoneNumberArn)),errors.collect(cdk().propertyValidator("wisdomTemplateArn",cdk().requiredValidator)(properties.wisdomTemplateArn)),errors.collect(cdk().propertyValidator("wisdomTemplateArn",cdk().validateString)(properties.wisdomTemplateArn)),errors.wrap('supplied properties not correct for "WhatsAppOutboundConfigProperty"')}function convertCfnCampaignWhatsAppOutboundConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignWhatsAppOutboundConfigPropertyValidator(properties).assertSuccess(),{ConnectSourcePhoneNumberArn:cdk().stringToCloudFormation(properties.connectSourcePhoneNumberArn),WisdomTemplateArn:cdk().stringToCloudFormation(properties.wisdomTemplateArn)}):properties}function CfnCampaignWhatsAppOutboundConfigPropertyFromCloudFormation(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("connectSourcePhoneNumberArn","ConnectSourcePhoneNumberArn",properties.ConnectSourcePhoneNumberArn!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectSourcePhoneNumberArn):void 0),ret.addPropertyResult("wisdomTemplateArn","WisdomTemplateArn",properties.WisdomTemplateArn!=null?cfn_parse().FromCloudFormation.getString(properties.WisdomTemplateArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignWhatsAppChannelSubtypeConfigPropertyValidator(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("capacity",cdk().validateNumber)(properties.capacity)),errors.collect(cdk().propertyValidator("defaultOutboundConfig",cdk().requiredValidator)(properties.defaultOutboundConfig)),errors.collect(cdk().propertyValidator("defaultOutboundConfig",CfnCampaignWhatsAppOutboundConfigPropertyValidator)(properties.defaultOutboundConfig)),errors.collect(cdk().propertyValidator("outboundMode",cdk().requiredValidator)(properties.outboundMode)),errors.collect(cdk().propertyValidator("outboundMode",CfnCampaignWhatsAppOutboundModePropertyValidator)(properties.outboundMode)),errors.wrap('supplied properties not correct for "WhatsAppChannelSubtypeConfigProperty"')}function convertCfnCampaignWhatsAppChannelSubtypeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignWhatsAppChannelSubtypeConfigPropertyValidator(properties).assertSuccess(),{Capacity:cdk().numberToCloudFormation(properties.capacity),DefaultOutboundConfig:convertCfnCampaignWhatsAppOutboundConfigPropertyToCloudFormation(properties.defaultOutboundConfig),OutboundMode:convertCfnCampaignWhatsAppOutboundModePropertyToCloudFormation(properties.outboundMode)}):properties}function CfnCampaignWhatsAppChannelSubtypeConfigPropertyFromCloudFormation(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("capacity","Capacity",properties.Capacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.Capacity):void 0),ret.addPropertyResult("defaultOutboundConfig","DefaultOutboundConfig",properties.DefaultOutboundConfig!=null?CfnCampaignWhatsAppOutboundConfigPropertyFromCloudFormation(properties.DefaultOutboundConfig):void 0),ret.addPropertyResult("outboundMode","OutboundMode",properties.OutboundMode!=null?CfnCampaignWhatsAppOutboundModePropertyFromCloudFormation(properties.OutboundMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignChannelSubtypeConfigPropertyValidator(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("email",CfnCampaignEmailChannelSubtypeConfigPropertyValidator)(properties.email)),errors.collect(cdk().propertyValidator("sms",CfnCampaignSmsChannelSubtypeConfigPropertyValidator)(properties.sms)),errors.collect(cdk().propertyValidator("telephony",CfnCampaignTelephonyChannelSubtypeConfigPropertyValidator)(properties.telephony)),errors.collect(cdk().propertyValidator("whatsApp",CfnCampaignWhatsAppChannelSubtypeConfigPropertyValidator)(properties.whatsApp)),errors.wrap('supplied properties not correct for "ChannelSubtypeConfigProperty"')}function convertCfnCampaignChannelSubtypeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignChannelSubtypeConfigPropertyValidator(properties).assertSuccess(),{Email:convertCfnCampaignEmailChannelSubtypeConfigPropertyToCloudFormation(properties.email),Sms:convertCfnCampaignSmsChannelSubtypeConfigPropertyToCloudFormation(properties.sms),Telephony:convertCfnCampaignTelephonyChannelSubtypeConfigPropertyToCloudFormation(properties.telephony),WhatsApp:convertCfnCampaignWhatsAppChannelSubtypeConfigPropertyToCloudFormation(properties.whatsApp)}):properties}function CfnCampaignChannelSubtypeConfigPropertyFromCloudFormation(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("email","Email",properties.Email!=null?CfnCampaignEmailChannelSubtypeConfigPropertyFromCloudFormation(properties.Email):void 0),ret.addPropertyResult("sms","Sms",properties.Sms!=null?CfnCampaignSmsChannelSubtypeConfigPropertyFromCloudFormation(properties.Sms):void 0),ret.addPropertyResult("telephony","Telephony",properties.Telephony!=null?CfnCampaignTelephonyChannelSubtypeConfigPropertyFromCloudFormation(properties.Telephony):void 0),ret.addPropertyResult("whatsApp","WhatsApp",properties.WhatsApp!=null?CfnCampaignWhatsAppChannelSubtypeConfigPropertyFromCloudFormation(properties.WhatsApp):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignEventTriggerPropertyValidator(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("customerProfilesDomainArn",cdk().validateString)(properties.customerProfilesDomainArn)),errors.wrap('supplied properties not correct for "EventTriggerProperty"')}function convertCfnCampaignEventTriggerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignEventTriggerPropertyValidator(properties).assertSuccess(),{CustomerProfilesDomainArn:cdk().stringToCloudFormation(properties.customerProfilesDomainArn)}):properties}function CfnCampaignEventTriggerPropertyFromCloudFormation(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("customerProfilesDomainArn","CustomerProfilesDomainArn",properties.CustomerProfilesDomainArn!=null?cfn_parse().FromCloudFormation.getString(properties.CustomerProfilesDomainArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignSourcePropertyValidator(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("customerProfilesSegmentArn",cdk().validateString)(properties.customerProfilesSegmentArn)),errors.collect(cdk().propertyValidator("eventTrigger",CfnCampaignEventTriggerPropertyValidator)(properties.eventTrigger)),errors.wrap('supplied properties not correct for "SourceProperty"')}function convertCfnCampaignSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignSourcePropertyValidator(properties).assertSuccess(),{CustomerProfilesSegmentArn:cdk().stringToCloudFormation(properties.customerProfilesSegmentArn),EventTrigger:convertCfnCampaignEventTriggerPropertyToCloudFormation(properties.eventTrigger)}):properties}function CfnCampaignSourcePropertyFromCloudFormation(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("customerProfilesSegmentArn","CustomerProfilesSegmentArn",properties.CustomerProfilesSegmentArn!=null?cfn_parse().FromCloudFormation.getString(properties.CustomerProfilesSegmentArn):void 0),ret.addPropertyResult("eventTrigger","EventTrigger",properties.EventTrigger!=null?CfnCampaignEventTriggerPropertyFromCloudFormation(properties.EventTrigger):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignSchedulePropertyValidator(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("endTime",cdk().requiredValidator)(properties.endTime)),errors.collect(cdk().propertyValidator("endTime",cdk().validateString)(properties.endTime)),errors.collect(cdk().propertyValidator("refreshFrequency",cdk().validateString)(properties.refreshFrequency)),errors.collect(cdk().propertyValidator("startTime",cdk().requiredValidator)(properties.startTime)),errors.collect(cdk().propertyValidator("startTime",cdk().validateString)(properties.startTime)),errors.wrap('supplied properties not correct for "ScheduleProperty"')}function convertCfnCampaignSchedulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignSchedulePropertyValidator(properties).assertSuccess(),{EndTime:cdk().stringToCloudFormation(properties.endTime),RefreshFrequency:cdk().stringToCloudFormation(properties.refreshFrequency),StartTime:cdk().stringToCloudFormation(properties.startTime)}):properties}function CfnCampaignSchedulePropertyFromCloudFormation(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("endTime","EndTime",properties.EndTime!=null?cfn_parse().FromCloudFormation.getString(properties.EndTime):void 0),ret.addPropertyResult("refreshFrequency","RefreshFrequency",properties.RefreshFrequency!=null?cfn_parse().FromCloudFormation.getString(properties.RefreshFrequency):void 0),ret.addPropertyResult("startTime","StartTime",properties.StartTime!=null?cfn_parse().FromCloudFormation.getString(properties.StartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignLocalTimeZoneConfigPropertyValidator(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("defaultTimeZone",cdk().validateString)(properties.defaultTimeZone)),errors.collect(cdk().propertyValidator("localTimeZoneDetection",cdk().listValidator(cdk().validateString))(properties.localTimeZoneDetection)),errors.wrap('supplied properties not correct for "LocalTimeZoneConfigProperty"')}function convertCfnCampaignLocalTimeZoneConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignLocalTimeZoneConfigPropertyValidator(properties).assertSuccess(),{DefaultTimeZone:cdk().stringToCloudFormation(properties.defaultTimeZone),LocalTimeZoneDetection:cdk().listMapper(cdk().stringToCloudFormation)(properties.localTimeZoneDetection)}):properties}function CfnCampaignLocalTimeZoneConfigPropertyFromCloudFormation(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("defaultTimeZone","DefaultTimeZone",properties.DefaultTimeZone!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultTimeZone):void 0),ret.addPropertyResult("localTimeZoneDetection","LocalTimeZoneDetection",properties.LocalTimeZoneDetection!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LocalTimeZoneDetection):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignTimeRangePropertyValidator(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("endTime",cdk().requiredValidator)(properties.endTime)),errors.collect(cdk().propertyValidator("endTime",cdk().validateString)(properties.endTime)),errors.collect(cdk().propertyValidator("startTime",cdk().requiredValidator)(properties.startTime)),errors.collect(cdk().propertyValidator("startTime",cdk().validateString)(properties.startTime)),errors.wrap('supplied properties not correct for "TimeRangeProperty"')}function convertCfnCampaignTimeRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignTimeRangePropertyValidator(properties).assertSuccess(),{EndTime:cdk().stringToCloudFormation(properties.endTime),StartTime:cdk().stringToCloudFormation(properties.startTime)}):properties}function CfnCampaignTimeRangePropertyFromCloudFormation(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("endTime","EndTime",properties.EndTime!=null?cfn_parse().FromCloudFormation.getString(properties.EndTime):void 0),ret.addPropertyResult("startTime","StartTime",properties.StartTime!=null?cfn_parse().FromCloudFormation.getString(properties.StartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignDailyHourPropertyValidator(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("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().listValidator(CfnCampaignTimeRangePropertyValidator))(properties.value)),errors.wrap('supplied properties not correct for "DailyHourProperty"')}function convertCfnCampaignDailyHourPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignDailyHourPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().listMapper(convertCfnCampaignTimeRangePropertyToCloudFormation)(properties.value)}):properties}function CfnCampaignDailyHourPropertyFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getArray(CfnCampaignTimeRangePropertyFromCloudFormation)(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignOpenHoursPropertyValidator(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("dailyHours",cdk().requiredValidator)(properties.dailyHours)),errors.collect(cdk().propertyValidator("dailyHours",cdk().listValidator(CfnCampaignDailyHourPropertyValidator))(properties.dailyHours)),errors.wrap('supplied properties not correct for "OpenHoursProperty"')}function convertCfnCampaignOpenHoursPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignOpenHoursPropertyValidator(properties).assertSuccess(),{DailyHours:cdk().listMapper(convertCfnCampaignDailyHourPropertyToCloudFormation)(properties.dailyHours)}):properties}function CfnCampaignOpenHoursPropertyFromCloudFormation(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("dailyHours","DailyHours",properties.DailyHours!=null?cfn_parse().FromCloudFormation.getArray(CfnCampaignDailyHourPropertyFromCloudFormation)(properties.DailyHours):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignRestrictedPeriodPropertyValidator(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("endDate",cdk().requiredValidator)(properties.endDate)),errors.collect(cdk().propertyValidator("endDate",cdk().validateString)(properties.endDate)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("startDate",cdk().requiredValidator)(properties.startDate)),errors.collect(cdk().propertyValidator("startDate",cdk().validateString)(properties.startDate)),errors.wrap('supplied properties not correct for "RestrictedPeriodProperty"')}function convertCfnCampaignRestrictedPeriodPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignRestrictedPeriodPropertyValidator(properties).assertSuccess(),{EndDate:cdk().stringToCloudFormation(properties.endDate),Name:cdk().stringToCloudFormation(properties.name),StartDate:cdk().stringToCloudFormation(properties.startDate)}):properties}function CfnCampaignRestrictedPeriodPropertyFromCloudFormation(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("endDate","EndDate",properties.EndDate!=null?cfn_parse().FromCloudFormation.getString(properties.EndDate):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("startDate","StartDate",properties.StartDate!=null?cfn_parse().FromCloudFormation.getString(properties.StartDate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignRestrictedPeriodsPropertyValidator(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("restrictedPeriodList",cdk().requiredValidator)(properties.restrictedPeriodList)),errors.collect(cdk().propertyValidator("restrictedPeriodList",cdk().listValidator(CfnCampaignRestrictedPeriodPropertyValidator))(properties.restrictedPeriodList)),errors.wrap('supplied properties not correct for "RestrictedPeriodsProperty"')}function convertCfnCampaignRestrictedPeriodsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignRestrictedPeriodsPropertyValidator(properties).assertSuccess(),{RestrictedPeriodList:cdk().listMapper(convertCfnCampaignRestrictedPeriodPropertyToCloudFormation)(properties.restrictedPeriodList)}):properties}function CfnCampaignRestrictedPeriodsPropertyFromCloudFormation(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("restrictedPeriodList","RestrictedPeriodList",properties.RestrictedPeriodList!=null?cfn_parse().FromCloudFormation.getArray(CfnCampaignRestrictedPeriodPropertyFromCloudFormation)(properties.RestrictedPeriodList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignTimeWindowPropertyValidator(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("openHours",cdk().requiredValidator)(properties.openHours)),errors.collect(cdk().propertyValidator("openHours",CfnCampaignOpenHoursPropertyValidator)(properties.openHours)),errors.collect(cdk().propertyValidator("restrictedPeriods",CfnCampaignRestrictedPeriodsPropertyValidator)(properties.restrictedPeriods)),errors.wrap('supplied properties not correct for "TimeWindowProperty"')}function convertCfnCampaignTimeWindowPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignTimeWindowPropertyValidator(properties).assertSuccess(),{OpenHours:convertCfnCampaignOpenHoursPropertyToCloudFormation(properties.openHours),RestrictedPeriods:convertCfnCampaignRestrictedPeriodsPropertyToCloudFormation(properties.restrictedPeriods)}):properties}function CfnCampaignTimeWindowPropertyFromCloudFormation(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("openHours","OpenHours",properties.OpenHours!=null?CfnCampaignOpenHoursPropertyFromCloudFormation(properties.OpenHours):void 0),ret.addPropertyResult("restrictedPeriods","RestrictedPeriods",properties.RestrictedPeriods!=null?CfnCampaignRestrictedPeriodsPropertyFromCloudFormation(properties.RestrictedPeriods):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignCommunicationTimeConfigPropertyValidator(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("email",CfnCampaignTimeWindowPropertyValidator)(properties.email)),errors.collect(cdk().propertyValidator("localTimeZoneConfig",cdk().requiredValidator)(properties.localTimeZoneConfig)),errors.collect(cdk().propertyValidator("localTimeZoneConfig",CfnCampaignLocalTimeZoneConfigPropertyValidator)(properties.localTimeZoneConfig)),errors.collect(cdk().propertyValidator("sms",CfnCampaignTimeWindowPropertyValidator)(properties.sms)),errors.collect(cdk().propertyValidator("telephony",CfnCampaignTimeWindowPropertyValidator)(properties.telephony)),errors.collect(cdk().propertyValidator("whatsApp",CfnCampaignTimeWindowPropertyValidator)(properties.whatsApp)),errors.wrap('supplied properties not correct for "CommunicationTimeConfigProperty"')}function convertCfnCampaignCommunicationTimeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignCommunicationTimeConfigPropertyValidator(properties).assertSuccess(),{Email:convertCfnCampaignTimeWindowPropertyToCloudFormation(properties.email),LocalTimeZoneConfig:convertCfnCampaignLocalTimeZoneConfigPropertyToCloudFormation(properties.localTimeZoneConfig),Sms:convertCfnCampaignTimeWindowPropertyToCloudFormation(properties.sms),Telephony:convertCfnCampaignTimeWindowPropertyToCloudFormation(properties.telephony),WhatsApp:convertCfnCampaignTimeWindowPropertyToCloudFormation(properties.whatsApp)}):properties}function CfnCampaignCommunicationTimeConfigPropertyFromCloudFormation(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("email","Email",properties.Email!=null?CfnCampaignTimeWindowPropertyFromCloudFormation(properties.Email):void 0),ret.addPropertyResult("localTimeZoneConfig","LocalTimeZoneConfig",properties.LocalTimeZoneConfig!=null?CfnCampaignLocalTimeZoneConfigPropertyFromCloudFormation(properties.LocalTimeZoneConfig):void 0),ret.addPropertyResult("sms","Sms",properties.Sms!=null?CfnCampaignTimeWindowPropertyFromCloudFormation(properties.Sms):void 0),ret.addPropertyResult("telephony","Telephony",properties.Telephony!=null?CfnCampaignTimeWindowPropertyFromCloudFormation(properties.Telephony):void 0),ret.addPropertyResult("whatsApp","WhatsApp",properties.WhatsApp!=null?CfnCampaignTimeWindowPropertyFromCloudFormation(properties.WhatsApp):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignCommunicationLimitPropertyValidator(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("frequency",cdk().requiredValidator)(properties.frequency)),errors.collect(cdk().propertyValidator("frequency",cdk().validateNumber)(properties.frequency)),errors.collect(cdk().propertyValidator("maxCountPerRecipient",cdk().requiredValidator)(properties.maxCountPerRecipient)),errors.collect(cdk().propertyValidator("maxCountPerRecipient",cdk().validateNumber)(properties.maxCountPerRecipient)),errors.collect(cdk().propertyValidator("unit",cdk().requiredValidator)(properties.unit)),errors.collect(cdk().propertyValidator("unit",cdk().validateString)(properties.unit)),errors.wrap('supplied properties not correct for "CommunicationLimitProperty"')}function convertCfnCampaignCommunicationLimitPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignCommunicationLimitPropertyValidator(properties).assertSuccess(),{Frequency:cdk().numberToCloudFormation(properties.frequency),MaxCountPerRecipient:cdk().numberToCloudFormation(properties.maxCountPerRecipient),Unit:cdk().stringToCloudFormation(properties.unit)}):properties}function CfnCampaignCommunicationLimitPropertyFromCloudFormation(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("frequency","Frequency",properties.Frequency!=null?cfn_parse().FromCloudFormation.getNumber(properties.Frequency):void 0),ret.addPropertyResult("maxCountPerRecipient","MaxCountPerRecipient",properties.MaxCountPerRecipient!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxCountPerRecipient):void 0),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse().FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignCommunicationLimitsPropertyValidator(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("communicationLimitList",cdk().listValidator(CfnCampaignCommunicationLimitPropertyValidator))(properties.communicationLimitList)),errors.wrap('supplied properties not correct for "CommunicationLimitsProperty"')}function convertCfnCampaignCommunicationLimitsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignCommunicationLimitsPropertyValidator(properties).assertSuccess(),{CommunicationLimitList:cdk().listMapper(convertCfnCampaignCommunicationLimitPropertyToCloudFormation)(properties.communicationLimitList)}):properties}function CfnCampaignCommunicationLimitsPropertyFromCloudFormation(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("communicationLimitList","CommunicationLimitList",properties.CommunicationLimitList!=null?cfn_parse().FromCloudFormation.getArray(CfnCampaignCommunicationLimitPropertyFromCloudFormation)(properties.CommunicationLimitList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignCommunicationLimitsConfigPropertyValidator(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("allChannelsSubtypes",CfnCampaignCommunicationLimitsPropertyValidator)(properties.allChannelsSubtypes)),errors.collect(cdk().propertyValidator("instanceLimitsHandling",cdk().validateString)(properties.instanceLimitsHandling)),errors.wrap('supplied properties not correct for "CommunicationLimitsConfigProperty"')}function convertCfnCampaignCommunicationLimitsConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignCommunicationLimitsConfigPropertyValidator(properties).assertSuccess(),{AllChannelsSubtypes:convertCfnCampaignCommunicationLimitsPropertyToCloudFormation(properties.allChannelsSubtypes),InstanceLimitsHandling:cdk().stringToCloudFormation(properties.instanceLimitsHandling)}):properties}function CfnCampaignCommunicationLimitsConfigPropertyFromCloudFormation(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("allChannelsSubtypes","AllChannelsSubtypes",properties.AllChannelsSubtypes!=null?CfnCampaignCommunicationLimitsPropertyFromCloudFormation(properties.AllChannelsSubtypes):void 0),ret.addPropertyResult("instanceLimitsHandling","InstanceLimitsHandling",properties.InstanceLimitsHandling!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceLimitsHandling):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignEntryLimitsConfigPropertyValidator(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("maxEntryCount",cdk().requiredValidator)(properties.maxEntryCount)),errors.collect(cdk().propertyValidator("maxEntryCount",cdk().validateNumber)(properties.maxEntryCount)),errors.collect(cdk().propertyValidator("minEntryInterval",cdk().requiredValidator)(properties.minEntryInterval)),errors.collect(cdk().propertyValidator("minEntryInterval",cdk().validateString)(properties.minEntryInterval)),errors.wrap('supplied properties not correct for "EntryLimitsConfigProperty"')}function convertCfnCampaignEntryLimitsConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignEntryLimitsConfigPropertyValidator(properties).assertSuccess(),{MaxEntryCount:cdk().numberToCloudFormation(properties.maxEntryCount),MinEntryInterval:cdk().stringToCloudFormation(properties.minEntryInterval)}):properties}function CfnCampaignEntryLimitsConfigPropertyFromCloudFormation(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("maxEntryCount","MaxEntryCount",properties.MaxEntryCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxEntryCount):void 0),ret.addPropertyResult("minEntryInterval","MinEntryInterval",properties.MinEntryInterval!=null?cfn_parse().FromCloudFormation.getString(properties.MinEntryInterval):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCampaignPropsValidator(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("channelSubtypeConfig",CfnCampaignChannelSubtypeConfigPropertyValidator)(properties.channelSubtypeConfig)),errors.collect(cdk().propertyValidator("communicationLimitsOverride",CfnCampaignCommunicationLimitsConfigPropertyValidator)(properties.communicationLimitsOverride)),errors.collect(cdk().propertyValidator("communicationTimeConfig",CfnCampaignCommunicationTimeConfigPropertyValidator)(properties.communicationTimeConfig)),errors.collect(cdk().propertyValidator("connectCampaignFlowArn",cdk().validateString)(properties.connectCampaignFlowArn)),errors.collect(cdk().propertyValidator("connectInstanceId",cdk().requiredValidator)(properties.connectInstanceId)),errors.collect(cdk().propertyValidator("connectInstanceId",cdk().validateString)(properties.connectInstanceId)),errors.collect(cdk().propertyValidator("entryLimitsConfig",CfnCampaignEntryLimitsConfigPropertyValidator)(properties.entryLimitsConfig)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("schedule",CfnCampaignSchedulePropertyValidator)(properties.schedule)),errors.collect(cdk().propertyValidator("source",CfnCampaignSourcePropertyValidator)(properties.source)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnCampaignProps"')}function convertCfnCampaignPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCampaignPropsValidator(properties).assertSuccess(),{ChannelSubtypeConfig:convertCfnCampaignChannelSubtypeConfigPropertyToCloudFormation(properties.channelSubtypeConfig),CommunicationLimitsOverride:convertCfnCampaignCommunicationLimitsConfigPropertyToCloudFormation(properties.communicationLimitsOverride),CommunicationTimeConfig:convertCfnCampaignCommunicationTimeConfigPropertyToCloudFormation(properties.communicationTimeConfig),ConnectCampaignFlowArn:cdk().stringToCloudFormation(properties.connectCampaignFlowArn),ConnectInstanceId:cdk().stringToCloudFormation(properties.connectInstanceId),EntryLimitsConfig:convertCfnCampaignEntryLimitsConfigPropertyToCloudFormation(properties.entryLimitsConfig),Name:cdk().stringToCloudFormation(properties.name),Schedule:convertCfnCampaignSchedulePropertyToCloudFormation(properties.schedule),Source:convertCfnCampaignSourcePropertyToCloudFormation(properties.source),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnCampaignPropsFromCloudFormation(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("channelSubtypeConfig","ChannelSubtypeConfig",properties.ChannelSubtypeConfig!=null?CfnCampaignChannelSubtypeConfigPropertyFromCloudFormation(properties.ChannelSubtypeConfig):void 0),ret.addPropertyResult("communicationLimitsOverride","CommunicationLimitsOverride",properties.CommunicationLimitsOverride!=null?CfnCampaignCommunicationLimitsConfigPropertyFromCloudFormation(properties.CommunicationLimitsOverride):void 0),ret.addPropertyResult("communicationTimeConfig","CommunicationTimeConfig",properties.CommunicationTimeConfig!=null?CfnCampaignCommunicationTimeConfigPropertyFromCloudFormation(properties.CommunicationTimeConfig):void 0),ret.addPropertyResult("connectCampaignFlowArn","ConnectCampaignFlowArn",properties.ConnectCampaignFlowArn!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectCampaignFlowArn):void 0),ret.addPropertyResult("connectInstanceId","ConnectInstanceId",properties.ConnectInstanceId!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectInstanceId):void 0),ret.addPropertyResult("entryLimitsConfig","EntryLimitsConfig",properties.EntryLimitsConfig!=null?CfnCampaignEntryLimitsConfigPropertyFromCloudFormation(properties.EntryLimitsConfig):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("schedule","Schedule",properties.Schedule!=null?CfnCampaignSchedulePropertyFromCloudFormation(properties.Schedule):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnCampaignSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}