"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnPolicyStatement=exports.CfnIdNamespace=exports.CfnIdMappingWorkflow=exports.CfnSchemaMapping=exports.CfnMatchingWorkflow=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 CfnMatchingWorkflow extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EntityResolution::MatchingWorkflow";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMatchingWorkflowPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnMatchingWorkflow(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 isCfnMatchingWorkflow(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnMatchingWorkflow.CFN_RESOURCE_TYPE_NAME}static fromWorkflowName(scope,id,workflowName){class Import extends cdk().Resource{matchingWorkflowRef;constructor(scope2,id2,workflowName2){super(scope2,id2),this.matchingWorkflowRef={workflowName:workflowName2}}}return new Import(scope,id,workflowName)}static arnForMatchingWorkflow(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_entityresolution_IMatchingWorkflowRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForMatchingWorkflow),error}return new(cfn_parse()).TemplateString("arn:${Partition}:entityresolution:${Region}:${Account}:matchingworkflow/${WorkflowName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,WorkflowName:resource.matchingWorkflowRef.workflowName})}cdkTagManager;_description;_incrementalRunConfig;_inputSourceConfig;_outputSourceConfig;_resolutionTechniques;_roleArn;_tags;_workflowName;cfnPropertyNames={tags:"Tags",description:"Description",incrementalRunConfig:"IncrementalRunConfig",inputSourceConfig:"InputSourceConfig",outputSourceConfig:"OutputSourceConfig",resolutionTechniques:"ResolutionTechniques",roleArn:"RoleArn",workflowName:"WorkflowName"};constructor(scope,id,props){super(scope,id,{type:CfnMatchingWorkflow.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_entityresolution_CfnMatchingWorkflowProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMatchingWorkflow),error}cdk().requireProperty(props,"inputSourceConfig",this),cdk().requireProperty(props,"outputSourceConfig",this),cdk().requireProperty(props,"resolutionTechniques",this),cdk().requireProperty(props,"roleArn",this),cdk().requireProperty(props,"workflowName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EntityResolution::MatchingWorkflow",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._incrementalRunConfig=props.incrementalRunConfig,this._inputSourceConfig=props.inputSourceConfig,this._outputSourceConfig=props.outputSourceConfig,this._resolutionTechniques=props.resolutionTechniques,this._roleArn=props.roleArn,this._tags=props.tags,this._workflowName=props.workflowName}get matchingWorkflowRef(){return{workflowName:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get incrementalRunConfig(){return this._incrementalRunConfig}set incrementalRunConfig(value){cdk().traceProperty(this.node,"IncrementalRunConfig"),this._incrementalRunConfig=value}get inputSourceConfig(){return this._inputSourceConfig}set inputSourceConfig(value){cdk().traceProperty(this.node,"InputSourceConfig"),this._inputSourceConfig=value}get outputSourceConfig(){return this._outputSourceConfig}set outputSourceConfig(value){cdk().traceProperty(this.node,"OutputSourceConfig"),this._outputSourceConfig=value}get resolutionTechniques(){return this._resolutionTechniques}set resolutionTechniques(value){cdk().traceProperty(this.node,"ResolutionTechniques"),this._resolutionTechniques=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get workflowName(){return this._workflowName}set workflowName(value){cdk().traceProperty(this.node,"WorkflowName"),this._workflowName=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrWorkflowArn(){return cdk().Token.asString(this.getAtt("WorkflowArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,incrementalRunConfig:this._incrementalRunConfig,inputSourceConfig:this._inputSourceConfig,outputSourceConfig:this._outputSourceConfig,resolutionTechniques:this._resolutionTechniques,roleArn:this._roleArn,workflowName:this._workflowName}}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",CfnMatchingWorkflow.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnMatchingWorkflowPropsToCloudFormation(props)}}exports.CfnMatchingWorkflow=CfnMatchingWorkflow;function CfnMatchingWorkflowRulePropertyValidator(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("matchingKeys",cdk().requiredValidator)(properties.matchingKeys)),errors.collect(cdk().propertyValidator("matchingKeys",cdk().listValidator(cdk().validateString))(properties.matchingKeys)),errors.collect(cdk().propertyValidator("ruleName",cdk().requiredValidator)(properties.ruleName)),errors.collect(cdk().propertyValidator("ruleName",cdk().validateString)(properties.ruleName)),errors.wrap('supplied properties not correct for "RuleProperty"')}function convertCfnMatchingWorkflowRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowRulePropertyValidator(properties).assertSuccess(),{MatchingKeys:cdk().listMapper(cdk().stringToCloudFormation)(properties.matchingKeys),RuleName:cdk().stringToCloudFormation(properties.ruleName)}):properties}function CfnMatchingWorkflowRulePropertyFromCloudFormation(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("matchingKeys","MatchingKeys",properties.MatchingKeys!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MatchingKeys):void 0),ret.addPropertyResult("ruleName","RuleName",properties.RuleName!=null?cfn_parse().FromCloudFormation.getString(properties.RuleName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowRuleBasedPropertiesPropertyValidator(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("attributeMatchingModel",cdk().requiredValidator)(properties.attributeMatchingModel)),errors.collect(cdk().propertyValidator("attributeMatchingModel",cdk().validateString)(properties.attributeMatchingModel)),errors.collect(cdk().propertyValidator("matchPurpose",cdk().validateString)(properties.matchPurpose)),errors.collect(cdk().propertyValidator("rules",cdk().requiredValidator)(properties.rules)),errors.collect(cdk().propertyValidator("rules",cdk().listValidator(CfnMatchingWorkflowRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "RuleBasedPropertiesProperty"')}function convertCfnMatchingWorkflowRuleBasedPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowRuleBasedPropertiesPropertyValidator(properties).assertSuccess(),{AttributeMatchingModel:cdk().stringToCloudFormation(properties.attributeMatchingModel),MatchPurpose:cdk().stringToCloudFormation(properties.matchPurpose),Rules:cdk().listMapper(convertCfnMatchingWorkflowRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnMatchingWorkflowRuleBasedPropertiesPropertyFromCloudFormation(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("attributeMatchingModel","AttributeMatchingModel",properties.AttributeMatchingModel!=null?cfn_parse().FromCloudFormation.getString(properties.AttributeMatchingModel):void 0),ret.addPropertyResult("matchPurpose","MatchPurpose",properties.MatchPurpose!=null?cfn_parse().FromCloudFormation.getString(properties.MatchPurpose):void 0),ret.addPropertyResult("rules","Rules",properties.Rules!=null?cfn_parse().FromCloudFormation.getArray(CfnMatchingWorkflowRulePropertyFromCloudFormation)(properties.Rules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowRuleConditionPropertyValidator(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("condition",cdk().validateString)(properties.condition)),errors.collect(cdk().propertyValidator("ruleName",cdk().validateString)(properties.ruleName)),errors.wrap('supplied properties not correct for "RuleConditionProperty"')}function convertCfnMatchingWorkflowRuleConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowRuleConditionPropertyValidator(properties).assertSuccess(),{Condition:cdk().stringToCloudFormation(properties.condition),RuleName:cdk().stringToCloudFormation(properties.ruleName)}):properties}function CfnMatchingWorkflowRuleConditionPropertyFromCloudFormation(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("condition","Condition",properties.Condition!=null?cfn_parse().FromCloudFormation.getString(properties.Condition):void 0),ret.addPropertyResult("ruleName","RuleName",properties.RuleName!=null?cfn_parse().FromCloudFormation.getString(properties.RuleName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowRuleConditionPropertiesPropertyValidator(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("rules",cdk().requiredValidator)(properties.rules)),errors.collect(cdk().propertyValidator("rules",cdk().listValidator(CfnMatchingWorkflowRuleConditionPropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "RuleConditionPropertiesProperty"')}function convertCfnMatchingWorkflowRuleConditionPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowRuleConditionPropertiesPropertyValidator(properties).assertSuccess(),{Rules:cdk().listMapper(convertCfnMatchingWorkflowRuleConditionPropertyToCloudFormation)(properties.rules)}):properties}function CfnMatchingWorkflowRuleConditionPropertiesPropertyFromCloudFormation(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("rules","Rules",properties.Rules!=null?cfn_parse().FromCloudFormation.getArray(CfnMatchingWorkflowRuleConditionPropertyFromCloudFormation)(properties.Rules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowIntermediateSourceConfigurationPropertyValidator(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("intermediateS3Path",cdk().requiredValidator)(properties.intermediateS3Path)),errors.collect(cdk().propertyValidator("intermediateS3Path",cdk().validateString)(properties.intermediateS3Path)),errors.wrap('supplied properties not correct for "IntermediateSourceConfigurationProperty"')}function convertCfnMatchingWorkflowIntermediateSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowIntermediateSourceConfigurationPropertyValidator(properties).assertSuccess(),{IntermediateS3Path:cdk().stringToCloudFormation(properties.intermediateS3Path)}):properties}function CfnMatchingWorkflowIntermediateSourceConfigurationPropertyFromCloudFormation(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("intermediateS3Path","IntermediateS3Path",properties.IntermediateS3Path!=null?cfn_parse().FromCloudFormation.getString(properties.IntermediateS3Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowProviderPropertiesPropertyValidator(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("intermediateSourceConfiguration",CfnMatchingWorkflowIntermediateSourceConfigurationPropertyValidator)(properties.intermediateSourceConfiguration)),errors.collect(cdk().propertyValidator("providerConfiguration",cdk().hashValidator(cdk().validateString))(properties.providerConfiguration)),errors.collect(cdk().propertyValidator("providerServiceArn",cdk().requiredValidator)(properties.providerServiceArn)),errors.collect(cdk().propertyValidator("providerServiceArn",cdk().validateString)(properties.providerServiceArn)),errors.wrap('supplied properties not correct for "ProviderPropertiesProperty"')}function convertCfnMatchingWorkflowProviderPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowProviderPropertiesPropertyValidator(properties).assertSuccess(),{IntermediateSourceConfiguration:convertCfnMatchingWorkflowIntermediateSourceConfigurationPropertyToCloudFormation(properties.intermediateSourceConfiguration),ProviderConfiguration:cdk().hashMapper(cdk().stringToCloudFormation)(properties.providerConfiguration),ProviderServiceArn:cdk().stringToCloudFormation(properties.providerServiceArn)}):properties}function CfnMatchingWorkflowProviderPropertiesPropertyFromCloudFormation(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("intermediateSourceConfiguration","IntermediateSourceConfiguration",properties.IntermediateSourceConfiguration!=null?CfnMatchingWorkflowIntermediateSourceConfigurationPropertyFromCloudFormation(properties.IntermediateSourceConfiguration):void 0),ret.addPropertyResult("providerConfiguration","ProviderConfiguration",properties.ProviderConfiguration!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.ProviderConfiguration):void 0),ret.addPropertyResult("providerServiceArn","ProviderServiceArn",properties.ProviderServiceArn!=null?cfn_parse().FromCloudFormation.getString(properties.ProviderServiceArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowResolutionTechniquesPropertyValidator(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("providerProperties",CfnMatchingWorkflowProviderPropertiesPropertyValidator)(properties.providerProperties)),errors.collect(cdk().propertyValidator("resolutionType",cdk().validateString)(properties.resolutionType)),errors.collect(cdk().propertyValidator("ruleBasedProperties",CfnMatchingWorkflowRuleBasedPropertiesPropertyValidator)(properties.ruleBasedProperties)),errors.collect(cdk().propertyValidator("ruleConditionProperties",CfnMatchingWorkflowRuleConditionPropertiesPropertyValidator)(properties.ruleConditionProperties)),errors.wrap('supplied properties not correct for "ResolutionTechniquesProperty"')}function convertCfnMatchingWorkflowResolutionTechniquesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowResolutionTechniquesPropertyValidator(properties).assertSuccess(),{ProviderProperties:convertCfnMatchingWorkflowProviderPropertiesPropertyToCloudFormation(properties.providerProperties),ResolutionType:cdk().stringToCloudFormation(properties.resolutionType),RuleBasedProperties:convertCfnMatchingWorkflowRuleBasedPropertiesPropertyToCloudFormation(properties.ruleBasedProperties),RuleConditionProperties:convertCfnMatchingWorkflowRuleConditionPropertiesPropertyToCloudFormation(properties.ruleConditionProperties)}):properties}function CfnMatchingWorkflowResolutionTechniquesPropertyFromCloudFormation(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("providerProperties","ProviderProperties",properties.ProviderProperties!=null?CfnMatchingWorkflowProviderPropertiesPropertyFromCloudFormation(properties.ProviderProperties):void 0),ret.addPropertyResult("resolutionType","ResolutionType",properties.ResolutionType!=null?cfn_parse().FromCloudFormation.getString(properties.ResolutionType):void 0),ret.addPropertyResult("ruleBasedProperties","RuleBasedProperties",properties.RuleBasedProperties!=null?CfnMatchingWorkflowRuleBasedPropertiesPropertyFromCloudFormation(properties.RuleBasedProperties):void 0),ret.addPropertyResult("ruleConditionProperties","RuleConditionProperties",properties.RuleConditionProperties!=null?CfnMatchingWorkflowRuleConditionPropertiesPropertyFromCloudFormation(properties.RuleConditionProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowInputSourcePropertyValidator(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("applyNormalization",cdk().validateBoolean)(properties.applyNormalization)),errors.collect(cdk().propertyValidator("inputSourceArn",cdk().requiredValidator)(properties.inputSourceArn)),errors.collect(cdk().propertyValidator("inputSourceArn",cdk().validateString)(properties.inputSourceArn)),errors.collect(cdk().propertyValidator("schemaArn",cdk().requiredValidator)(properties.schemaArn)),errors.collect(cdk().propertyValidator("schemaArn",cdk().validateString)(properties.schemaArn)),errors.wrap('supplied properties not correct for "InputSourceProperty"')}function convertCfnMatchingWorkflowInputSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowInputSourcePropertyValidator(properties).assertSuccess(),{ApplyNormalization:cdk().booleanToCloudFormation(properties.applyNormalization),InputSourceARN:cdk().stringToCloudFormation(properties.inputSourceArn),SchemaArn:cdk().stringToCloudFormation(properties.schemaArn)}):properties}function CfnMatchingWorkflowInputSourcePropertyFromCloudFormation(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("applyNormalization","ApplyNormalization",properties.ApplyNormalization!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ApplyNormalization):void 0),ret.addPropertyResult("inputSourceArn","InputSourceARN",properties.InputSourceARN!=null?cfn_parse().FromCloudFormation.getString(properties.InputSourceARN):void 0),ret.addPropertyResult("schemaArn","SchemaArn",properties.SchemaArn!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowOutputAttributePropertyValidator(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("hashed",cdk().validateBoolean)(properties.hashed)),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 "OutputAttributeProperty"')}function convertCfnMatchingWorkflowOutputAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowOutputAttributePropertyValidator(properties).assertSuccess(),{Hashed:cdk().booleanToCloudFormation(properties.hashed),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnMatchingWorkflowOutputAttributePropertyFromCloudFormation(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("hashed","Hashed",properties.Hashed!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Hashed):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowCustomerProfilesIntegrationConfigPropertyValidator(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("domainArn",cdk().requiredValidator)(properties.domainArn)),errors.collect(cdk().propertyValidator("domainArn",cdk().validateString)(properties.domainArn)),errors.collect(cdk().propertyValidator("objectTypeArn",cdk().requiredValidator)(properties.objectTypeArn)),errors.collect(cdk().propertyValidator("objectTypeArn",cdk().validateString)(properties.objectTypeArn)),errors.wrap('supplied properties not correct for "CustomerProfilesIntegrationConfigProperty"')}function convertCfnMatchingWorkflowCustomerProfilesIntegrationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowCustomerProfilesIntegrationConfigPropertyValidator(properties).assertSuccess(),{DomainArn:cdk().stringToCloudFormation(properties.domainArn),ObjectTypeArn:cdk().stringToCloudFormation(properties.objectTypeArn)}):properties}function CfnMatchingWorkflowCustomerProfilesIntegrationConfigPropertyFromCloudFormation(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("domainArn","DomainArn",properties.DomainArn!=null?cfn_parse().FromCloudFormation.getString(properties.DomainArn):void 0),ret.addPropertyResult("objectTypeArn","ObjectTypeArn",properties.ObjectTypeArn!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectTypeArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowOutputSourcePropertyValidator(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("applyNormalization",cdk().validateBoolean)(properties.applyNormalization)),errors.collect(cdk().propertyValidator("customerProfilesIntegrationConfig",CfnMatchingWorkflowCustomerProfilesIntegrationConfigPropertyValidator)(properties.customerProfilesIntegrationConfig)),errors.collect(cdk().propertyValidator("kmsArn",cdk().validateString)(properties.kmsArn)),errors.collect(cdk().propertyValidator("output",cdk().requiredValidator)(properties.output)),errors.collect(cdk().propertyValidator("output",cdk().listValidator(CfnMatchingWorkflowOutputAttributePropertyValidator))(properties.output)),errors.collect(cdk().propertyValidator("outputS3Path",cdk().validateString)(properties.outputS3Path)),errors.wrap('supplied properties not correct for "OutputSourceProperty"')}function convertCfnMatchingWorkflowOutputSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowOutputSourcePropertyValidator(properties).assertSuccess(),{ApplyNormalization:cdk().booleanToCloudFormation(properties.applyNormalization),CustomerProfilesIntegrationConfig:convertCfnMatchingWorkflowCustomerProfilesIntegrationConfigPropertyToCloudFormation(properties.customerProfilesIntegrationConfig),KMSArn:cdk().stringToCloudFormation(properties.kmsArn),Output:cdk().listMapper(convertCfnMatchingWorkflowOutputAttributePropertyToCloudFormation)(properties.output),OutputS3Path:cdk().stringToCloudFormation(properties.outputS3Path)}):properties}function CfnMatchingWorkflowOutputSourcePropertyFromCloudFormation(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("applyNormalization","ApplyNormalization",properties.ApplyNormalization!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ApplyNormalization):void 0),ret.addPropertyResult("customerProfilesIntegrationConfig","CustomerProfilesIntegrationConfig",properties.CustomerProfilesIntegrationConfig!=null?CfnMatchingWorkflowCustomerProfilesIntegrationConfigPropertyFromCloudFormation(properties.CustomerProfilesIntegrationConfig):void 0),ret.addPropertyResult("kmsArn","KMSArn",properties.KMSArn!=null?cfn_parse().FromCloudFormation.getString(properties.KMSArn):void 0),ret.addPropertyResult("output","Output",properties.Output!=null?cfn_parse().FromCloudFormation.getArray(CfnMatchingWorkflowOutputAttributePropertyFromCloudFormation)(properties.Output):void 0),ret.addPropertyResult("outputS3Path","OutputS3Path",properties.OutputS3Path!=null?cfn_parse().FromCloudFormation.getString(properties.OutputS3Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowIncrementalRunConfigPropertyValidator(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("incrementalRunType",cdk().requiredValidator)(properties.incrementalRunType)),errors.collect(cdk().propertyValidator("incrementalRunType",cdk().validateString)(properties.incrementalRunType)),errors.wrap('supplied properties not correct for "IncrementalRunConfigProperty"')}function convertCfnMatchingWorkflowIncrementalRunConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowIncrementalRunConfigPropertyValidator(properties).assertSuccess(),{IncrementalRunType:cdk().stringToCloudFormation(properties.incrementalRunType)}):properties}function CfnMatchingWorkflowIncrementalRunConfigPropertyFromCloudFormation(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("incrementalRunType","IncrementalRunType",properties.IncrementalRunType!=null?cfn_parse().FromCloudFormation.getString(properties.IncrementalRunType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchingWorkflowPropsValidator(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("incrementalRunConfig",CfnMatchingWorkflowIncrementalRunConfigPropertyValidator)(properties.incrementalRunConfig)),errors.collect(cdk().propertyValidator("inputSourceConfig",cdk().requiredValidator)(properties.inputSourceConfig)),errors.collect(cdk().propertyValidator("inputSourceConfig",cdk().listValidator(CfnMatchingWorkflowInputSourcePropertyValidator))(properties.inputSourceConfig)),errors.collect(cdk().propertyValidator("outputSourceConfig",cdk().requiredValidator)(properties.outputSourceConfig)),errors.collect(cdk().propertyValidator("outputSourceConfig",cdk().listValidator(CfnMatchingWorkflowOutputSourcePropertyValidator))(properties.outputSourceConfig)),errors.collect(cdk().propertyValidator("resolutionTechniques",cdk().requiredValidator)(properties.resolutionTechniques)),errors.collect(cdk().propertyValidator("resolutionTechniques",CfnMatchingWorkflowResolutionTechniquesPropertyValidator)(properties.resolutionTechniques)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("workflowName",cdk().requiredValidator)(properties.workflowName)),errors.collect(cdk().propertyValidator("workflowName",cdk().validateString)(properties.workflowName)),errors.wrap('supplied properties not correct for "CfnMatchingWorkflowProps"')}function convertCfnMatchingWorkflowPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchingWorkflowPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),IncrementalRunConfig:convertCfnMatchingWorkflowIncrementalRunConfigPropertyToCloudFormation(properties.incrementalRunConfig),InputSourceConfig:cdk().listMapper(convertCfnMatchingWorkflowInputSourcePropertyToCloudFormation)(properties.inputSourceConfig),OutputSourceConfig:cdk().listMapper(convertCfnMatchingWorkflowOutputSourcePropertyToCloudFormation)(properties.outputSourceConfig),ResolutionTechniques:convertCfnMatchingWorkflowResolutionTechniquesPropertyToCloudFormation(properties.resolutionTechniques),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),WorkflowName:cdk().stringToCloudFormation(properties.workflowName)}):properties}function CfnMatchingWorkflowPropsFromCloudFormation(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("incrementalRunConfig","IncrementalRunConfig",properties.IncrementalRunConfig!=null?CfnMatchingWorkflowIncrementalRunConfigPropertyFromCloudFormation(properties.IncrementalRunConfig):void 0),ret.addPropertyResult("inputSourceConfig","InputSourceConfig",properties.InputSourceConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnMatchingWorkflowInputSourcePropertyFromCloudFormation)(properties.InputSourceConfig):void 0),ret.addPropertyResult("outputSourceConfig","OutputSourceConfig",properties.OutputSourceConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnMatchingWorkflowOutputSourcePropertyFromCloudFormation)(properties.OutputSourceConfig):void 0),ret.addPropertyResult("resolutionTechniques","ResolutionTechniques",properties.ResolutionTechniques!=null?CfnMatchingWorkflowResolutionTechniquesPropertyFromCloudFormation(properties.ResolutionTechniques):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("workflowName","WorkflowName",properties.WorkflowName!=null?cfn_parse().FromCloudFormation.getString(properties.WorkflowName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSchemaMapping extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_entityresolution.CfnSchemaMapping",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EntityResolution::SchemaMapping";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSchemaMappingPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnSchemaMapping(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 isCfnSchemaMapping(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSchemaMapping.CFN_RESOURCE_TYPE_NAME}static fromSchemaName(scope,id,schemaName){class Import extends cdk().Resource{schemaMappingRef;constructor(scope2,id2,schemaName2){super(scope2,id2),this.schemaMappingRef={schemaName:schemaName2}}}return new Import(scope,id,schemaName)}static arnForSchemaMapping(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_entityresolution_ISchemaMappingRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForSchemaMapping),error}return new(cfn_parse()).TemplateString("arn:${Partition}:entityresolution:${Region}:${Account}:schemamapping/${SchemaName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,SchemaName:resource.schemaMappingRef.schemaName})}cdkTagManager;_description;_mappedInputFields;_schemaName;_tags;cfnPropertyNames={tags:"Tags",description:"Description",mappedInputFields:"MappedInputFields",schemaName:"SchemaName"};constructor(scope,id,props){super(scope,id,{type:CfnSchemaMapping.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_entityresolution_CfnSchemaMappingProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSchemaMapping),error}cdk().requireProperty(props,"mappedInputFields",this),cdk().requireProperty(props,"schemaName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EntityResolution::SchemaMapping",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._mappedInputFields=props.mappedInputFields,this._schemaName=props.schemaName,this._tags=props.tags}get schemaMappingRef(){return{schemaName:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get mappedInputFields(){return this._mappedInputFields}set mappedInputFields(value){cdk().traceProperty(this.node,"MappedInputFields"),this._mappedInputFields=value}get schemaName(){return this._schemaName}set schemaName(value){cdk().traceProperty(this.node,"SchemaName"),this._schemaName=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 attrHasWorkflows(){return this.getAtt("HasWorkflows")}get attrSchemaArn(){return cdk().Token.asString(this.getAtt("SchemaArn",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,mappedInputFields:this._mappedInputFields,schemaName:this._schemaName}}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",CfnSchemaMapping.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSchemaMappingPropsToCloudFormation(props)}}exports.CfnSchemaMapping=CfnSchemaMapping;function CfnSchemaMappingSchemaInputAttributePropertyValidator(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("fieldName",cdk().requiredValidator)(properties.fieldName)),errors.collect(cdk().propertyValidator("fieldName",cdk().validateString)(properties.fieldName)),errors.collect(cdk().propertyValidator("groupName",cdk().validateString)(properties.groupName)),errors.collect(cdk().propertyValidator("hashed",cdk().validateBoolean)(properties.hashed)),errors.collect(cdk().propertyValidator("matchKey",cdk().validateString)(properties.matchKey)),errors.collect(cdk().propertyValidator("subType",cdk().validateString)(properties.subType)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "SchemaInputAttributeProperty"')}function convertCfnSchemaMappingSchemaInputAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchemaMappingSchemaInputAttributePropertyValidator(properties).assertSuccess(),{FieldName:cdk().stringToCloudFormation(properties.fieldName),GroupName:cdk().stringToCloudFormation(properties.groupName),Hashed:cdk().booleanToCloudFormation(properties.hashed),MatchKey:cdk().stringToCloudFormation(properties.matchKey),SubType:cdk().stringToCloudFormation(properties.subType),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnSchemaMappingSchemaInputAttributePropertyFromCloudFormation(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("fieldName","FieldName",properties.FieldName!=null?cfn_parse().FromCloudFormation.getString(properties.FieldName):void 0),ret.addPropertyResult("groupName","GroupName",properties.GroupName!=null?cfn_parse().FromCloudFormation.getString(properties.GroupName):void 0),ret.addPropertyResult("hashed","Hashed",properties.Hashed!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Hashed):void 0),ret.addPropertyResult("matchKey","MatchKey",properties.MatchKey!=null?cfn_parse().FromCloudFormation.getString(properties.MatchKey):void 0),ret.addPropertyResult("subType","SubType",properties.SubType!=null?cfn_parse().FromCloudFormation.getString(properties.SubType):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSchemaMappingPropsValidator(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("mappedInputFields",cdk().requiredValidator)(properties.mappedInputFields)),errors.collect(cdk().propertyValidator("mappedInputFields",cdk().listValidator(CfnSchemaMappingSchemaInputAttributePropertyValidator))(properties.mappedInputFields)),errors.collect(cdk().propertyValidator("schemaName",cdk().requiredValidator)(properties.schemaName)),errors.collect(cdk().propertyValidator("schemaName",cdk().validateString)(properties.schemaName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnSchemaMappingProps"')}function convertCfnSchemaMappingPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchemaMappingPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),MappedInputFields:cdk().listMapper(convertCfnSchemaMappingSchemaInputAttributePropertyToCloudFormation)(properties.mappedInputFields),SchemaName:cdk().stringToCloudFormation(properties.schemaName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnSchemaMappingPropsFromCloudFormation(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("mappedInputFields","MappedInputFields",properties.MappedInputFields!=null?cfn_parse().FromCloudFormation.getArray(CfnSchemaMappingSchemaInputAttributePropertyFromCloudFormation)(properties.MappedInputFields):void 0),ret.addPropertyResult("schemaName","SchemaName",properties.SchemaName!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaName):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 CfnIdMappingWorkflow extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_entityresolution.CfnIdMappingWorkflow",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EntityResolution::IdMappingWorkflow";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIdMappingWorkflowPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnIdMappingWorkflow(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 isCfnIdMappingWorkflow(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIdMappingWorkflow.CFN_RESOURCE_TYPE_NAME}static fromWorkflowName(scope,id,workflowName){class Import extends cdk().Resource{idMappingWorkflowRef;constructor(scope2,id2,workflowName2){super(scope2,id2),this.idMappingWorkflowRef={workflowName:workflowName2}}}return new Import(scope,id,workflowName)}static arnForIdMappingWorkflow(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_entityresolution_IIdMappingWorkflowRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForIdMappingWorkflow),error}return new(cfn_parse()).TemplateString("arn:${Partition}:entityresolution:${Region}:${Account}:idmappingworkflow/${WorkflowName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,WorkflowName:resource.idMappingWorkflowRef.workflowName})}cdkTagManager;_description;_idMappingIncrementalRunConfig;_idMappingTechniques;_inputSourceConfig;_outputSourceConfig;_roleArn;_tags;_workflowName;cfnPropertyNames={tags:"Tags",description:"Description",idMappingIncrementalRunConfig:"IdMappingIncrementalRunConfig",idMappingTechniques:"IdMappingTechniques",inputSourceConfig:"InputSourceConfig",outputSourceConfig:"OutputSourceConfig",roleArn:"RoleArn",workflowName:"WorkflowName"};constructor(scope,id,props){super(scope,id,{type:CfnIdMappingWorkflow.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_entityresolution_CfnIdMappingWorkflowProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIdMappingWorkflow),error}cdk().requireProperty(props,"idMappingTechniques",this),cdk().requireProperty(props,"inputSourceConfig",this),cdk().requireProperty(props,"roleArn",this),cdk().requireProperty(props,"workflowName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EntityResolution::IdMappingWorkflow",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._idMappingIncrementalRunConfig=props.idMappingIncrementalRunConfig,this._idMappingTechniques=props.idMappingTechniques,this._inputSourceConfig=props.inputSourceConfig,this._outputSourceConfig=props.outputSourceConfig,this._roleArn=props.roleArn,this._tags=props.tags,this._workflowName=props.workflowName}get idMappingWorkflowRef(){return{workflowName:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get idMappingIncrementalRunConfig(){return this._idMappingIncrementalRunConfig}set idMappingIncrementalRunConfig(value){cdk().traceProperty(this.node,"IdMappingIncrementalRunConfig"),this._idMappingIncrementalRunConfig=value}get idMappingTechniques(){return this._idMappingTechniques}set idMappingTechniques(value){cdk().traceProperty(this.node,"IdMappingTechniques"),this._idMappingTechniques=value}get inputSourceConfig(){return this._inputSourceConfig}set inputSourceConfig(value){cdk().traceProperty(this.node,"InputSourceConfig"),this._inputSourceConfig=value}get outputSourceConfig(){return this._outputSourceConfig}set outputSourceConfig(value){cdk().traceProperty(this.node,"OutputSourceConfig"),this._outputSourceConfig=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get workflowName(){return this._workflowName}set workflowName(value){cdk().traceProperty(this.node,"WorkflowName"),this._workflowName=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrWorkflowArn(){return cdk().Token.asString(this.getAtt("WorkflowArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,idMappingIncrementalRunConfig:this._idMappingIncrementalRunConfig,idMappingTechniques:this._idMappingTechniques,inputSourceConfig:this._inputSourceConfig,outputSourceConfig:this._outputSourceConfig,roleArn:this._roleArn,workflowName:this._workflowName}}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",CfnIdMappingWorkflow.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIdMappingWorkflowPropsToCloudFormation(props)}}exports.CfnIdMappingWorkflow=CfnIdMappingWorkflow;function CfnIdMappingWorkflowIdMappingWorkflowInputSourcePropertyValidator(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("inputSourceArn",cdk().requiredValidator)(properties.inputSourceArn)),errors.collect(cdk().propertyValidator("inputSourceArn",cdk().validateString)(properties.inputSourceArn)),errors.collect(cdk().propertyValidator("schemaArn",cdk().validateString)(properties.schemaArn)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "IdMappingWorkflowInputSourceProperty"')}function convertCfnIdMappingWorkflowIdMappingWorkflowInputSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdMappingWorkflowIdMappingWorkflowInputSourcePropertyValidator(properties).assertSuccess(),{InputSourceARN:cdk().stringToCloudFormation(properties.inputSourceArn),SchemaArn:cdk().stringToCloudFormation(properties.schemaArn),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnIdMappingWorkflowIdMappingWorkflowInputSourcePropertyFromCloudFormation(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("inputSourceArn","InputSourceARN",properties.InputSourceARN!=null?cfn_parse().FromCloudFormation.getString(properties.InputSourceARN):void 0),ret.addPropertyResult("schemaArn","SchemaArn",properties.SchemaArn!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaArn):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdMappingWorkflowRulePropertyValidator(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("matchingKeys",cdk().requiredValidator)(properties.matchingKeys)),errors.collect(cdk().propertyValidator("matchingKeys",cdk().listValidator(cdk().validateString))(properties.matchingKeys)),errors.collect(cdk().propertyValidator("ruleName",cdk().requiredValidator)(properties.ruleName)),errors.collect(cdk().propertyValidator("ruleName",cdk().validateString)(properties.ruleName)),errors.wrap('supplied properties not correct for "RuleProperty"')}function convertCfnIdMappingWorkflowRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdMappingWorkflowRulePropertyValidator(properties).assertSuccess(),{MatchingKeys:cdk().listMapper(cdk().stringToCloudFormation)(properties.matchingKeys),RuleName:cdk().stringToCloudFormation(properties.ruleName)}):properties}function CfnIdMappingWorkflowRulePropertyFromCloudFormation(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("matchingKeys","MatchingKeys",properties.MatchingKeys!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MatchingKeys):void 0),ret.addPropertyResult("ruleName","RuleName",properties.RuleName!=null?cfn_parse().FromCloudFormation.getString(properties.RuleName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdMappingWorkflowIdMappingRuleBasedPropertiesPropertyValidator(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("attributeMatchingModel",cdk().requiredValidator)(properties.attributeMatchingModel)),errors.collect(cdk().propertyValidator("attributeMatchingModel",cdk().validateString)(properties.attributeMatchingModel)),errors.collect(cdk().propertyValidator("recordMatchingModel",cdk().requiredValidator)(properties.recordMatchingModel)),errors.collect(cdk().propertyValidator("recordMatchingModel",cdk().validateString)(properties.recordMatchingModel)),errors.collect(cdk().propertyValidator("ruleDefinitionType",cdk().validateString)(properties.ruleDefinitionType)),errors.collect(cdk().propertyValidator("rules",cdk().listValidator(CfnIdMappingWorkflowRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "IdMappingRuleBasedPropertiesProperty"')}function convertCfnIdMappingWorkflowIdMappingRuleBasedPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdMappingWorkflowIdMappingRuleBasedPropertiesPropertyValidator(properties).assertSuccess(),{AttributeMatchingModel:cdk().stringToCloudFormation(properties.attributeMatchingModel),RecordMatchingModel:cdk().stringToCloudFormation(properties.recordMatchingModel),RuleDefinitionType:cdk().stringToCloudFormation(properties.ruleDefinitionType),Rules:cdk().listMapper(convertCfnIdMappingWorkflowRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnIdMappingWorkflowIdMappingRuleBasedPropertiesPropertyFromCloudFormation(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("attributeMatchingModel","AttributeMatchingModel",properties.AttributeMatchingModel!=null?cfn_parse().FromCloudFormation.getString(properties.AttributeMatchingModel):void 0),ret.addPropertyResult("recordMatchingModel","RecordMatchingModel",properties.RecordMatchingModel!=null?cfn_parse().FromCloudFormation.getString(properties.RecordMatchingModel):void 0),ret.addPropertyResult("ruleDefinitionType","RuleDefinitionType",properties.RuleDefinitionType!=null?cfn_parse().FromCloudFormation.getString(properties.RuleDefinitionType):void 0),ret.addPropertyResult("rules","Rules",properties.Rules!=null?cfn_parse().FromCloudFormation.getArray(CfnIdMappingWorkflowRulePropertyFromCloudFormation)(properties.Rules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdMappingWorkflowIntermediateSourceConfigurationPropertyValidator(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("intermediateS3Path",cdk().requiredValidator)(properties.intermediateS3Path)),errors.collect(cdk().propertyValidator("intermediateS3Path",cdk().validateString)(properties.intermediateS3Path)),errors.wrap('supplied properties not correct for "IntermediateSourceConfigurationProperty"')}function convertCfnIdMappingWorkflowIntermediateSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdMappingWorkflowIntermediateSourceConfigurationPropertyValidator(properties).assertSuccess(),{IntermediateS3Path:cdk().stringToCloudFormation(properties.intermediateS3Path)}):properties}function CfnIdMappingWorkflowIntermediateSourceConfigurationPropertyFromCloudFormation(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("intermediateS3Path","IntermediateS3Path",properties.IntermediateS3Path!=null?cfn_parse().FromCloudFormation.getString(properties.IntermediateS3Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdMappingWorkflowProviderPropertiesPropertyValidator(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("intermediateSourceConfiguration",CfnIdMappingWorkflowIntermediateSourceConfigurationPropertyValidator)(properties.intermediateSourceConfiguration)),errors.collect(cdk().propertyValidator("providerConfiguration",cdk().hashValidator(cdk().validateString))(properties.providerConfiguration)),errors.collect(cdk().propertyValidator("providerServiceArn",cdk().requiredValidator)(properties.providerServiceArn)),errors.collect(cdk().propertyValidator("providerServiceArn",cdk().validateString)(properties.providerServiceArn)),errors.wrap('supplied properties not correct for "ProviderPropertiesProperty"')}function convertCfnIdMappingWorkflowProviderPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdMappingWorkflowProviderPropertiesPropertyValidator(properties).assertSuccess(),{IntermediateSourceConfiguration:convertCfnIdMappingWorkflowIntermediateSourceConfigurationPropertyToCloudFormation(properties.intermediateSourceConfiguration),ProviderConfiguration:cdk().hashMapper(cdk().stringToCloudFormation)(properties.providerConfiguration),ProviderServiceArn:cdk().stringToCloudFormation(properties.providerServiceArn)}):properties}function CfnIdMappingWorkflowProviderPropertiesPropertyFromCloudFormation(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("intermediateSourceConfiguration","IntermediateSourceConfiguration",properties.IntermediateSourceConfiguration!=null?CfnIdMappingWorkflowIntermediateSourceConfigurationPropertyFromCloudFormation(properties.IntermediateSourceConfiguration):void 0),ret.addPropertyResult("providerConfiguration","ProviderConfiguration",properties.ProviderConfiguration!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.ProviderConfiguration):void 0),ret.addPropertyResult("providerServiceArn","ProviderServiceArn",properties.ProviderServiceArn!=null?cfn_parse().FromCloudFormation.getString(properties.ProviderServiceArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdMappingWorkflowIdMappingTechniquesPropertyValidator(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("idMappingType",cdk().validateString)(properties.idMappingType)),errors.collect(cdk().propertyValidator("normalizationVersion",cdk().validateString)(properties.normalizationVersion)),errors.collect(cdk().propertyValidator("providerProperties",CfnIdMappingWorkflowProviderPropertiesPropertyValidator)(properties.providerProperties)),errors.collect(cdk().propertyValidator("ruleBasedProperties",CfnIdMappingWorkflowIdMappingRuleBasedPropertiesPropertyValidator)(properties.ruleBasedProperties)),errors.wrap('supplied properties not correct for "IdMappingTechniquesProperty"')}function convertCfnIdMappingWorkflowIdMappingTechniquesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdMappingWorkflowIdMappingTechniquesPropertyValidator(properties).assertSuccess(),{IdMappingType:cdk().stringToCloudFormation(properties.idMappingType),NormalizationVersion:cdk().stringToCloudFormation(properties.normalizationVersion),ProviderProperties:convertCfnIdMappingWorkflowProviderPropertiesPropertyToCloudFormation(properties.providerProperties),RuleBasedProperties:convertCfnIdMappingWorkflowIdMappingRuleBasedPropertiesPropertyToCloudFormation(properties.ruleBasedProperties)}):properties}function CfnIdMappingWorkflowIdMappingTechniquesPropertyFromCloudFormation(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("idMappingType","IdMappingType",properties.IdMappingType!=null?cfn_parse().FromCloudFormation.getString(properties.IdMappingType):void 0),ret.addPropertyResult("normalizationVersion","NormalizationVersion",properties.NormalizationVersion!=null?cfn_parse().FromCloudFormation.getString(properties.NormalizationVersion):void 0),ret.addPropertyResult("providerProperties","ProviderProperties",properties.ProviderProperties!=null?CfnIdMappingWorkflowProviderPropertiesPropertyFromCloudFormation(properties.ProviderProperties):void 0),ret.addPropertyResult("ruleBasedProperties","RuleBasedProperties",properties.RuleBasedProperties!=null?CfnIdMappingWorkflowIdMappingRuleBasedPropertiesPropertyFromCloudFormation(properties.RuleBasedProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdMappingWorkflowIdMappingWorkflowOutputSourcePropertyValidator(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("kmsArn",cdk().validateString)(properties.kmsArn)),errors.collect(cdk().propertyValidator("outputS3Path",cdk().requiredValidator)(properties.outputS3Path)),errors.collect(cdk().propertyValidator("outputS3Path",cdk().validateString)(properties.outputS3Path)),errors.wrap('supplied properties not correct for "IdMappingWorkflowOutputSourceProperty"')}function convertCfnIdMappingWorkflowIdMappingWorkflowOutputSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdMappingWorkflowIdMappingWorkflowOutputSourcePropertyValidator(properties).assertSuccess(),{KMSArn:cdk().stringToCloudFormation(properties.kmsArn),OutputS3Path:cdk().stringToCloudFormation(properties.outputS3Path)}):properties}function CfnIdMappingWorkflowIdMappingWorkflowOutputSourcePropertyFromCloudFormation(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("kmsArn","KMSArn",properties.KMSArn!=null?cfn_parse().FromCloudFormation.getString(properties.KMSArn):void 0),ret.addPropertyResult("outputS3Path","OutputS3Path",properties.OutputS3Path!=null?cfn_parse().FromCloudFormation.getString(properties.OutputS3Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdMappingWorkflowIdMappingIncrementalRunConfigPropertyValidator(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("incrementalRunType",cdk().requiredValidator)(properties.incrementalRunType)),errors.collect(cdk().propertyValidator("incrementalRunType",cdk().validateString)(properties.incrementalRunType)),errors.wrap('supplied properties not correct for "IdMappingIncrementalRunConfigProperty"')}function convertCfnIdMappingWorkflowIdMappingIncrementalRunConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdMappingWorkflowIdMappingIncrementalRunConfigPropertyValidator(properties).assertSuccess(),{IncrementalRunType:cdk().stringToCloudFormation(properties.incrementalRunType)}):properties}function CfnIdMappingWorkflowIdMappingIncrementalRunConfigPropertyFromCloudFormation(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("incrementalRunType","IncrementalRunType",properties.IncrementalRunType!=null?cfn_parse().FromCloudFormation.getString(properties.IncrementalRunType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdMappingWorkflowPropsValidator(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("idMappingIncrementalRunConfig",CfnIdMappingWorkflowIdMappingIncrementalRunConfigPropertyValidator)(properties.idMappingIncrementalRunConfig)),errors.collect(cdk().propertyValidator("idMappingTechniques",cdk().requiredValidator)(properties.idMappingTechniques)),errors.collect(cdk().propertyValidator("idMappingTechniques",CfnIdMappingWorkflowIdMappingTechniquesPropertyValidator)(properties.idMappingTechniques)),errors.collect(cdk().propertyValidator("inputSourceConfig",cdk().requiredValidator)(properties.inputSourceConfig)),errors.collect(cdk().propertyValidator("inputSourceConfig",cdk().listValidator(CfnIdMappingWorkflowIdMappingWorkflowInputSourcePropertyValidator))(properties.inputSourceConfig)),errors.collect(cdk().propertyValidator("outputSourceConfig",cdk().listValidator(CfnIdMappingWorkflowIdMappingWorkflowOutputSourcePropertyValidator))(properties.outputSourceConfig)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("workflowName",cdk().requiredValidator)(properties.workflowName)),errors.collect(cdk().propertyValidator("workflowName",cdk().validateString)(properties.workflowName)),errors.wrap('supplied properties not correct for "CfnIdMappingWorkflowProps"')}function convertCfnIdMappingWorkflowPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdMappingWorkflowPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),IdMappingIncrementalRunConfig:convertCfnIdMappingWorkflowIdMappingIncrementalRunConfigPropertyToCloudFormation(properties.idMappingIncrementalRunConfig),IdMappingTechniques:convertCfnIdMappingWorkflowIdMappingTechniquesPropertyToCloudFormation(properties.idMappingTechniques),InputSourceConfig:cdk().listMapper(convertCfnIdMappingWorkflowIdMappingWorkflowInputSourcePropertyToCloudFormation)(properties.inputSourceConfig),OutputSourceConfig:cdk().listMapper(convertCfnIdMappingWorkflowIdMappingWorkflowOutputSourcePropertyToCloudFormation)(properties.outputSourceConfig),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),WorkflowName:cdk().stringToCloudFormation(properties.workflowName)}):properties}function CfnIdMappingWorkflowPropsFromCloudFormation(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("idMappingIncrementalRunConfig","IdMappingIncrementalRunConfig",properties.IdMappingIncrementalRunConfig!=null?CfnIdMappingWorkflowIdMappingIncrementalRunConfigPropertyFromCloudFormation(properties.IdMappingIncrementalRunConfig):void 0),ret.addPropertyResult("idMappingTechniques","IdMappingTechniques",properties.IdMappingTechniques!=null?CfnIdMappingWorkflowIdMappingTechniquesPropertyFromCloudFormation(properties.IdMappingTechniques):void 0),ret.addPropertyResult("inputSourceConfig","InputSourceConfig",properties.InputSourceConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnIdMappingWorkflowIdMappingWorkflowInputSourcePropertyFromCloudFormation)(properties.InputSourceConfig):void 0),ret.addPropertyResult("outputSourceConfig","OutputSourceConfig",properties.OutputSourceConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnIdMappingWorkflowIdMappingWorkflowOutputSourcePropertyFromCloudFormation)(properties.OutputSourceConfig):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("workflowName","WorkflowName",properties.WorkflowName!=null?cfn_parse().FromCloudFormation.getString(properties.WorkflowName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnIdNamespace extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_entityresolution.CfnIdNamespace",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EntityResolution::IdNamespace";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIdNamespacePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnIdNamespace(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 isCfnIdNamespace(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIdNamespace.CFN_RESOURCE_TYPE_NAME}static fromIdNamespaceArn(scope,id,arn){class Import extends cdk().Resource{idNamespaceRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:entityresolution:${Region}:${Account}:idnamespace/${IdNamespaceName}").parse(arn2);this.idNamespaceRef={idNamespaceName:variables.IdNamespaceName,idNamespaceArn:arn2}}}return new Import(scope,id,arn)}static fromIdNamespaceName(scope,id,idNamespaceName){class Import extends cdk().Resource{idNamespaceRef;constructor(scope2,id2,idNamespaceName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:entityresolution:${Region}:${Account}:idnamespace/${IdNamespaceName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,IdNamespaceName:idNamespaceName2});super(scope2,id2,{environmentFromArn:arn}),this.idNamespaceRef={idNamespaceName:idNamespaceName2,idNamespaceArn:arn}}}return new Import(scope,id,idNamespaceName)}static arnForIdNamespace(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_entityresolution_IIdNamespaceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForIdNamespace),error}return resource.idNamespaceRef.idNamespaceArn}cdkTagManager;_description;_idMappingWorkflowProperties;_idNamespaceName;_inputSourceConfig;_roleArn;_tags;_type;cfnPropertyNames={tags:"Tags",description:"Description",idMappingWorkflowProperties:"IdMappingWorkflowProperties",idNamespaceName:"IdNamespaceName",inputSourceConfig:"InputSourceConfig",roleArn:"RoleArn",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnIdNamespace.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_entityresolution_CfnIdNamespaceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIdNamespace),error}cdk().requireProperty(props,"idNamespaceName",this),cdk().requireProperty(props,"type",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EntityResolution::IdNamespace",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._idMappingWorkflowProperties=props.idMappingWorkflowProperties,this._idNamespaceName=props.idNamespaceName,this._inputSourceConfig=props.inputSourceConfig,this._roleArn=props.roleArn,this._tags=props.tags,this._type=props.type}get idNamespaceRef(){return{idNamespaceName:this.ref,idNamespaceArn:this.attrIdNamespaceArn}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get idMappingWorkflowProperties(){return this._idMappingWorkflowProperties}set idMappingWorkflowProperties(value){cdk().traceProperty(this.node,"IdMappingWorkflowProperties"),this._idMappingWorkflowProperties=value}get idNamespaceName(){return this._idNamespaceName}set idNamespaceName(value){cdk().traceProperty(this.node,"IdNamespaceName"),this._idNamespaceName=value}get inputSourceConfig(){return this._inputSourceConfig}set inputSourceConfig(value){cdk().traceProperty(this.node,"InputSourceConfig"),this._inputSourceConfig=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrIdNamespaceArn(){return cdk().Token.asString(this.getAtt("IdNamespaceArn",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,idMappingWorkflowProperties:this._idMappingWorkflowProperties,idNamespaceName:this._idNamespaceName,inputSourceConfig:this._inputSourceConfig,roleArn:this._roleArn,type:this._type}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnIdNamespace.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIdNamespacePropsToCloudFormation(props)}}exports.CfnIdNamespace=CfnIdNamespace;function CfnIdNamespaceIdNamespaceInputSourcePropertyValidator(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("inputSourceArn",cdk().requiredValidator)(properties.inputSourceArn)),errors.collect(cdk().propertyValidator("inputSourceArn",cdk().validateString)(properties.inputSourceArn)),errors.collect(cdk().propertyValidator("schemaName",cdk().validateString)(properties.schemaName)),errors.wrap('supplied properties not correct for "IdNamespaceInputSourceProperty"')}function convertCfnIdNamespaceIdNamespaceInputSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdNamespaceIdNamespaceInputSourcePropertyValidator(properties).assertSuccess(),{InputSourceARN:cdk().stringToCloudFormation(properties.inputSourceArn),SchemaName:cdk().stringToCloudFormation(properties.schemaName)}):properties}function CfnIdNamespaceIdNamespaceInputSourcePropertyFromCloudFormation(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("inputSourceArn","InputSourceARN",properties.InputSourceARN!=null?cfn_parse().FromCloudFormation.getString(properties.InputSourceARN):void 0),ret.addPropertyResult("schemaName","SchemaName",properties.SchemaName!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdNamespaceRulePropertyValidator(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("matchingKeys",cdk().requiredValidator)(properties.matchingKeys)),errors.collect(cdk().propertyValidator("matchingKeys",cdk().listValidator(cdk().validateString))(properties.matchingKeys)),errors.collect(cdk().propertyValidator("ruleName",cdk().requiredValidator)(properties.ruleName)),errors.collect(cdk().propertyValidator("ruleName",cdk().validateString)(properties.ruleName)),errors.wrap('supplied properties not correct for "RuleProperty"')}function convertCfnIdNamespaceRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdNamespaceRulePropertyValidator(properties).assertSuccess(),{MatchingKeys:cdk().listMapper(cdk().stringToCloudFormation)(properties.matchingKeys),RuleName:cdk().stringToCloudFormation(properties.ruleName)}):properties}function CfnIdNamespaceRulePropertyFromCloudFormation(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("matchingKeys","MatchingKeys",properties.MatchingKeys!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MatchingKeys):void 0),ret.addPropertyResult("ruleName","RuleName",properties.RuleName!=null?cfn_parse().FromCloudFormation.getString(properties.RuleName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdNamespaceNamespaceRuleBasedPropertiesPropertyValidator(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("attributeMatchingModel",cdk().validateString)(properties.attributeMatchingModel)),errors.collect(cdk().propertyValidator("recordMatchingModels",cdk().listValidator(cdk().validateString))(properties.recordMatchingModels)),errors.collect(cdk().propertyValidator("ruleDefinitionTypes",cdk().listValidator(cdk().validateString))(properties.ruleDefinitionTypes)),errors.collect(cdk().propertyValidator("rules",cdk().listValidator(CfnIdNamespaceRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "NamespaceRuleBasedPropertiesProperty"')}function convertCfnIdNamespaceNamespaceRuleBasedPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdNamespaceNamespaceRuleBasedPropertiesPropertyValidator(properties).assertSuccess(),{AttributeMatchingModel:cdk().stringToCloudFormation(properties.attributeMatchingModel),RecordMatchingModels:cdk().listMapper(cdk().stringToCloudFormation)(properties.recordMatchingModels),RuleDefinitionTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.ruleDefinitionTypes),Rules:cdk().listMapper(convertCfnIdNamespaceRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnIdNamespaceNamespaceRuleBasedPropertiesPropertyFromCloudFormation(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("attributeMatchingModel","AttributeMatchingModel",properties.AttributeMatchingModel!=null?cfn_parse().FromCloudFormation.getString(properties.AttributeMatchingModel):void 0),ret.addPropertyResult("recordMatchingModels","RecordMatchingModels",properties.RecordMatchingModels!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RecordMatchingModels):void 0),ret.addPropertyResult("ruleDefinitionTypes","RuleDefinitionTypes",properties.RuleDefinitionTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RuleDefinitionTypes):void 0),ret.addPropertyResult("rules","Rules",properties.Rules!=null?cfn_parse().FromCloudFormation.getArray(CfnIdNamespaceRulePropertyFromCloudFormation)(properties.Rules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdNamespaceNamespaceProviderPropertiesPropertyValidator(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("providerConfiguration",cdk().hashValidator(cdk().validateString))(properties.providerConfiguration)),errors.collect(cdk().propertyValidator("providerServiceArn",cdk().requiredValidator)(properties.providerServiceArn)),errors.collect(cdk().propertyValidator("providerServiceArn",cdk().validateString)(properties.providerServiceArn)),errors.wrap('supplied properties not correct for "NamespaceProviderPropertiesProperty"')}function convertCfnIdNamespaceNamespaceProviderPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdNamespaceNamespaceProviderPropertiesPropertyValidator(properties).assertSuccess(),{ProviderConfiguration:cdk().hashMapper(cdk().stringToCloudFormation)(properties.providerConfiguration),ProviderServiceArn:cdk().stringToCloudFormation(properties.providerServiceArn)}):properties}function CfnIdNamespaceNamespaceProviderPropertiesPropertyFromCloudFormation(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("providerConfiguration","ProviderConfiguration",properties.ProviderConfiguration!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.ProviderConfiguration):void 0),ret.addPropertyResult("providerServiceArn","ProviderServiceArn",properties.ProviderServiceArn!=null?cfn_parse().FromCloudFormation.getString(properties.ProviderServiceArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdNamespaceIdNamespaceIdMappingWorkflowPropertiesPropertyValidator(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("idMappingType",cdk().requiredValidator)(properties.idMappingType)),errors.collect(cdk().propertyValidator("idMappingType",cdk().validateString)(properties.idMappingType)),errors.collect(cdk().propertyValidator("providerProperties",CfnIdNamespaceNamespaceProviderPropertiesPropertyValidator)(properties.providerProperties)),errors.collect(cdk().propertyValidator("ruleBasedProperties",CfnIdNamespaceNamespaceRuleBasedPropertiesPropertyValidator)(properties.ruleBasedProperties)),errors.wrap('supplied properties not correct for "IdNamespaceIdMappingWorkflowPropertiesProperty"')}function convertCfnIdNamespaceIdNamespaceIdMappingWorkflowPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdNamespaceIdNamespaceIdMappingWorkflowPropertiesPropertyValidator(properties).assertSuccess(),{IdMappingType:cdk().stringToCloudFormation(properties.idMappingType),ProviderProperties:convertCfnIdNamespaceNamespaceProviderPropertiesPropertyToCloudFormation(properties.providerProperties),RuleBasedProperties:convertCfnIdNamespaceNamespaceRuleBasedPropertiesPropertyToCloudFormation(properties.ruleBasedProperties)}):properties}function CfnIdNamespaceIdNamespaceIdMappingWorkflowPropertiesPropertyFromCloudFormation(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("idMappingType","IdMappingType",properties.IdMappingType!=null?cfn_parse().FromCloudFormation.getString(properties.IdMappingType):void 0),ret.addPropertyResult("providerProperties","ProviderProperties",properties.ProviderProperties!=null?CfnIdNamespaceNamespaceProviderPropertiesPropertyFromCloudFormation(properties.ProviderProperties):void 0),ret.addPropertyResult("ruleBasedProperties","RuleBasedProperties",properties.RuleBasedProperties!=null?CfnIdNamespaceNamespaceRuleBasedPropertiesPropertyFromCloudFormation(properties.RuleBasedProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdNamespacePropsValidator(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("idMappingWorkflowProperties",cdk().listValidator(CfnIdNamespaceIdNamespaceIdMappingWorkflowPropertiesPropertyValidator))(properties.idMappingWorkflowProperties)),errors.collect(cdk().propertyValidator("idNamespaceName",cdk().requiredValidator)(properties.idNamespaceName)),errors.collect(cdk().propertyValidator("idNamespaceName",cdk().validateString)(properties.idNamespaceName)),errors.collect(cdk().propertyValidator("inputSourceConfig",cdk().listValidator(CfnIdNamespaceIdNamespaceInputSourcePropertyValidator))(properties.inputSourceConfig)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnIdNamespaceProps"')}function convertCfnIdNamespacePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdNamespacePropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),IdMappingWorkflowProperties:cdk().listMapper(convertCfnIdNamespaceIdNamespaceIdMappingWorkflowPropertiesPropertyToCloudFormation)(properties.idMappingWorkflowProperties),IdNamespaceName:cdk().stringToCloudFormation(properties.idNamespaceName),InputSourceConfig:cdk().listMapper(convertCfnIdNamespaceIdNamespaceInputSourcePropertyToCloudFormation)(properties.inputSourceConfig),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnIdNamespacePropsFromCloudFormation(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("idMappingWorkflowProperties","IdMappingWorkflowProperties",properties.IdMappingWorkflowProperties!=null?cfn_parse().FromCloudFormation.getArray(CfnIdNamespaceIdNamespaceIdMappingWorkflowPropertiesPropertyFromCloudFormation)(properties.IdMappingWorkflowProperties):void 0),ret.addPropertyResult("idNamespaceName","IdNamespaceName",properties.IdNamespaceName!=null?cfn_parse().FromCloudFormation.getString(properties.IdNamespaceName):void 0),ret.addPropertyResult("inputSourceConfig","InputSourceConfig",properties.InputSourceConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnIdNamespaceIdNamespaceInputSourcePropertyFromCloudFormation)(properties.InputSourceConfig):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPolicyStatement extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_entityresolution.CfnPolicyStatement",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EntityResolution::PolicyStatement";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPolicyStatementPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPolicyStatement(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 isCfnPolicyStatement(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPolicyStatement.CFN_RESOURCE_TYPE_NAME}_action;_arn;_condition;_effect;_principal;_statementId;cfnPropertyNames={action:"Action",arn:"Arn",condition:"Condition",effect:"Effect",principal:"Principal",statementId:"StatementId"};constructor(scope,id,props){super(scope,id,{type:CfnPolicyStatement.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_entityresolution_CfnPolicyStatementProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPolicyStatement),error}cdk().requireProperty(props,"arn",this),cdk().requireProperty(props,"statementId",this),this._action=props.action,this._arn=props.arn,this._condition=props.condition,this._effect=props.effect,this._principal=props.principal,this._statementId=props.statementId}get policyStatementRef(){return{policyStatementArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),statementId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get action(){return this._action}set action(value){cdk().traceProperty(this.node,"Action"),this._action=value}get arn(){return this._arn}set arn(value){cdk().traceProperty(this.node,"Arn"),this._arn=value}get condition(){return this._condition}set condition(value){cdk().traceProperty(this.node,"Condition"),this._condition=value}get effect(){return this._effect}set effect(value){cdk().traceProperty(this.node,"Effect"),this._effect=value}get principal(){return this._principal}set principal(value){cdk().traceProperty(this.node,"Principal"),this._principal=value}get statementId(){return this._statementId}set statementId(value){cdk().traceProperty(this.node,"StatementId"),this._statementId=value}get cfnProperties(){return{action:this._action,arn:this._arn,condition:this._condition,effect:this._effect,principal:this._principal,statementId:this._statementId}}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",CfnPolicyStatement.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPolicyStatementPropsToCloudFormation(props)}}exports.CfnPolicyStatement=CfnPolicyStatement;function CfnPolicyStatementPropsValidator(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("action",cdk().listValidator(cdk().validateString))(properties.action)),errors.collect(cdk().propertyValidator("arn",cdk().requiredValidator)(properties.arn)),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("condition",cdk().validateString)(properties.condition)),errors.collect(cdk().propertyValidator("effect",cdk().validateString)(properties.effect)),errors.collect(cdk().propertyValidator("principal",cdk().listValidator(cdk().validateString))(properties.principal)),errors.collect(cdk().propertyValidator("statementId",cdk().requiredValidator)(properties.statementId)),errors.collect(cdk().propertyValidator("statementId",cdk().validateString)(properties.statementId)),errors.wrap('supplied properties not correct for "CfnPolicyStatementProps"')}function convertCfnPolicyStatementPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPolicyStatementPropsValidator(properties).assertSuccess(),{Action:cdk().listMapper(cdk().stringToCloudFormation)(properties.action),Arn:cdk().stringToCloudFormation(properties.arn),Condition:cdk().stringToCloudFormation(properties.condition),Effect:cdk().stringToCloudFormation(properties.effect),Principal:cdk().listMapper(cdk().stringToCloudFormation)(properties.principal),StatementId:cdk().stringToCloudFormation(properties.statementId)}):properties}function CfnPolicyStatementPropsFromCloudFormation(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("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Action):void 0),ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("condition","Condition",properties.Condition!=null?cfn_parse().FromCloudFormation.getString(properties.Condition):void 0),ret.addPropertyResult("effect","Effect",properties.Effect!=null?cfn_parse().FromCloudFormation.getString(properties.Effect):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Principal):void 0),ret.addPropertyResult("statementId","StatementId",properties.StatementId!=null?cfn_parse().FromCloudFormation.getString(properties.StatementId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}