UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 195 kB
"use strict";var _a,_b,_c;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");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 _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("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}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.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.customDocumentEnrichmentConfiguration=props.customDocumentEnrichmentConfiguration,this.dataSourceConfiguration=props.dataSourceConfiguration,this.description=props.description,this.indexId=props.indexId,this.languageCode=props.languageCode,this.name=props.name,this.roleArn=props.roleArn,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 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:props",this.cfnProperties)}renderProperties(props){return convertCfnDataSourcePropsToCloudFormation(props)}}exports.CfnDataSource=CfnDataSource,_a=JSII_RTTI_SYMBOL_1,CfnDataSource[_a]={fqn:"aws-cdk-lib.aws_kendra.CfnDataSource",version:"2.185.0"},CfnDataSource.CFN_RESOURCE_TYPE_NAME="AWS::Kendra::DataSource";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.a