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

2 lines
198 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnIndex=exports.CfnFaq=exports.CfnDataSource=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 CfnDataSource extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_kendra.CfnDataSource",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Kendra::DataSource";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataSourcePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDataSource(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 isCfnDataSource(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataSource.CFN_RESOURCE_TYPE_NAME}static arnForDataSource(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_kendra_IDataSourceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDataSource),error}return resource.dataSourceRef.dataSourceArn}_customDocumentEnrichmentConfiguration;_dataSourceConfiguration;_description;_indexId;_languageCode;_name;_roleArn;_schedule;tags;_tagsRaw;_type;cfnPropertyNames={customDocumentEnrichmentConfiguration:"CustomDocumentEnrichmentConfiguration",dataSourceConfiguration:"DataSourceConfiguration",description:"Description",indexId:"IndexId",languageCode:"LanguageCode",name:"Name",roleArn:"RoleArn",schedule:"Schedule",tags:"Tags",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnDataSource.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_kendra_CfnDataSourceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataSource),error}cdk().requireProperty(props,"indexId",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"type",this),this._customDocumentEnrichmentConfiguration=props.customDocumentEnrichmentConfiguration,this._dataSourceConfiguration=props.dataSourceConfiguration,this._description=props.description,this._indexId=cdk().getRefProperty(props.indexId?.indexRef,"indexId")??cdk().ensureStringOrUndefined(props.indexId,"indexId","kendra.IIndexRef | string"),this._languageCode=props.languageCode,this._name=props.name,this._roleArn=cdk().getRefProperty(props.roleArn?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.roleArn,"roleArn","iam.IRoleRef | string"),this._schedule=props.schedule,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Kendra::DataSource",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._type=props.type}get dataSourceRef(){return{dataSourceId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),indexId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),dataSourceArn:this.attrArn}}get customDocumentEnrichmentConfiguration(){return this._customDocumentEnrichmentConfiguration}set customDocumentEnrichmentConfiguration(value){cdk().traceProperty(this.node,"CustomDocumentEnrichmentConfiguration"),this._customDocumentEnrichmentConfiguration=value}get dataSourceConfiguration(){return this._dataSourceConfiguration}set dataSourceConfiguration(value){cdk().traceProperty(this.node,"DataSourceConfiguration"),this._dataSourceConfiguration=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get indexId(){return this._indexId}set indexId(value){cdk().traceProperty(this.node,"IndexId"),this._indexId=value}get languageCode(){return this._languageCode}set languageCode(value){cdk().traceProperty(this.node,"LanguageCode"),this._languageCode=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get schedule(){return this._schedule}set schedule(value){cdk().traceProperty(this.node,"Schedule"),this._schedule=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{customDocumentEnrichmentConfiguration:this._customDocumentEnrichmentConfiguration,dataSourceConfiguration:this._dataSourceConfiguration,description:this._description,indexId:this._indexId,languageCode:this._languageCode,name:this._name,roleArn:this._roleArn,schedule:this._schedule,tags:this.tags.renderTags(),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",CfnDataSource.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDataSourcePropsToCloudFormation(props)}}exports.CfnDataSource=CfnDataSource;function CfnDataSourceDocumentAttributeValuePropertyValidator(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("dateValue",cdk().validateString)(properties.dateValue)),errors.collect(cdk().propertyValidator("longValue",cdk().validateNumber)(properties.longValue)),errors.collect(cdk().propertyValidator("stringListValue",cdk().listValidator(cdk().validateString))(properties.stringListValue)),errors.collect(cdk().propertyValidator("stringValue",cdk().validateString)(properties.stringValue)),errors.wrap('supplied properties not correct for "DocumentAttributeValueProperty"')}function convertCfnDataSourceDocumentAttributeValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDocumentAttributeValuePropertyValidator(properties).assertSuccess(),{DateValue:cdk().stringToCloudFormation(properties.dateValue),LongValue:cdk().numberToCloudFormation(properties.longValue),StringListValue:cdk().listMapper(cdk().stringToCloudFormation)(properties.stringListValue),StringValue:cdk().stringToCloudFormation(properties.stringValue)}):properties}function CfnDataSourceDocumentAttributeValuePropertyFromCloudFormation(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("dateValue","DateValue",properties.DateValue!=null?cfn_parse().FromCloudFormation.getString(properties.DateValue):void 0),ret.addPropertyResult("longValue","LongValue",properties.LongValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.LongValue):void 0),ret.addPropertyResult("stringListValue","StringListValue",properties.StringListValue!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StringListValue):void 0),ret.addPropertyResult("stringValue","StringValue",properties.StringValue!=null?cfn_parse().FromCloudFormation.getString(properties.StringValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceDocumentAttributeConditionPropertyValidator(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("conditionDocumentAttributeKey",cdk().requiredValidator)(properties.conditionDocumentAttributeKey)),errors.collect(cdk().propertyValidator("conditionDocumentAttributeKey",cdk().validateString)(properties.conditionDocumentAttributeKey)),errors.collect(cdk().propertyValidator("conditionOnValue",CfnDataSourceDocumentAttributeValuePropertyValidator)(properties.conditionOnValue)),errors.collect(cdk().propertyValidator("operator",cdk().requiredValidator)(properties.operator)),errors.collect(cdk().propertyValidator("operator",cdk().validateString)(properties.operator)),errors.wrap('supplied properties not correct for "DocumentAttributeConditionProperty"')}function convertCfnDataSourceDocumentAttributeConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDocumentAttributeConditionPropertyValidator(properties).assertSuccess(),{ConditionDocumentAttributeKey:cdk().stringToCloudFormation(properties.conditionDocumentAttributeKey),ConditionOnValue:convertCfnDataSourceDocumentAttributeValuePropertyToCloudFormation(properties.conditionOnValue),Operator:cdk().stringToCloudFormation(properties.operator)}):properties}function CfnDataSourceDocumentAttributeConditionPropertyFromCloudFormation(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("conditionDocumentAttributeKey","ConditionDocumentAttributeKey",properties.ConditionDocumentAttributeKey!=null?cfn_parse().FromCloudFormation.getString(properties.ConditionDocumentAttributeKey):void 0),ret.addPropertyResult("conditionOnValue","ConditionOnValue",properties.ConditionOnValue!=null?CfnDataSourceDocumentAttributeValuePropertyFromCloudFormation(properties.ConditionOnValue):void 0),ret.addPropertyResult("operator","Operator",properties.Operator!=null?cfn_parse().FromCloudFormation.getString(properties.Operator):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceDocumentAttributeTargetPropertyValidator(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("targetDocumentAttributeKey",cdk().requiredValidator)(properties.targetDocumentAttributeKey)),errors.collect(cdk().propertyValidator("targetDocumentAttributeKey",cdk().validateString)(properties.targetDocumentAttributeKey)),errors.collect(cdk().propertyValidator("targetDocumentAttributeValue",CfnDataSourceDocumentAttributeValuePropertyValidator)(properties.targetDocumentAttributeValue)),errors.collect(cdk().propertyValidator("targetDocumentAttributeValueDeletion",cdk().validateBoolean)(properties.targetDocumentAttributeValueDeletion)),errors.wrap('supplied properties not correct for "DocumentAttributeTargetProperty"')}function convertCfnDataSourceDocumentAttributeTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDocumentAttributeTargetPropertyValidator(properties).assertSuccess(),{TargetDocumentAttributeKey:cdk().stringToCloudFormation(properties.targetDocumentAttributeKey),TargetDocumentAttributeValue:convertCfnDataSourceDocumentAttributeValuePropertyToCloudFormation(properties.targetDocumentAttributeValue),TargetDocumentAttributeValueDeletion:cdk().booleanToCloudFormation(properties.targetDocumentAttributeValueDeletion)}):properties}function CfnDataSourceDocumentAttributeTargetPropertyFromCloudFormation(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("targetDocumentAttributeKey","TargetDocumentAttributeKey",properties.TargetDocumentAttributeKey!=null?cfn_parse().FromCloudFormation.getString(properties.TargetDocumentAttributeKey):void 0),ret.addPropertyResult("targetDocumentAttributeValue","TargetDocumentAttributeValue",properties.TargetDocumentAttributeValue!=null?CfnDataSourceDocumentAttributeValuePropertyFromCloudFormation(properties.TargetDocumentAttributeValue):void 0),ret.addPropertyResult("targetDocumentAttributeValueDeletion","TargetDocumentAttributeValueDeletion",properties.TargetDocumentAttributeValueDeletion!=null?cfn_parse().FromCloudFormation.getBoolean(properties.TargetDocumentAttributeValueDeletion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceInlineCustomDocumentEnrichmentConfigurationPropertyValidator(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",CfnDataSourceDocumentAttributeConditionPropertyValidator)(properties.condition)),errors.collect(cdk().propertyValidator("documentContentDeletion",cdk().validateBoolean)(properties.documentContentDeletion)),errors.collect(cdk().propertyValidator("target",CfnDataSourceDocumentAttributeTargetPropertyValidator)(properties.target)),errors.wrap('supplied properties not correct for "InlineCustomDocumentEnrichmentConfigurationProperty"')}function convertCfnDataSourceInlineCustomDocumentEnrichmentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceInlineCustomDocumentEnrichmentConfigurationPropertyValidator(properties).assertSuccess(),{Condition:convertCfnDataSourceDocumentAttributeConditionPropertyToCloudFormation(properties.condition),DocumentContentDeletion:cdk().booleanToCloudFormation(properties.documentContentDeletion),Target:convertCfnDataSourceDocumentAttributeTargetPropertyToCloudFormation(properties.target)}):properties}function CfnDataSourceInlineCustomDocumentEnrichmentConfigurationPropertyFromCloudFormation(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?CfnDataSourceDocumentAttributeConditionPropertyFromCloudFormation(properties.Condition):void 0),ret.addPropertyResult("documentContentDeletion","DocumentContentDeletion",properties.DocumentContentDeletion!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DocumentContentDeletion):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?CfnDataSourceDocumentAttributeTargetPropertyFromCloudFormation(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceHookConfigurationPropertyValidator(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("invocationCondition",CfnDataSourceDocumentAttributeConditionPropertyValidator)(properties.invocationCondition)),errors.collect(cdk().propertyValidator("lambdaArn",cdk().requiredValidator)(properties.lambdaArn)),errors.collect(cdk().propertyValidator("lambdaArn",cdk().validateString)(properties.lambdaArn)),errors.collect(cdk().propertyValidator("s3Bucket",cdk().requiredValidator)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Bucket",cdk().validateString)(properties.s3Bucket)),errors.wrap('supplied properties not correct for "HookConfigurationProperty"')}function convertCfnDataSourceHookConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceHookConfigurationPropertyValidator(properties).assertSuccess(),{InvocationCondition:convertCfnDataSourceDocumentAttributeConditionPropertyToCloudFormation(properties.invocationCondition),LambdaArn:cdk().stringToCloudFormation(properties.lambdaArn),S3Bucket:cdk().stringToCloudFormation(properties.s3Bucket)}):properties}function CfnDataSourceHookConfigurationPropertyFromCloudFormation(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("invocationCondition","InvocationCondition",properties.InvocationCondition!=null?CfnDataSourceDocumentAttributeConditionPropertyFromCloudFormation(properties.InvocationCondition):void 0),ret.addPropertyResult("lambdaArn","LambdaArn",properties.LambdaArn!=null?cfn_parse().FromCloudFormation.getString(properties.LambdaArn):void 0),ret.addPropertyResult("s3Bucket","S3Bucket",properties.S3Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.S3Bucket):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceCustomDocumentEnrichmentConfigurationPropertyValidator(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("inlineConfigurations",cdk().listValidator(CfnDataSourceInlineCustomDocumentEnrichmentConfigurationPropertyValidator))(properties.inlineConfigurations)),errors.collect(cdk().propertyValidator("postExtractionHookConfiguration",CfnDataSourceHookConfigurationPropertyValidator)(properties.postExtractionHookConfiguration)),errors.collect(cdk().propertyValidator("preExtractionHookConfiguration",CfnDataSourceHookConfigurationPropertyValidator)(properties.preExtractionHookConfiguration)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "CustomDocumentEnrichmentConfigurationProperty"')}function convertCfnDataSourceCustomDocumentEnrichmentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceCustomDocumentEnrichmentConfigurationPropertyValidator(properties).assertSuccess(),{InlineConfigurations:cdk().listMapper(convertCfnDataSourceInlineCustomDocumentEnrichmentConfigurationPropertyToCloudFormation)(properties.inlineConfigurations),PostExtractionHookConfiguration:convertCfnDataSourceHookConfigurationPropertyToCloudFormation(properties.postExtractionHookConfiguration),PreExtractionHookConfiguration:convertCfnDataSourceHookConfigurationPropertyToCloudFormation(properties.preExtractionHookConfiguration),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnDataSourceCustomDocumentEnrichmentConfigurationPropertyFromCloudFormation(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("inlineConfigurations","InlineConfigurations",properties.InlineConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceInlineCustomDocumentEnrichmentConfigurationPropertyFromCloudFormation)(properties.InlineConfigurations):void 0),ret.addPropertyResult("postExtractionHookConfiguration","PostExtractionHookConfiguration",properties.PostExtractionHookConfiguration!=null?CfnDataSourceHookConfigurationPropertyFromCloudFormation(properties.PostExtractionHookConfiguration):void 0),ret.addPropertyResult("preExtractionHookConfiguration","PreExtractionHookConfiguration",properties.PreExtractionHookConfiguration!=null?CfnDataSourceHookConfigurationPropertyFromCloudFormation(properties.PreExtractionHookConfiguration):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator(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("dataSourceFieldName",cdk().requiredValidator)(properties.dataSourceFieldName)),errors.collect(cdk().propertyValidator("dataSourceFieldName",cdk().validateString)(properties.dataSourceFieldName)),errors.collect(cdk().propertyValidator("dateFieldFormat",cdk().validateString)(properties.dateFieldFormat)),errors.collect(cdk().propertyValidator("indexFieldName",cdk().requiredValidator)(properties.indexFieldName)),errors.collect(cdk().propertyValidator("indexFieldName",cdk().validateString)(properties.indexFieldName)),errors.wrap('supplied properties not correct for "DataSourceToIndexFieldMappingProperty"')}function convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator(properties).assertSuccess(),{DataSourceFieldName:cdk().stringToCloudFormation(properties.dataSourceFieldName),DateFieldFormat:cdk().stringToCloudFormation(properties.dateFieldFormat),IndexFieldName:cdk().stringToCloudFormation(properties.indexFieldName)}):properties}function CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation(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("dataSourceFieldName","DataSourceFieldName",properties.DataSourceFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DataSourceFieldName):void 0),ret.addPropertyResult("dateFieldFormat","DateFieldFormat",properties.DateFieldFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateFieldFormat):void 0),ret.addPropertyResult("indexFieldName","IndexFieldName",properties.IndexFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.IndexFieldName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceGoogleDriveConfigurationPropertyValidator(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("excludeMimeTypes",cdk().listValidator(cdk().validateString))(properties.excludeMimeTypes)),errors.collect(cdk().propertyValidator("excludeSharedDrives",cdk().listValidator(cdk().validateString))(properties.excludeSharedDrives)),errors.collect(cdk().propertyValidator("excludeUserAccounts",cdk().listValidator(cdk().validateString))(properties.excludeUserAccounts)),errors.collect(cdk().propertyValidator("exclusionPatterns",cdk().listValidator(cdk().validateString))(properties.exclusionPatterns)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),errors.collect(cdk().propertyValidator("inclusionPatterns",cdk().listValidator(cdk().validateString))(properties.inclusionPatterns)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "GoogleDriveConfigurationProperty"')}function convertCfnDataSourceGoogleDriveConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceGoogleDriveConfigurationPropertyValidator(properties).assertSuccess(),{ExcludeMimeTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.excludeMimeTypes),ExcludeSharedDrives:cdk().listMapper(cdk().stringToCloudFormation)(properties.excludeSharedDrives),ExcludeUserAccounts:cdk().listMapper(cdk().stringToCloudFormation)(properties.excludeUserAccounts),ExclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusionPatterns),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings),InclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.inclusionPatterns),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnDataSourceGoogleDriveConfigurationPropertyFromCloudFormation(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("excludeMimeTypes","ExcludeMimeTypes",properties.ExcludeMimeTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExcludeMimeTypes):void 0),ret.addPropertyResult("excludeSharedDrives","ExcludeSharedDrives",properties.ExcludeSharedDrives!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExcludeSharedDrives):void 0),ret.addPropertyResult("excludeUserAccounts","ExcludeUserAccounts",properties.ExcludeUserAccounts!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExcludeUserAccounts):void 0),ret.addPropertyResult("exclusionPatterns","ExclusionPatterns",properties.ExclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExclusionPatterns):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addPropertyResult("inclusionPatterns","InclusionPatterns",properties.InclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InclusionPatterns):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceWebCrawlerBasicAuthenticationPropertyValidator(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("credentials",cdk().requiredValidator)(properties.credentials)),errors.collect(cdk().propertyValidator("credentials",cdk().validateString)(properties.credentials)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "WebCrawlerBasicAuthenticationProperty"')}function convertCfnDataSourceWebCrawlerBasicAuthenticationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceWebCrawlerBasicAuthenticationPropertyValidator(properties).assertSuccess(),{Credentials:cdk().stringToCloudFormation(properties.credentials),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourceWebCrawlerBasicAuthenticationPropertyFromCloudFormation(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("credentials","Credentials",properties.Credentials!=null?cfn_parse().FromCloudFormation.getString(properties.Credentials):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceWebCrawlerAuthenticationConfigurationPropertyValidator(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("basicAuthentication",cdk().listValidator(CfnDataSourceWebCrawlerBasicAuthenticationPropertyValidator))(properties.basicAuthentication)),errors.wrap('supplied properties not correct for "WebCrawlerAuthenticationConfigurationProperty"')}function convertCfnDataSourceWebCrawlerAuthenticationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceWebCrawlerAuthenticationConfigurationPropertyValidator(properties).assertSuccess(),{BasicAuthentication:cdk().listMapper(convertCfnDataSourceWebCrawlerBasicAuthenticationPropertyToCloudFormation)(properties.basicAuthentication)}):properties}function CfnDataSourceWebCrawlerAuthenticationConfigurationPropertyFromCloudFormation(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("basicAuthentication","BasicAuthentication",properties.BasicAuthentication!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceWebCrawlerBasicAuthenticationPropertyFromCloudFormation)(properties.BasicAuthentication):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceProxyConfigurationPropertyValidator(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("credentials",cdk().validateString)(properties.credentials)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "ProxyConfigurationProperty"')}function convertCfnDataSourceProxyConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceProxyConfigurationPropertyValidator(properties).assertSuccess(),{Credentials:cdk().stringToCloudFormation(properties.credentials),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourceProxyConfigurationPropertyFromCloudFormation(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("credentials","Credentials",properties.Credentials!=null?cfn_parse().FromCloudFormation.getString(properties.Credentials):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceWebCrawlerSiteMapsConfigurationPropertyValidator(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("siteMaps",cdk().requiredValidator)(properties.siteMaps)),errors.collect(cdk().propertyValidator("siteMaps",cdk().listValidator(cdk().validateString))(properties.siteMaps)),errors.wrap('supplied properties not correct for "WebCrawlerSiteMapsConfigurationProperty"')}function convertCfnDataSourceWebCrawlerSiteMapsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceWebCrawlerSiteMapsConfigurationPropertyValidator(properties).assertSuccess(),{SiteMaps:cdk().listMapper(cdk().stringToCloudFormation)(properties.siteMaps)}):properties}function CfnDataSourceWebCrawlerSiteMapsConfigurationPropertyFromCloudFormation(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("siteMaps","SiteMaps",properties.SiteMaps!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SiteMaps):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceWebCrawlerSeedUrlConfigurationPropertyValidator(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("seedUrls",cdk().requiredValidator)(properties.seedUrls)),errors.collect(cdk().propertyValidator("seedUrls",cdk().listValidator(cdk().validateString))(properties.seedUrls)),errors.collect(cdk().propertyValidator("webCrawlerMode",cdk().validateString)(properties.webCrawlerMode)),errors.wrap('supplied properties not correct for "WebCrawlerSeedUrlConfigurationProperty"')}function convertCfnDataSourceWebCrawlerSeedUrlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceWebCrawlerSeedUrlConfigurationPropertyValidator(properties).assertSuccess(),{SeedUrls:cdk().listMapper(cdk().stringToCloudFormation)(properties.seedUrls),WebCrawlerMode:cdk().stringToCloudFormation(properties.webCrawlerMode)}):properties}function CfnDataSourceWebCrawlerSeedUrlConfigurationPropertyFromCloudFormation(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("seedUrls","SeedUrls",properties.SeedUrls!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SeedUrls):void 0),ret.addPropertyResult("webCrawlerMode","WebCrawlerMode",properties.WebCrawlerMode!=null?cfn_parse().FromCloudFormation.getString(properties.WebCrawlerMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceWebCrawlerUrlsPropertyValidator(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("seedUrlConfiguration",CfnDataSourceWebCrawlerSeedUrlConfigurationPropertyValidator)(properties.seedUrlConfiguration)),errors.collect(cdk().propertyValidator("siteMapsConfiguration",CfnDataSourceWebCrawlerSiteMapsConfigurationPropertyValidator)(properties.siteMapsConfiguration)),errors.wrap('supplied properties not correct for "WebCrawlerUrlsProperty"')}function convertCfnDataSourceWebCrawlerUrlsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceWebCrawlerUrlsPropertyValidator(properties).assertSuccess(),{SeedUrlConfiguration:convertCfnDataSourceWebCrawlerSeedUrlConfigurationPropertyToCloudFormation(properties.seedUrlConfiguration),SiteMapsConfiguration:convertCfnDataSourceWebCrawlerSiteMapsConfigurationPropertyToCloudFormation(properties.siteMapsConfiguration)}):properties}function CfnDataSourceWebCrawlerUrlsPropertyFromCloudFormation(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("seedUrlConfiguration","SeedUrlConfiguration",properties.SeedUrlConfiguration!=null?CfnDataSourceWebCrawlerSeedUrlConfigurationPropertyFromCloudFormation(properties.SeedUrlConfiguration):void 0),ret.addPropertyResult("siteMapsConfiguration","SiteMapsConfiguration",properties.SiteMapsConfiguration!=null?CfnDataSourceWebCrawlerSiteMapsConfigurationPropertyFromCloudFormation(properties.SiteMapsConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceWebCrawlerConfigurationPropertyValidator(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("authenticationConfiguration",CfnDataSourceWebCrawlerAuthenticationConfigurationPropertyValidator)(properties.authenticationConfiguration)),errors.collect(cdk().propertyValidator("crawlDepth",cdk().validateNumber)(properties.crawlDepth)),errors.collect(cdk().propertyValidator("maxContentSizePerPageInMegaBytes",cdk().validateNumber)(properties.maxContentSizePerPageInMegaBytes)),errors.collect(cdk().propertyValidator("maxLinksPerPage",cdk().validateNumber)(properties.maxLinksPerPage)),errors.collect(cdk().propertyValidator("maxUrlsPerMinuteCrawlRate",cdk().validateNumber)(properties.maxUrlsPerMinuteCrawlRate)),errors.collect(cdk().propertyValidator("proxyConfiguration",CfnDataSourceProxyConfigurationPropertyValidator)(properties.proxyConfiguration)),errors.collect(cdk().propertyValidator("urlExclusionPatterns",cdk().listValidator(cdk().validateString))(properties.urlExclusionPatterns)),errors.collect(cdk().propertyValidator("urlInclusionPatterns",cdk().listValidator(cdk().validateString))(properties.urlInclusionPatterns)),errors.collect(cdk().propertyValidator("urls",cdk().requiredValidator)(properties.urls)),errors.collect(cdk().propertyValidator("urls",CfnDataSourceWebCrawlerUrlsPropertyValidator)(properties.urls)),errors.wrap('supplied properties not correct for "WebCrawlerConfigurationProperty"')}function convertCfnDataSourceWebCrawlerConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceWebCrawlerConfigurationPropertyValidator(properties).assertSuccess(),{AuthenticationConfiguration:convertCfnDataSourceWebCrawlerAuthenticationConfigurationPropertyToCloudFormation(properties.authenticationConfiguration),CrawlDepth:cdk().numberToCloudFormation(properties.crawlDepth),MaxContentSizePerPageInMegaBytes:cdk().numberToCloudFormation(properties.maxContentSizePerPageInMegaBytes),MaxLinksPerPage:cdk().numberToCloudFormation(properties.maxLinksPerPage),MaxUrlsPerMinuteCrawlRate:cdk().numberToCloudFormation(properties.maxUrlsPerMinuteCrawlRate),ProxyConfiguration:convertCfnDataSourceProxyConfigurationPropertyToCloudFormation(properties.proxyConfiguration),UrlExclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.urlExclusionPatterns),UrlInclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.urlInclusionPatterns),Urls:convertCfnDataSourceWebCrawlerUrlsPropertyToCloudFormation(properties.urls)}):properties}function CfnDataSourceWebCrawlerConfigurationPropertyFromCloudFormation(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("authenticationConfiguration","AuthenticationConfiguration",properties.AuthenticationConfiguration!=null?CfnDataSourceWebCrawlerAuthenticationConfigurationPropertyFromCloudFormation(properties.AuthenticationConfiguration):void 0),ret.addPropertyResult("crawlDepth","CrawlDepth",properties.CrawlDepth!=null?cfn_parse().FromCloudFormation.getNumber(properties.CrawlDepth):void 0),ret.addPropertyResult("maxContentSizePerPageInMegaBytes","MaxContentSizePerPageInMegaBytes",properties.MaxContentSizePerPageInMegaBytes!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxContentSizePerPageInMegaBytes):void 0),ret.addPropertyResult("maxLinksPerPage","MaxLinksPerPage",properties.MaxLinksPerPage!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxLinksPerPage):void 0),ret.addPropertyResult("maxUrlsPerMinuteCrawlRate","MaxUrlsPerMinuteCrawlRate",properties.MaxUrlsPerMinuteCrawlRate!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxUrlsPerMinuteCrawlRate):void 0),ret.addPropertyResult("proxyConfiguration","ProxyConfiguration",properties.ProxyConfiguration!=null?CfnDataSourceProxyConfigurationPropertyFromCloudFormation(properties.ProxyConfiguration):void 0),ret.addPropertyResult("urlExclusionPatterns","UrlExclusionPatterns",properties.UrlExclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.UrlExclusionPatterns):void 0),ret.addPropertyResult("urlInclusionPatterns","UrlInclusionPatterns",properties.UrlInclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.UrlInclusionPatterns):void 0),ret.addPropertyResult("urls","Urls",properties.Urls!=null?CfnDataSourceWebCrawlerUrlsPropertyFromCloudFormation(properties.Urls):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceAccessControlListConfigurationPropertyValidator(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("keyPath",cdk().validateString)(properties.keyPath)),errors.wrap('supplied properties not correct for "AccessControlListConfigurationProperty"')}function convertCfnDataSourceAccessControlListConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceAccessControlListConfigurationPropertyValidator(properties).assertSuccess(),{KeyPath:cdk().stringToCloudFormation(properties.keyPath)}):properties}function CfnDataSourceAccessControlListConfigurationPropertyFromCloudFormation(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("keyPath","KeyPath",properties.KeyPath!=null?cfn_parse().FromCloudFormation.getString(properties.KeyPath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceDocumentsMetadataConfigurationPropertyValidator(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("s3Prefix",cdk().validateString)(properties.s3Prefix)),errors.wrap('supplied properties not correct for "DocumentsMetadataConfigurationProperty"')}function convertCfnDataSourceDocumentsMetadataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDocumentsMetadataConfigurationPropertyValidator(properties).assertSuccess(),{S3Prefix:cdk().stringToCloudFormation(properties.s3Prefix)}):properties}function CfnDataSourceDocumentsMetadataConfigurationPropertyFromCloudFormation(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("s3Prefix","S3Prefix",properties.S3Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.S3Prefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceS3DataSourceConfigurationPropertyValidator(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("accessControlListConfiguration",CfnDataSourceAccessControlListConfigurationPropertyValidator)(properties.accessControlListConfiguration)),errors.collect(cdk().propertyValidator("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.collect(cdk().propertyValidator("documentsMetadataConfiguration",CfnDataSourceDocumentsMetadataConfigurationPropertyValidator)(properties.documentsMetadataConfiguration)),errors.collect(cdk().propertyValidator("exclusionPatterns",cdk().listValidator(cdk().validateString))(properties.exclusionPatterns)),errors.collect(cdk().propertyValidator("inclusionPatterns",cdk().listValidator(cdk().validateString))(properties.inclusionPatterns)),errors.collect(cdk().propertyValidator("inclusionPrefixes",cdk().listValidator(cdk().validateString))(properties.inclusionPrefixes)),errors.wrap('supplied properties not correct for "S3DataSourceConfigurationProperty"')}function convertCfnDataSourceS3DataSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceS3DataSourceConfigurationPropertyValidator(properties).assertSuccess(),{AccessControlListConfiguration:convertCfnDataSourceAccessControlListConfigurationPropertyToCloudFormation(properties.accessControlListConfiguration),BucketName:cdk().stringToCloudFormation(properties.bucketName),DocumentsMetadataConfiguration:convertCfnDataSourceDocumentsMetadataConfigurationPropertyToCloudFormation(properties.documentsMetadataConfiguration),ExclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusionPatterns),InclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.inclusionPatterns),InclusionPrefixes:cdk().listMapper(cdk().stringToCloudFormation)(properties.inclusionPrefixes)}):properties}function CfnDataSourceS3DataSourceConfigurationPropertyFromCloudFormation(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("accessControlListConfiguration","AccessControlListConfiguration",properties.AccessControlListConfiguration!=null?CfnDataSourceAccessControlListConfigurationPropertyFromCloudFormation(properties.AccessControlListConfiguration):void 0),ret.addPropertyResult("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("documentsMetadataConfiguration","DocumentsMetadataConfiguration",properties.DocumentsMetadataConfiguration!=null?CfnDataSourceDocumentsMetadataConfigurationPropertyFromCloudFormation(properties.DocumentsMetadataConfiguration):void 0),ret.addPropertyResult("exclusionPatterns","ExclusionPatterns",properties.ExclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExclusionPatterns):void 0),ret.addPropertyResult("inclusionPatterns","InclusionPatterns",properties.InclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InclusionPatterns):void 0),ret.addPropertyResult("inclusionPrefixes","InclusionPrefixes",properties.InclusionPrefixes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InclusionPrefixes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSalesforceStandardObjectConfigurationPropertyValidator(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("documentDataFieldName",cdk().requiredValidator)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentDataFieldName",cdk().validateString)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentTitleFieldName",cdk().validateString)(properties.documentTitleFieldName)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),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 "SalesforceStandardObjectConfigurationProperty"')}function convertCfnDataSourceSalesforceStandardObjectConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSalesforceStandardObjectConfigurationPropertyValidator(properties).assertSuccess(),{DocumentDataFieldName:cdk().stringToCloudFormation(properties.documentDataFieldName),DocumentTitleFieldName:cdk().stringToCloudFormation(properties.documentTitleFieldName),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnDataSourceSalesforceStandardObjectConfigurationPropertyFromCloudFormation(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("documentDataFieldName","DocumentDataFieldName",properties.DocumentDataFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentDataFieldName):void 0),ret.addPropertyResult("documentTitleFieldName","DocumentTitleFieldName",properties.DocumentTitleFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentTitleFieldName):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSalesforceStandardObjectAttachmentConfigurationPropertyValidator(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("documentTitleFieldName",cdk().validateString)(properties.documentTitleFieldName)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),errors.wrap('supplied properties not correct for "SalesforceStandardObjectAttachmentConfigurationProperty"')}function convertCfnDataSourceSalesforceStandardObjectAttachmentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSalesforceStandardObjectAttachmentConfigurationPropertyValidator(properties).assertSuccess(),{DocumentTitleFieldName:cdk().stringToCloudFormation(properties.documentTitleFieldName),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings)}):properties}function CfnDataSourceSalesforceStandardObjectAttachmentConfigurationPropertyFromCloudFormation(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("documentTitleFieldName","DocumentTitleFieldName",properties.DocumentTitleFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentTitleFieldName):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSalesforceChatterFeedConfigurationPropertyValidator(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("documentDataFieldName",cdk().requiredValidator)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentDataFieldName",cdk().validateString)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentTitleFieldName",cdk().validateString)(properties.documentTitleFieldName)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),errors.collect(cdk().propertyValidator("includeFilterTypes",cdk().listValidator(cdk().validateString))(properties.includeFilterTypes)),errors.wrap('supplied properties not correct for "SalesforceChatterFeedConfigurationProperty"')}function convertCfnDataSourceSalesforceChatterFeedConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSalesforceChatterFeedConfigurationPropertyValidator(properties).assertSuccess(),{DocumentDataFieldName:cdk().stringToCloudFormation(properties.documentDataFieldName),DocumentTitleFieldName:cdk().stringToCloudFormation(properties.documentTitleFieldName),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings),IncludeFilterTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.includeFilterTypes)}):properties}function CfnDataSourceSalesforceChatterFeedConfigurationPropertyFromCloudFormation(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("documentDataFieldName","DocumentDataFieldName",properties.DocumentDataFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentDataFieldName):void 0),ret.addPropertyResult("documentTitleFieldName","DocumentTitleFieldName",properties.DocumentTitleFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentTitleFieldName):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addPropertyResult("includeFilterTypes","IncludeFilterTypes",properties.IncludeFilterTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IncludeFilterTypes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSalesforceStandardKnowledgeArticleTypeConfigurationPropertyValidator(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("documentDataFieldName",cdk().requiredValidator)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentDataFieldName",cdk().validateString)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentTitleFieldName",cdk().validateString)(properties.documentTitleFieldName)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),errors.wrap('supplied properties not correct for "SalesforceStandardKnowledgeArticleTypeConfigurationProperty"')}function convertCfnDataSourceSalesforceStandardKnowledgeArticleTypeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSalesforceStandardKnowledgeArticleTypeConfigurationPropertyValidator(properties).assertSuccess(),{DocumentDataFieldName:cdk().stringToCloudFormation(properties.documentDataFieldName),DocumentTitleFieldName:cdk().stringToCloudFormation(properties.documentTitleFieldName),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings)}):properties}function CfnDataSourceSalesforceStandardKnowledgeArticleTypeConfigurationPropertyFromCloudFormation(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("documentDataFieldName","DocumentDataFieldName",properties.DocumentDataFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentDataFieldName):void 0),ret.addPropertyResult("documentTitleFieldName","DocumentTitleFieldName",properties.DocumentTitleFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentTitleFieldName):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSalesforceCustomKnowledgeArticleTypeConfigurationPropertyValidator(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("documentDataFieldName",cdk().requiredValidator)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentDataFieldName",cdk().validateString)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentTitleFieldName",cdk().validateString)(properties.documentTitleFieldName)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),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 "SalesforceCustomKnowledgeArticleTypeConfigurationProperty"')}function convertCfnDataSourceSalesforceCustomKnowledgeArticleTypeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSalesforceCustomKnowledgeArticleTypeConfigurationPropertyValidator(properties).assertSuccess(),{DocumentDataFieldName:cdk().stringToCloudFormation(properties.documentDataFieldName),DocumentTitleFieldName:cdk().stringToCloudFormation(properties.documentTitleFieldName),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnDataSourceSalesforceCustomKnowledgeArticleTypeConfigurationPropertyFromCloudFormation(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("documentDataFieldName","DocumentDataFieldName",properties.DocumentDataFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentDataFieldName):void 0),ret.addPropertyResult("documentTitleFieldName","DocumentTitleFieldName",properties.DocumentTitleFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentTitleFieldName):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSalesforceKnowledgeArticleConfigurationPropertyValidator(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("customKnowledgeArticleTypeConfigurations",cdk().listValidator(CfnDataSourceSalesforceCustomKnowledgeArticleTypeConfigurationPropertyValidator))(properties.customKnowledgeArticleTypeConfigurations)),errors.collect(cdk().propertyValidator("includedStates",cdk().requiredValidator)(properties.includedStates)),errors.collect(cdk().propertyValidator("includedStates",cdk().listValidator(cdk().validateString))(properties.includedStates)),errors.collect(cdk().propertyValidator("standardKnowledgeArticleTypeConfiguration",CfnDataSourceSalesforceStandardKnowledgeArticleTypeConfigurationPropertyValidator)(properties.standardKnowledgeArticleTypeConfiguration)),errors.wrap('supplied properties not correct for "SalesforceKnowledgeArticleConfigurationProperty"')}function convertCfnDataSourceSalesforceKnowledgeArticleConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSalesforceKnowledgeArticleConfigurationPropertyValidator(properties).assertSuccess(),{CustomKnowledgeArticleTypeConfigurations:cdk().listMapper(convertCfnDataSourceSalesforceCustomKnowledgeArticleTypeConfigurationPropertyToCloudFormation)(properties.customKnowledgeArticleTypeConfigurations),IncludedStates:cdk().listMapper(cdk().stringToCloudFormation)(properties.includedStates),StandardKnowledgeArticleTypeConfiguration:convertCfnDataSourceSalesforceStandardKnowledgeArticleTypeConfigurationPropertyToCloudFormation(properties.standardKnowledgeArticleTypeConfiguration)}):properties}function CfnDataSourceSalesforceKnowledgeArticleConfigurationPropertyFromCloudFormation(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("customKnowledgeArticleTypeConfigurations","CustomKnowledgeArticleTypeConfigurations",properties.CustomKnowledgeArticleTypeConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceSalesforceCustomKnowledgeArticleTypeConfigurationPropertyFromCloudFormation)(properties.CustomKnowledgeArticleTypeConfigurations):void 0),ret.addPropertyResult("includedStates","IncludedStates",properties.IncludedStates!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IncludedStates):void 0),ret.addPropertyResult("standardKnowledgeArticleTypeConfiguration","StandardKnowledgeArticleTypeConfiguration",properties.StandardKnowledgeArticleTypeConfiguration!=null?CfnDataSourceSalesforceStandardKnowledgeArticleTypeConfigurationPropertyFromCloudFormation(properties.StandardKnowledgeArticleTypeConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSalesforceConfigurationPropertyValidator(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("chatterFeedConfiguration",CfnDataSourceSalesforceChatterFeedConfigurationPropertyValidator)(properties.chatterFeedConfiguration)),errors.collect(cdk().propertyValidator("crawlAttachments",cdk().validateBoolean)(properties.crawlAttachments)),errors.collect(cdk().propertyValidator("excludeAttachmentFilePatterns",cdk().listValidator(cdk().validateString))(properties.excludeAttachmentFilePatterns)),errors.collect(cdk().propertyValidator("includeAttachmentFilePatterns",cdk().listValidator(cdk().validateString))(properties.includeAttachmentFilePatterns)),errors.collect(cdk().propertyValidator("knowledgeArticleConfiguration",CfnDataSourceSalesforceKnowledgeArticleConfigurationPropertyValidator)(properties.knowledgeArticleConfiguration)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.collect(cdk().propertyValidator("serverUrl",cdk().requiredValidator)(properties.serverUrl)),errors.collect(cdk().propertyValidator("serverUrl",cdk().validateString)(properties.serverUrl)),errors.collect(cdk().propertyValidator("standardObjectAttachmentConfiguration",CfnDataSourceSalesforceStandardObjectAttachmentConfigurationPropertyValidator)(properties.standardObjectAttachmentConfiguration)),errors.collect(cdk().propertyValidator("standardObjectConfigurations",cdk().listValidator(CfnDataSourceSalesforceStandardObjectConfigurationPropertyValidator))(properties.standardObjectConfigurations)),errors.wrap('supplied properties not correct for "SalesforceConfigurationProperty"')}function convertCfnDataSourceSalesforceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSalesforceConfigurationPropertyValidator(properties).assertSuccess(),{ChatterFeedConfiguration:convertCfnDataSourceSalesforceChatterFeedConfigurationPropertyToCloudFormation(properties.chatterFeedConfiguration),CrawlAttachments:cdk().booleanToCloudFormation(properties.crawlAttachments),ExcludeAttachmentFilePatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.excludeAttachmentFilePatterns),IncludeAttachmentFilePatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.includeAttachmentFilePatterns),KnowledgeArticleConfiguration:convertCfnDataSourceSalesforceKnowledgeArticleConfigurationPropertyToCloudFormation(properties.knowledgeArticleConfiguration),SecretArn:cdk().stringToCloudFormation(properties.secretArn),ServerUrl:cdk().stringToCloudFormation(properties.serverUrl),StandardObjectAttachmentConfiguration:convertCfnDataSourceSalesforceStandardObjectAttachmentConfigurationPropertyToCloudFormation(properties.standardObjectAttachmentConfiguration),StandardObjectConfigurations:cdk().listMapper(convertCfnDataSourceSalesforceStandardObjectConfigurationPropertyToCloudFormation)(properties.standardObjectConfigurations)}):properties}function CfnDataSourceSalesforceConfigurationPropertyFromCloudFormation(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("chatterFeedConfiguration","ChatterFeedConfiguration",properties.ChatterFeedConfiguration!=null?CfnDataSourceSalesforceChatterFeedConfigurationPropertyFromCloudFormation(properties.ChatterFeedConfiguration):void 0),ret.addPropertyResult("crawlAttachments","CrawlAttachments",properties.CrawlAttachments!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CrawlAttachments):void 0),ret.addPropertyResult("excludeAttachmentFilePatterns","ExcludeAttachmentFilePatterns",properties.ExcludeAttachmentFilePatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExcludeAttachmentFilePatterns):void 0),ret.addPropertyResult("includeAttachmentFilePatterns","IncludeAttachmentFilePatterns",properties.IncludeAttachmentFilePatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IncludeAttachmentFilePatterns):void 0),ret.addPropertyResult("knowledgeArticleConfiguration","KnowledgeArticleConfiguration",properties.KnowledgeArticleConfiguration!=null?CfnDataSourceSalesforceKnowledgeArticleConfigurationPropertyFromCloudFormation(properties.KnowledgeArticleConfiguration):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addPropertyResult("serverUrl","ServerUrl",properties.ServerUrl!=null?cfn_parse().FromCloudFormation.getString(properties.ServerUrl):void 0),ret.addPropertyResult("standardObjectAttachmentConfiguration","StandardObjectAttachmentConfiguration",properties.StandardObjectAttachmentConfiguration!=null?CfnDataSourceSalesforceStandardObjectAttachmentConfigurationPropertyFromCloudFormation(properties.StandardObjectAttachmentConfiguration):void 0),ret.addPropertyResult("standardObjectConfigurations","StandardObjectConfigurations",properties.StandardObjectConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceSalesforceStandardObjectConfigurationPropertyFromCloudFormation)(properties.StandardObjectConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSqlConfigurationPropertyValidator(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("queryIdentifiersEnclosingOption",cdk().validateString)(properties.queryIdentifiersEnclosingOption)),errors.wrap('supplied properties not correct for "SqlConfigurationProperty"')}function convertCfnDataSourceSqlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSqlConfigurationPropertyValidator(properties).assertSuccess(),{QueryIdentifiersEnclosingOption:cdk().stringToCloudFormation(properties.queryIdentifiersEnclosingOption)}):properties}function CfnDataSourceSqlConfigurationPropertyFromCloudFormation(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("queryIdentifiersEnclosingOption","QueryIdentifiersEnclosingOption",properties.QueryIdentifiersEnclosingOption!=null?cfn_parse().FromCloudFormation.getString(properties.QueryIdentifiersEnclosingOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConnectionConfigurationPropertyValidator(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("databaseHost",cdk().requiredValidator)(properties.databaseHost)),errors.collect(cdk().propertyValidator("databaseHost",cdk().validateString)(properties.databaseHost)),errors.collect(cdk().propertyValidator("databaseName",cdk().requiredValidator)(properties.databaseName)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("databasePort",cdk().requiredValidator)(properties.databasePort)),errors.collect(cdk().propertyValidator("databasePort",cdk().validateNumber)(properties.databasePort)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.collect(cdk().propertyValidator("tableName",cdk().requiredValidator)(properties.tableName)),errors.collect(cdk().propertyValidator("tableName",cdk().validateString)(properties.tableName)),errors.wrap('supplied properties not correct for "ConnectionConfigurationProperty"')}function convertCfnDataSourceConnectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConnectionConfigurationPropertyValidator(properties).assertSuccess(),{DatabaseHost:cdk().stringToCloudFormation(properties.databaseHost),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),DatabasePort:cdk().numberToCloudFormation(properties.databasePort),SecretArn:cdk().stringToCloudFormation(properties.secretArn),TableName:cdk().stringToCloudFormation(properties.tableName)}):properties}function CfnDataSourceConnectionConfigurationPropertyFromCloudFormation(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("databaseHost","DatabaseHost",properties.DatabaseHost!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseHost):void 0),ret.addPropertyResult("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("databasePort","DatabasePort",properties.DatabasePort!=null?cfn_parse().FromCloudFormation.getNumber(properties.DatabasePort):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addPropertyResult("tableName","TableName",properties.TableName!=null?cfn_parse().FromCloudFormation.getString(properties.TableName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceColumnConfigurationPropertyValidator(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("changeDetectingColumns",cdk().requiredValidator)(properties.changeDetectingColumns)),errors.collect(cdk().propertyValidator("changeDetectingColumns",cdk().listValidator(cdk().validateString))(properties.changeDetectingColumns)),errors.collect(cdk().propertyValidator("documentDataColumnName",cdk().requiredValidator)(properties.documentDataColumnName)),errors.collect(cdk().propertyValidator("documentDataColumnName",cdk().validateString)(properties.documentDataColumnName)),errors.collect(cdk().propertyValidator("documentIdColumnName",cdk().requiredValidator)(properties.documentIdColumnName)),errors.collect(cdk().propertyValidator("documentIdColumnName",cdk().validateString)(properties.documentIdColumnName)),errors.collect(cdk().propertyValidator("documentTitleColumnName",cdk().validateString)(properties.documentTitleColumnName)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),errors.wrap('supplied properties not correct for "ColumnConfigurationProperty"')}function convertCfnDataSourceColumnConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceColumnConfigurationPropertyValidator(properties).assertSuccess(),{ChangeDetectingColumns:cdk().listMapper(cdk().stringToCloudFormation)(properties.changeDetectingColumns),DocumentDataColumnName:cdk().stringToCloudFormation(properties.documentDataColumnName),DocumentIdColumnName:cdk().stringToCloudFormation(properties.documentIdColumnName),DocumentTitleColumnName:cdk().stringToCloudFormation(properties.documentTitleColumnName),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings)}):properties}function CfnDataSourceColumnConfigurationPropertyFromCloudFormation(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("changeDetectingColumns","ChangeDetectingColumns",properties.ChangeDetectingColumns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ChangeDetectingColumns):void 0),ret.addPropertyResult("documentDataColumnName","DocumentDataColumnName",properties.DocumentDataColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentDataColumnName):void 0),ret.addPropertyResult("documentIdColumnName","DocumentIdColumnName",properties.DocumentIdColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentIdColumnName):void 0),ret.addPropertyResult("documentTitleColumnName","DocumentTitleColumnName",properties.DocumentTitleColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentTitleColumnName):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceDataSourceVpcConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().requiredValidator)(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().requiredValidator)(properties.subnetIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.wrap('supplied properties not correct for "DataSourceVpcConfigurationProperty"')}function convertCfnDataSourceDataSourceVpcConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDataSourceVpcConfigurationPropertyValidator(properties).assertSuccess(),{SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds)}):properties}function CfnDataSourceDataSourceVpcConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceAclConfigurationPropertyValidator(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("allowedGroupsColumnName",cdk().requiredValidator)(properties.allowedGroupsColumnName)),errors.collect(cdk().propertyValidator("allowedGroupsColumnName",cdk().validateString)(properties.allowedGroupsColumnName)),errors.wrap('supplied properties not correct for "AclConfigurationProperty"')}function convertCfnDataSourceAclConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceAclConfigurationPropertyValidator(properties).assertSuccess(),{AllowedGroupsColumnName:cdk().stringToCloudFormation(properties.allowedGroupsColumnName)}):properties}function CfnDataSourceAclConfigurationPropertyFromCloudFormation(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("allowedGroupsColumnName","AllowedGroupsColumnName",properties.AllowedGroupsColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.AllowedGroupsColumnName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceDatabaseConfigurationPropertyValidator(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("aclConfiguration",CfnDataSourceAclConfigurationPropertyValidator)(properties.aclConfiguration)),errors.collect(cdk().propertyValidator("columnConfiguration",cdk().requiredValidator)(properties.columnConfiguration)),errors.collect(cdk().propertyValidator("columnConfiguration",CfnDataSourceColumnConfigurationPropertyValidator)(properties.columnConfiguration)),errors.collect(cdk().propertyValidator("connectionConfiguration",cdk().requiredValidator)(properties.connectionConfiguration)),errors.collect(cdk().propertyValidator("connectionConfiguration",CfnDataSourceConnectionConfigurationPropertyValidator)(properties.connectionConfiguration)),errors.collect(cdk().propertyValidator("databaseEngineType",cdk().requiredValidator)(properties.databaseEngineType)),errors.collect(cdk().propertyValidator("databaseEngineType",cdk().validateString)(properties.databaseEngineType)),errors.collect(cdk().propertyValidator("sqlConfiguration",CfnDataSourceSqlConfigurationPropertyValidator)(properties.sqlConfiguration)),errors.collect(cdk().propertyValidator("vpcConfiguration",CfnDataSourceDataSourceVpcConfigurationPropertyValidator)(properties.vpcConfiguration)),errors.wrap('supplied properties not correct for "DatabaseConfigurationProperty"')}function convertCfnDataSourceDatabaseConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDatabaseConfigurationPropertyValidator(properties).assertSuccess(),{AclConfiguration:convertCfnDataSourceAclConfigurationPropertyToCloudFormation(properties.aclConfiguration),ColumnConfiguration:convertCfnDataSourceColumnConfigurationPropertyToCloudFormation(properties.columnConfiguration),ConnectionConfiguration:convertCfnDataSourceConnectionConfigurationPropertyToCloudFormation(properties.connectionConfiguration),DatabaseEngineType:cdk().stringToCloudFormation(properties.databaseEngineType),SqlConfiguration:convertCfnDataSourceSqlConfigurationPropertyToCloudFormation(properties.sqlConfiguration),VpcConfiguration:convertCfnDataSourceDataSourceVpcConfigurationPropertyToCloudFormation(properties.vpcConfiguration)}):properties}function CfnDataSourceDatabaseConfigurationPropertyFromCloudFormation(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("aclConfiguration","AclConfiguration",properties.AclConfiguration!=null?CfnDataSourceAclConfigurationPropertyFromCloudFormation(properties.AclConfiguration):void 0),ret.addPropertyResult("columnConfiguration","ColumnConfiguration",properties.ColumnConfiguration!=null?CfnDataSourceColumnConfigurationPropertyFromCloudFormation(properties.ColumnConfiguration):void 0),ret.addPropertyResult("connectionConfiguration","ConnectionConfiguration",properties.ConnectionConfiguration!=null?CfnDataSourceConnectionConfigurationPropertyFromCloudFormation(properties.ConnectionConfiguration):void 0),ret.addPropertyResult("databaseEngineType","DatabaseEngineType",properties.DatabaseEngineType!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseEngineType):void 0),ret.addPropertyResult("sqlConfiguration","SqlConfiguration",properties.SqlConfiguration!=null?CfnDataSourceSqlConfigurationPropertyFromCloudFormation(properties.SqlConfiguration):void 0),ret.addPropertyResult("vpcConfiguration","VpcConfiguration",properties.VpcConfiguration!=null?CfnDataSourceDataSourceVpcConfigurationPropertyFromCloudFormation(properties.VpcConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceS3PathPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucket",cdk().requiredValidator)(properties.bucket)),errors.collect(cdk().propertyValidator("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.wrap('supplied properties not correct for "S3PathProperty"')}function convertCfnDataSourceS3PathPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceS3PathPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key)}):properties}function CfnDataSourceS3PathPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSharePointConfigurationPropertyValidator(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("crawlAttachments",cdk().validateBoolean)(properties.crawlAttachments)),errors.collect(cdk().propertyValidator("disableLocalGroups",cdk().validateBoolean)(properties.disableLocalGroups)),errors.collect(cdk().propertyValidator("documentTitleFieldName",cdk().validateString)(properties.documentTitleFieldName)),errors.collect(cdk().propertyValidator("exclusionPatterns",cdk().listValidator(cdk().validateString))(properties.exclusionPatterns)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),errors.collect(cdk().propertyValidator("inclusionPatterns",cdk().listValidator(cdk().validateString))(properties.inclusionPatterns)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.collect(cdk().propertyValidator("sharePointVersion",cdk().requiredValidator)(properties.sharePointVersion)),errors.collect(cdk().propertyValidator("sharePointVersion",cdk().validateString)(properties.sharePointVersion)),errors.collect(cdk().propertyValidator("sslCertificateS3Path",CfnDataSourceS3PathPropertyValidator)(properties.sslCertificateS3Path)),errors.collect(cdk().propertyValidator("urls",cdk().requiredValidator)(properties.urls)),errors.collect(cdk().propertyValidator("urls",cdk().listValidator(cdk().validateString))(properties.urls)),errors.collect(cdk().propertyValidator("useChangeLog",cdk().validateBoolean)(properties.useChangeLog)),errors.collect(cdk().propertyValidator("vpcConfiguration",CfnDataSourceDataSourceVpcConfigurationPropertyValidator)(properties.vpcConfiguration)),errors.wrap('supplied properties not correct for "SharePointConfigurationProperty"')}function convertCfnDataSourceSharePointConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSharePointConfigurationPropertyValidator(properties).assertSuccess(),{CrawlAttachments:cdk().booleanToCloudFormation(properties.crawlAttachments),DisableLocalGroups:cdk().booleanToCloudFormation(properties.disableLocalGroups),DocumentTitleFieldName:cdk().stringToCloudFormation(properties.documentTitleFieldName),ExclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusionPatterns),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings),InclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.inclusionPatterns),SecretArn:cdk().stringToCloudFormation(properties.secretArn),SharePointVersion:cdk().stringToCloudFormation(properties.sharePointVersion),SslCertificateS3Path:convertCfnDataSourceS3PathPropertyToCloudFormation(properties.sslCertificateS3Path),Urls:cdk().listMapper(cdk().stringToCloudFormation)(properties.urls),UseChangeLog:cdk().booleanToCloudFormation(properties.useChangeLog),VpcConfiguration:convertCfnDataSourceDataSourceVpcConfigurationPropertyToCloudFormation(properties.vpcConfiguration)}):properties}function CfnDataSourceSharePointConfigurationPropertyFromCloudFormation(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("crawlAttachments","CrawlAttachments",properties.CrawlAttachments!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CrawlAttachments):void 0),ret.addPropertyResult("disableLocalGroups","DisableLocalGroups",properties.DisableLocalGroups!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableLocalGroups):void 0),ret.addPropertyResult("documentTitleFieldName","DocumentTitleFieldName",properties.DocumentTitleFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentTitleFieldName):void 0),ret.addPropertyResult("exclusionPatterns","ExclusionPatterns",properties.ExclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExclusionPatterns):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addPropertyResult("inclusionPatterns","InclusionPatterns",properties.InclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InclusionPatterns):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addPropertyResult("sharePointVersion","SharePointVersion",properties.SharePointVersion!=null?cfn_parse().FromCloudFormation.getString(properties.SharePointVersion):void 0),ret.addPropertyResult("sslCertificateS3Path","SslCertificateS3Path",properties.SslCertificateS3Path!=null?CfnDataSourceS3PathPropertyFromCloudFormation(properties.SslCertificateS3Path):void 0),ret.addPropertyResult("urls","Urls",properties.Urls!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Urls):void 0),ret.addPropertyResult("useChangeLog","UseChangeLog",properties.UseChangeLog!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseChangeLog):void 0),ret.addPropertyResult("vpcConfiguration","VpcConfiguration",properties.VpcConfiguration!=null?CfnDataSourceDataSourceVpcConfigurationPropertyFromCloudFormation(properties.VpcConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConfluenceAttachmentToIndexFieldMappingPropertyValidator(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("dataSourceFieldName",cdk().requiredValidator)(properties.dataSourceFieldName)),errors.collect(cdk().propertyValidator("dataSourceFieldName",cdk().validateString)(properties.dataSourceFieldName)),errors.collect(cdk().propertyValidator("dateFieldFormat",cdk().validateString)(properties.dateFieldFormat)),errors.collect(cdk().propertyValidator("indexFieldName",cdk().requiredValidator)(properties.indexFieldName)),errors.collect(cdk().propertyValidator("indexFieldName",cdk().validateString)(properties.indexFieldName)),errors.wrap('supplied properties not correct for "ConfluenceAttachmentToIndexFieldMappingProperty"')}function convertCfnDataSourceConfluenceAttachmentToIndexFieldMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluenceAttachmentToIndexFieldMappingPropertyValidator(properties).assertSuccess(),{DataSourceFieldName:cdk().stringToCloudFormation(properties.dataSourceFieldName),DateFieldFormat:cdk().stringToCloudFormation(properties.dateFieldFormat),IndexFieldName:cdk().stringToCloudFormation(properties.indexFieldName)}):properties}function CfnDataSourceConfluenceAttachmentToIndexFieldMappingPropertyFromCloudFormation(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("dataSourceFieldName","DataSourceFieldName",properties.DataSourceFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DataSourceFieldName):void 0),ret.addPropertyResult("dateFieldFormat","DateFieldFormat",properties.DateFieldFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateFieldFormat):void 0),ret.addPropertyResult("indexFieldName","IndexFieldName",properties.IndexFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.IndexFieldName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConfluenceAttachmentConfigurationPropertyValidator(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("attachmentFieldMappings",cdk().listValidator(CfnDataSourceConfluenceAttachmentToIndexFieldMappingPropertyValidator))(properties.attachmentFieldMappings)),errors.collect(cdk().propertyValidator("crawlAttachments",cdk().validateBoolean)(properties.crawlAttachments)),errors.wrap('supplied properties not correct for "ConfluenceAttachmentConfigurationProperty"')}function convertCfnDataSourceConfluenceAttachmentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluenceAttachmentConfigurationPropertyValidator(properties).assertSuccess(),{AttachmentFieldMappings:cdk().listMapper(convertCfnDataSourceConfluenceAttachmentToIndexFieldMappingPropertyToCloudFormation)(properties.attachmentFieldMappings),CrawlAttachments:cdk().booleanToCloudFormation(properties.crawlAttachments)}):properties}function CfnDataSourceConfluenceAttachmentConfigurationPropertyFromCloudFormation(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("attachmentFieldMappings","AttachmentFieldMappings",properties.AttachmentFieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceConfluenceAttachmentToIndexFieldMappingPropertyFromCloudFormation)(properties.AttachmentFieldMappings):void 0),ret.addPropertyResult("crawlAttachments","CrawlAttachments",properties.CrawlAttachments!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CrawlAttachments):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConfluencePageToIndexFieldMappingPropertyValidator(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("dataSourceFieldName",cdk().requiredValidator)(properties.dataSourceFieldName)),errors.collect(cdk().propertyValidator("dataSourceFieldName",cdk().validateString)(properties.dataSourceFieldName)),errors.collect(cdk().propertyValidator("dateFieldFormat",cdk().validateString)(properties.dateFieldFormat)),errors.collect(cdk().propertyValidator("indexFieldName",cdk().requiredValidator)(properties.indexFieldName)),errors.collect(cdk().propertyValidator("indexFieldName",cdk().validateString)(properties.indexFieldName)),errors.wrap('supplied properties not correct for "ConfluencePageToIndexFieldMappingProperty"')}function convertCfnDataSourceConfluencePageToIndexFieldMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluencePageToIndexFieldMappingPropertyValidator(properties).assertSuccess(),{DataSourceFieldName:cdk().stringToCloudFormation(properties.dataSourceFieldName),DateFieldFormat:cdk().stringToCloudFormation(properties.dateFieldFormat),IndexFieldName:cdk().stringToCloudFormation(properties.indexFieldName)}):properties}function CfnDataSourceConfluencePageToIndexFieldMappingPropertyFromCloudFormation(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("dataSourceFieldName","DataSourceFieldName",properties.DataSourceFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DataSourceFieldName):void 0),ret.addPropertyResult("dateFieldFormat","DateFieldFormat",properties.DateFieldFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateFieldFormat):void 0),ret.addPropertyResult("indexFieldName","IndexFieldName",properties.IndexFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.IndexFieldName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConfluencePageConfigurationPropertyValidator(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("pageFieldMappings",cdk().listValidator(CfnDataSourceConfluencePageToIndexFieldMappingPropertyValidator))(properties.pageFieldMappings)),errors.wrap('supplied properties not correct for "ConfluencePageConfigurationProperty"')}function convertCfnDataSourceConfluencePageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluencePageConfigurationPropertyValidator(properties).assertSuccess(),{PageFieldMappings:cdk().listMapper(convertCfnDataSourceConfluencePageToIndexFieldMappingPropertyToCloudFormation)(properties.pageFieldMappings)}):properties}function CfnDataSourceConfluencePageConfigurationPropertyFromCloudFormation(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("pageFieldMappings","PageFieldMappings",properties.PageFieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceConfluencePageToIndexFieldMappingPropertyFromCloudFormation)(properties.PageFieldMappings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConfluenceBlogToIndexFieldMappingPropertyValidator(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("dataSourceFieldName",cdk().requiredValidator)(properties.dataSourceFieldName)),errors.collect(cdk().propertyValidator("dataSourceFieldName",cdk().validateString)(properties.dataSourceFieldName)),errors.collect(cdk().propertyValidator("dateFieldFormat",cdk().validateString)(properties.dateFieldFormat)),errors.collect(cdk().propertyValidator("indexFieldName",cdk().requiredValidator)(properties.indexFieldName)),errors.collect(cdk().propertyValidator("indexFieldName",cdk().validateString)(properties.indexFieldName)),errors.wrap('supplied properties not correct for "ConfluenceBlogToIndexFieldMappingProperty"')}function convertCfnDataSourceConfluenceBlogToIndexFieldMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluenceBlogToIndexFieldMappingPropertyValidator(properties).assertSuccess(),{DataSourceFieldName:cdk().stringToCloudFormation(properties.dataSourceFieldName),DateFieldFormat:cdk().stringToCloudFormation(properties.dateFieldFormat),IndexFieldName:cdk().stringToCloudFormation(properties.indexFieldName)}):properties}function CfnDataSourceConfluenceBlogToIndexFieldMappingPropertyFromCloudFormation(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("dataSourceFieldName","DataSourceFieldName",properties.DataSourceFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DataSourceFieldName):void 0),ret.addPropertyResult("dateFieldFormat","DateFieldFormat",properties.DateFieldFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateFieldFormat):void 0),ret.addPropertyResult("indexFieldName","IndexFieldName",properties.IndexFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.IndexFieldName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConfluenceBlogConfigurationPropertyValidator(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("blogFieldMappings",cdk().listValidator(CfnDataSourceConfluenceBlogToIndexFieldMappingPropertyValidator))(properties.blogFieldMappings)),errors.wrap('supplied properties not correct for "ConfluenceBlogConfigurationProperty"')}function convertCfnDataSourceConfluenceBlogConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluenceBlogConfigurationPropertyValidator(properties).assertSuccess(),{BlogFieldMappings:cdk().listMapper(convertCfnDataSourceConfluenceBlogToIndexFieldMappingPropertyToCloudFormation)(properties.blogFieldMappings)}):properties}function CfnDataSourceConfluenceBlogConfigurationPropertyFromCloudFormation(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("blogFieldMappings","BlogFieldMappings",properties.BlogFieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceConfluenceBlogToIndexFieldMappingPropertyFromCloudFormation)(properties.BlogFieldMappings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConfluenceSpaceToIndexFieldMappingPropertyValidator(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("dataSourceFieldName",cdk().requiredValidator)(properties.dataSourceFieldName)),errors.collect(cdk().propertyValidator("dataSourceFieldName",cdk().validateString)(properties.dataSourceFieldName)),errors.collect(cdk().propertyValidator("dateFieldFormat",cdk().validateString)(properties.dateFieldFormat)),errors.collect(cdk().propertyValidator("indexFieldName",cdk().requiredValidator)(properties.indexFieldName)),errors.collect(cdk().propertyValidator("indexFieldName",cdk().validateString)(properties.indexFieldName)),errors.wrap('supplied properties not correct for "ConfluenceSpaceToIndexFieldMappingProperty"')}function convertCfnDataSourceConfluenceSpaceToIndexFieldMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluenceSpaceToIndexFieldMappingPropertyValidator(properties).assertSuccess(),{DataSourceFieldName:cdk().stringToCloudFormation(properties.dataSourceFieldName),DateFieldFormat:cdk().stringToCloudFormation(properties.dateFieldFormat),IndexFieldName:cdk().stringToCloudFormation(properties.indexFieldName)}):properties}function CfnDataSourceConfluenceSpaceToIndexFieldMappingPropertyFromCloudFormation(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("dataSourceFieldName","DataSourceFieldName",properties.DataSourceFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DataSourceFieldName):void 0),ret.addPropertyResult("dateFieldFormat","DateFieldFormat",properties.DateFieldFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateFieldFormat):void 0),ret.addPropertyResult("indexFieldName","IndexFieldName",properties.IndexFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.IndexFieldName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConfluenceSpaceConfigurationPropertyValidator(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("crawlArchivedSpaces",cdk().validateBoolean)(properties.crawlArchivedSpaces)),errors.collect(cdk().propertyValidator("crawlPersonalSpaces",cdk().validateBoolean)(properties.crawlPersonalSpaces)),errors.collect(cdk().propertyValidator("excludeSpaces",cdk().listValidator(cdk().validateString))(properties.excludeSpaces)),errors.collect(cdk().propertyValidator("includeSpaces",cdk().listValidator(cdk().validateString))(properties.includeSpaces)),errors.collect(cdk().propertyValidator("spaceFieldMappings",cdk().listValidator(CfnDataSourceConfluenceSpaceToIndexFieldMappingPropertyValidator))(properties.spaceFieldMappings)),errors.wrap('supplied properties not correct for "ConfluenceSpaceConfigurationProperty"')}function convertCfnDataSourceConfluenceSpaceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluenceSpaceConfigurationPropertyValidator(properties).assertSuccess(),{CrawlArchivedSpaces:cdk().booleanToCloudFormation(properties.crawlArchivedSpaces),CrawlPersonalSpaces:cdk().booleanToCloudFormation(properties.crawlPersonalSpaces),ExcludeSpaces:cdk().listMapper(cdk().stringToCloudFormation)(properties.excludeSpaces),IncludeSpaces:cdk().listMapper(cdk().stringToCloudFormation)(properties.includeSpaces),SpaceFieldMappings:cdk().listMapper(convertCfnDataSourceConfluenceSpaceToIndexFieldMappingPropertyToCloudFormation)(properties.spaceFieldMappings)}):properties}function CfnDataSourceConfluenceSpaceConfigurationPropertyFromCloudFormation(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("crawlArchivedSpaces","CrawlArchivedSpaces",properties.CrawlArchivedSpaces!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CrawlArchivedSpaces):void 0),ret.addPropertyResult("crawlPersonalSpaces","CrawlPersonalSpaces",properties.CrawlPersonalSpaces!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CrawlPersonalSpaces):void 0),ret.addPropertyResult("excludeSpaces","ExcludeSpaces",properties.ExcludeSpaces!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExcludeSpaces):void 0),ret.addPropertyResult("includeSpaces","IncludeSpaces",properties.IncludeSpaces!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IncludeSpaces):void 0),ret.addPropertyResult("spaceFieldMappings","SpaceFieldMappings",properties.SpaceFieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceConfluenceSpaceToIndexFieldMappingPropertyFromCloudFormation)(properties.SpaceFieldMappings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConfluenceConfigurationPropertyValidator(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("attachmentConfiguration",CfnDataSourceConfluenceAttachmentConfigurationPropertyValidator)(properties.attachmentConfiguration)),errors.collect(cdk().propertyValidator("blogConfiguration",CfnDataSourceConfluenceBlogConfigurationPropertyValidator)(properties.blogConfiguration)),errors.collect(cdk().propertyValidator("exclusionPatterns",cdk().listValidator(cdk().validateString))(properties.exclusionPatterns)),errors.collect(cdk().propertyValidator("inclusionPatterns",cdk().listValidator(cdk().validateString))(properties.inclusionPatterns)),errors.collect(cdk().propertyValidator("pageConfiguration",CfnDataSourceConfluencePageConfigurationPropertyValidator)(properties.pageConfiguration)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.collect(cdk().propertyValidator("serverUrl",cdk().requiredValidator)(properties.serverUrl)),errors.collect(cdk().propertyValidator("serverUrl",cdk().validateString)(properties.serverUrl)),errors.collect(cdk().propertyValidator("spaceConfiguration",CfnDataSourceConfluenceSpaceConfigurationPropertyValidator)(properties.spaceConfiguration)),errors.collect(cdk().propertyValidator("version",cdk().requiredValidator)(properties.version)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.collect(cdk().propertyValidator("vpcConfiguration",CfnDataSourceDataSourceVpcConfigurationPropertyValidator)(properties.vpcConfiguration)),errors.wrap('supplied properties not correct for "ConfluenceConfigurationProperty"')}function convertCfnDataSourceConfluenceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluenceConfigurationPropertyValidator(properties).assertSuccess(),{AttachmentConfiguration:convertCfnDataSourceConfluenceAttachmentConfigurationPropertyToCloudFormation(properties.attachmentConfiguration),BlogConfiguration:convertCfnDataSourceConfluenceBlogConfigurationPropertyToCloudFormation(properties.blogConfiguration),ExclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusionPatterns),InclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.inclusionPatterns),PageConfiguration:convertCfnDataSourceConfluencePageConfigurationPropertyToCloudFormation(properties.pageConfiguration),SecretArn:cdk().stringToCloudFormation(properties.secretArn),ServerUrl:cdk().stringToCloudFormation(properties.serverUrl),SpaceConfiguration:convertCfnDataSourceConfluenceSpaceConfigurationPropertyToCloudFormation(properties.spaceConfiguration),Version:cdk().stringToCloudFormation(properties.version),VpcConfiguration:convertCfnDataSourceDataSourceVpcConfigurationPropertyToCloudFormation(properties.vpcConfiguration)}):properties}function CfnDataSourceConfluenceConfigurationPropertyFromCloudFormation(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("attachmentConfiguration","AttachmentConfiguration",properties.AttachmentConfiguration!=null?CfnDataSourceConfluenceAttachmentConfigurationPropertyFromCloudFormation(properties.AttachmentConfiguration):void 0),ret.addPropertyResult("blogConfiguration","BlogConfiguration",properties.BlogConfiguration!=null?CfnDataSourceConfluenceBlogConfigurationPropertyFromCloudFormation(properties.BlogConfiguration):void 0),ret.addPropertyResult("exclusionPatterns","ExclusionPatterns",properties.ExclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExclusionPatterns):void 0),ret.addPropertyResult("inclusionPatterns","InclusionPatterns",properties.InclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InclusionPatterns):void 0),ret.addPropertyResult("pageConfiguration","PageConfiguration",properties.PageConfiguration!=null?CfnDataSourceConfluencePageConfigurationPropertyFromCloudFormation(properties.PageConfiguration):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addPropertyResult("serverUrl","ServerUrl",properties.ServerUrl!=null?cfn_parse().FromCloudFormation.getString(properties.ServerUrl):void 0),ret.addPropertyResult("spaceConfiguration","SpaceConfiguration",properties.SpaceConfiguration!=null?CfnDataSourceConfluenceSpaceConfigurationPropertyFromCloudFormation(properties.SpaceConfiguration):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addPropertyResult("vpcConfiguration","VpcConfiguration",properties.VpcConfiguration!=null?CfnDataSourceDataSourceVpcConfigurationPropertyFromCloudFormation(properties.VpcConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceWorkDocsConfigurationPropertyValidator(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("crawlComments",cdk().validateBoolean)(properties.crawlComments)),errors.collect(cdk().propertyValidator("exclusionPatterns",cdk().listValidator(cdk().validateString))(properties.exclusionPatterns)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),errors.collect(cdk().propertyValidator("inclusionPatterns",cdk().listValidator(cdk().validateString))(properties.inclusionPatterns)),errors.collect(cdk().propertyValidator("organizationId",cdk().requiredValidator)(properties.organizationId)),errors.collect(cdk().propertyValidator("organizationId",cdk().validateString)(properties.organizationId)),errors.collect(cdk().propertyValidator("useChangeLog",cdk().validateBoolean)(properties.useChangeLog)),errors.wrap('supplied properties not correct for "WorkDocsConfigurationProperty"')}function convertCfnDataSourceWorkDocsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceWorkDocsConfigurationPropertyValidator(properties).assertSuccess(),{CrawlComments:cdk().booleanToCloudFormation(properties.crawlComments),ExclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusionPatterns),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings),InclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.inclusionPatterns),OrganizationId:cdk().stringToCloudFormation(properties.organizationId),UseChangeLog:cdk().booleanToCloudFormation(properties.useChangeLog)}):properties}function CfnDataSourceWorkDocsConfigurationPropertyFromCloudFormation(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("crawlComments","CrawlComments",properties.CrawlComments!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CrawlComments):void 0),ret.addPropertyResult("exclusionPatterns","ExclusionPatterns",properties.ExclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExclusionPatterns):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addPropertyResult("inclusionPatterns","InclusionPatterns",properties.InclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InclusionPatterns):void 0),ret.addPropertyResult("organizationId","OrganizationId",properties.OrganizationId!=null?cfn_parse().FromCloudFormation.getString(properties.OrganizationId):void 0),ret.addPropertyResult("useChangeLog","UseChangeLog",properties.UseChangeLog!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseChangeLog):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceOneDriveUsersPropertyValidator(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("oneDriveUserList",cdk().listValidator(cdk().validateString))(properties.oneDriveUserList)),errors.collect(cdk().propertyValidator("oneDriveUserS3Path",CfnDataSourceS3PathPropertyValidator)(properties.oneDriveUserS3Path)),errors.wrap('supplied properties not correct for "OneDriveUsersProperty"')}function convertCfnDataSourceOneDriveUsersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceOneDriveUsersPropertyValidator(properties).assertSuccess(),{OneDriveUserList:cdk().listMapper(cdk().stringToCloudFormation)(properties.oneDriveUserList),OneDriveUserS3Path:convertCfnDataSourceS3PathPropertyToCloudFormation(properties.oneDriveUserS3Path)}):properties}function CfnDataSourceOneDriveUsersPropertyFromCloudFormation(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("oneDriveUserList","OneDriveUserList",properties.OneDriveUserList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.OneDriveUserList):void 0),ret.addPropertyResult("oneDriveUserS3Path","OneDriveUserS3Path",properties.OneDriveUserS3Path!=null?CfnDataSourceS3PathPropertyFromCloudFormation(properties.OneDriveUserS3Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceOneDriveConfigurationPropertyValidator(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("disableLocalGroups",cdk().validateBoolean)(properties.disableLocalGroups)),errors.collect(cdk().propertyValidator("exclusionPatterns",cdk().listValidator(cdk().validateString))(properties.exclusionPatterns)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),errors.collect(cdk().propertyValidator("inclusionPatterns",cdk().listValidator(cdk().validateString))(properties.inclusionPatterns)),errors.collect(cdk().propertyValidator("oneDriveUsers",cdk().requiredValidator)(properties.oneDriveUsers)),errors.collect(cdk().propertyValidator("oneDriveUsers",CfnDataSourceOneDriveUsersPropertyValidator)(properties.oneDriveUsers)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.collect(cdk().propertyValidator("tenantDomain",cdk().requiredValidator)(properties.tenantDomain)),errors.collect(cdk().propertyValidator("tenantDomain",cdk().validateString)(properties.tenantDomain)),errors.wrap('supplied properties not correct for "OneDriveConfigurationProperty"')}function convertCfnDataSourceOneDriveConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceOneDriveConfigurationPropertyValidator(properties).assertSuccess(),{DisableLocalGroups:cdk().booleanToCloudFormation(properties.disableLocalGroups),ExclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusionPatterns),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings),InclusionPatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.inclusionPatterns),OneDriveUsers:convertCfnDataSourceOneDriveUsersPropertyToCloudFormation(properties.oneDriveUsers),SecretArn:cdk().stringToCloudFormation(properties.secretArn),TenantDomain:cdk().stringToCloudFormation(properties.tenantDomain)}):properties}function CfnDataSourceOneDriveConfigurationPropertyFromCloudFormation(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("disableLocalGroups","DisableLocalGroups",properties.DisableLocalGroups!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableLocalGroups):void 0),ret.addPropertyResult("exclusionPatterns","ExclusionPatterns",properties.ExclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExclusionPatterns):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addPropertyResult("inclusionPatterns","InclusionPatterns",properties.InclusionPatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InclusionPatterns):void 0),ret.addPropertyResult("oneDriveUsers","OneDriveUsers",properties.OneDriveUsers!=null?CfnDataSourceOneDriveUsersPropertyFromCloudFormation(properties.OneDriveUsers):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addPropertyResult("tenantDomain","TenantDomain",properties.TenantDomain!=null?cfn_parse().FromCloudFormation.getString(properties.TenantDomain):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceTemplateConfigurationPropertyValidator(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("template",cdk().requiredValidator)(properties.template)),errors.collect(cdk().propertyValidator("template",cdk().validateString)(properties.template)),errors.wrap('supplied properties not correct for "TemplateConfigurationProperty"')}function convertCfnDataSourceTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceTemplateConfigurationPropertyValidator(properties).assertSuccess(),{Template:cdk().stringToCloudFormation(properties.template)}):properties}function CfnDataSourceTemplateConfigurationPropertyFromCloudFormation(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("template","Template",properties.Template!=null?cfn_parse().FromCloudFormation.getString(properties.Template):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceServiceNowServiceCatalogConfigurationPropertyValidator(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("crawlAttachments",cdk().validateBoolean)(properties.crawlAttachments)),errors.collect(cdk().propertyValidator("documentDataFieldName",cdk().requiredValidator)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentDataFieldName",cdk().validateString)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentTitleFieldName",cdk().validateString)(properties.documentTitleFieldName)),errors.collect(cdk().propertyValidator("excludeAttachmentFilePatterns",cdk().listValidator(cdk().validateString))(properties.excludeAttachmentFilePatterns)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),errors.collect(cdk().propertyValidator("includeAttachmentFilePatterns",cdk().listValidator(cdk().validateString))(properties.includeAttachmentFilePatterns)),errors.wrap('supplied properties not correct for "ServiceNowServiceCatalogConfigurationProperty"')}function convertCfnDataSourceServiceNowServiceCatalogConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceServiceNowServiceCatalogConfigurationPropertyValidator(properties).assertSuccess(),{CrawlAttachments:cdk().booleanToCloudFormation(properties.crawlAttachments),DocumentDataFieldName:cdk().stringToCloudFormation(properties.documentDataFieldName),DocumentTitleFieldName:cdk().stringToCloudFormation(properties.documentTitleFieldName),ExcludeAttachmentFilePatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.excludeAttachmentFilePatterns),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings),IncludeAttachmentFilePatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.includeAttachmentFilePatterns)}):properties}function CfnDataSourceServiceNowServiceCatalogConfigurationPropertyFromCloudFormation(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("crawlAttachments","CrawlAttachments",properties.CrawlAttachments!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CrawlAttachments):void 0),ret.addPropertyResult("documentDataFieldName","DocumentDataFieldName",properties.DocumentDataFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentDataFieldName):void 0),ret.addPropertyResult("documentTitleFieldName","DocumentTitleFieldName",properties.DocumentTitleFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentTitleFieldName):void 0),ret.addPropertyResult("excludeAttachmentFilePatterns","ExcludeAttachmentFilePatterns",properties.ExcludeAttachmentFilePatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExcludeAttachmentFilePatterns):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addPropertyResult("includeAttachmentFilePatterns","IncludeAttachmentFilePatterns",properties.IncludeAttachmentFilePatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IncludeAttachmentFilePatterns):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceServiceNowKnowledgeArticleConfigurationPropertyValidator(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("crawlAttachments",cdk().validateBoolean)(properties.crawlAttachments)),errors.collect(cdk().propertyValidator("documentDataFieldName",cdk().requiredValidator)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentDataFieldName",cdk().validateString)(properties.documentDataFieldName)),errors.collect(cdk().propertyValidator("documentTitleFieldName",cdk().validateString)(properties.documentTitleFieldName)),errors.collect(cdk().propertyValidator("excludeAttachmentFilePatterns",cdk().listValidator(cdk().validateString))(properties.excludeAttachmentFilePatterns)),errors.collect(cdk().propertyValidator("fieldMappings",cdk().listValidator(CfnDataSourceDataSourceToIndexFieldMappingPropertyValidator))(properties.fieldMappings)),errors.collect(cdk().propertyValidator("filterQuery",cdk().validateString)(properties.filterQuery)),errors.collect(cdk().propertyValidator("includeAttachmentFilePatterns",cdk().listValidator(cdk().validateString))(properties.includeAttachmentFilePatterns)),errors.wrap('supplied properties not correct for "ServiceNowKnowledgeArticleConfigurationProperty"')}function convertCfnDataSourceServiceNowKnowledgeArticleConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceServiceNowKnowledgeArticleConfigurationPropertyValidator(properties).assertSuccess(),{CrawlAttachments:cdk().booleanToCloudFormation(properties.crawlAttachments),DocumentDataFieldName:cdk().stringToCloudFormation(properties.documentDataFieldName),DocumentTitleFieldName:cdk().stringToCloudFormation(properties.documentTitleFieldName),ExcludeAttachmentFilePatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.excludeAttachmentFilePatterns),FieldMappings:cdk().listMapper(convertCfnDataSourceDataSourceToIndexFieldMappingPropertyToCloudFormation)(properties.fieldMappings),FilterQuery:cdk().stringToCloudFormation(properties.filterQuery),IncludeAttachmentFilePatterns:cdk().listMapper(cdk().stringToCloudFormation)(properties.includeAttachmentFilePatterns)}):properties}function CfnDataSourceServiceNowKnowledgeArticleConfigurationPropertyFromCloudFormation(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("crawlAttachments","CrawlAttachments",properties.CrawlAttachments!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CrawlAttachments):void 0),ret.addPropertyResult("documentDataFieldName","DocumentDataFieldName",properties.DocumentDataFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentDataFieldName):void 0),ret.addPropertyResult("documentTitleFieldName","DocumentTitleFieldName",properties.DocumentTitleFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentTitleFieldName):void 0),ret.addPropertyResult("excludeAttachmentFilePatterns","ExcludeAttachmentFilePatterns",properties.ExcludeAttachmentFilePatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExcludeAttachmentFilePatterns):void 0),ret.addPropertyResult("fieldMappings","FieldMappings",properties.FieldMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceToIndexFieldMappingPropertyFromCloudFormation)(properties.FieldMappings):void 0),ret.addPropertyResult("filterQuery","FilterQuery",properties.FilterQuery!=null?cfn_parse().FromCloudFormation.getString(properties.FilterQuery):void 0),ret.addPropertyResult("includeAttachmentFilePatterns","IncludeAttachmentFilePatterns",properties.IncludeAttachmentFilePatterns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IncludeAttachmentFilePatterns):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceServiceNowConfigurationPropertyValidator(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("authenticationType",cdk().validateString)(properties.authenticationType)),errors.collect(cdk().propertyValidator("hostUrl",cdk().requiredValidator)(properties.hostUrl)),errors.collect(cdk().propertyValidator("hostUrl",cdk().validateString)(properties.hostUrl)),errors.collect(cdk().propertyValidator("knowledgeArticleConfiguration",CfnDataSourceServiceNowKnowledgeArticleConfigurationPropertyValidator)(properties.knowledgeArticleConfiguration)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.collect(cdk().propertyValidator("serviceCatalogConfiguration",CfnDataSourceServiceNowServiceCatalogConfigurationPropertyValidator)(properties.serviceCatalogConfiguration)),errors.collect(cdk().propertyValidator("serviceNowBuildVersion",cdk().requiredValidator)(properties.serviceNowBuildVersion)),errors.collect(cdk().propertyValidator("serviceNowBuildVersion",cdk().validateString)(properties.serviceNowBuildVersion)),errors.wrap('supplied properties not correct for "ServiceNowConfigurationProperty"')}function convertCfnDataSourceServiceNowConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceServiceNowConfigurationPropertyValidator(properties).assertSuccess(),{AuthenticationType:cdk().stringToCloudFormation(properties.authenticationType),HostUrl:cdk().stringToCloudFormation(properties.hostUrl),KnowledgeArticleConfiguration:convertCfnDataSourceServiceNowKnowledgeArticleConfigurationPropertyToCloudFormation(properties.knowledgeArticleConfiguration),SecretArn:cdk().stringToCloudFormation(properties.secretArn),ServiceCatalogConfiguration:convertCfnDataSourceServiceNowServiceCatalogConfigurationPropertyToCloudFormation(properties.serviceCatalogConfiguration),ServiceNowBuildVersion:cdk().stringToCloudFormation(properties.serviceNowBuildVersion)}):properties}function CfnDataSourceServiceNowConfigurationPropertyFromCloudFormation(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("authenticationType","AuthenticationType",properties.AuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthenticationType):void 0),ret.addPropertyResult("hostUrl","HostUrl",properties.HostUrl!=null?cfn_parse().FromCloudFormation.getString(properties.HostUrl):void 0),ret.addPropertyResult("knowledgeArticleConfiguration","KnowledgeArticleConfiguration",properties.KnowledgeArticleConfiguration!=null?CfnDataSourceServiceNowKnowledgeArticleConfigurationPropertyFromCloudFormation(properties.KnowledgeArticleConfiguration):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addPropertyResult("serviceCatalogConfiguration","ServiceCatalogConfiguration",properties.ServiceCatalogConfiguration!=null?CfnDataSourceServiceNowServiceCatalogConfigurationPropertyFromCloudFormation(properties.ServiceCatalogConfiguration):void 0),ret.addPropertyResult("serviceNowBuildVersion","ServiceNowBuildVersion",properties.ServiceNowBuildVersion!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceNowBuildVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceDataSourceConfigurationPropertyValidator(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("confluenceConfiguration",CfnDataSourceConfluenceConfigurationPropertyValidator)(properties.confluenceConfiguration)),errors.collect(cdk().propertyValidator("databaseConfiguration",CfnDataSourceDatabaseConfigurationPropertyValidator)(properties.databaseConfiguration)),errors.collect(cdk().propertyValidator("googleDriveConfiguration",CfnDataSourceGoogleDriveConfigurationPropertyValidator)(properties.googleDriveConfiguration)),errors.collect(cdk().propertyValidator("oneDriveConfiguration",CfnDataSourceOneDriveConfigurationPropertyValidator)(properties.oneDriveConfiguration)),errors.collect(cdk().propertyValidator("s3Configuration",CfnDataSourceS3DataSourceConfigurationPropertyValidator)(properties.s3Configuration)),errors.collect(cdk().propertyValidator("salesforceConfiguration",CfnDataSourceSalesforceConfigurationPropertyValidator)(properties.salesforceConfiguration)),errors.collect(cdk().propertyValidator("serviceNowConfiguration",CfnDataSourceServiceNowConfigurationPropertyValidator)(properties.serviceNowConfiguration)),errors.collect(cdk().propertyValidator("sharePointConfiguration",CfnDataSourceSharePointConfigurationPropertyValidator)(properties.sharePointConfiguration)),errors.collect(cdk().propertyValidator("templateConfiguration",CfnDataSourceTemplateConfigurationPropertyValidator)(properties.templateConfiguration)),errors.collect(cdk().propertyValidator("webCrawlerConfiguration",CfnDataSourceWebCrawlerConfigurationPropertyValidator)(properties.webCrawlerConfiguration)),errors.collect(cdk().propertyValidator("workDocsConfiguration",CfnDataSourceWorkDocsConfigurationPropertyValidator)(properties.workDocsConfiguration)),errors.wrap('supplied properties not correct for "DataSourceConfigurationProperty"')}function convertCfnDataSourceDataSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDataSourceConfigurationPropertyValidator(properties).assertSuccess(),{ConfluenceConfiguration:convertCfnDataSourceConfluenceConfigurationPropertyToCloudFormation(properties.confluenceConfiguration),DatabaseConfiguration:convertCfnDataSourceDatabaseConfigurationPropertyToCloudFormation(properties.databaseConfiguration),GoogleDriveConfiguration:convertCfnDataSourceGoogleDriveConfigurationPropertyToCloudFormation(properties.googleDriveConfiguration),OneDriveConfiguration:convertCfnDataSourceOneDriveConfigurationPropertyToCloudFormation(properties.oneDriveConfiguration),S3Configuration:convertCfnDataSourceS3DataSourceConfigurationPropertyToCloudFormation(properties.s3Configuration),SalesforceConfiguration:convertCfnDataSourceSalesforceConfigurationPropertyToCloudFormation(properties.salesforceConfiguration),ServiceNowConfiguration:convertCfnDataSourceServiceNowConfigurationPropertyToCloudFormation(properties.serviceNowConfiguration),SharePointConfiguration:convertCfnDataSourceSharePointConfigurationPropertyToCloudFormation(properties.sharePointConfiguration),TemplateConfiguration:convertCfnDataSourceTemplateConfigurationPropertyToCloudFormation(properties.templateConfiguration),WebCrawlerConfiguration:convertCfnDataSourceWebCrawlerConfigurationPropertyToCloudFormation(properties.webCrawlerConfiguration),WorkDocsConfiguration:convertCfnDataSourceWorkDocsConfigurationPropertyToCloudFormation(properties.workDocsConfiguration)}):properties}function CfnDataSourceDataSourceConfigurationPropertyFromCloudFormation(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("confluenceConfiguration","ConfluenceConfiguration",properties.ConfluenceConfiguration!=null?CfnDataSourceConfluenceConfigurationPropertyFromCloudFormation(properties.ConfluenceConfiguration):void 0),ret.addPropertyResult("databaseConfiguration","DatabaseConfiguration",properties.DatabaseConfiguration!=null?CfnDataSourceDatabaseConfigurationPropertyFromCloudFormation(properties.DatabaseConfiguration):void 0),ret.addPropertyResult("googleDriveConfiguration","GoogleDriveConfiguration",properties.GoogleDriveConfiguration!=null?CfnDataSourceGoogleDriveConfigurationPropertyFromCloudFormation(properties.GoogleDriveConfiguration):void 0),ret.addPropertyResult("oneDriveConfiguration","OneDriveConfiguration",properties.OneDriveConfiguration!=null?CfnDataSourceOneDriveConfigurationPropertyFromCloudFormation(properties.OneDriveConfiguration):void 0),ret.addPropertyResult("s3Configuration","S3Configuration",properties.S3Configuration!=null?CfnDataSourceS3DataSourceConfigurationPropertyFromCloudFormation(properties.S3Configuration):void 0),ret.addPropertyResult("salesforceConfiguration","SalesforceConfiguration",properties.SalesforceConfiguration!=null?CfnDataSourceSalesforceConfigurationPropertyFromCloudFormation(properties.SalesforceConfiguration):void 0),ret.addPropertyResult("serviceNowConfiguration","ServiceNowConfiguration",properties.ServiceNowConfiguration!=null?CfnDataSourceServiceNowConfigurationPropertyFromCloudFormation(properties.ServiceNowConfiguration):void 0),ret.addPropertyResult("sharePointConfiguration","SharePointConfiguration",properties.SharePointConfiguration!=null?CfnDataSourceSharePointConfigurationPropertyFromCloudFormation(properties.SharePointConfiguration):void 0),ret.addPropertyResult("templateConfiguration","TemplateConfiguration",properties.TemplateConfiguration!=null?CfnDataSourceTemplateConfigurationPropertyFromCloudFormation(properties.TemplateConfiguration):void 0),ret.addPropertyResult("webCrawlerConfiguration","WebCrawlerConfiguration",properties.WebCrawlerConfiguration!=null?CfnDataSourceWebCrawlerConfigurationPropertyFromCloudFormation(properties.WebCrawlerConfiguration):void 0),ret.addPropertyResult("workDocsConfiguration","WorkDocsConfiguration",properties.WorkDocsConfiguration!=null?CfnDataSourceWorkDocsConfigurationPropertyFromCloudFormation(properties.WorkDocsConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourcePropsValidator(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("customDocumentEnrichmentConfiguration",CfnDataSourceCustomDocumentEnrichmentConfigurationPropertyValidator)(properties.customDocumentEnrichmentConfiguration)),errors.collect(cdk().propertyValidator("dataSourceConfiguration",CfnDataSourceDataSourceConfigurationPropertyValidator)(properties.dataSourceConfiguration)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("indexId",cdk().requiredValidator)(properties.indexId)),errors.collect(cdk().propertyValidator("indexId",cdk().validateString)(properties.indexId)),errors.collect(cdk().propertyValidator("languageCode",cdk().validateString)(properties.languageCode)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("schedule",cdk().validateString)(properties.schedule)),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 "CfnDataSourceProps"')}function convertCfnDataSourcePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourcePropsValidator(properties).assertSuccess(),{CustomDocumentEnrichmentConfiguration:convertCfnDataSourceCustomDocumentEnrichmentConfigurationPropertyToCloudFormation(properties.customDocumentEnrichmentConfiguration),DataSourceConfiguration:convertCfnDataSourceDataSourceConfigurationPropertyToCloudFormation(properties.dataSourceConfiguration),Description:cdk().stringToCloudFormation(properties.description),IndexId:cdk().stringToCloudFormation(properties.indexId),LanguageCode:cdk().stringToCloudFormation(properties.languageCode),Name:cdk().stringToCloudFormation(properties.name),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Schedule:cdk().stringToCloudFormation(properties.schedule),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDataSourcePropsFromCloudFormation(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("customDocumentEnrichmentConfiguration","CustomDocumentEnrichmentConfiguration",properties.CustomDocumentEnrichmentConfiguration!=null?CfnDataSourceCustomDocumentEnrichmentConfigurationPropertyFromCloudFormation(properties.CustomDocumentEnrichmentConfiguration):void 0),ret.addPropertyResult("dataSourceConfiguration","DataSourceConfiguration",properties.DataSourceConfiguration!=null?CfnDataSourceDataSourceConfigurationPropertyFromCloudFormation(properties.DataSourceConfiguration):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("indexId","IndexId",properties.IndexId!=null?cfn_parse().FromCloudFormation.getString(properties.IndexId):void 0),ret.addPropertyResult("languageCode","LanguageCode",properties.LanguageCode!=null?cfn_parse().FromCloudFormation.getString(properties.LanguageCode):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("schedule","Schedule",properties.Schedule!=null?cfn_parse().FromCloudFormation.getString(properties.Schedule):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 CfnFaq extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_kendra.CfnFaq",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Kendra::Faq";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFaqPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFaq(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 isCfnFaq(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFaq.CFN_RESOURCE_TYPE_NAME}static arnForFaq(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_kendra_IFaqRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFaq),error}return resource.faqRef.faqArn}_description;_fileFormat;_indexId;_languageCode;_name;_roleArn;_s3Path;tags;_tagsRaw;cfnPropertyNames={description:"Description",fileFormat:"FileFormat",indexId:"IndexId",languageCode:"LanguageCode",name:"Name",roleArn:"RoleArn",s3Path:"S3Path",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnFaq.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_kendra_CfnFaqProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFaq),error}cdk().requireProperty(props,"indexId",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"roleArn",this),cdk().requireProperty(props,"s3Path",this),this._description=props.description,this._fileFormat=props.fileFormat,this._indexId=props.indexId,this._languageCode=props.languageCode,this._name=props.name,this._roleArn=props.roleArn,this._s3Path=props.s3Path,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Kendra::Faq",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get faqRef(){return{faqId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),indexId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),faqArn:this.attrArn}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get fileFormat(){return this._fileFormat}set fileFormat(value){cdk().traceProperty(this.node,"FileFormat"),this._fileFormat=value}get indexId(){return this._indexId}set indexId(value){cdk().traceProperty(this.node,"IndexId"),this._indexId=value}get languageCode(){return this._languageCode}set languageCode(value){cdk().traceProperty(this.node,"LanguageCode"),this._languageCode=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get s3Path(){return this._s3Path}set s3Path(value){cdk().traceProperty(this.node,"S3Path"),this._s3Path=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,fileFormat:this._fileFormat,indexId:this._indexId,languageCode:this._languageCode,name:this._name,roleArn:this._roleArn,s3Path:this._s3Path,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnFaq.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFaqPropsToCloudFormation(props)}}exports.CfnFaq=CfnFaq;function CfnFaqS3PathPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucket",cdk().requiredValidator)(properties.bucket)),errors.collect(cdk().propertyValidator("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.wrap('supplied properties not correct for "S3PathProperty"')}function convertCfnFaqS3PathPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFaqS3PathPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key)}):properties}function CfnFaqS3PathPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFaqPropsValidator(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("fileFormat",cdk().validateString)(properties.fileFormat)),errors.collect(cdk().propertyValidator("indexId",cdk().requiredValidator)(properties.indexId)),errors.collect(cdk().propertyValidator("indexId",cdk().validateString)(properties.indexId)),errors.collect(cdk().propertyValidator("languageCode",cdk().validateString)(properties.languageCode)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("s3Path",cdk().requiredValidator)(properties.s3Path)),errors.collect(cdk().propertyValidator("s3Path",CfnFaqS3PathPropertyValidator)(properties.s3Path)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnFaqProps"')}function convertCfnFaqPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFaqPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),FileFormat:cdk().stringToCloudFormation(properties.fileFormat),IndexId:cdk().stringToCloudFormation(properties.indexId),LanguageCode:cdk().stringToCloudFormation(properties.languageCode),Name:cdk().stringToCloudFormation(properties.name),RoleArn:cdk().stringToCloudFormation(properties.roleArn),S3Path:convertCfnFaqS3PathPropertyToCloudFormation(properties.s3Path),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnFaqPropsFromCloudFormation(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("fileFormat","FileFormat",properties.FileFormat!=null?cfn_parse().FromCloudFormation.getString(properties.FileFormat):void 0),ret.addPropertyResult("indexId","IndexId",properties.IndexId!=null?cfn_parse().FromCloudFormation.getString(properties.IndexId):void 0),ret.addPropertyResult("languageCode","LanguageCode",properties.LanguageCode!=null?cfn_parse().FromCloudFormation.getString(properties.LanguageCode):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("s3Path","S3Path",properties.S3Path!=null?CfnFaqS3PathPropertyFromCloudFormation(properties.S3Path):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 CfnIndex extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_kendra.CfnIndex",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Kendra::Index";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIndexPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnIndex(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 isCfnIndex(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIndex.CFN_RESOURCE_TYPE_NAME}static fromIndexArn(scope,id,arn){class Import extends cdk().Resource{indexRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:kendra:${Region}:${Account}:index/${IndexId}").parse(arn2);this.indexRef={indexId:variables.IndexId,indexArn:arn2}}}return new Import(scope,id,arn)}static fromIndexId(scope,id,indexId){class Import extends cdk().Resource{indexRef;constructor(scope2,id2,indexId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:kendra:${Region}:${Account}:index/${IndexId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,IndexId:indexId2});super(scope2,id2,{environmentFromArn:arn}),this.indexRef={indexId:indexId2,indexArn:arn}}}return new Import(scope,id,indexId)}static arnForIndex(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_kendra_IIndexRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForIndex),error}return resource.indexRef.indexArn}_capacityUnits;_description;_documentMetadataConfigurations;_edition;_name;_roleArn;_serverSideEncryptionConfiguration;tags;_tagsRaw;_userContextPolicy;_userTokenConfigurations;cfnPropertyNames={capacityUnits:"CapacityUnits",description:"Description",documentMetadataConfigurations:"DocumentMetadataConfigurations",edition:"Edition",name:"Name",roleArn:"RoleArn",serverSideEncryptionConfiguration:"ServerSideEncryptionConfiguration",tags:"Tags",userContextPolicy:"UserContextPolicy",userTokenConfigurations:"UserTokenConfigurations"};constructor(scope,id,props){super(scope,id,{type:CfnIndex.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_kendra_CfnIndexProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIndex),error}cdk().requireProperty(props,"edition",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"roleArn",this),this._capacityUnits=props.capacityUnits,this._description=props.description,this._documentMetadataConfigurations=props.documentMetadataConfigurations,this._edition=props.edition,this._name=props.name,this._roleArn=cdk().getRefProperty(props.roleArn?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.roleArn,"roleArn","iam.IRoleRef | string"),this._serverSideEncryptionConfiguration=props.serverSideEncryptionConfiguration,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Kendra::Index",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._userContextPolicy=props.userContextPolicy,this._userTokenConfigurations=props.userTokenConfigurations}get indexRef(){return{indexId:this.ref,indexArn:this.attrArn}}get capacityUnits(){return this._capacityUnits}set capacityUnits(value){cdk().traceProperty(this.node,"CapacityUnits"),this._capacityUnits=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get documentMetadataConfigurations(){return this._documentMetadataConfigurations}set documentMetadataConfigurations(value){cdk().traceProperty(this.node,"DocumentMetadataConfigurations"),this._documentMetadataConfigurations=value}get edition(){return this._edition}set edition(value){cdk().traceProperty(this.node,"Edition"),this._edition=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get serverSideEncryptionConfiguration(){return this._serverSideEncryptionConfiguration}set serverSideEncryptionConfiguration(value){cdk().traceProperty(this.node,"ServerSideEncryptionConfiguration"),this._serverSideEncryptionConfiguration=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get userContextPolicy(){return this._userContextPolicy}set userContextPolicy(value){cdk().traceProperty(this.node,"UserContextPolicy"),this._userContextPolicy=value}get userTokenConfigurations(){return this._userTokenConfigurations}set userTokenConfigurations(value){cdk().traceProperty(this.node,"UserTokenConfigurations"),this._userTokenConfigurations=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{capacityUnits:this._capacityUnits,description:this._description,documentMetadataConfigurations:this._documentMetadataConfigurations,edition:this._edition,name:this._name,roleArn:this._roleArn,serverSideEncryptionConfiguration:this._serverSideEncryptionConfiguration,tags:this.tags.renderTags(),userContextPolicy:this._userContextPolicy,userTokenConfigurations:this._userTokenConfigurations}}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",CfnIndex.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIndexPropsToCloudFormation(props)}}exports.CfnIndex=CfnIndex;function CfnIndexCapacityUnitsConfigurationPropertyValidator(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("queryCapacityUnits",cdk().requiredValidator)(properties.queryCapacityUnits)),errors.collect(cdk().propertyValidator("queryCapacityUnits",cdk().validateNumber)(properties.queryCapacityUnits)),errors.collect(cdk().propertyValidator("storageCapacityUnits",cdk().requiredValidator)(properties.storageCapacityUnits)),errors.collect(cdk().propertyValidator("storageCapacityUnits",cdk().validateNumber)(properties.storageCapacityUnits)),errors.wrap('supplied properties not correct for "CapacityUnitsConfigurationProperty"')}function convertCfnIndexCapacityUnitsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIndexCapacityUnitsConfigurationPropertyValidator(properties).assertSuccess(),{QueryCapacityUnits:cdk().numberToCloudFormation(properties.queryCapacityUnits),StorageCapacityUnits:cdk().numberToCloudFormation(properties.storageCapacityUnits)}):properties}function CfnIndexCapacityUnitsConfigurationPropertyFromCloudFormation(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("queryCapacityUnits","QueryCapacityUnits",properties.QueryCapacityUnits!=null?cfn_parse().FromCloudFormation.getNumber(properties.QueryCapacityUnits):void 0),ret.addPropertyResult("storageCapacityUnits","StorageCapacityUnits",properties.StorageCapacityUnits!=null?cfn_parse().FromCloudFormation.getNumber(properties.StorageCapacityUnits):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIndexServerSideEncryptionConfigurationPropertyValidator(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("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.wrap('supplied properties not correct for "ServerSideEncryptionConfigurationProperty"')}function convertCfnIndexServerSideEncryptionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIndexServerSideEncryptionConfigurationPropertyValidator(properties).assertSuccess(),{KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId)}):properties}function CfnIndexServerSideEncryptionConfigurationPropertyFromCloudFormation(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("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIndexValueImportanceItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "ValueImportanceItemProperty"')}function convertCfnIndexValueImportanceItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIndexValueImportanceItemPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnIndexValueImportanceItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIndexRelevancePropertyValidator(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("duration",cdk().validateString)(properties.duration)),errors.collect(cdk().propertyValidator("freshness",cdk().validateBoolean)(properties.freshness)),errors.collect(cdk().propertyValidator("importance",cdk().validateNumber)(properties.importance)),errors.collect(cdk().propertyValidator("rankOrder",cdk().validateString)(properties.rankOrder)),errors.collect(cdk().propertyValidator("valueImportanceItems",cdk().listValidator(CfnIndexValueImportanceItemPropertyValidator))(properties.valueImportanceItems)),errors.wrap('supplied properties not correct for "RelevanceProperty"')}function convertCfnIndexRelevancePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIndexRelevancePropertyValidator(properties).assertSuccess(),{Duration:cdk().stringToCloudFormation(properties.duration),Freshness:cdk().booleanToCloudFormation(properties.freshness),Importance:cdk().numberToCloudFormation(properties.importance),RankOrder:cdk().stringToCloudFormation(properties.rankOrder),ValueImportanceItems:cdk().listMapper(convertCfnIndexValueImportanceItemPropertyToCloudFormation)(properties.valueImportanceItems)}):properties}function CfnIndexRelevancePropertyFromCloudFormation(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("duration","Duration",properties.Duration!=null?cfn_parse().FromCloudFormation.getString(properties.Duration):void 0),ret.addPropertyResult("freshness","Freshness",properties.Freshness!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Freshness):void 0),ret.addPropertyResult("importance","Importance",properties.Importance!=null?cfn_parse().FromCloudFormation.getNumber(properties.Importance):void 0),ret.addPropertyResult("rankOrder","RankOrder",properties.RankOrder!=null?cfn_parse().FromCloudFormation.getString(properties.RankOrder):void 0),ret.addPropertyResult("valueImportanceItems","ValueImportanceItems",properties.ValueImportanceItems!=null?cfn_parse().FromCloudFormation.getArray(CfnIndexValueImportanceItemPropertyFromCloudFormation)(properties.ValueImportanceItems):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIndexSearchPropertyValidator(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("displayable",cdk().validateBoolean)(properties.displayable)),errors.collect(cdk().propertyValidator("facetable",cdk().validateBoolean)(properties.facetable)),errors.collect(cdk().propertyValidator("searchable",cdk().validateBoolean)(properties.searchable)),errors.collect(cdk().propertyValidator("sortable",cdk().validateBoolean)(properties.sortable)),errors.wrap('supplied properties not correct for "SearchProperty"')}function convertCfnIndexSearchPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIndexSearchPropertyValidator(properties).assertSuccess(),{Displayable:cdk().booleanToCloudFormation(properties.displayable),Facetable:cdk().booleanToCloudFormation(properties.facetable),Searchable:cdk().booleanToCloudFormation(properties.searchable),Sortable:cdk().booleanToCloudFormation(properties.sortable)}):properties}function CfnIndexSearchPropertyFromCloudFormation(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("displayable","Displayable",properties.Displayable!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Displayable):void 0),ret.addPropertyResult("facetable","Facetable",properties.Facetable!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Facetable):void 0),ret.addPropertyResult("searchable","Searchable",properties.Searchable!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Searchable):void 0),ret.addPropertyResult("sortable","Sortable",properties.Sortable!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Sortable):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIndexDocumentMetadataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("relevance",CfnIndexRelevancePropertyValidator)(properties.relevance)),errors.collect(cdk().propertyValidator("search",CfnIndexSearchPropertyValidator)(properties.search)),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 "DocumentMetadataConfigurationProperty"')}function convertCfnIndexDocumentMetadataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIndexDocumentMetadataConfigurationPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Relevance:convertCfnIndexRelevancePropertyToCloudFormation(properties.relevance),Search:convertCfnIndexSearchPropertyToCloudFormation(properties.search),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnIndexDocumentMetadataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("relevance","Relevance",properties.Relevance!=null?CfnIndexRelevancePropertyFromCloudFormation(properties.Relevance):void 0),ret.addPropertyResult("search","Search",properties.Search!=null?CfnIndexSearchPropertyFromCloudFormation(properties.Search):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIndexJwtTokenTypeConfigurationPropertyValidator(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("claimRegex",cdk().validateString)(properties.claimRegex)),errors.collect(cdk().propertyValidator("groupAttributeField",cdk().validateString)(properties.groupAttributeField)),errors.collect(cdk().propertyValidator("issuer",cdk().validateString)(properties.issuer)),errors.collect(cdk().propertyValidator("keyLocation",cdk().requiredValidator)(properties.keyLocation)),errors.collect(cdk().propertyValidator("keyLocation",cdk().validateString)(properties.keyLocation)),errors.collect(cdk().propertyValidator("secretManagerArn",cdk().validateString)(properties.secretManagerArn)),errors.collect(cdk().propertyValidator("url",cdk().validateString)(properties.url)),errors.collect(cdk().propertyValidator("userNameAttributeField",cdk().validateString)(properties.userNameAttributeField)),errors.wrap('supplied properties not correct for "JwtTokenTypeConfigurationProperty"')}function convertCfnIndexJwtTokenTypeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIndexJwtTokenTypeConfigurationPropertyValidator(properties).assertSuccess(),{ClaimRegex:cdk().stringToCloudFormation(properties.claimRegex),GroupAttributeField:cdk().stringToCloudFormation(properties.groupAttributeField),Issuer:cdk().stringToCloudFormation(properties.issuer),KeyLocation:cdk().stringToCloudFormation(properties.keyLocation),SecretManagerArn:cdk().stringToCloudFormation(properties.secretManagerArn),URL:cdk().stringToCloudFormation(properties.url),UserNameAttributeField:cdk().stringToCloudFormation(properties.userNameAttributeField)}):properties}function CfnIndexJwtTokenTypeConfigurationPropertyFromCloudFormation(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("claimRegex","ClaimRegex",properties.ClaimRegex!=null?cfn_parse().FromCloudFormation.getString(properties.ClaimRegex):void 0),ret.addPropertyResult("groupAttributeField","GroupAttributeField",properties.GroupAttributeField!=null?cfn_parse().FromCloudFormation.getString(properties.GroupAttributeField):void 0),ret.addPropertyResult("issuer","Issuer",properties.Issuer!=null?cfn_parse().FromCloudFormation.getString(properties.Issuer):void 0),ret.addPropertyResult("keyLocation","KeyLocation",properties.KeyLocation!=null?cfn_parse().FromCloudFormation.getString(properties.KeyLocation):void 0),ret.addPropertyResult("secretManagerArn","SecretManagerArn",properties.SecretManagerArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretManagerArn):void 0),ret.addPropertyResult("url","URL",properties.URL!=null?cfn_parse().FromCloudFormation.getString(properties.URL):void 0),ret.addPropertyResult("userNameAttributeField","UserNameAttributeField",properties.UserNameAttributeField!=null?cfn_parse().FromCloudFormation.getString(properties.UserNameAttributeField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIndexJsonTokenTypeConfigurationPropertyValidator(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("groupAttributeField",cdk().requiredValidator)(properties.groupAttributeField)),errors.collect(cdk().propertyValidator("groupAttributeField",cdk().validateString)(properties.groupAttributeField)),errors.collect(cdk().propertyValidator("userNameAttributeField",cdk().requiredValidator)(properties.userNameAttributeField)),errors.collect(cdk().propertyValidator("userNameAttributeField",cdk().validateString)(properties.userNameAttributeField)),errors.wrap('supplied properties not correct for "JsonTokenTypeConfigurationProperty"')}function convertCfnIndexJsonTokenTypeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIndexJsonTokenTypeConfigurationPropertyValidator(properties).assertSuccess(),{GroupAttributeField:cdk().stringToCloudFormation(properties.groupAttributeField),UserNameAttributeField:cdk().stringToCloudFormation(properties.userNameAttributeField)}):properties}function CfnIndexJsonTokenTypeConfigurationPropertyFromCloudFormation(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("groupAttributeField","GroupAttributeField",properties.GroupAttributeField!=null?cfn_parse().FromCloudFormation.getString(properties.GroupAttributeField):void 0),ret.addPropertyResult("userNameAttributeField","UserNameAttributeField",properties.UserNameAttributeField!=null?cfn_parse().FromCloudFormation.getString(properties.UserNameAttributeField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIndexUserTokenConfigurationPropertyValidator(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("jsonTokenTypeConfiguration",CfnIndexJsonTokenTypeConfigurationPropertyValidator)(properties.jsonTokenTypeConfiguration)),errors.collect(cdk().propertyValidator("jwtTokenTypeConfiguration",CfnIndexJwtTokenTypeConfigurationPropertyValidator)(properties.jwtTokenTypeConfiguration)),errors.wrap('supplied properties not correct for "UserTokenConfigurationProperty"')}function convertCfnIndexUserTokenConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIndexUserTokenConfigurationPropertyValidator(properties).assertSuccess(),{JsonTokenTypeConfiguration:convertCfnIndexJsonTokenTypeConfigurationPropertyToCloudFormation(properties.jsonTokenTypeConfiguration),JwtTokenTypeConfiguration:convertCfnIndexJwtTokenTypeConfigurationPropertyToCloudFormation(properties.jwtTokenTypeConfiguration)}):properties}function CfnIndexUserTokenConfigurationPropertyFromCloudFormation(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("jsonTokenTypeConfiguration","JsonTokenTypeConfiguration",properties.JsonTokenTypeConfiguration!=null?CfnIndexJsonTokenTypeConfigurationPropertyFromCloudFormation(properties.JsonTokenTypeConfiguration):void 0),ret.addPropertyResult("jwtTokenTypeConfiguration","JwtTokenTypeConfiguration",properties.JwtTokenTypeConfiguration!=null?CfnIndexJwtTokenTypeConfigurationPropertyFromCloudFormation(properties.JwtTokenTypeConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIndexPropsValidator(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("capacityUnits",CfnIndexCapacityUnitsConfigurationPropertyValidator)(properties.capacityUnits)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("documentMetadataConfigurations",cdk().listValidator(CfnIndexDocumentMetadataConfigurationPropertyValidator))(properties.documentMetadataConfigurations)),errors.collect(cdk().propertyValidator("edition",cdk().requiredValidator)(properties.edition)),errors.collect(cdk().propertyValidator("edition",cdk().validateString)(properties.edition)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("serverSideEncryptionConfiguration",CfnIndexServerSideEncryptionConfigurationPropertyValidator)(properties.serverSideEncryptionConfiguration)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("userContextPolicy",cdk().validateString)(properties.userContextPolicy)),errors.collect(cdk().propertyValidator("userTokenConfigurations",cdk().listValidator(CfnIndexUserTokenConfigurationPropertyValidator))(properties.userTokenConfigurations)),errors.wrap('supplied properties not correct for "CfnIndexProps"')}function convertCfnIndexPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIndexPropsValidator(properties).assertSuccess(),{CapacityUnits:convertCfnIndexCapacityUnitsConfigurationPropertyToCloudFormation(properties.capacityUnits),Description:cdk().stringToCloudFormation(properties.description),DocumentMetadataConfigurations:cdk().listMapper(convertCfnIndexDocumentMetadataConfigurationPropertyToCloudFormation)(properties.documentMetadataConfigurations),Edition:cdk().stringToCloudFormation(properties.edition),Name:cdk().stringToCloudFormation(properties.name),RoleArn:cdk().stringToCloudFormation(properties.roleArn),ServerSideEncryptionConfiguration:convertCfnIndexServerSideEncryptionConfigurationPropertyToCloudFormation(properties.serverSideEncryptionConfiguration),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UserContextPolicy:cdk().stringToCloudFormation(properties.userContextPolicy),UserTokenConfigurations:cdk().listMapper(convertCfnIndexUserTokenConfigurationPropertyToCloudFormation)(properties.userTokenConfigurations)}):properties}function CfnIndexPropsFromCloudFormation(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("capacityUnits","CapacityUnits",properties.CapacityUnits!=null?CfnIndexCapacityUnitsConfigurationPropertyFromCloudFormation(properties.CapacityUnits):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("documentMetadataConfigurations","DocumentMetadataConfigurations",properties.DocumentMetadataConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnIndexDocumentMetadataConfigurationPropertyFromCloudFormation)(properties.DocumentMetadataConfigurations):void 0),ret.addPropertyResult("edition","Edition",properties.Edition!=null?cfn_parse().FromCloudFormation.getString(properties.Edition):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("serverSideEncryptionConfiguration","ServerSideEncryptionConfiguration",properties.ServerSideEncryptionConfiguration!=null?CfnIndexServerSideEncryptionConfigurationPropertyFromCloudFormation(properties.ServerSideEncryptionConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("userContextPolicy","UserContextPolicy",properties.UserContextPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.UserContextPolicy):void 0),ret.addPropertyResult("userTokenConfigurations","UserTokenConfigurations",properties.UserTokenConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnIndexUserTokenConfigurationPropertyFromCloudFormation)(properties.UserTokenConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}