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

2 lines
226 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnSegmentDefinition=exports.CfnRecommender=exports.CfnEventTrigger=exports.CfnObjectType=exports.CfnIntegration=exports.CfnEventStream=exports.CfnDomain=exports.CfnCalculatedAttributeDefinition=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 CfnCalculatedAttributeDefinition extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_customerprofiles.CfnCalculatedAttributeDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::CustomerProfiles::CalculatedAttributeDefinition";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCalculatedAttributeDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCalculatedAttributeDefinition(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 isCfnCalculatedAttributeDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCalculatedAttributeDefinition.CFN_RESOURCE_TYPE_NAME}_attributeDetails;_calculatedAttributeName;cdkTagManager;_conditions;_description;_displayName;_domainName;_statistic;_tags;_useHistoricalData;cfnPropertyNames={attributeDetails:"AttributeDetails",calculatedAttributeName:"CalculatedAttributeName",tags:"Tags",conditions:"Conditions",description:"Description",displayName:"DisplayName",domainName:"DomainName",statistic:"Statistic",useHistoricalData:"UseHistoricalData"};constructor(scope,id,props){super(scope,id,{type:CfnCalculatedAttributeDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_customerprofiles_CfnCalculatedAttributeDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCalculatedAttributeDefinition),error}cdk().requireProperty(props,"attributeDetails",this),cdk().requireProperty(props,"calculatedAttributeName",this),cdk().requireProperty(props,"domainName",this),cdk().requireProperty(props,"statistic",this),this._attributeDetails=props.attributeDetails,this._calculatedAttributeName=props.calculatedAttributeName,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CustomerProfiles::CalculatedAttributeDefinition",void 0,{tagPropertyName:"tags"}),this._conditions=props.conditions,this._description=props.description,this._displayName=props.displayName,this._domainName=props.domainName,this._statistic=props.statistic,this._tags=props.tags,this._useHistoricalData=props.useHistoricalData}get calculatedAttributeDefinitionRef(){return{domainName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),calculatedAttributeName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get attributeDetails(){return this._attributeDetails}set attributeDetails(value){cdk().traceProperty(this.node,"AttributeDetails"),this._attributeDetails=value}get calculatedAttributeName(){return this._calculatedAttributeName}set calculatedAttributeName(value){cdk().traceProperty(this.node,"CalculatedAttributeName"),this._calculatedAttributeName=value}get conditions(){return this._conditions}set conditions(value){cdk().traceProperty(this.node,"Conditions"),this._conditions=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get domainName(){return this._domainName}set domainName(value){cdk().traceProperty(this.node,"DomainName"),this._domainName=value}get statistic(){return this._statistic}set statistic(value){cdk().traceProperty(this.node,"Statistic"),this._statistic=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get useHistoricalData(){return this._useHistoricalData}set useHistoricalData(value){cdk().traceProperty(this.node,"UseHistoricalData"),this._useHistoricalData=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedAt(){return cdk().Token.asString(this.getAtt("LastUpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrReadiness(){return this.getAtt("Readiness")}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{attributeDetails:this._attributeDetails,calculatedAttributeName:this._calculatedAttributeName,tags:this.cdkTagManager.renderTags(this._tags),conditions:this._conditions,description:this._description,displayName:this._displayName,domainName:this._domainName,statistic:this._statistic,useHistoricalData:this._useHistoricalData}}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",CfnCalculatedAttributeDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCalculatedAttributeDefinitionPropsToCloudFormation(props)}}exports.CfnCalculatedAttributeDefinition=CfnCalculatedAttributeDefinition;function CfnCalculatedAttributeDefinitionAttributeItemPropertyValidator(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("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "AttributeItemProperty"')}function convertCfnCalculatedAttributeDefinitionAttributeItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCalculatedAttributeDefinitionAttributeItemPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnCalculatedAttributeDefinitionAttributeItemPropertyFromCloudFormation(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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCalculatedAttributeDefinitionAttributeDetailsPropertyValidator(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("attributes",cdk().requiredValidator)(properties.attributes)),errors.collect(cdk().propertyValidator("attributes",cdk().listValidator(CfnCalculatedAttributeDefinitionAttributeItemPropertyValidator))(properties.attributes)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "AttributeDetailsProperty"')}function convertCfnCalculatedAttributeDefinitionAttributeDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCalculatedAttributeDefinitionAttributeDetailsPropertyValidator(properties).assertSuccess(),{Attributes:cdk().listMapper(convertCfnCalculatedAttributeDefinitionAttributeItemPropertyToCloudFormation)(properties.attributes),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnCalculatedAttributeDefinitionAttributeDetailsPropertyFromCloudFormation(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("attributes","Attributes",properties.Attributes!=null?cfn_parse().FromCloudFormation.getArray(CfnCalculatedAttributeDefinitionAttributeItemPropertyFromCloudFormation)(properties.Attributes):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCalculatedAttributeDefinitionValueRangePropertyValidator(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("end",cdk().requiredValidator)(properties.end)),errors.collect(cdk().propertyValidator("end",cdk().validateNumber)(properties.end)),errors.collect(cdk().propertyValidator("start",cdk().requiredValidator)(properties.start)),errors.collect(cdk().propertyValidator("start",cdk().validateNumber)(properties.start)),errors.wrap('supplied properties not correct for "ValueRangeProperty"')}function convertCfnCalculatedAttributeDefinitionValueRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCalculatedAttributeDefinitionValueRangePropertyValidator(properties).assertSuccess(),{End:cdk().numberToCloudFormation(properties.end),Start:cdk().numberToCloudFormation(properties.start)}):properties}function CfnCalculatedAttributeDefinitionValueRangePropertyFromCloudFormation(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("end","End",properties.End!=null?cfn_parse().FromCloudFormation.getNumber(properties.End):void 0),ret.addPropertyResult("start","Start",properties.Start!=null?cfn_parse().FromCloudFormation.getNumber(properties.Start):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCalculatedAttributeDefinitionRangePropertyValidator(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("timestampFormat",cdk().validateString)(properties.timestampFormat)),errors.collect(cdk().propertyValidator("timestampSource",cdk().validateString)(properties.timestampSource)),errors.collect(cdk().propertyValidator("unit",cdk().requiredValidator)(properties.unit)),errors.collect(cdk().propertyValidator("unit",cdk().validateString)(properties.unit)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.collect(cdk().propertyValidator("valueRange",CfnCalculatedAttributeDefinitionValueRangePropertyValidator)(properties.valueRange)),errors.wrap('supplied properties not correct for "RangeProperty"')}function convertCfnCalculatedAttributeDefinitionRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCalculatedAttributeDefinitionRangePropertyValidator(properties).assertSuccess(),{TimestampFormat:cdk().stringToCloudFormation(properties.timestampFormat),TimestampSource:cdk().stringToCloudFormation(properties.timestampSource),Unit:cdk().stringToCloudFormation(properties.unit),Value:cdk().numberToCloudFormation(properties.value),ValueRange:convertCfnCalculatedAttributeDefinitionValueRangePropertyToCloudFormation(properties.valueRange)}):properties}function CfnCalculatedAttributeDefinitionRangePropertyFromCloudFormation(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("timestampFormat","TimestampFormat",properties.TimestampFormat!=null?cfn_parse().FromCloudFormation.getString(properties.TimestampFormat):void 0),ret.addPropertyResult("timestampSource","TimestampSource",properties.TimestampSource!=null?cfn_parse().FromCloudFormation.getString(properties.TimestampSource):void 0),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse().FromCloudFormation.getString(properties.Unit):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addPropertyResult("valueRange","ValueRange",properties.ValueRange!=null?CfnCalculatedAttributeDefinitionValueRangePropertyFromCloudFormation(properties.ValueRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCalculatedAttributeDefinitionThresholdPropertyValidator(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("operator",cdk().requiredValidator)(properties.operator)),errors.collect(cdk().propertyValidator("operator",cdk().validateString)(properties.operator)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "ThresholdProperty"')}function convertCfnCalculatedAttributeDefinitionThresholdPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCalculatedAttributeDefinitionThresholdPropertyValidator(properties).assertSuccess(),{Operator:cdk().stringToCloudFormation(properties.operator),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnCalculatedAttributeDefinitionThresholdPropertyFromCloudFormation(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("operator","Operator",properties.Operator!=null?cfn_parse().FromCloudFormation.getString(properties.Operator):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCalculatedAttributeDefinitionConditionsPropertyValidator(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("objectCount",cdk().validateNumber)(properties.objectCount)),errors.collect(cdk().propertyValidator("range",CfnCalculatedAttributeDefinitionRangePropertyValidator)(properties.range)),errors.collect(cdk().propertyValidator("threshold",CfnCalculatedAttributeDefinitionThresholdPropertyValidator)(properties.threshold)),errors.wrap('supplied properties not correct for "ConditionsProperty"')}function convertCfnCalculatedAttributeDefinitionConditionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCalculatedAttributeDefinitionConditionsPropertyValidator(properties).assertSuccess(),{ObjectCount:cdk().numberToCloudFormation(properties.objectCount),Range:convertCfnCalculatedAttributeDefinitionRangePropertyToCloudFormation(properties.range),Threshold:convertCfnCalculatedAttributeDefinitionThresholdPropertyToCloudFormation(properties.threshold)}):properties}function CfnCalculatedAttributeDefinitionConditionsPropertyFromCloudFormation(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("objectCount","ObjectCount",properties.ObjectCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.ObjectCount):void 0),ret.addPropertyResult("range","Range",properties.Range!=null?CfnCalculatedAttributeDefinitionRangePropertyFromCloudFormation(properties.Range):void 0),ret.addPropertyResult("threshold","Threshold",properties.Threshold!=null?CfnCalculatedAttributeDefinitionThresholdPropertyFromCloudFormation(properties.Threshold):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCalculatedAttributeDefinitionReadinessPropertyValidator(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("message",cdk().validateString)(properties.message)),errors.collect(cdk().propertyValidator("progressPercentage",cdk().validateNumber)(properties.progressPercentage)),errors.wrap('supplied properties not correct for "ReadinessProperty"')}function convertCfnCalculatedAttributeDefinitionReadinessPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCalculatedAttributeDefinitionReadinessPropertyValidator(properties).assertSuccess(),{Message:cdk().stringToCloudFormation(properties.message),ProgressPercentage:cdk().numberToCloudFormation(properties.progressPercentage)}):properties}function CfnCalculatedAttributeDefinitionReadinessPropertyFromCloudFormation(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("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addPropertyResult("progressPercentage","ProgressPercentage",properties.ProgressPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.ProgressPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCalculatedAttributeDefinitionPropsValidator(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("attributeDetails",cdk().requiredValidator)(properties.attributeDetails)),errors.collect(cdk().propertyValidator("attributeDetails",CfnCalculatedAttributeDefinitionAttributeDetailsPropertyValidator)(properties.attributeDetails)),errors.collect(cdk().propertyValidator("calculatedAttributeName",cdk().requiredValidator)(properties.calculatedAttributeName)),errors.collect(cdk().propertyValidator("calculatedAttributeName",cdk().validateString)(properties.calculatedAttributeName)),errors.collect(cdk().propertyValidator("conditions",CfnCalculatedAttributeDefinitionConditionsPropertyValidator)(properties.conditions)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("statistic",cdk().requiredValidator)(properties.statistic)),errors.collect(cdk().propertyValidator("statistic",cdk().validateString)(properties.statistic)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("useHistoricalData",cdk().validateBoolean)(properties.useHistoricalData)),errors.wrap('supplied properties not correct for "CfnCalculatedAttributeDefinitionProps"')}function convertCfnCalculatedAttributeDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCalculatedAttributeDefinitionPropsValidator(properties).assertSuccess(),{AttributeDetails:convertCfnCalculatedAttributeDefinitionAttributeDetailsPropertyToCloudFormation(properties.attributeDetails),CalculatedAttributeName:cdk().stringToCloudFormation(properties.calculatedAttributeName),Conditions:convertCfnCalculatedAttributeDefinitionConditionsPropertyToCloudFormation(properties.conditions),Description:cdk().stringToCloudFormation(properties.description),DisplayName:cdk().stringToCloudFormation(properties.displayName),DomainName:cdk().stringToCloudFormation(properties.domainName),Statistic:cdk().stringToCloudFormation(properties.statistic),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UseHistoricalData:cdk().booleanToCloudFormation(properties.useHistoricalData)}):properties}function CfnCalculatedAttributeDefinitionPropsFromCloudFormation(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("attributeDetails","AttributeDetails",properties.AttributeDetails!=null?CfnCalculatedAttributeDefinitionAttributeDetailsPropertyFromCloudFormation(properties.AttributeDetails):void 0),ret.addPropertyResult("calculatedAttributeName","CalculatedAttributeName",properties.CalculatedAttributeName!=null?cfn_parse().FromCloudFormation.getString(properties.CalculatedAttributeName):void 0),ret.addPropertyResult("conditions","Conditions",properties.Conditions!=null?CfnCalculatedAttributeDefinitionConditionsPropertyFromCloudFormation(properties.Conditions):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("statistic","Statistic",properties.Statistic!=null?cfn_parse().FromCloudFormation.getString(properties.Statistic):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("useHistoricalData","UseHistoricalData",properties.UseHistoricalData!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseHistoricalData):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDomain extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_customerprofiles.CfnDomain",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::CustomerProfiles::Domain";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDomainPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDomain(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 isCfnDomain(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDomain.CFN_RESOURCE_TYPE_NAME}static fromDomainName(scope,id,domainName){class Import extends cdk().Resource{domainRef;constructor(scope2,id2,domainName2){super(scope2,id2),this.domainRef={domainName:domainName2}}}return new Import(scope,id,domainName)}static arnForDomain(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_customerprofiles_IDomainRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDomain),error}return new(cfn_parse()).TemplateString("arn:${Partition}:profile:${Region}:${Account}:domains/${DomainName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,DomainName:resource.domainRef.domainName})}_dataStore;_deadLetterQueueUrl;_defaultEncryptionKey;_defaultExpirationDays;_domainName;_matching;_ruleBasedMatching;tags;_tagsRaw;cfnPropertyNames={dataStore:"DataStore",deadLetterQueueUrl:"DeadLetterQueueUrl",defaultEncryptionKey:"DefaultEncryptionKey",defaultExpirationDays:"DefaultExpirationDays",domainName:"DomainName",matching:"Matching",ruleBasedMatching:"RuleBasedMatching",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnDomain.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_customerprofiles_CfnDomainProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDomain),error}cdk().requireProperty(props,"defaultExpirationDays",this),cdk().requireProperty(props,"domainName",this),this._dataStore=props.dataStore,this._deadLetterQueueUrl=props.deadLetterQueueUrl,this._defaultEncryptionKey=props.defaultEncryptionKey,this._defaultExpirationDays=props.defaultExpirationDays,this._domainName=props.domainName,this._matching=props.matching,this._ruleBasedMatching=props.ruleBasedMatching,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CustomerProfiles::Domain",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get domainRef(){return{domainName:this.ref}}get dataStore(){return this._dataStore}set dataStore(value){cdk().traceProperty(this.node,"DataStore"),this._dataStore=value}get deadLetterQueueUrl(){return this._deadLetterQueueUrl}set deadLetterQueueUrl(value){cdk().traceProperty(this.node,"DeadLetterQueueUrl"),this._deadLetterQueueUrl=value}get defaultEncryptionKey(){return this._defaultEncryptionKey}set defaultEncryptionKey(value){cdk().traceProperty(this.node,"DefaultEncryptionKey"),this._defaultEncryptionKey=value}get defaultExpirationDays(){return this._defaultExpirationDays}set defaultExpirationDays(value){cdk().traceProperty(this.node,"DefaultExpirationDays"),this._defaultExpirationDays=value}get domainName(){return this._domainName}set domainName(value){cdk().traceProperty(this.node,"DomainName"),this._domainName=value}get matching(){return this._matching}set matching(value){cdk().traceProperty(this.node,"Matching"),this._matching=value}get ruleBasedMatching(){return this._ruleBasedMatching}set ruleBasedMatching(value){cdk().traceProperty(this.node,"RuleBasedMatching"),this._ruleBasedMatching=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrDataStoreReadiness(){return this.getAtt("DataStore.Readiness")}get attrLastUpdatedAt(){return cdk().Token.asString(this.getAtt("LastUpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrRuleBasedMatchingStatus(){return cdk().Token.asString(this.getAtt("RuleBasedMatching.Status",cdk().ResolutionTypeHint.STRING))}get attrStats(){return this.getAtt("Stats")}get cfnProperties(){return{dataStore:this._dataStore,deadLetterQueueUrl:this._deadLetterQueueUrl,defaultEncryptionKey:this._defaultEncryptionKey,defaultExpirationDays:this._defaultExpirationDays,domainName:this._domainName,matching:this._matching,ruleBasedMatching:this._ruleBasedMatching,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",CfnDomain.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDomainPropsToCloudFormation(props)}}exports.CfnDomain=CfnDomain;function CfnDomainConflictResolutionPropertyValidator(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("conflictResolvingModel",cdk().requiredValidator)(properties.conflictResolvingModel)),errors.collect(cdk().propertyValidator("conflictResolvingModel",cdk().validateString)(properties.conflictResolvingModel)),errors.collect(cdk().propertyValidator("sourceName",cdk().validateString)(properties.sourceName)),errors.wrap('supplied properties not correct for "ConflictResolutionProperty"')}function convertCfnDomainConflictResolutionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainConflictResolutionPropertyValidator(properties).assertSuccess(),{ConflictResolvingModel:cdk().stringToCloudFormation(properties.conflictResolvingModel),SourceName:cdk().stringToCloudFormation(properties.sourceName)}):properties}function CfnDomainConflictResolutionPropertyFromCloudFormation(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("conflictResolvingModel","ConflictResolvingModel",properties.ConflictResolvingModel!=null?cfn_parse().FromCloudFormation.getString(properties.ConflictResolvingModel):void 0),ret.addPropertyResult("sourceName","SourceName",properties.SourceName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainConsolidationPropertyValidator(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("matchingAttributesList",cdk().requiredValidator)(properties.matchingAttributesList)),errors.collect(cdk().propertyValidator("matchingAttributesList",cdk().listValidator(cdk().listValidator(cdk().validateString)))(properties.matchingAttributesList)),errors.wrap('supplied properties not correct for "ConsolidationProperty"')}function convertCfnDomainConsolidationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainConsolidationPropertyValidator(properties).assertSuccess(),{MatchingAttributesList:cdk().listMapper(cdk().listMapper(cdk().stringToCloudFormation))(properties.matchingAttributesList)}):properties}function CfnDomainConsolidationPropertyFromCloudFormation(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("matchingAttributesList","MatchingAttributesList",properties.MatchingAttributesList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString))(properties.MatchingAttributesList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainAutoMergingPropertyValidator(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("conflictResolution",CfnDomainConflictResolutionPropertyValidator)(properties.conflictResolution)),errors.collect(cdk().propertyValidator("consolidation",CfnDomainConsolidationPropertyValidator)(properties.consolidation)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("minAllowedConfidenceScoreForMerging",cdk().validateNumber)(properties.minAllowedConfidenceScoreForMerging)),errors.wrap('supplied properties not correct for "AutoMergingProperty"')}function convertCfnDomainAutoMergingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainAutoMergingPropertyValidator(properties).assertSuccess(),{ConflictResolution:convertCfnDomainConflictResolutionPropertyToCloudFormation(properties.conflictResolution),Consolidation:convertCfnDomainConsolidationPropertyToCloudFormation(properties.consolidation),Enabled:cdk().booleanToCloudFormation(properties.enabled),MinAllowedConfidenceScoreForMerging:cdk().numberToCloudFormation(properties.minAllowedConfidenceScoreForMerging)}):properties}function CfnDomainAutoMergingPropertyFromCloudFormation(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("conflictResolution","ConflictResolution",properties.ConflictResolution!=null?CfnDomainConflictResolutionPropertyFromCloudFormation(properties.ConflictResolution):void 0),ret.addPropertyResult("consolidation","Consolidation",properties.Consolidation!=null?CfnDomainConsolidationPropertyFromCloudFormation(properties.Consolidation):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("minAllowedConfidenceScoreForMerging","MinAllowedConfidenceScoreForMerging",properties.MinAllowedConfidenceScoreForMerging!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinAllowedConfidenceScoreForMerging):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainS3ExportingConfigPropertyValidator(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("s3BucketName",cdk().requiredValidator)(properties.s3BucketName)),errors.collect(cdk().propertyValidator("s3BucketName",cdk().validateString)(properties.s3BucketName)),errors.collect(cdk().propertyValidator("s3KeyName",cdk().validateString)(properties.s3KeyName)),errors.wrap('supplied properties not correct for "S3ExportingConfigProperty"')}function convertCfnDomainS3ExportingConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainS3ExportingConfigPropertyValidator(properties).assertSuccess(),{S3BucketName:cdk().stringToCloudFormation(properties.s3BucketName),S3KeyName:cdk().stringToCloudFormation(properties.s3KeyName)}):properties}function CfnDomainS3ExportingConfigPropertyFromCloudFormation(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("s3BucketName","S3BucketName",properties.S3BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.S3BucketName):void 0),ret.addPropertyResult("s3KeyName","S3KeyName",properties.S3KeyName!=null?cfn_parse().FromCloudFormation.getString(properties.S3KeyName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainExportingConfigPropertyValidator(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("s3Exporting",CfnDomainS3ExportingConfigPropertyValidator)(properties.s3Exporting)),errors.wrap('supplied properties not correct for "ExportingConfigProperty"')}function convertCfnDomainExportingConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainExportingConfigPropertyValidator(properties).assertSuccess(),{S3Exporting:convertCfnDomainS3ExportingConfigPropertyToCloudFormation(properties.s3Exporting)}):properties}function CfnDomainExportingConfigPropertyFromCloudFormation(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("s3Exporting","S3Exporting",properties.S3Exporting!=null?CfnDomainS3ExportingConfigPropertyFromCloudFormation(properties.S3Exporting):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainJobSchedulePropertyValidator(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("dayOfTheWeek",cdk().requiredValidator)(properties.dayOfTheWeek)),errors.collect(cdk().propertyValidator("dayOfTheWeek",cdk().validateString)(properties.dayOfTheWeek)),errors.collect(cdk().propertyValidator("time",cdk().requiredValidator)(properties.time)),errors.collect(cdk().propertyValidator("time",cdk().validateString)(properties.time)),errors.wrap('supplied properties not correct for "JobScheduleProperty"')}function convertCfnDomainJobSchedulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainJobSchedulePropertyValidator(properties).assertSuccess(),{DayOfTheWeek:cdk().stringToCloudFormation(properties.dayOfTheWeek),Time:cdk().stringToCloudFormation(properties.time)}):properties}function CfnDomainJobSchedulePropertyFromCloudFormation(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("dayOfTheWeek","DayOfTheWeek",properties.DayOfTheWeek!=null?cfn_parse().FromCloudFormation.getString(properties.DayOfTheWeek):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?cfn_parse().FromCloudFormation.getString(properties.Time):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainMatchingPropertyValidator(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("autoMerging",CfnDomainAutoMergingPropertyValidator)(properties.autoMerging)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("exportingConfig",CfnDomainExportingConfigPropertyValidator)(properties.exportingConfig)),errors.collect(cdk().propertyValidator("jobSchedule",CfnDomainJobSchedulePropertyValidator)(properties.jobSchedule)),errors.wrap('supplied properties not correct for "MatchingProperty"')}function convertCfnDomainMatchingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainMatchingPropertyValidator(properties).assertSuccess(),{AutoMerging:convertCfnDomainAutoMergingPropertyToCloudFormation(properties.autoMerging),Enabled:cdk().booleanToCloudFormation(properties.enabled),ExportingConfig:convertCfnDomainExportingConfigPropertyToCloudFormation(properties.exportingConfig),JobSchedule:convertCfnDomainJobSchedulePropertyToCloudFormation(properties.jobSchedule)}):properties}function CfnDomainMatchingPropertyFromCloudFormation(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("autoMerging","AutoMerging",properties.AutoMerging!=null?CfnDomainAutoMergingPropertyFromCloudFormation(properties.AutoMerging):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("exportingConfig","ExportingConfig",properties.ExportingConfig!=null?CfnDomainExportingConfigPropertyFromCloudFormation(properties.ExportingConfig):void 0),ret.addPropertyResult("jobSchedule","JobSchedule",properties.JobSchedule!=null?CfnDomainJobSchedulePropertyFromCloudFormation(properties.JobSchedule):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainAttributeTypesSelectorPropertyValidator(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("address",cdk().listValidator(cdk().validateString))(properties.address)),errors.collect(cdk().propertyValidator("attributeMatchingModel",cdk().requiredValidator)(properties.attributeMatchingModel)),errors.collect(cdk().propertyValidator("attributeMatchingModel",cdk().validateString)(properties.attributeMatchingModel)),errors.collect(cdk().propertyValidator("emailAddress",cdk().listValidator(cdk().validateString))(properties.emailAddress)),errors.collect(cdk().propertyValidator("phoneNumber",cdk().listValidator(cdk().validateString))(properties.phoneNumber)),errors.wrap('supplied properties not correct for "AttributeTypesSelectorProperty"')}function convertCfnDomainAttributeTypesSelectorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainAttributeTypesSelectorPropertyValidator(properties).assertSuccess(),{Address:cdk().listMapper(cdk().stringToCloudFormation)(properties.address),AttributeMatchingModel:cdk().stringToCloudFormation(properties.attributeMatchingModel),EmailAddress:cdk().listMapper(cdk().stringToCloudFormation)(properties.emailAddress),PhoneNumber:cdk().listMapper(cdk().stringToCloudFormation)(properties.phoneNumber)}):properties}function CfnDomainAttributeTypesSelectorPropertyFromCloudFormation(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("address","Address",properties.Address!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Address):void 0),ret.addPropertyResult("attributeMatchingModel","AttributeMatchingModel",properties.AttributeMatchingModel!=null?cfn_parse().FromCloudFormation.getString(properties.AttributeMatchingModel):void 0),ret.addPropertyResult("emailAddress","EmailAddress",properties.EmailAddress!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EmailAddress):void 0),ret.addPropertyResult("phoneNumber","PhoneNumber",properties.PhoneNumber!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PhoneNumber):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainMatchingRulePropertyValidator(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("rule",cdk().requiredValidator)(properties.rule)),errors.collect(cdk().propertyValidator("rule",cdk().listValidator(cdk().validateString))(properties.rule)),errors.wrap('supplied properties not correct for "MatchingRuleProperty"')}function convertCfnDomainMatchingRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainMatchingRulePropertyValidator(properties).assertSuccess(),{Rule:cdk().listMapper(cdk().stringToCloudFormation)(properties.rule)}):properties}function CfnDomainMatchingRulePropertyFromCloudFormation(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("rule","Rule",properties.Rule!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Rule):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainRuleBasedMatchingPropertyValidator(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("attributeTypesSelector",CfnDomainAttributeTypesSelectorPropertyValidator)(properties.attributeTypesSelector)),errors.collect(cdk().propertyValidator("conflictResolution",CfnDomainConflictResolutionPropertyValidator)(properties.conflictResolution)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("exportingConfig",CfnDomainExportingConfigPropertyValidator)(properties.exportingConfig)),errors.collect(cdk().propertyValidator("matchingRules",cdk().listValidator(CfnDomainMatchingRulePropertyValidator))(properties.matchingRules)),errors.collect(cdk().propertyValidator("maxAllowedRuleLevelForMatching",cdk().validateNumber)(properties.maxAllowedRuleLevelForMatching)),errors.collect(cdk().propertyValidator("maxAllowedRuleLevelForMerging",cdk().validateNumber)(properties.maxAllowedRuleLevelForMerging)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "RuleBasedMatchingProperty"')}function convertCfnDomainRuleBasedMatchingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainRuleBasedMatchingPropertyValidator(properties).assertSuccess(),{AttributeTypesSelector:convertCfnDomainAttributeTypesSelectorPropertyToCloudFormation(properties.attributeTypesSelector),ConflictResolution:convertCfnDomainConflictResolutionPropertyToCloudFormation(properties.conflictResolution),Enabled:cdk().booleanToCloudFormation(properties.enabled),ExportingConfig:convertCfnDomainExportingConfigPropertyToCloudFormation(properties.exportingConfig),MatchingRules:cdk().listMapper(convertCfnDomainMatchingRulePropertyToCloudFormation)(properties.matchingRules),MaxAllowedRuleLevelForMatching:cdk().numberToCloudFormation(properties.maxAllowedRuleLevelForMatching),MaxAllowedRuleLevelForMerging:cdk().numberToCloudFormation(properties.maxAllowedRuleLevelForMerging),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnDomainRuleBasedMatchingPropertyFromCloudFormation(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("attributeTypesSelector","AttributeTypesSelector",properties.AttributeTypesSelector!=null?CfnDomainAttributeTypesSelectorPropertyFromCloudFormation(properties.AttributeTypesSelector):void 0),ret.addPropertyResult("conflictResolution","ConflictResolution",properties.ConflictResolution!=null?CfnDomainConflictResolutionPropertyFromCloudFormation(properties.ConflictResolution):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("exportingConfig","ExportingConfig",properties.ExportingConfig!=null?CfnDomainExportingConfigPropertyFromCloudFormation(properties.ExportingConfig):void 0),ret.addPropertyResult("matchingRules","MatchingRules",properties.MatchingRules!=null?cfn_parse().FromCloudFormation.getArray(CfnDomainMatchingRulePropertyFromCloudFormation)(properties.MatchingRules):void 0),ret.addPropertyResult("maxAllowedRuleLevelForMatching","MaxAllowedRuleLevelForMatching",properties.MaxAllowedRuleLevelForMatching!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxAllowedRuleLevelForMatching):void 0),ret.addPropertyResult("maxAllowedRuleLevelForMerging","MaxAllowedRuleLevelForMerging",properties.MaxAllowedRuleLevelForMerging!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxAllowedRuleLevelForMerging):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainReadinessPropertyValidator(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("message",cdk().validateString)(properties.message)),errors.collect(cdk().propertyValidator("progressPercentage",cdk().validateNumber)(properties.progressPercentage)),errors.wrap('supplied properties not correct for "ReadinessProperty"')}function convertCfnDomainReadinessPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainReadinessPropertyValidator(properties).assertSuccess(),{Message:cdk().stringToCloudFormation(properties.message),ProgressPercentage:cdk().numberToCloudFormation(properties.progressPercentage)}):properties}function CfnDomainReadinessPropertyFromCloudFormation(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("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addPropertyResult("progressPercentage","ProgressPercentage",properties.ProgressPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.ProgressPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainDataStorePropertyValidator(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("readiness",CfnDomainReadinessPropertyValidator)(properties.readiness)),errors.wrap('supplied properties not correct for "DataStoreProperty"')}function convertCfnDomainDataStorePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainDataStorePropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),Readiness:convertCfnDomainReadinessPropertyToCloudFormation(properties.readiness)}):properties}function CfnDomainDataStorePropertyFromCloudFormation(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("readiness","Readiness",properties.Readiness!=null?CfnDomainReadinessPropertyFromCloudFormation(properties.Readiness):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainDomainStatsPropertyValidator(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("meteringProfileCount",cdk().validateNumber)(properties.meteringProfileCount)),errors.collect(cdk().propertyValidator("objectCount",cdk().validateNumber)(properties.objectCount)),errors.collect(cdk().propertyValidator("profileCount",cdk().validateNumber)(properties.profileCount)),errors.collect(cdk().propertyValidator("totalSize",cdk().validateNumber)(properties.totalSize)),errors.wrap('supplied properties not correct for "DomainStatsProperty"')}function convertCfnDomainDomainStatsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainDomainStatsPropertyValidator(properties).assertSuccess(),{MeteringProfileCount:cdk().numberToCloudFormation(properties.meteringProfileCount),ObjectCount:cdk().numberToCloudFormation(properties.objectCount),ProfileCount:cdk().numberToCloudFormation(properties.profileCount),TotalSize:cdk().numberToCloudFormation(properties.totalSize)}):properties}function CfnDomainDomainStatsPropertyFromCloudFormation(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("meteringProfileCount","MeteringProfileCount",properties.MeteringProfileCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.MeteringProfileCount):void 0),ret.addPropertyResult("objectCount","ObjectCount",properties.ObjectCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.ObjectCount):void 0),ret.addPropertyResult("profileCount","ProfileCount",properties.ProfileCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.ProfileCount):void 0),ret.addPropertyResult("totalSize","TotalSize",properties.TotalSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.TotalSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainPropsValidator(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("dataStore",CfnDomainDataStorePropertyValidator)(properties.dataStore)),errors.collect(cdk().propertyValidator("deadLetterQueueUrl",cdk().validateString)(properties.deadLetterQueueUrl)),errors.collect(cdk().propertyValidator("defaultEncryptionKey",cdk().validateString)(properties.defaultEncryptionKey)),errors.collect(cdk().propertyValidator("defaultExpirationDays",cdk().requiredValidator)(properties.defaultExpirationDays)),errors.collect(cdk().propertyValidator("defaultExpirationDays",cdk().validateNumber)(properties.defaultExpirationDays)),errors.collect(cdk().propertyValidator("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("matching",CfnDomainMatchingPropertyValidator)(properties.matching)),errors.collect(cdk().propertyValidator("ruleBasedMatching",CfnDomainRuleBasedMatchingPropertyValidator)(properties.ruleBasedMatching)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDomainProps"')}function convertCfnDomainPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainPropsValidator(properties).assertSuccess(),{DataStore:convertCfnDomainDataStorePropertyToCloudFormation(properties.dataStore),DeadLetterQueueUrl:cdk().stringToCloudFormation(properties.deadLetterQueueUrl),DefaultEncryptionKey:cdk().stringToCloudFormation(properties.defaultEncryptionKey),DefaultExpirationDays:cdk().numberToCloudFormation(properties.defaultExpirationDays),DomainName:cdk().stringToCloudFormation(properties.domainName),Matching:convertCfnDomainMatchingPropertyToCloudFormation(properties.matching),RuleBasedMatching:convertCfnDomainRuleBasedMatchingPropertyToCloudFormation(properties.ruleBasedMatching),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDomainPropsFromCloudFormation(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("dataStore","DataStore",properties.DataStore!=null?CfnDomainDataStorePropertyFromCloudFormation(properties.DataStore):void 0),ret.addPropertyResult("deadLetterQueueUrl","DeadLetterQueueUrl",properties.DeadLetterQueueUrl!=null?cfn_parse().FromCloudFormation.getString(properties.DeadLetterQueueUrl):void 0),ret.addPropertyResult("defaultEncryptionKey","DefaultEncryptionKey",properties.DefaultEncryptionKey!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultEncryptionKey):void 0),ret.addPropertyResult("defaultExpirationDays","DefaultExpirationDays",properties.DefaultExpirationDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.DefaultExpirationDays):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("matching","Matching",properties.Matching!=null?CfnDomainMatchingPropertyFromCloudFormation(properties.Matching):void 0),ret.addPropertyResult("ruleBasedMatching","RuleBasedMatching",properties.RuleBasedMatching!=null?CfnDomainRuleBasedMatchingPropertyFromCloudFormation(properties.RuleBasedMatching):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 CfnEventStream extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_customerprofiles.CfnEventStream",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::CustomerProfiles::EventStream";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnEventStreamPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnEventStream(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 isCfnEventStream(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnEventStream.CFN_RESOURCE_TYPE_NAME}static arnForEventStream(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_customerprofiles_IEventStreamRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForEventStream),error}return resource.eventStreamRef.eventStreamArn}cdkTagManager;_domainName;_eventStreamName;_tags;_uri;cfnPropertyNames={tags:"Tags",domainName:"DomainName",eventStreamName:"EventStreamName",uri:"Uri"};constructor(scope,id,props){super(scope,id,{type:CfnEventStream.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_customerprofiles_CfnEventStreamProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEventStream),error}cdk().requireProperty(props,"domainName",this),cdk().requireProperty(props,"eventStreamName",this),cdk().requireProperty(props,"uri",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CustomerProfiles::EventStream",void 0,{tagPropertyName:"tags"}),this._domainName=props.domainName,this._eventStreamName=props.eventStreamName,this._tags=props.tags,this._uri=props.uri}get eventStreamRef(){return{domainName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),eventStreamName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),eventStreamArn:this.attrEventStreamArn}}get domainName(){return this._domainName}set domainName(value){cdk().traceProperty(this.node,"DomainName"),this._domainName=value}get eventStreamName(){return this._eventStreamName}set eventStreamName(value){cdk().traceProperty(this.node,"EventStreamName"),this._eventStreamName=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get uri(){return this._uri}set uri(value){cdk().traceProperty(this.node,"Uri"),this._uri=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrDestinationDetails(){return this.getAtt("DestinationDetails")}get attrDestinationDetailsStatus(){return cdk().Token.asString(this.getAtt("DestinationDetails.Status",cdk().ResolutionTypeHint.STRING))}get attrDestinationDetailsUri(){return cdk().Token.asString(this.getAtt("DestinationDetails.Uri",cdk().ResolutionTypeHint.STRING))}get attrEventStreamArn(){return cdk().Token.asString(this.getAtt("EventStreamArn",cdk().ResolutionTypeHint.STRING))}get attrState(){return cdk().Token.asString(this.getAtt("State",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),domainName:this._domainName,eventStreamName:this._eventStreamName,uri:this._uri}}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",CfnEventStream.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnEventStreamPropsToCloudFormation(props)}}exports.CfnEventStream=CfnEventStream;function CfnEventStreamDestinationDetailsPropertyValidator(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.collect(cdk().propertyValidator("uri",cdk().requiredValidator)(properties.uri)),errors.collect(cdk().propertyValidator("uri",cdk().validateString)(properties.uri)),errors.wrap('supplied properties not correct for "DestinationDetailsProperty"')}function convertCfnEventStreamDestinationDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEventStreamDestinationDetailsPropertyValidator(properties).assertSuccess(),{Status:cdk().stringToCloudFormation(properties.status),Uri:cdk().stringToCloudFormation(properties.uri)}):properties}function CfnEventStreamDestinationDetailsPropertyFromCloudFormation(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.addPropertyResult("uri","Uri",properties.Uri!=null?cfn_parse().FromCloudFormation.getString(properties.Uri):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEventStreamPropsValidator(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("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("eventStreamName",cdk().requiredValidator)(properties.eventStreamName)),errors.collect(cdk().propertyValidator("eventStreamName",cdk().validateString)(properties.eventStreamName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("uri",cdk().requiredValidator)(properties.uri)),errors.collect(cdk().propertyValidator("uri",cdk().validateString)(properties.uri)),errors.wrap('supplied properties not correct for "CfnEventStreamProps"')}function convertCfnEventStreamPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEventStreamPropsValidator(properties).assertSuccess(),{DomainName:cdk().stringToCloudFormation(properties.domainName),EventStreamName:cdk().stringToCloudFormation(properties.eventStreamName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Uri:cdk().stringToCloudFormation(properties.uri)}):properties}function CfnEventStreamPropsFromCloudFormation(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("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("eventStreamName","EventStreamName",properties.EventStreamName!=null?cfn_parse().FromCloudFormation.getString(properties.EventStreamName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("uri","Uri",properties.Uri!=null?cfn_parse().FromCloudFormation.getString(properties.Uri):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnIntegration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_customerprofiles.CfnIntegration",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::CustomerProfiles::Integration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIntegrationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnIntegration(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 isCfnIntegration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIntegration.CFN_RESOURCE_TYPE_NAME}_domainName;_eventTriggerNames;_flowDefinition;_objectTypeName;_objectTypeNames;_scope;tags;_tagsRaw;_uri;cfnPropertyNames={domainName:"DomainName",eventTriggerNames:"EventTriggerNames",flowDefinition:"FlowDefinition",objectTypeName:"ObjectTypeName",objectTypeNames:"ObjectTypeNames",scope:"Scope",tags:"Tags",uri:"Uri"};constructor(scope,id,props){super(scope,id,{type:CfnIntegration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_customerprofiles_CfnIntegrationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIntegration),error}cdk().requireProperty(props,"domainName",this),this._domainName=props.domainName,this._eventTriggerNames=props.eventTriggerNames,this._flowDefinition=props.flowDefinition,this._objectTypeName=props.objectTypeName,this._objectTypeNames=props.objectTypeNames,this._scope=props.scope,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CustomerProfiles::Integration",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._uri=props.uri}get integrationRef(){return{domainName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),uri:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get domainName(){return this._domainName}set domainName(value){cdk().traceProperty(this.node,"DomainName"),this._domainName=value}get eventTriggerNames(){return this._eventTriggerNames}set eventTriggerNames(value){cdk().traceProperty(this.node,"EventTriggerNames"),this._eventTriggerNames=value}get flowDefinition(){return this._flowDefinition}set flowDefinition(value){cdk().traceProperty(this.node,"FlowDefinition"),this._flowDefinition=value}get objectTypeName(){return this._objectTypeName}set objectTypeName(value){cdk().traceProperty(this.node,"ObjectTypeName"),this._objectTypeName=value}get objectTypeNames(){return this._objectTypeNames}set objectTypeNames(value){cdk().traceProperty(this.node,"ObjectTypeNames"),this._objectTypeNames=value}get scope(){return this._scope}set scope(value){cdk().traceProperty(this.node,"Scope"),this._scope=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get uri(){return this._uri}set uri(value){cdk().traceProperty(this.node,"Uri"),this._uri=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedAt(){return cdk().Token.asString(this.getAtt("LastUpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{domainName:this._domainName,eventTriggerNames:this._eventTriggerNames,flowDefinition:this._flowDefinition,objectTypeName:this._objectTypeName,objectTypeNames:this._objectTypeNames,scope:this._scope,tags:this.tags.renderTags(),uri:this._uri}}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",CfnIntegration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIntegrationPropsToCloudFormation(props)}}exports.CfnIntegration=CfnIntegration;function CfnIntegrationObjectTypeMappingPropertyValidator(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().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "ObjectTypeMappingProperty"')}function convertCfnIntegrationObjectTypeMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationObjectTypeMappingPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnIntegrationObjectTypeMappingPropertyFromCloudFormation(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.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationConnectorOperatorPropertyValidator(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("marketo",cdk().validateString)(properties.marketo)),errors.collect(cdk().propertyValidator("s3",cdk().validateString)(properties.s3)),errors.collect(cdk().propertyValidator("salesforce",cdk().validateString)(properties.salesforce)),errors.collect(cdk().propertyValidator("serviceNow",cdk().validateString)(properties.serviceNow)),errors.collect(cdk().propertyValidator("zendesk",cdk().validateString)(properties.zendesk)),errors.wrap('supplied properties not correct for "ConnectorOperatorProperty"')}function convertCfnIntegrationConnectorOperatorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationConnectorOperatorPropertyValidator(properties).assertSuccess(),{Marketo:cdk().stringToCloudFormation(properties.marketo),S3:cdk().stringToCloudFormation(properties.s3),Salesforce:cdk().stringToCloudFormation(properties.salesforce),ServiceNow:cdk().stringToCloudFormation(properties.serviceNow),Zendesk:cdk().stringToCloudFormation(properties.zendesk)}):properties}function CfnIntegrationConnectorOperatorPropertyFromCloudFormation(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("marketo","Marketo",properties.Marketo!=null?cfn_parse().FromCloudFormation.getString(properties.Marketo):void 0),ret.addPropertyResult("s3","S3",properties.S3!=null?cfn_parse().FromCloudFormation.getString(properties.S3):void 0),ret.addPropertyResult("salesforce","Salesforce",properties.Salesforce!=null?cfn_parse().FromCloudFormation.getString(properties.Salesforce):void 0),ret.addPropertyResult("serviceNow","ServiceNow",properties.ServiceNow!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceNow):void 0),ret.addPropertyResult("zendesk","Zendesk",properties.Zendesk!=null?cfn_parse().FromCloudFormation.getString(properties.Zendesk):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationTaskPropertiesMapPropertyValidator(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("operatorPropertyKey",cdk().requiredValidator)(properties.operatorPropertyKey)),errors.collect(cdk().propertyValidator("operatorPropertyKey",cdk().validateString)(properties.operatorPropertyKey)),errors.collect(cdk().propertyValidator("property",cdk().requiredValidator)(properties.property)),errors.collect(cdk().propertyValidator("property",cdk().validateString)(properties.property)),errors.wrap('supplied properties not correct for "TaskPropertiesMapProperty"')}function convertCfnIntegrationTaskPropertiesMapPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationTaskPropertiesMapPropertyValidator(properties).assertSuccess(),{OperatorPropertyKey:cdk().stringToCloudFormation(properties.operatorPropertyKey),Property:cdk().stringToCloudFormation(properties.property)}):properties}function CfnIntegrationTaskPropertiesMapPropertyFromCloudFormation(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("operatorPropertyKey","OperatorPropertyKey",properties.OperatorPropertyKey!=null?cfn_parse().FromCloudFormation.getString(properties.OperatorPropertyKey):void 0),ret.addPropertyResult("property","Property",properties.Property!=null?cfn_parse().FromCloudFormation.getString(properties.Property):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationTaskPropertyValidator(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("connectorOperator",CfnIntegrationConnectorOperatorPropertyValidator)(properties.connectorOperator)),errors.collect(cdk().propertyValidator("destinationField",cdk().validateString)(properties.destinationField)),errors.collect(cdk().propertyValidator("sourceFields",cdk().requiredValidator)(properties.sourceFields)),errors.collect(cdk().propertyValidator("sourceFields",cdk().listValidator(cdk().validateString))(properties.sourceFields)),errors.collect(cdk().propertyValidator("taskProperties",cdk().listValidator(CfnIntegrationTaskPropertiesMapPropertyValidator))(properties.taskProperties)),errors.collect(cdk().propertyValidator("taskType",cdk().requiredValidator)(properties.taskType)),errors.collect(cdk().propertyValidator("taskType",cdk().validateString)(properties.taskType)),errors.wrap('supplied properties not correct for "TaskProperty"')}function convertCfnIntegrationTaskPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationTaskPropertyValidator(properties).assertSuccess(),{ConnectorOperator:convertCfnIntegrationConnectorOperatorPropertyToCloudFormation(properties.connectorOperator),DestinationField:cdk().stringToCloudFormation(properties.destinationField),SourceFields:cdk().listMapper(cdk().stringToCloudFormation)(properties.sourceFields),TaskProperties:cdk().listMapper(convertCfnIntegrationTaskPropertiesMapPropertyToCloudFormation)(properties.taskProperties),TaskType:cdk().stringToCloudFormation(properties.taskType)}):properties}function CfnIntegrationTaskPropertyFromCloudFormation(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("connectorOperator","ConnectorOperator",properties.ConnectorOperator!=null?CfnIntegrationConnectorOperatorPropertyFromCloudFormation(properties.ConnectorOperator):void 0),ret.addPropertyResult("destinationField","DestinationField",properties.DestinationField!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationField):void 0),ret.addPropertyResult("sourceFields","SourceFields",properties.SourceFields!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SourceFields):void 0),ret.addPropertyResult("taskProperties","TaskProperties",properties.TaskProperties!=null?cfn_parse().FromCloudFormation.getArray(CfnIntegrationTaskPropertiesMapPropertyFromCloudFormation)(properties.TaskProperties):void 0),ret.addPropertyResult("taskType","TaskType",properties.TaskType!=null?cfn_parse().FromCloudFormation.getString(properties.TaskType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationScheduledTriggerPropertiesPropertyValidator(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("dataPullMode",cdk().validateString)(properties.dataPullMode)),errors.collect(cdk().propertyValidator("firstExecutionFrom",cdk().validateNumber)(properties.firstExecutionFrom)),errors.collect(cdk().propertyValidator("scheduleEndTime",cdk().validateNumber)(properties.scheduleEndTime)),errors.collect(cdk().propertyValidator("scheduleExpression",cdk().requiredValidator)(properties.scheduleExpression)),errors.collect(cdk().propertyValidator("scheduleExpression",cdk().validateString)(properties.scheduleExpression)),errors.collect(cdk().propertyValidator("scheduleOffset",cdk().validateNumber)(properties.scheduleOffset)),errors.collect(cdk().propertyValidator("scheduleStartTime",cdk().validateNumber)(properties.scheduleStartTime)),errors.collect(cdk().propertyValidator("timezone",cdk().validateString)(properties.timezone)),errors.wrap('supplied properties not correct for "ScheduledTriggerPropertiesProperty"')}function convertCfnIntegrationScheduledTriggerPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationScheduledTriggerPropertiesPropertyValidator(properties).assertSuccess(),{DataPullMode:cdk().stringToCloudFormation(properties.dataPullMode),FirstExecutionFrom:cdk().numberToCloudFormation(properties.firstExecutionFrom),ScheduleEndTime:cdk().numberToCloudFormation(properties.scheduleEndTime),ScheduleExpression:cdk().stringToCloudFormation(properties.scheduleExpression),ScheduleOffset:cdk().numberToCloudFormation(properties.scheduleOffset),ScheduleStartTime:cdk().numberToCloudFormation(properties.scheduleStartTime),Timezone:cdk().stringToCloudFormation(properties.timezone)}):properties}function CfnIntegrationScheduledTriggerPropertiesPropertyFromCloudFormation(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("dataPullMode","DataPullMode",properties.DataPullMode!=null?cfn_parse().FromCloudFormation.getString(properties.DataPullMode):void 0),ret.addPropertyResult("firstExecutionFrom","FirstExecutionFrom",properties.FirstExecutionFrom!=null?cfn_parse().FromCloudFormation.getNumber(properties.FirstExecutionFrom):void 0),ret.addPropertyResult("scheduleEndTime","ScheduleEndTime",properties.ScheduleEndTime!=null?cfn_parse().FromCloudFormation.getNumber(properties.ScheduleEndTime):void 0),ret.addPropertyResult("scheduleExpression","ScheduleExpression",properties.ScheduleExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleExpression):void 0),ret.addPropertyResult("scheduleOffset","ScheduleOffset",properties.ScheduleOffset!=null?cfn_parse().FromCloudFormation.getNumber(properties.ScheduleOffset):void 0),ret.addPropertyResult("scheduleStartTime","ScheduleStartTime",properties.ScheduleStartTime!=null?cfn_parse().FromCloudFormation.getNumber(properties.ScheduleStartTime):void 0),ret.addPropertyResult("timezone","Timezone",properties.Timezone!=null?cfn_parse().FromCloudFormation.getString(properties.Timezone):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationTriggerPropertiesPropertyValidator(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("scheduled",CfnIntegrationScheduledTriggerPropertiesPropertyValidator)(properties.scheduled)),errors.wrap('supplied properties not correct for "TriggerPropertiesProperty"')}function convertCfnIntegrationTriggerPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationTriggerPropertiesPropertyValidator(properties).assertSuccess(),{Scheduled:convertCfnIntegrationScheduledTriggerPropertiesPropertyToCloudFormation(properties.scheduled)}):properties}function CfnIntegrationTriggerPropertiesPropertyFromCloudFormation(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("scheduled","Scheduled",properties.Scheduled!=null?CfnIntegrationScheduledTriggerPropertiesPropertyFromCloudFormation(properties.Scheduled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationTriggerConfigPropertyValidator(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("triggerProperties",CfnIntegrationTriggerPropertiesPropertyValidator)(properties.triggerProperties)),errors.collect(cdk().propertyValidator("triggerType",cdk().requiredValidator)(properties.triggerType)),errors.collect(cdk().propertyValidator("triggerType",cdk().validateString)(properties.triggerType)),errors.wrap('supplied properties not correct for "TriggerConfigProperty"')}function convertCfnIntegrationTriggerConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationTriggerConfigPropertyValidator(properties).assertSuccess(),{TriggerProperties:convertCfnIntegrationTriggerPropertiesPropertyToCloudFormation(properties.triggerProperties),TriggerType:cdk().stringToCloudFormation(properties.triggerType)}):properties}function CfnIntegrationTriggerConfigPropertyFromCloudFormation(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("triggerProperties","TriggerProperties",properties.TriggerProperties!=null?CfnIntegrationTriggerPropertiesPropertyFromCloudFormation(properties.TriggerProperties):void 0),ret.addPropertyResult("triggerType","TriggerType",properties.TriggerType!=null?cfn_parse().FromCloudFormation.getString(properties.TriggerType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationS3SourcePropertiesPropertyValidator(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("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketPrefix",cdk().validateString)(properties.bucketPrefix)),errors.wrap('supplied properties not correct for "S3SourcePropertiesProperty"')}function convertCfnIntegrationS3SourcePropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationS3SourcePropertiesPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName),BucketPrefix:cdk().stringToCloudFormation(properties.bucketPrefix)}):properties}function CfnIntegrationS3SourcePropertiesPropertyFromCloudFormation(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("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("bucketPrefix","BucketPrefix",properties.BucketPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.BucketPrefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationServiceNowSourcePropertiesPropertyValidator(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("object",cdk().requiredValidator)(properties.object)),errors.collect(cdk().propertyValidator("object",cdk().validateString)(properties.object)),errors.wrap('supplied properties not correct for "ServiceNowSourcePropertiesProperty"')}function convertCfnIntegrationServiceNowSourcePropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationServiceNowSourcePropertiesPropertyValidator(properties).assertSuccess(),{Object:cdk().stringToCloudFormation(properties.object)}):properties}function CfnIntegrationServiceNowSourcePropertiesPropertyFromCloudFormation(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("object","Object",properties.Object!=null?cfn_parse().FromCloudFormation.getString(properties.Object):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationZendeskSourcePropertiesPropertyValidator(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("object",cdk().requiredValidator)(properties.object)),errors.collect(cdk().propertyValidator("object",cdk().validateString)(properties.object)),errors.wrap('supplied properties not correct for "ZendeskSourcePropertiesProperty"')}function convertCfnIntegrationZendeskSourcePropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationZendeskSourcePropertiesPropertyValidator(properties).assertSuccess(),{Object:cdk().stringToCloudFormation(properties.object)}):properties}function CfnIntegrationZendeskSourcePropertiesPropertyFromCloudFormation(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("object","Object",properties.Object!=null?cfn_parse().FromCloudFormation.getString(properties.Object):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationMarketoSourcePropertiesPropertyValidator(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("object",cdk().requiredValidator)(properties.object)),errors.collect(cdk().propertyValidator("object",cdk().validateString)(properties.object)),errors.wrap('supplied properties not correct for "MarketoSourcePropertiesProperty"')}function convertCfnIntegrationMarketoSourcePropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationMarketoSourcePropertiesPropertyValidator(properties).assertSuccess(),{Object:cdk().stringToCloudFormation(properties.object)}):properties}function CfnIntegrationMarketoSourcePropertiesPropertyFromCloudFormation(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("object","Object",properties.Object!=null?cfn_parse().FromCloudFormation.getString(properties.Object):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationSalesforceSourcePropertiesPropertyValidator(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("enableDynamicFieldUpdate",cdk().validateBoolean)(properties.enableDynamicFieldUpdate)),errors.collect(cdk().propertyValidator("includeDeletedRecords",cdk().validateBoolean)(properties.includeDeletedRecords)),errors.collect(cdk().propertyValidator("object",cdk().requiredValidator)(properties.object)),errors.collect(cdk().propertyValidator("object",cdk().validateString)(properties.object)),errors.wrap('supplied properties not correct for "SalesforceSourcePropertiesProperty"')}function convertCfnIntegrationSalesforceSourcePropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationSalesforceSourcePropertiesPropertyValidator(properties).assertSuccess(),{EnableDynamicFieldUpdate:cdk().booleanToCloudFormation(properties.enableDynamicFieldUpdate),IncludeDeletedRecords:cdk().booleanToCloudFormation(properties.includeDeletedRecords),Object:cdk().stringToCloudFormation(properties.object)}):properties}function CfnIntegrationSalesforceSourcePropertiesPropertyFromCloudFormation(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("enableDynamicFieldUpdate","EnableDynamicFieldUpdate",properties.EnableDynamicFieldUpdate!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableDynamicFieldUpdate):void 0),ret.addPropertyResult("includeDeletedRecords","IncludeDeletedRecords",properties.IncludeDeletedRecords!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeDeletedRecords):void 0),ret.addPropertyResult("object","Object",properties.Object!=null?cfn_parse().FromCloudFormation.getString(properties.Object):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationSourceConnectorPropertiesPropertyValidator(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("marketo",CfnIntegrationMarketoSourcePropertiesPropertyValidator)(properties.marketo)),errors.collect(cdk().propertyValidator("s3",CfnIntegrationS3SourcePropertiesPropertyValidator)(properties.s3)),errors.collect(cdk().propertyValidator("salesforce",CfnIntegrationSalesforceSourcePropertiesPropertyValidator)(properties.salesforce)),errors.collect(cdk().propertyValidator("serviceNow",CfnIntegrationServiceNowSourcePropertiesPropertyValidator)(properties.serviceNow)),errors.collect(cdk().propertyValidator("zendesk",CfnIntegrationZendeskSourcePropertiesPropertyValidator)(properties.zendesk)),errors.wrap('supplied properties not correct for "SourceConnectorPropertiesProperty"')}function convertCfnIntegrationSourceConnectorPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationSourceConnectorPropertiesPropertyValidator(properties).assertSuccess(),{Marketo:convertCfnIntegrationMarketoSourcePropertiesPropertyToCloudFormation(properties.marketo),S3:convertCfnIntegrationS3SourcePropertiesPropertyToCloudFormation(properties.s3),Salesforce:convertCfnIntegrationSalesforceSourcePropertiesPropertyToCloudFormation(properties.salesforce),ServiceNow:convertCfnIntegrationServiceNowSourcePropertiesPropertyToCloudFormation(properties.serviceNow),Zendesk:convertCfnIntegrationZendeskSourcePropertiesPropertyToCloudFormation(properties.zendesk)}):properties}function CfnIntegrationSourceConnectorPropertiesPropertyFromCloudFormation(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("marketo","Marketo",properties.Marketo!=null?CfnIntegrationMarketoSourcePropertiesPropertyFromCloudFormation(properties.Marketo):void 0),ret.addPropertyResult("s3","S3",properties.S3!=null?CfnIntegrationS3SourcePropertiesPropertyFromCloudFormation(properties.S3):void 0),ret.addPropertyResult("salesforce","Salesforce",properties.Salesforce!=null?CfnIntegrationSalesforceSourcePropertiesPropertyFromCloudFormation(properties.Salesforce):void 0),ret.addPropertyResult("serviceNow","ServiceNow",properties.ServiceNow!=null?CfnIntegrationServiceNowSourcePropertiesPropertyFromCloudFormation(properties.ServiceNow):void 0),ret.addPropertyResult("zendesk","Zendesk",properties.Zendesk!=null?CfnIntegrationZendeskSourcePropertiesPropertyFromCloudFormation(properties.Zendesk):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationIncrementalPullConfigPropertyValidator(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("datetimeTypeFieldName",cdk().validateString)(properties.datetimeTypeFieldName)),errors.wrap('supplied properties not correct for "IncrementalPullConfigProperty"')}function convertCfnIntegrationIncrementalPullConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationIncrementalPullConfigPropertyValidator(properties).assertSuccess(),{DatetimeTypeFieldName:cdk().stringToCloudFormation(properties.datetimeTypeFieldName)}):properties}function CfnIntegrationIncrementalPullConfigPropertyFromCloudFormation(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("datetimeTypeFieldName","DatetimeTypeFieldName",properties.DatetimeTypeFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DatetimeTypeFieldName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationSourceFlowConfigPropertyValidator(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("connectorProfileName",cdk().validateString)(properties.connectorProfileName)),errors.collect(cdk().propertyValidator("connectorType",cdk().requiredValidator)(properties.connectorType)),errors.collect(cdk().propertyValidator("connectorType",cdk().validateString)(properties.connectorType)),errors.collect(cdk().propertyValidator("incrementalPullConfig",CfnIntegrationIncrementalPullConfigPropertyValidator)(properties.incrementalPullConfig)),errors.collect(cdk().propertyValidator("sourceConnectorProperties",cdk().requiredValidator)(properties.sourceConnectorProperties)),errors.collect(cdk().propertyValidator("sourceConnectorProperties",CfnIntegrationSourceConnectorPropertiesPropertyValidator)(properties.sourceConnectorProperties)),errors.wrap('supplied properties not correct for "SourceFlowConfigProperty"')}function convertCfnIntegrationSourceFlowConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationSourceFlowConfigPropertyValidator(properties).assertSuccess(),{ConnectorProfileName:cdk().stringToCloudFormation(properties.connectorProfileName),ConnectorType:cdk().stringToCloudFormation(properties.connectorType),IncrementalPullConfig:convertCfnIntegrationIncrementalPullConfigPropertyToCloudFormation(properties.incrementalPullConfig),SourceConnectorProperties:convertCfnIntegrationSourceConnectorPropertiesPropertyToCloudFormation(properties.sourceConnectorProperties)}):properties}function CfnIntegrationSourceFlowConfigPropertyFromCloudFormation(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("connectorProfileName","ConnectorProfileName",properties.ConnectorProfileName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectorProfileName):void 0),ret.addPropertyResult("connectorType","ConnectorType",properties.ConnectorType!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectorType):void 0),ret.addPropertyResult("incrementalPullConfig","IncrementalPullConfig",properties.IncrementalPullConfig!=null?CfnIntegrationIncrementalPullConfigPropertyFromCloudFormation(properties.IncrementalPullConfig):void 0),ret.addPropertyResult("sourceConnectorProperties","SourceConnectorProperties",properties.SourceConnectorProperties!=null?CfnIntegrationSourceConnectorPropertiesPropertyFromCloudFormation(properties.SourceConnectorProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationFlowDefinitionPropertyValidator(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("flowName",cdk().requiredValidator)(properties.flowName)),errors.collect(cdk().propertyValidator("flowName",cdk().validateString)(properties.flowName)),errors.collect(cdk().propertyValidator("kmsArn",cdk().requiredValidator)(properties.kmsArn)),errors.collect(cdk().propertyValidator("kmsArn",cdk().validateString)(properties.kmsArn)),errors.collect(cdk().propertyValidator("sourceFlowConfig",cdk().requiredValidator)(properties.sourceFlowConfig)),errors.collect(cdk().propertyValidator("sourceFlowConfig",CfnIntegrationSourceFlowConfigPropertyValidator)(properties.sourceFlowConfig)),errors.collect(cdk().propertyValidator("tasks",cdk().requiredValidator)(properties.tasks)),errors.collect(cdk().propertyValidator("tasks",cdk().listValidator(CfnIntegrationTaskPropertyValidator))(properties.tasks)),errors.collect(cdk().propertyValidator("triggerConfig",cdk().requiredValidator)(properties.triggerConfig)),errors.collect(cdk().propertyValidator("triggerConfig",CfnIntegrationTriggerConfigPropertyValidator)(properties.triggerConfig)),errors.wrap('supplied properties not correct for "FlowDefinitionProperty"')}function convertCfnIntegrationFlowDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationFlowDefinitionPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),FlowName:cdk().stringToCloudFormation(properties.flowName),KmsArn:cdk().stringToCloudFormation(properties.kmsArn),SourceFlowConfig:convertCfnIntegrationSourceFlowConfigPropertyToCloudFormation(properties.sourceFlowConfig),Tasks:cdk().listMapper(convertCfnIntegrationTaskPropertyToCloudFormation)(properties.tasks),TriggerConfig:convertCfnIntegrationTriggerConfigPropertyToCloudFormation(properties.triggerConfig)}):properties}function CfnIntegrationFlowDefinitionPropertyFromCloudFormation(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("flowName","FlowName",properties.FlowName!=null?cfn_parse().FromCloudFormation.getString(properties.FlowName):void 0),ret.addPropertyResult("kmsArn","KmsArn",properties.KmsArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsArn):void 0),ret.addPropertyResult("sourceFlowConfig","SourceFlowConfig",properties.SourceFlowConfig!=null?CfnIntegrationSourceFlowConfigPropertyFromCloudFormation(properties.SourceFlowConfig):void 0),ret.addPropertyResult("tasks","Tasks",properties.Tasks!=null?cfn_parse().FromCloudFormation.getArray(CfnIntegrationTaskPropertyFromCloudFormation)(properties.Tasks):void 0),ret.addPropertyResult("triggerConfig","TriggerConfig",properties.TriggerConfig!=null?CfnIntegrationTriggerConfigPropertyFromCloudFormation(properties.TriggerConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationPropsValidator(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("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("eventTriggerNames",cdk().listValidator(cdk().validateString))(properties.eventTriggerNames)),errors.collect(cdk().propertyValidator("flowDefinition",CfnIntegrationFlowDefinitionPropertyValidator)(properties.flowDefinition)),errors.collect(cdk().propertyValidator("objectTypeName",cdk().validateString)(properties.objectTypeName)),errors.collect(cdk().propertyValidator("objectTypeNames",cdk().listValidator(CfnIntegrationObjectTypeMappingPropertyValidator))(properties.objectTypeNames)),errors.collect(cdk().propertyValidator("scope",cdk().validateString)(properties.scope)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("uri",cdk().validateString)(properties.uri)),errors.wrap('supplied properties not correct for "CfnIntegrationProps"')}function convertCfnIntegrationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationPropsValidator(properties).assertSuccess(),{DomainName:cdk().stringToCloudFormation(properties.domainName),EventTriggerNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.eventTriggerNames),FlowDefinition:convertCfnIntegrationFlowDefinitionPropertyToCloudFormation(properties.flowDefinition),ObjectTypeName:cdk().stringToCloudFormation(properties.objectTypeName),ObjectTypeNames:cdk().listMapper(convertCfnIntegrationObjectTypeMappingPropertyToCloudFormation)(properties.objectTypeNames),Scope:cdk().stringToCloudFormation(properties.scope),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Uri:cdk().stringToCloudFormation(properties.uri)}):properties}function CfnIntegrationPropsFromCloudFormation(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("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("eventTriggerNames","EventTriggerNames",properties.EventTriggerNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EventTriggerNames):void 0),ret.addPropertyResult("flowDefinition","FlowDefinition",properties.FlowDefinition!=null?CfnIntegrationFlowDefinitionPropertyFromCloudFormation(properties.FlowDefinition):void 0),ret.addPropertyResult("objectTypeName","ObjectTypeName",properties.ObjectTypeName!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectTypeName):void 0),ret.addPropertyResult("objectTypeNames","ObjectTypeNames",properties.ObjectTypeNames!=null?cfn_parse().FromCloudFormation.getArray(CfnIntegrationObjectTypeMappingPropertyFromCloudFormation)(properties.ObjectTypeNames):void 0),ret.addPropertyResult("scope","Scope",properties.Scope!=null?cfn_parse().FromCloudFormation.getString(properties.Scope):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("uri","Uri",properties.Uri!=null?cfn_parse().FromCloudFormation.getString(properties.Uri):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnObjectType extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_customerprofiles.CfnObjectType",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::CustomerProfiles::ObjectType";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnObjectTypePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnObjectType(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 isCfnObjectType(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnObjectType.CFN_RESOURCE_TYPE_NAME}_allowProfileCreation;_description;_domainName;_encryptionKey;_expirationDays;_fields;_keys;_maxProfileObjectCount;_objectTypeName;_sourceLastUpdatedTimestampFormat;_sourcePriority;tags;_tagsRaw;_templateId;cfnPropertyNames={allowProfileCreation:"AllowProfileCreation",description:"Description",domainName:"DomainName",encryptionKey:"EncryptionKey",expirationDays:"ExpirationDays",fields:"Fields",keys:"Keys",maxProfileObjectCount:"MaxProfileObjectCount",objectTypeName:"ObjectTypeName",sourceLastUpdatedTimestampFormat:"SourceLastUpdatedTimestampFormat",sourcePriority:"SourcePriority",tags:"Tags",templateId:"TemplateId"};constructor(scope,id,props){super(scope,id,{type:CfnObjectType.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_customerprofiles_CfnObjectTypeProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnObjectType),error}cdk().requireProperty(props,"description",this),cdk().requireProperty(props,"domainName",this),cdk().requireProperty(props,"objectTypeName",this),this._allowProfileCreation=props.allowProfileCreation,this._description=props.description,this._domainName=props.domainName,this._encryptionKey=props.encryptionKey,this._expirationDays=props.expirationDays,this._fields=props.fields,this._keys=props.keys,this._maxProfileObjectCount=props.maxProfileObjectCount,this._objectTypeName=props.objectTypeName,this._sourceLastUpdatedTimestampFormat=props.sourceLastUpdatedTimestampFormat,this._sourcePriority=props.sourcePriority,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CustomerProfiles::ObjectType",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._templateId=props.templateId}get objectTypeRef(){return{domainName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),objectTypeName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get allowProfileCreation(){return this._allowProfileCreation}set allowProfileCreation(value){cdk().traceProperty(this.node,"AllowProfileCreation"),this._allowProfileCreation=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get domainName(){return this._domainName}set domainName(value){cdk().traceProperty(this.node,"DomainName"),this._domainName=value}get encryptionKey(){return this._encryptionKey}set encryptionKey(value){cdk().traceProperty(this.node,"EncryptionKey"),this._encryptionKey=value}get expirationDays(){return this._expirationDays}set expirationDays(value){cdk().traceProperty(this.node,"ExpirationDays"),this._expirationDays=value}get fields(){return this._fields}set fields(value){cdk().traceProperty(this.node,"Fields"),this._fields=value}get keys(){return this._keys}set keys(value){cdk().traceProperty(this.node,"Keys"),this._keys=value}get maxProfileObjectCount(){return this._maxProfileObjectCount}set maxProfileObjectCount(value){cdk().traceProperty(this.node,"MaxProfileObjectCount"),this._maxProfileObjectCount=value}get objectTypeName(){return this._objectTypeName}set objectTypeName(value){cdk().traceProperty(this.node,"ObjectTypeName"),this._objectTypeName=value}get sourceLastUpdatedTimestampFormat(){return this._sourceLastUpdatedTimestampFormat}set sourceLastUpdatedTimestampFormat(value){cdk().traceProperty(this.node,"SourceLastUpdatedTimestampFormat"),this._sourceLastUpdatedTimestampFormat=value}get sourcePriority(){return this._sourcePriority}set sourcePriority(value){cdk().traceProperty(this.node,"SourcePriority"),this._sourcePriority=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get templateId(){return this._templateId}set templateId(value){cdk().traceProperty(this.node,"TemplateId"),this._templateId=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedAt(){return cdk().Token.asString(this.getAtt("LastUpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrMaxAvailableProfileObjectCount(){return cdk().Token.asNumber(this.getAtt("MaxAvailableProfileObjectCount",cdk().ResolutionTypeHint.NUMBER))}get cfnProperties(){return{allowProfileCreation:this._allowProfileCreation,description:this._description,domainName:this._domainName,encryptionKey:this._encryptionKey,expirationDays:this._expirationDays,fields:this._fields,keys:this._keys,maxProfileObjectCount:this._maxProfileObjectCount,objectTypeName:this._objectTypeName,sourceLastUpdatedTimestampFormat:this._sourceLastUpdatedTimestampFormat,sourcePriority:this._sourcePriority,tags:this.tags.renderTags(),templateId:this._templateId}}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",CfnObjectType.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnObjectTypePropsToCloudFormation(props)}}exports.CfnObjectType=CfnObjectType;function CfnObjectTypeObjectTypeFieldPropertyValidator(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("contentType",cdk().validateString)(properties.contentType)),errors.collect(cdk().propertyValidator("source",cdk().validateString)(properties.source)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),errors.wrap('supplied properties not correct for "ObjectTypeFieldProperty"')}function convertCfnObjectTypeObjectTypeFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnObjectTypeObjectTypeFieldPropertyValidator(properties).assertSuccess(),{ContentType:cdk().stringToCloudFormation(properties.contentType),Source:cdk().stringToCloudFormation(properties.source),Target:cdk().stringToCloudFormation(properties.target)}):properties}function CfnObjectTypeObjectTypeFieldPropertyFromCloudFormation(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("contentType","ContentType",properties.ContentType!=null?cfn_parse().FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?cfn_parse().FromCloudFormation.getString(properties.Source):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnObjectTypeFieldMapPropertyValidator(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("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("objectTypeField",CfnObjectTypeObjectTypeFieldPropertyValidator)(properties.objectTypeField)),errors.wrap('supplied properties not correct for "FieldMapProperty"')}function convertCfnObjectTypeFieldMapPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnObjectTypeFieldMapPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),ObjectTypeField:convertCfnObjectTypeObjectTypeFieldPropertyToCloudFormation(properties.objectTypeField)}):properties}function CfnObjectTypeFieldMapPropertyFromCloudFormation(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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("objectTypeField","ObjectTypeField",properties.ObjectTypeField!=null?CfnObjectTypeObjectTypeFieldPropertyFromCloudFormation(properties.ObjectTypeField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnObjectTypeObjectTypeKeyPropertyValidator(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("fieldNames",cdk().listValidator(cdk().validateString))(properties.fieldNames)),errors.collect(cdk().propertyValidator("standardIdentifiers",cdk().listValidator(cdk().validateString))(properties.standardIdentifiers)),errors.wrap('supplied properties not correct for "ObjectTypeKeyProperty"')}function convertCfnObjectTypeObjectTypeKeyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnObjectTypeObjectTypeKeyPropertyValidator(properties).assertSuccess(),{FieldNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.fieldNames),StandardIdentifiers:cdk().listMapper(cdk().stringToCloudFormation)(properties.standardIdentifiers)}):properties}function CfnObjectTypeObjectTypeKeyPropertyFromCloudFormation(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("fieldNames","FieldNames",properties.FieldNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.FieldNames):void 0),ret.addPropertyResult("standardIdentifiers","StandardIdentifiers",properties.StandardIdentifiers!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StandardIdentifiers):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnObjectTypeKeyMapPropertyValidator(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("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("objectTypeKeyList",cdk().listValidator(CfnObjectTypeObjectTypeKeyPropertyValidator))(properties.objectTypeKeyList)),errors.wrap('supplied properties not correct for "KeyMapProperty"')}function convertCfnObjectTypeKeyMapPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnObjectTypeKeyMapPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),ObjectTypeKeyList:cdk().listMapper(convertCfnObjectTypeObjectTypeKeyPropertyToCloudFormation)(properties.objectTypeKeyList)}):properties}function CfnObjectTypeKeyMapPropertyFromCloudFormation(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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("objectTypeKeyList","ObjectTypeKeyList",properties.ObjectTypeKeyList!=null?cfn_parse().FromCloudFormation.getArray(CfnObjectTypeObjectTypeKeyPropertyFromCloudFormation)(properties.ObjectTypeKeyList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnObjectTypePropsValidator(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("allowProfileCreation",cdk().validateBoolean)(properties.allowProfileCreation)),errors.collect(cdk().propertyValidator("description",cdk().requiredValidator)(properties.description)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("encryptionKey",cdk().validateString)(properties.encryptionKey)),errors.collect(cdk().propertyValidator("expirationDays",cdk().validateNumber)(properties.expirationDays)),errors.collect(cdk().propertyValidator("fields",cdk().listValidator(CfnObjectTypeFieldMapPropertyValidator))(properties.fields)),errors.collect(cdk().propertyValidator("keys",cdk().listValidator(CfnObjectTypeKeyMapPropertyValidator))(properties.keys)),errors.collect(cdk().propertyValidator("maxProfileObjectCount",cdk().validateNumber)(properties.maxProfileObjectCount)),errors.collect(cdk().propertyValidator("objectTypeName",cdk().requiredValidator)(properties.objectTypeName)),errors.collect(cdk().propertyValidator("objectTypeName",cdk().validateString)(properties.objectTypeName)),errors.collect(cdk().propertyValidator("sourceLastUpdatedTimestampFormat",cdk().validateString)(properties.sourceLastUpdatedTimestampFormat)),errors.collect(cdk().propertyValidator("sourcePriority",cdk().validateNumber)(properties.sourcePriority)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("templateId",cdk().validateString)(properties.templateId)),errors.wrap('supplied properties not correct for "CfnObjectTypeProps"')}function convertCfnObjectTypePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnObjectTypePropsValidator(properties).assertSuccess(),{AllowProfileCreation:cdk().booleanToCloudFormation(properties.allowProfileCreation),Description:cdk().stringToCloudFormation(properties.description),DomainName:cdk().stringToCloudFormation(properties.domainName),EncryptionKey:cdk().stringToCloudFormation(properties.encryptionKey),ExpirationDays:cdk().numberToCloudFormation(properties.expirationDays),Fields:cdk().listMapper(convertCfnObjectTypeFieldMapPropertyToCloudFormation)(properties.fields),Keys:cdk().listMapper(convertCfnObjectTypeKeyMapPropertyToCloudFormation)(properties.keys),MaxProfileObjectCount:cdk().numberToCloudFormation(properties.maxProfileObjectCount),ObjectTypeName:cdk().stringToCloudFormation(properties.objectTypeName),SourceLastUpdatedTimestampFormat:cdk().stringToCloudFormation(properties.sourceLastUpdatedTimestampFormat),SourcePriority:cdk().numberToCloudFormation(properties.sourcePriority),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TemplateId:cdk().stringToCloudFormation(properties.templateId)}):properties}function CfnObjectTypePropsFromCloudFormation(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("allowProfileCreation","AllowProfileCreation",properties.AllowProfileCreation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowProfileCreation):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("encryptionKey","EncryptionKey",properties.EncryptionKey!=null?cfn_parse().FromCloudFormation.getString(properties.EncryptionKey):void 0),ret.addPropertyResult("expirationDays","ExpirationDays",properties.ExpirationDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.ExpirationDays):void 0),ret.addPropertyResult("fields","Fields",properties.Fields!=null?cfn_parse().FromCloudFormation.getArray(CfnObjectTypeFieldMapPropertyFromCloudFormation)(properties.Fields):void 0),ret.addPropertyResult("keys","Keys",properties.Keys!=null?cfn_parse().FromCloudFormation.getArray(CfnObjectTypeKeyMapPropertyFromCloudFormation)(properties.Keys):void 0),ret.addPropertyResult("maxProfileObjectCount","MaxProfileObjectCount",properties.MaxProfileObjectCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxProfileObjectCount):void 0),ret.addPropertyResult("objectTypeName","ObjectTypeName",properties.ObjectTypeName!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectTypeName):void 0),ret.addPropertyResult("sourceLastUpdatedTimestampFormat","SourceLastUpdatedTimestampFormat",properties.SourceLastUpdatedTimestampFormat!=null?cfn_parse().FromCloudFormation.getString(properties.SourceLastUpdatedTimestampFormat):void 0),ret.addPropertyResult("sourcePriority","SourcePriority",properties.SourcePriority!=null?cfn_parse().FromCloudFormation.getNumber(properties.SourcePriority):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("templateId","TemplateId",properties.TemplateId!=null?cfn_parse().FromCloudFormation.getString(properties.TemplateId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnEventTrigger extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_customerprofiles.CfnEventTrigger",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::CustomerProfiles::EventTrigger";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnEventTriggerPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnEventTrigger(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 isCfnEventTrigger(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnEventTrigger.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_description;_domainName;_eventTriggerConditions;_eventTriggerLimits;_eventTriggerName;_objectTypeName;_segmentFilter;_tags;cfnPropertyNames={tags:"Tags",description:"Description",domainName:"DomainName",eventTriggerConditions:"EventTriggerConditions",eventTriggerLimits:"EventTriggerLimits",eventTriggerName:"EventTriggerName",objectTypeName:"ObjectTypeName",segmentFilter:"SegmentFilter"};constructor(scope,id,props){super(scope,id,{type:CfnEventTrigger.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_customerprofiles_CfnEventTriggerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEventTrigger),error}cdk().requireProperty(props,"domainName",this),cdk().requireProperty(props,"eventTriggerConditions",this),cdk().requireProperty(props,"eventTriggerName",this),cdk().requireProperty(props,"objectTypeName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CustomerProfiles::EventTrigger",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._domainName=props.domainName,this._eventTriggerConditions=props.eventTriggerConditions,this._eventTriggerLimits=props.eventTriggerLimits,this._eventTriggerName=props.eventTriggerName,this._objectTypeName=props.objectTypeName,this._segmentFilter=props.segmentFilter,this._tags=props.tags}get eventTriggerRef(){return{domainName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),eventTriggerName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get domainName(){return this._domainName}set domainName(value){cdk().traceProperty(this.node,"DomainName"),this._domainName=value}get eventTriggerConditions(){return this._eventTriggerConditions}set eventTriggerConditions(value){cdk().traceProperty(this.node,"EventTriggerConditions"),this._eventTriggerConditions=value}get eventTriggerLimits(){return this._eventTriggerLimits}set eventTriggerLimits(value){cdk().traceProperty(this.node,"EventTriggerLimits"),this._eventTriggerLimits=value}get eventTriggerName(){return this._eventTriggerName}set eventTriggerName(value){cdk().traceProperty(this.node,"EventTriggerName"),this._eventTriggerName=value}get objectTypeName(){return this._objectTypeName}set objectTypeName(value){cdk().traceProperty(this.node,"ObjectTypeName"),this._objectTypeName=value}get segmentFilter(){return this._segmentFilter}set segmentFilter(value){cdk().traceProperty(this.node,"SegmentFilter"),this._segmentFilter=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedAt(){return cdk().Token.asString(this.getAtt("LastUpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,domainName:this._domainName,eventTriggerConditions:this._eventTriggerConditions,eventTriggerLimits:this._eventTriggerLimits,eventTriggerName:this._eventTriggerName,objectTypeName:this._objectTypeName,segmentFilter:this._segmentFilter}}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",CfnEventTrigger.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnEventTriggerPropsToCloudFormation(props)}}exports.CfnEventTrigger=CfnEventTrigger;function CfnEventTriggerObjectAttributePropertyValidator(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("comparisonOperator",cdk().requiredValidator)(properties.comparisonOperator)),errors.collect(cdk().propertyValidator("comparisonOperator",cdk().validateString)(properties.comparisonOperator)),errors.collect(cdk().propertyValidator("fieldName",cdk().validateString)(properties.fieldName)),errors.collect(cdk().propertyValidator("source",cdk().validateString)(properties.source)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "ObjectAttributeProperty"')}function convertCfnEventTriggerObjectAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEventTriggerObjectAttributePropertyValidator(properties).assertSuccess(),{ComparisonOperator:cdk().stringToCloudFormation(properties.comparisonOperator),FieldName:cdk().stringToCloudFormation(properties.fieldName),Source:cdk().stringToCloudFormation(properties.source),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnEventTriggerObjectAttributePropertyFromCloudFormation(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("comparisonOperator","ComparisonOperator",properties.ComparisonOperator!=null?cfn_parse().FromCloudFormation.getString(properties.ComparisonOperator):void 0),ret.addPropertyResult("fieldName","FieldName",properties.FieldName!=null?cfn_parse().FromCloudFormation.getString(properties.FieldName):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?cfn_parse().FromCloudFormation.getString(properties.Source):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEventTriggerEventTriggerDimensionPropertyValidator(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("objectAttributes",cdk().requiredValidator)(properties.objectAttributes)),errors.collect(cdk().propertyValidator("objectAttributes",cdk().listValidator(CfnEventTriggerObjectAttributePropertyValidator))(properties.objectAttributes)),errors.wrap('supplied properties not correct for "EventTriggerDimensionProperty"')}function convertCfnEventTriggerEventTriggerDimensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEventTriggerEventTriggerDimensionPropertyValidator(properties).assertSuccess(),{ObjectAttributes:cdk().listMapper(convertCfnEventTriggerObjectAttributePropertyToCloudFormation)(properties.objectAttributes)}):properties}function CfnEventTriggerEventTriggerDimensionPropertyFromCloudFormation(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("objectAttributes","ObjectAttributes",properties.ObjectAttributes!=null?cfn_parse().FromCloudFormation.getArray(CfnEventTriggerObjectAttributePropertyFromCloudFormation)(properties.ObjectAttributes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEventTriggerEventTriggerConditionPropertyValidator(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("eventTriggerDimensions",cdk().requiredValidator)(properties.eventTriggerDimensions)),errors.collect(cdk().propertyValidator("eventTriggerDimensions",cdk().listValidator(CfnEventTriggerEventTriggerDimensionPropertyValidator))(properties.eventTriggerDimensions)),errors.collect(cdk().propertyValidator("logicalOperator",cdk().requiredValidator)(properties.logicalOperator)),errors.collect(cdk().propertyValidator("logicalOperator",cdk().validateString)(properties.logicalOperator)),errors.wrap('supplied properties not correct for "EventTriggerConditionProperty"')}function convertCfnEventTriggerEventTriggerConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEventTriggerEventTriggerConditionPropertyValidator(properties).assertSuccess(),{EventTriggerDimensions:cdk().listMapper(convertCfnEventTriggerEventTriggerDimensionPropertyToCloudFormation)(properties.eventTriggerDimensions),LogicalOperator:cdk().stringToCloudFormation(properties.logicalOperator)}):properties}function CfnEventTriggerEventTriggerConditionPropertyFromCloudFormation(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("eventTriggerDimensions","EventTriggerDimensions",properties.EventTriggerDimensions!=null?cfn_parse().FromCloudFormation.getArray(CfnEventTriggerEventTriggerDimensionPropertyFromCloudFormation)(properties.EventTriggerDimensions):void 0),ret.addPropertyResult("logicalOperator","LogicalOperator",properties.LogicalOperator!=null?cfn_parse().FromCloudFormation.getString(properties.LogicalOperator):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEventTriggerPeriodPropertyValidator(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("maxInvocationsPerProfile",cdk().validateNumber)(properties.maxInvocationsPerProfile)),errors.collect(cdk().propertyValidator("unit",cdk().requiredValidator)(properties.unit)),errors.collect(cdk().propertyValidator("unit",cdk().validateString)(properties.unit)),errors.collect(cdk().propertyValidator("unlimited",cdk().validateBoolean)(properties.unlimited)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "PeriodProperty"')}function convertCfnEventTriggerPeriodPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEventTriggerPeriodPropertyValidator(properties).assertSuccess(),{MaxInvocationsPerProfile:cdk().numberToCloudFormation(properties.maxInvocationsPerProfile),Unit:cdk().stringToCloudFormation(properties.unit),Unlimited:cdk().booleanToCloudFormation(properties.unlimited),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnEventTriggerPeriodPropertyFromCloudFormation(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("maxInvocationsPerProfile","MaxInvocationsPerProfile",properties.MaxInvocationsPerProfile!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxInvocationsPerProfile):void 0),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse().FromCloudFormation.getString(properties.Unit):void 0),ret.addPropertyResult("unlimited","Unlimited",properties.Unlimited!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Unlimited):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEventTriggerEventTriggerLimitsPropertyValidator(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("eventExpiration",cdk().validateNumber)(properties.eventExpiration)),errors.collect(cdk().propertyValidator("periods",cdk().listValidator(CfnEventTriggerPeriodPropertyValidator))(properties.periods)),errors.wrap('supplied properties not correct for "EventTriggerLimitsProperty"')}function convertCfnEventTriggerEventTriggerLimitsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEventTriggerEventTriggerLimitsPropertyValidator(properties).assertSuccess(),{EventExpiration:cdk().numberToCloudFormation(properties.eventExpiration),Periods:cdk().listMapper(convertCfnEventTriggerPeriodPropertyToCloudFormation)(properties.periods)}):properties}function CfnEventTriggerEventTriggerLimitsPropertyFromCloudFormation(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("eventExpiration","EventExpiration",properties.EventExpiration!=null?cfn_parse().FromCloudFormation.getNumber(properties.EventExpiration):void 0),ret.addPropertyResult("periods","Periods",properties.Periods!=null?cfn_parse().FromCloudFormation.getArray(CfnEventTriggerPeriodPropertyFromCloudFormation)(properties.Periods):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEventTriggerPropsValidator(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("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("eventTriggerConditions",cdk().requiredValidator)(properties.eventTriggerConditions)),errors.collect(cdk().propertyValidator("eventTriggerConditions",cdk().listValidator(CfnEventTriggerEventTriggerConditionPropertyValidator))(properties.eventTriggerConditions)),errors.collect(cdk().propertyValidator("eventTriggerLimits",CfnEventTriggerEventTriggerLimitsPropertyValidator)(properties.eventTriggerLimits)),errors.collect(cdk().propertyValidator("eventTriggerName",cdk().requiredValidator)(properties.eventTriggerName)),errors.collect(cdk().propertyValidator("eventTriggerName",cdk().validateString)(properties.eventTriggerName)),errors.collect(cdk().propertyValidator("objectTypeName",cdk().requiredValidator)(properties.objectTypeName)),errors.collect(cdk().propertyValidator("objectTypeName",cdk().validateString)(properties.objectTypeName)),errors.collect(cdk().propertyValidator("segmentFilter",cdk().validateString)(properties.segmentFilter)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnEventTriggerProps"')}function convertCfnEventTriggerPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEventTriggerPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),DomainName:cdk().stringToCloudFormation(properties.domainName),EventTriggerConditions:cdk().listMapper(convertCfnEventTriggerEventTriggerConditionPropertyToCloudFormation)(properties.eventTriggerConditions),EventTriggerLimits:convertCfnEventTriggerEventTriggerLimitsPropertyToCloudFormation(properties.eventTriggerLimits),EventTriggerName:cdk().stringToCloudFormation(properties.eventTriggerName),ObjectTypeName:cdk().stringToCloudFormation(properties.objectTypeName),SegmentFilter:cdk().stringToCloudFormation(properties.segmentFilter),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnEventTriggerPropsFromCloudFormation(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("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("eventTriggerConditions","EventTriggerConditions",properties.EventTriggerConditions!=null?cfn_parse().FromCloudFormation.getArray(CfnEventTriggerEventTriggerConditionPropertyFromCloudFormation)(properties.EventTriggerConditions):void 0),ret.addPropertyResult("eventTriggerLimits","EventTriggerLimits",properties.EventTriggerLimits!=null?CfnEventTriggerEventTriggerLimitsPropertyFromCloudFormation(properties.EventTriggerLimits):void 0),ret.addPropertyResult("eventTriggerName","EventTriggerName",properties.EventTriggerName!=null?cfn_parse().FromCloudFormation.getString(properties.EventTriggerName):void 0),ret.addPropertyResult("objectTypeName","ObjectTypeName",properties.ObjectTypeName!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectTypeName):void 0),ret.addPropertyResult("segmentFilter","SegmentFilter",properties.SegmentFilter!=null?cfn_parse().FromCloudFormation.getString(properties.SegmentFilter):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 CfnRecommender extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_customerprofiles.CfnRecommender",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::CustomerProfiles::Recommender";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRecommenderPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnRecommender(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 isCfnRecommender(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRecommender.CFN_RESOURCE_TYPE_NAME}static arnForRecommender(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_customerprofiles_IRecommenderRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForRecommender),error}return resource.recommenderRef.recommenderArn}cdkTagManager;_description;_domainName;_recommenderConfig;_recommenderName;_recommenderRecipeName;_tags;cfnPropertyNames={tags:"Tags",description:"Description",domainName:"DomainName",recommenderConfig:"RecommenderConfig",recommenderName:"RecommenderName",recommenderRecipeName:"RecommenderRecipeName"};constructor(scope,id,props){super(scope,id,{type:CfnRecommender.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_customerprofiles_CfnRecommenderProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRecommender),error}cdk().requireProperty(props,"domainName",this),cdk().requireProperty(props,"recommenderName",this),cdk().requireProperty(props,"recommenderRecipeName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CustomerProfiles::Recommender",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._domainName=props.domainName,this._recommenderConfig=props.recommenderConfig,this._recommenderName=props.recommenderName,this._recommenderRecipeName=props.recommenderRecipeName,this._tags=props.tags}get recommenderRef(){return{domainName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),recommenderName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),recommenderArn:this.attrRecommenderArn}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get domainName(){return this._domainName}set domainName(value){cdk().traceProperty(this.node,"DomainName"),this._domainName=value}get recommenderConfig(){return this._recommenderConfig}set recommenderConfig(value){cdk().traceProperty(this.node,"RecommenderConfig"),this._recommenderConfig=value}get recommenderName(){return this._recommenderName}set recommenderName(value){cdk().traceProperty(this.node,"RecommenderName"),this._recommenderName=value}get recommenderRecipeName(){return this._recommenderRecipeName}set recommenderRecipeName(value){cdk().traceProperty(this.node,"RecommenderRecipeName"),this._recommenderRecipeName=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrFailureReason(){return cdk().Token.asString(this.getAtt("FailureReason",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedAt(){return cdk().Token.asString(this.getAtt("LastUpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrLatestRecommenderUpdate(){return this.getAtt("LatestRecommenderUpdate")}get attrRecommenderArn(){return cdk().Token.asString(this.getAtt("RecommenderArn",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrTrainingMetrics(){return this.getAtt("TrainingMetrics")}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,domainName:this._domainName,recommenderConfig:this._recommenderConfig,recommenderName:this._recommenderName,recommenderRecipeName:this._recommenderRecipeName}}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",CfnRecommender.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRecommenderPropsToCloudFormation(props)}}exports.CfnRecommender=CfnRecommender;function CfnRecommenderEventParametersPropertyValidator(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("eventType",cdk().requiredValidator)(properties.eventType)),errors.collect(cdk().propertyValidator("eventType",cdk().validateString)(properties.eventType)),errors.collect(cdk().propertyValidator("eventValueThreshold",cdk().validateNumber)(properties.eventValueThreshold)),errors.wrap('supplied properties not correct for "EventParametersProperty"')}function convertCfnRecommenderEventParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecommenderEventParametersPropertyValidator(properties).assertSuccess(),{EventType:cdk().stringToCloudFormation(properties.eventType),EventValueThreshold:cdk().numberToCloudFormation(properties.eventValueThreshold)}):properties}function CfnRecommenderEventParametersPropertyFromCloudFormation(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("eventType","EventType",properties.EventType!=null?cfn_parse().FromCloudFormation.getString(properties.EventType):void 0),ret.addPropertyResult("eventValueThreshold","EventValueThreshold",properties.EventValueThreshold!=null?cfn_parse().FromCloudFormation.getNumber(properties.EventValueThreshold):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRecommenderEventsConfigPropertyValidator(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("eventParametersList",cdk().requiredValidator)(properties.eventParametersList)),errors.collect(cdk().propertyValidator("eventParametersList",cdk().listValidator(CfnRecommenderEventParametersPropertyValidator))(properties.eventParametersList)),errors.wrap('supplied properties not correct for "EventsConfigProperty"')}function convertCfnRecommenderEventsConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecommenderEventsConfigPropertyValidator(properties).assertSuccess(),{EventParametersList:cdk().listMapper(convertCfnRecommenderEventParametersPropertyToCloudFormation)(properties.eventParametersList)}):properties}function CfnRecommenderEventsConfigPropertyFromCloudFormation(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("eventParametersList","EventParametersList",properties.EventParametersList!=null?cfn_parse().FromCloudFormation.getArray(CfnRecommenderEventParametersPropertyFromCloudFormation)(properties.EventParametersList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRecommenderRecommenderConfigPropertyValidator(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("eventsConfig",CfnRecommenderEventsConfigPropertyValidator)(properties.eventsConfig)),errors.wrap('supplied properties not correct for "RecommenderConfigProperty"')}function convertCfnRecommenderRecommenderConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecommenderRecommenderConfigPropertyValidator(properties).assertSuccess(),{EventsConfig:convertCfnRecommenderEventsConfigPropertyToCloudFormation(properties.eventsConfig)}):properties}function CfnRecommenderRecommenderConfigPropertyFromCloudFormation(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("eventsConfig","EventsConfig",properties.EventsConfig!=null?CfnRecommenderEventsConfigPropertyFromCloudFormation(properties.EventsConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRecommenderRecommenderUpdatePropertyValidator(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("creationDateTime",cdk().validateString)(properties.creationDateTime)),errors.collect(cdk().propertyValidator("failureReason",cdk().validateString)(properties.failureReason)),errors.collect(cdk().propertyValidator("lastUpdatedDateTime",cdk().validateString)(properties.lastUpdatedDateTime)),errors.collect(cdk().propertyValidator("recommenderConfig",CfnRecommenderRecommenderConfigPropertyValidator)(properties.recommenderConfig)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "RecommenderUpdateProperty"')}function convertCfnRecommenderRecommenderUpdatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecommenderRecommenderUpdatePropertyValidator(properties).assertSuccess(),{CreationDateTime:cdk().stringToCloudFormation(properties.creationDateTime),FailureReason:cdk().stringToCloudFormation(properties.failureReason),LastUpdatedDateTime:cdk().stringToCloudFormation(properties.lastUpdatedDateTime),RecommenderConfig:convertCfnRecommenderRecommenderConfigPropertyToCloudFormation(properties.recommenderConfig),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnRecommenderRecommenderUpdatePropertyFromCloudFormation(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("creationDateTime","CreationDateTime",properties.CreationDateTime!=null?cfn_parse().FromCloudFormation.getString(properties.CreationDateTime):void 0),ret.addPropertyResult("failureReason","FailureReason",properties.FailureReason!=null?cfn_parse().FromCloudFormation.getString(properties.FailureReason):void 0),ret.addPropertyResult("lastUpdatedDateTime","LastUpdatedDateTime",properties.LastUpdatedDateTime!=null?cfn_parse().FromCloudFormation.getString(properties.LastUpdatedDateTime):void 0),ret.addPropertyResult("recommenderConfig","RecommenderConfig",properties.RecommenderConfig!=null?CfnRecommenderRecommenderConfigPropertyFromCloudFormation(properties.RecommenderConfig):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRecommenderMetricsPropertyValidator(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("coverage",cdk().validateNumber)(properties.coverage)),errors.collect(cdk().propertyValidator("freshness",cdk().validateNumber)(properties.freshness)),errors.collect(cdk().propertyValidator("hit",cdk().validateNumber)(properties.hit)),errors.collect(cdk().propertyValidator("popularity",cdk().validateNumber)(properties.popularity)),errors.collect(cdk().propertyValidator("recall",cdk().validateNumber)(properties.recall)),errors.collect(cdk().propertyValidator("similarity",cdk().validateNumber)(properties.similarity)),errors.wrap('supplied properties not correct for "MetricsProperty"')}function convertCfnRecommenderMetricsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecommenderMetricsPropertyValidator(properties).assertSuccess(),{coverage:cdk().numberToCloudFormation(properties.coverage),freshness:cdk().numberToCloudFormation(properties.freshness),hit:cdk().numberToCloudFormation(properties.hit),popularity:cdk().numberToCloudFormation(properties.popularity),recall:cdk().numberToCloudFormation(properties.recall),similarity:cdk().numberToCloudFormation(properties.similarity)}):properties}function CfnRecommenderMetricsPropertyFromCloudFormation(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("coverage","coverage",properties.coverage!=null?cfn_parse().FromCloudFormation.getNumber(properties.coverage):void 0),ret.addPropertyResult("freshness","freshness",properties.freshness!=null?cfn_parse().FromCloudFormation.getNumber(properties.freshness):void 0),ret.addPropertyResult("hit","hit",properties.hit!=null?cfn_parse().FromCloudFormation.getNumber(properties.hit):void 0),ret.addPropertyResult("popularity","popularity",properties.popularity!=null?cfn_parse().FromCloudFormation.getNumber(properties.popularity):void 0),ret.addPropertyResult("recall","recall",properties.recall!=null?cfn_parse().FromCloudFormation.getNumber(properties.recall):void 0),ret.addPropertyResult("similarity","similarity",properties.similarity!=null?cfn_parse().FromCloudFormation.getNumber(properties.similarity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRecommenderTrainingMetricsPropertyValidator(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("metrics",CfnRecommenderMetricsPropertyValidator)(properties.metrics)),errors.collect(cdk().propertyValidator("time",cdk().validateString)(properties.time)),errors.wrap('supplied properties not correct for "TrainingMetricsProperty"')}function convertCfnRecommenderTrainingMetricsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecommenderTrainingMetricsPropertyValidator(properties).assertSuccess(),{Metrics:convertCfnRecommenderMetricsPropertyToCloudFormation(properties.metrics),Time:cdk().stringToCloudFormation(properties.time)}):properties}function CfnRecommenderTrainingMetricsPropertyFromCloudFormation(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("metrics","Metrics",properties.Metrics!=null?CfnRecommenderMetricsPropertyFromCloudFormation(properties.Metrics):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?cfn_parse().FromCloudFormation.getString(properties.Time):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRecommenderPropsValidator(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("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("recommenderConfig",CfnRecommenderRecommenderConfigPropertyValidator)(properties.recommenderConfig)),errors.collect(cdk().propertyValidator("recommenderName",cdk().requiredValidator)(properties.recommenderName)),errors.collect(cdk().propertyValidator("recommenderName",cdk().validateString)(properties.recommenderName)),errors.collect(cdk().propertyValidator("recommenderRecipeName",cdk().requiredValidator)(properties.recommenderRecipeName)),errors.collect(cdk().propertyValidator("recommenderRecipeName",cdk().validateString)(properties.recommenderRecipeName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnRecommenderProps"')}function convertCfnRecommenderPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecommenderPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),DomainName:cdk().stringToCloudFormation(properties.domainName),RecommenderConfig:convertCfnRecommenderRecommenderConfigPropertyToCloudFormation(properties.recommenderConfig),RecommenderName:cdk().stringToCloudFormation(properties.recommenderName),RecommenderRecipeName:cdk().stringToCloudFormation(properties.recommenderRecipeName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnRecommenderPropsFromCloudFormation(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("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("recommenderConfig","RecommenderConfig",properties.RecommenderConfig!=null?CfnRecommenderRecommenderConfigPropertyFromCloudFormation(properties.RecommenderConfig):void 0),ret.addPropertyResult("recommenderName","RecommenderName",properties.RecommenderName!=null?cfn_parse().FromCloudFormation.getString(properties.RecommenderName):void 0),ret.addPropertyResult("recommenderRecipeName","RecommenderRecipeName",properties.RecommenderRecipeName!=null?cfn_parse().FromCloudFormation.getString(properties.RecommenderRecipeName):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 CfnSegmentDefinition extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_customerprofiles.CfnSegmentDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::CustomerProfiles::SegmentDefinition";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSegmentDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnSegmentDefinition(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 isCfnSegmentDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSegmentDefinition.CFN_RESOURCE_TYPE_NAME}static arnForSegmentDefinition(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_customerprofiles_ISegmentDefinitionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForSegmentDefinition),error}return resource.segmentDefinitionRef.segmentDefinitionArn}cdkTagManager;_description;_displayName;_domainName;_segmentDefinitionName;_segmentGroups;_segmentSort;_segmentSqlQuery;_tags;cfnPropertyNames={tags:"Tags",description:"Description",displayName:"DisplayName",domainName:"DomainName",segmentDefinitionName:"SegmentDefinitionName",segmentGroups:"SegmentGroups",segmentSort:"SegmentSort",segmentSqlQuery:"SegmentSqlQuery"};constructor(scope,id,props){super(scope,id,{type:CfnSegmentDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_customerprofiles_CfnSegmentDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSegmentDefinition),error}cdk().requireProperty(props,"displayName",this),cdk().requireProperty(props,"domainName",this),cdk().requireProperty(props,"segmentDefinitionName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CustomerProfiles::SegmentDefinition",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._displayName=props.displayName,this._domainName=props.domainName,this._segmentDefinitionName=props.segmentDefinitionName,this._segmentGroups=props.segmentGroups,this._segmentSort=props.segmentSort,this._segmentSqlQuery=props.segmentSqlQuery,this._tags=props.tags}get segmentDefinitionRef(){return{domainName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),segmentDefinitionName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),segmentDefinitionArn:this.attrSegmentDefinitionArn}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get domainName(){return this._domainName}set domainName(value){cdk().traceProperty(this.node,"DomainName"),this._domainName=value}get segmentDefinitionName(){return this._segmentDefinitionName}set segmentDefinitionName(value){cdk().traceProperty(this.node,"SegmentDefinitionName"),this._segmentDefinitionName=value}get segmentGroups(){return this._segmentGroups}set segmentGroups(value){cdk().traceProperty(this.node,"SegmentGroups"),this._segmentGroups=value}get segmentSort(){return this._segmentSort}set segmentSort(value){cdk().traceProperty(this.node,"SegmentSort"),this._segmentSort=value}get segmentSqlQuery(){return this._segmentSqlQuery}set segmentSqlQuery(value){cdk().traceProperty(this.node,"SegmentSqlQuery"),this._segmentSqlQuery=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrSegmentDefinitionArn(){return cdk().Token.asString(this.getAtt("SegmentDefinitionArn",cdk().ResolutionTypeHint.STRING))}get attrSegmentType(){return cdk().Token.asString(this.getAtt("SegmentType",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,displayName:this._displayName,domainName:this._domainName,segmentDefinitionName:this._segmentDefinitionName,segmentGroups:this._segmentGroups,segmentSort:this._segmentSort,segmentSqlQuery:this._segmentSqlQuery}}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",CfnSegmentDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSegmentDefinitionPropsToCloudFormation(props)}}exports.CfnSegmentDefinition=CfnSegmentDefinition;function CfnSegmentDefinitionProfileDimensionPropertyValidator(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("dimensionType",cdk().requiredValidator)(properties.dimensionType)),errors.collect(cdk().propertyValidator("dimensionType",cdk().validateString)(properties.dimensionType)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "ProfileDimensionProperty"')}function convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionProfileDimensionPropertyValidator(properties).assertSuccess(),{DimensionType:cdk().stringToCloudFormation(properties.dimensionType),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(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("dimensionType","DimensionType",properties.DimensionType!=null?cfn_parse().FromCloudFormation.getString(properties.DimensionType):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionExtraLengthValueProfileDimensionPropertyValidator(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("dimensionType",cdk().requiredValidator)(properties.dimensionType)),errors.collect(cdk().propertyValidator("dimensionType",cdk().validateString)(properties.dimensionType)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "ExtraLengthValueProfileDimensionProperty"')}function convertCfnSegmentDefinitionExtraLengthValueProfileDimensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionExtraLengthValueProfileDimensionPropertyValidator(properties).assertSuccess(),{DimensionType:cdk().stringToCloudFormation(properties.dimensionType),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnSegmentDefinitionExtraLengthValueProfileDimensionPropertyFromCloudFormation(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("dimensionType","DimensionType",properties.DimensionType!=null?cfn_parse().FromCloudFormation.getString(properties.DimensionType):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionDateDimensionPropertyValidator(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("dimensionType",cdk().requiredValidator)(properties.dimensionType)),errors.collect(cdk().propertyValidator("dimensionType",cdk().validateString)(properties.dimensionType)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "DateDimensionProperty"')}function convertCfnSegmentDefinitionDateDimensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionDateDimensionPropertyValidator(properties).assertSuccess(),{DimensionType:cdk().stringToCloudFormation(properties.dimensionType),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnSegmentDefinitionDateDimensionPropertyFromCloudFormation(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("dimensionType","DimensionType",properties.DimensionType!=null?cfn_parse().FromCloudFormation.getString(properties.DimensionType):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionAddressDimensionPropertyValidator(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("city",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.city)),errors.collect(cdk().propertyValidator("country",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.country)),errors.collect(cdk().propertyValidator("county",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.county)),errors.collect(cdk().propertyValidator("postalCode",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.postalCode)),errors.collect(cdk().propertyValidator("province",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.province)),errors.collect(cdk().propertyValidator("state",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.state)),errors.wrap('supplied properties not correct for "AddressDimensionProperty"')}function convertCfnSegmentDefinitionAddressDimensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionAddressDimensionPropertyValidator(properties).assertSuccess(),{City:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.city),Country:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.country),County:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.county),PostalCode:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.postalCode),Province:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.province),State:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.state)}):properties}function CfnSegmentDefinitionAddressDimensionPropertyFromCloudFormation(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("city","City",properties.City!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.City):void 0),ret.addPropertyResult("country","Country",properties.Country!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.Country):void 0),ret.addPropertyResult("county","County",properties.County!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.County):void 0),ret.addPropertyResult("postalCode","PostalCode",properties.PostalCode!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.PostalCode):void 0),ret.addPropertyResult("province","Province",properties.Province!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.Province):void 0),ret.addPropertyResult("state","State",properties.State!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionAttributeDimensionPropertyValidator(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("dimensionType",cdk().requiredValidator)(properties.dimensionType)),errors.collect(cdk().propertyValidator("dimensionType",cdk().validateString)(properties.dimensionType)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "AttributeDimensionProperty"')}function convertCfnSegmentDefinitionAttributeDimensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionAttributeDimensionPropertyValidator(properties).assertSuccess(),{DimensionType:cdk().stringToCloudFormation(properties.dimensionType),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnSegmentDefinitionAttributeDimensionPropertyFromCloudFormation(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("dimensionType","DimensionType",properties.DimensionType!=null?cfn_parse().FromCloudFormation.getString(properties.DimensionType):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionProfileTypeDimensionPropertyValidator(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("dimensionType",cdk().requiredValidator)(properties.dimensionType)),errors.collect(cdk().propertyValidator("dimensionType",cdk().validateString)(properties.dimensionType)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "ProfileTypeDimensionProperty"')}function convertCfnSegmentDefinitionProfileTypeDimensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionProfileTypeDimensionPropertyValidator(properties).assertSuccess(),{DimensionType:cdk().stringToCloudFormation(properties.dimensionType),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnSegmentDefinitionProfileTypeDimensionPropertyFromCloudFormation(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("dimensionType","DimensionType",properties.DimensionType!=null?cfn_parse().FromCloudFormation.getString(properties.DimensionType):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionProfileAttributesPropertyValidator(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("accountNumber",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.accountNumber)),errors.collect(cdk().propertyValidator("additionalInformation",CfnSegmentDefinitionExtraLengthValueProfileDimensionPropertyValidator)(properties.additionalInformation)),errors.collect(cdk().propertyValidator("address",CfnSegmentDefinitionAddressDimensionPropertyValidator)(properties.address)),errors.collect(cdk().propertyValidator("attributes",cdk().hashValidator(CfnSegmentDefinitionAttributeDimensionPropertyValidator))(properties.attributes)),errors.collect(cdk().propertyValidator("billingAddress",CfnSegmentDefinitionAddressDimensionPropertyValidator)(properties.billingAddress)),errors.collect(cdk().propertyValidator("birthDate",CfnSegmentDefinitionDateDimensionPropertyValidator)(properties.birthDate)),errors.collect(cdk().propertyValidator("businessEmailAddress",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.businessEmailAddress)),errors.collect(cdk().propertyValidator("businessName",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.businessName)),errors.collect(cdk().propertyValidator("businessPhoneNumber",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.businessPhoneNumber)),errors.collect(cdk().propertyValidator("emailAddress",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.emailAddress)),errors.collect(cdk().propertyValidator("firstName",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.firstName)),errors.collect(cdk().propertyValidator("genderString",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.genderString)),errors.collect(cdk().propertyValidator("homePhoneNumber",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.homePhoneNumber)),errors.collect(cdk().propertyValidator("lastName",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.lastName)),errors.collect(cdk().propertyValidator("mailingAddress",CfnSegmentDefinitionAddressDimensionPropertyValidator)(properties.mailingAddress)),errors.collect(cdk().propertyValidator("middleName",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.middleName)),errors.collect(cdk().propertyValidator("mobilePhoneNumber",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.mobilePhoneNumber)),errors.collect(cdk().propertyValidator("partyTypeString",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.partyTypeString)),errors.collect(cdk().propertyValidator("personalEmailAddress",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.personalEmailAddress)),errors.collect(cdk().propertyValidator("phoneNumber",CfnSegmentDefinitionProfileDimensionPropertyValidator)(properties.phoneNumber)),errors.collect(cdk().propertyValidator("profileType",CfnSegmentDefinitionProfileTypeDimensionPropertyValidator)(properties.profileType)),errors.collect(cdk().propertyValidator("shippingAddress",CfnSegmentDefinitionAddressDimensionPropertyValidator)(properties.shippingAddress)),errors.wrap('supplied properties not correct for "ProfileAttributesProperty"')}function convertCfnSegmentDefinitionProfileAttributesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionProfileAttributesPropertyValidator(properties).assertSuccess(),{AccountNumber:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.accountNumber),AdditionalInformation:convertCfnSegmentDefinitionExtraLengthValueProfileDimensionPropertyToCloudFormation(properties.additionalInformation),Address:convertCfnSegmentDefinitionAddressDimensionPropertyToCloudFormation(properties.address),Attributes:cdk().hashMapper(convertCfnSegmentDefinitionAttributeDimensionPropertyToCloudFormation)(properties.attributes),BillingAddress:convertCfnSegmentDefinitionAddressDimensionPropertyToCloudFormation(properties.billingAddress),BirthDate:convertCfnSegmentDefinitionDateDimensionPropertyToCloudFormation(properties.birthDate),BusinessEmailAddress:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.businessEmailAddress),BusinessName:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.businessName),BusinessPhoneNumber:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.businessPhoneNumber),EmailAddress:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.emailAddress),FirstName:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.firstName),GenderString:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.genderString),HomePhoneNumber:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.homePhoneNumber),LastName:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.lastName),MailingAddress:convertCfnSegmentDefinitionAddressDimensionPropertyToCloudFormation(properties.mailingAddress),MiddleName:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.middleName),MobilePhoneNumber:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.mobilePhoneNumber),PartyTypeString:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.partyTypeString),PersonalEmailAddress:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.personalEmailAddress),PhoneNumber:convertCfnSegmentDefinitionProfileDimensionPropertyToCloudFormation(properties.phoneNumber),ProfileType:convertCfnSegmentDefinitionProfileTypeDimensionPropertyToCloudFormation(properties.profileType),ShippingAddress:convertCfnSegmentDefinitionAddressDimensionPropertyToCloudFormation(properties.shippingAddress)}):properties}function CfnSegmentDefinitionProfileAttributesPropertyFromCloudFormation(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("accountNumber","AccountNumber",properties.AccountNumber!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.AccountNumber):void 0),ret.addPropertyResult("additionalInformation","AdditionalInformation",properties.AdditionalInformation!=null?CfnSegmentDefinitionExtraLengthValueProfileDimensionPropertyFromCloudFormation(properties.AdditionalInformation):void 0),ret.addPropertyResult("address","Address",properties.Address!=null?CfnSegmentDefinitionAddressDimensionPropertyFromCloudFormation(properties.Address):void 0),ret.addPropertyResult("attributes","Attributes",properties.Attributes!=null?cfn_parse().FromCloudFormation.getMap(CfnSegmentDefinitionAttributeDimensionPropertyFromCloudFormation)(properties.Attributes):void 0),ret.addPropertyResult("billingAddress","BillingAddress",properties.BillingAddress!=null?CfnSegmentDefinitionAddressDimensionPropertyFromCloudFormation(properties.BillingAddress):void 0),ret.addPropertyResult("birthDate","BirthDate",properties.BirthDate!=null?CfnSegmentDefinitionDateDimensionPropertyFromCloudFormation(properties.BirthDate):void 0),ret.addPropertyResult("businessEmailAddress","BusinessEmailAddress",properties.BusinessEmailAddress!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.BusinessEmailAddress):void 0),ret.addPropertyResult("businessName","BusinessName",properties.BusinessName!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.BusinessName):void 0),ret.addPropertyResult("businessPhoneNumber","BusinessPhoneNumber",properties.BusinessPhoneNumber!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.BusinessPhoneNumber):void 0),ret.addPropertyResult("emailAddress","EmailAddress",properties.EmailAddress!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.EmailAddress):void 0),ret.addPropertyResult("firstName","FirstName",properties.FirstName!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.FirstName):void 0),ret.addPropertyResult("genderString","GenderString",properties.GenderString!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.GenderString):void 0),ret.addPropertyResult("homePhoneNumber","HomePhoneNumber",properties.HomePhoneNumber!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.HomePhoneNumber):void 0),ret.addPropertyResult("lastName","LastName",properties.LastName!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.LastName):void 0),ret.addPropertyResult("mailingAddress","MailingAddress",properties.MailingAddress!=null?CfnSegmentDefinitionAddressDimensionPropertyFromCloudFormation(properties.MailingAddress):void 0),ret.addPropertyResult("middleName","MiddleName",properties.MiddleName!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.MiddleName):void 0),ret.addPropertyResult("mobilePhoneNumber","MobilePhoneNumber",properties.MobilePhoneNumber!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.MobilePhoneNumber):void 0),ret.addPropertyResult("partyTypeString","PartyTypeString",properties.PartyTypeString!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.PartyTypeString):void 0),ret.addPropertyResult("personalEmailAddress","PersonalEmailAddress",properties.PersonalEmailAddress!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.PersonalEmailAddress):void 0),ret.addPropertyResult("phoneNumber","PhoneNumber",properties.PhoneNumber!=null?CfnSegmentDefinitionProfileDimensionPropertyFromCloudFormation(properties.PhoneNumber):void 0),ret.addPropertyResult("profileType","ProfileType",properties.ProfileType!=null?CfnSegmentDefinitionProfileTypeDimensionPropertyFromCloudFormation(properties.ProfileType):void 0),ret.addPropertyResult("shippingAddress","ShippingAddress",properties.ShippingAddress!=null?CfnSegmentDefinitionAddressDimensionPropertyFromCloudFormation(properties.ShippingAddress):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionRangeOverridePropertyValidator(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("end",cdk().validateNumber)(properties.end)),errors.collect(cdk().propertyValidator("start",cdk().requiredValidator)(properties.start)),errors.collect(cdk().propertyValidator("start",cdk().validateNumber)(properties.start)),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 "RangeOverrideProperty"')}function convertCfnSegmentDefinitionRangeOverridePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionRangeOverridePropertyValidator(properties).assertSuccess(),{End:cdk().numberToCloudFormation(properties.end),Start:cdk().numberToCloudFormation(properties.start),Unit:cdk().stringToCloudFormation(properties.unit)}):properties}function CfnSegmentDefinitionRangeOverridePropertyFromCloudFormation(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("end","End",properties.End!=null?cfn_parse().FromCloudFormation.getNumber(properties.End):void 0),ret.addPropertyResult("start","Start",properties.Start!=null?cfn_parse().FromCloudFormation.getNumber(properties.Start):void 0),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse().FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionConditionOverridesPropertyValidator(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("range",CfnSegmentDefinitionRangeOverridePropertyValidator)(properties.range)),errors.wrap('supplied properties not correct for "ConditionOverridesProperty"')}function convertCfnSegmentDefinitionConditionOverridesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionConditionOverridesPropertyValidator(properties).assertSuccess(),{Range:convertCfnSegmentDefinitionRangeOverridePropertyToCloudFormation(properties.range)}):properties}function CfnSegmentDefinitionConditionOverridesPropertyFromCloudFormation(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("range","Range",properties.Range!=null?CfnSegmentDefinitionRangeOverridePropertyFromCloudFormation(properties.Range):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionCalculatedAttributeDimensionPropertyValidator(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("conditionOverrides",CfnSegmentDefinitionConditionOverridesPropertyValidator)(properties.conditionOverrides)),errors.collect(cdk().propertyValidator("dimensionType",cdk().requiredValidator)(properties.dimensionType)),errors.collect(cdk().propertyValidator("dimensionType",cdk().validateString)(properties.dimensionType)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "CalculatedAttributeDimensionProperty"')}function convertCfnSegmentDefinitionCalculatedAttributeDimensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionCalculatedAttributeDimensionPropertyValidator(properties).assertSuccess(),{ConditionOverrides:convertCfnSegmentDefinitionConditionOverridesPropertyToCloudFormation(properties.conditionOverrides),DimensionType:cdk().stringToCloudFormation(properties.dimensionType),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnSegmentDefinitionCalculatedAttributeDimensionPropertyFromCloudFormation(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("conditionOverrides","ConditionOverrides",properties.ConditionOverrides!=null?CfnSegmentDefinitionConditionOverridesPropertyFromCloudFormation(properties.ConditionOverrides):void 0),ret.addPropertyResult("dimensionType","DimensionType",properties.DimensionType!=null?cfn_parse().FromCloudFormation.getString(properties.DimensionType):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionDimensionPropertyValidator(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("calculatedAttributes",cdk().hashValidator(CfnSegmentDefinitionCalculatedAttributeDimensionPropertyValidator))(properties.calculatedAttributes)),errors.collect(cdk().propertyValidator("profileAttributes",CfnSegmentDefinitionProfileAttributesPropertyValidator)(properties.profileAttributes)),errors.wrap('supplied properties not correct for "DimensionProperty"')}function convertCfnSegmentDefinitionDimensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionDimensionPropertyValidator(properties).assertSuccess(),{CalculatedAttributes:cdk().hashMapper(convertCfnSegmentDefinitionCalculatedAttributeDimensionPropertyToCloudFormation)(properties.calculatedAttributes),ProfileAttributes:convertCfnSegmentDefinitionProfileAttributesPropertyToCloudFormation(properties.profileAttributes)}):properties}function CfnSegmentDefinitionDimensionPropertyFromCloudFormation(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("calculatedAttributes","CalculatedAttributes",properties.CalculatedAttributes!=null?cfn_parse().FromCloudFormation.getMap(CfnSegmentDefinitionCalculatedAttributeDimensionPropertyFromCloudFormation)(properties.CalculatedAttributes):void 0),ret.addPropertyResult("profileAttributes","ProfileAttributes",properties.ProfileAttributes!=null?CfnSegmentDefinitionProfileAttributesPropertyFromCloudFormation(properties.ProfileAttributes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionSourceSegmentPropertyValidator(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("segmentDefinitionName",cdk().validateString)(properties.segmentDefinitionName)),errors.wrap('supplied properties not correct for "SourceSegmentProperty"')}function convertCfnSegmentDefinitionSourceSegmentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionSourceSegmentPropertyValidator(properties).assertSuccess(),{SegmentDefinitionName:cdk().stringToCloudFormation(properties.segmentDefinitionName)}):properties}function CfnSegmentDefinitionSourceSegmentPropertyFromCloudFormation(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("segmentDefinitionName","SegmentDefinitionName",properties.SegmentDefinitionName!=null?cfn_parse().FromCloudFormation.getString(properties.SegmentDefinitionName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionGroupPropertyValidator(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("dimensions",cdk().listValidator(CfnSegmentDefinitionDimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk().propertyValidator("sourceSegments",cdk().listValidator(CfnSegmentDefinitionSourceSegmentPropertyValidator))(properties.sourceSegments)),errors.collect(cdk().propertyValidator("sourceType",cdk().validateString)(properties.sourceType)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "GroupProperty"')}function convertCfnSegmentDefinitionGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionGroupPropertyValidator(properties).assertSuccess(),{Dimensions:cdk().listMapper(convertCfnSegmentDefinitionDimensionPropertyToCloudFormation)(properties.dimensions),SourceSegments:cdk().listMapper(convertCfnSegmentDefinitionSourceSegmentPropertyToCloudFormation)(properties.sourceSegments),SourceType:cdk().stringToCloudFormation(properties.sourceType),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnSegmentDefinitionGroupPropertyFromCloudFormation(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("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse().FromCloudFormation.getArray(CfnSegmentDefinitionDimensionPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("sourceSegments","SourceSegments",properties.SourceSegments!=null?cfn_parse().FromCloudFormation.getArray(CfnSegmentDefinitionSourceSegmentPropertyFromCloudFormation)(properties.SourceSegments):void 0),ret.addPropertyResult("sourceType","SourceType",properties.SourceType!=null?cfn_parse().FromCloudFormation.getString(properties.SourceType):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionSegmentGroupPropertyValidator(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("groups",cdk().listValidator(CfnSegmentDefinitionGroupPropertyValidator))(properties.groups)),errors.collect(cdk().propertyValidator("include",cdk().validateString)(properties.include)),errors.wrap('supplied properties not correct for "SegmentGroupProperty"')}function convertCfnSegmentDefinitionSegmentGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionSegmentGroupPropertyValidator(properties).assertSuccess(),{Groups:cdk().listMapper(convertCfnSegmentDefinitionGroupPropertyToCloudFormation)(properties.groups),Include:cdk().stringToCloudFormation(properties.include)}):properties}function CfnSegmentDefinitionSegmentGroupPropertyFromCloudFormation(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("groups","Groups",properties.Groups!=null?cfn_parse().FromCloudFormation.getArray(CfnSegmentDefinitionGroupPropertyFromCloudFormation)(properties.Groups):void 0),ret.addPropertyResult("include","Include",properties.Include!=null?cfn_parse().FromCloudFormation.getString(properties.Include):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionSortAttributePropertyValidator(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("dataType",cdk().validateString)(properties.dataType)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("order",cdk().requiredValidator)(properties.order)),errors.collect(cdk().propertyValidator("order",cdk().validateString)(properties.order)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "SortAttributeProperty"')}function convertCfnSegmentDefinitionSortAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionSortAttributePropertyValidator(properties).assertSuccess(),{DataType:cdk().stringToCloudFormation(properties.dataType),Name:cdk().stringToCloudFormation(properties.name),Order:cdk().stringToCloudFormation(properties.order),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnSegmentDefinitionSortAttributePropertyFromCloudFormation(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("dataType","DataType",properties.DataType!=null?cfn_parse().FromCloudFormation.getString(properties.DataType):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("order","Order",properties.Order!=null?cfn_parse().FromCloudFormation.getString(properties.Order):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionSegmentSortPropertyValidator(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("attributes",cdk().requiredValidator)(properties.attributes)),errors.collect(cdk().propertyValidator("attributes",cdk().listValidator(CfnSegmentDefinitionSortAttributePropertyValidator))(properties.attributes)),errors.wrap('supplied properties not correct for "SegmentSortProperty"')}function convertCfnSegmentDefinitionSegmentSortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionSegmentSortPropertyValidator(properties).assertSuccess(),{Attributes:cdk().listMapper(convertCfnSegmentDefinitionSortAttributePropertyToCloudFormation)(properties.attributes)}):properties}function CfnSegmentDefinitionSegmentSortPropertyFromCloudFormation(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("attributes","Attributes",properties.Attributes!=null?cfn_parse().FromCloudFormation.getArray(CfnSegmentDefinitionSortAttributePropertyFromCloudFormation)(properties.Attributes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSegmentDefinitionPropsValidator(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("displayName",cdk().requiredValidator)(properties.displayName)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("segmentDefinitionName",cdk().requiredValidator)(properties.segmentDefinitionName)),errors.collect(cdk().propertyValidator("segmentDefinitionName",cdk().validateString)(properties.segmentDefinitionName)),errors.collect(cdk().propertyValidator("segmentGroups",CfnSegmentDefinitionSegmentGroupPropertyValidator)(properties.segmentGroups)),errors.collect(cdk().propertyValidator("segmentSort",CfnSegmentDefinitionSegmentSortPropertyValidator)(properties.segmentSort)),errors.collect(cdk().propertyValidator("segmentSqlQuery",cdk().validateString)(properties.segmentSqlQuery)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnSegmentDefinitionProps"')}function convertCfnSegmentDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSegmentDefinitionPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),DisplayName:cdk().stringToCloudFormation(properties.displayName),DomainName:cdk().stringToCloudFormation(properties.domainName),SegmentDefinitionName:cdk().stringToCloudFormation(properties.segmentDefinitionName),SegmentGroups:convertCfnSegmentDefinitionSegmentGroupPropertyToCloudFormation(properties.segmentGroups),SegmentSort:convertCfnSegmentDefinitionSegmentSortPropertyToCloudFormation(properties.segmentSort),SegmentSqlQuery:cdk().stringToCloudFormation(properties.segmentSqlQuery),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnSegmentDefinitionPropsFromCloudFormation(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("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("segmentDefinitionName","SegmentDefinitionName",properties.SegmentDefinitionName!=null?cfn_parse().FromCloudFormation.getString(properties.SegmentDefinitionName):void 0),ret.addPropertyResult("segmentGroups","SegmentGroups",properties.SegmentGroups!=null?CfnSegmentDefinitionSegmentGroupPropertyFromCloudFormation(properties.SegmentGroups):void 0),ret.addPropertyResult("segmentSort","SegmentSort",properties.SegmentSort!=null?CfnSegmentDefinitionSegmentSortPropertyFromCloudFormation(properties.SegmentSort):void 0),ret.addPropertyResult("segmentSqlQuery","SegmentSqlQuery",properties.SegmentSqlQuery!=null?cfn_parse().FromCloudFormation.getString(properties.SegmentSqlQuery):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}