"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnResourcePolicy=exports.CfnPromptVersion=exports.CfnPrompt=exports.CfnKnowledgeBase=exports.CfnIntelligentPromptRouter=exports.CfnGuardrailVersion=exports.CfnGuardrail=exports.CfnFlowVersion=exports.CfnFlowAlias=exports.CfnFlow=exports.CfnEnforcedGuardrailConfiguration=exports.CfnDataSource=exports.CfnDataAutomationProject=exports.CfnDataAutomationLibrary=exports.CfnBlueprint=exports.CfnAutomatedReasoningPolicyVersion=exports.CfnAutomatedReasoningPolicy=exports.CfnApplicationInferenceProfile=exports.CfnAgentAlias=exports.CfnAgent=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 CfnAgent extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnAgent",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::Agent";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAgentPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAgent(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 isCfnAgent(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAgent.CFN_RESOURCE_TYPE_NAME}static fromAgentArn(scope,id,arn){class Import extends cdk().Resource{agentRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:bedrock:${Region}:${Account}:agent/${AgentId}").parse(arn2);this.agentRef={agentId:variables.AgentId,agentArn:arn2}}}return new Import(scope,id,arn)}static fromAgentId(scope,id,agentId){class Import extends cdk().Resource{agentRef;constructor(scope2,id2,agentId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:bedrock:${Region}:${Account}:agent/${AgentId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,AgentId:agentId2});super(scope2,id2,{environmentFromArn:arn}),this.agentRef={agentId:agentId2,agentArn:arn}}}return new Import(scope,id,agentId)}static arnForAgent(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_bedrock_IAgentRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAgent),error}return resource.agentRef.agentArn}_actionGroups;_agentCollaboration;_agentCollaborators;_agentName;_agentResourceRoleArn;_autoPrepare;cdkTagManager;_customerEncryptionKeyArn;_customOrchestration;_description;_foundationModel;_guardrailConfiguration;_idleSessionTtlInSeconds;_instruction;_knowledgeBases;_memoryConfiguration;_orchestrationType;_promptOverrideConfiguration;_skipResourceInUseCheckOnDelete;_tags;_testAliasTags;cfnPropertyNames={actionGroups:"ActionGroups",agentCollaboration:"AgentCollaboration",agentCollaborators:"AgentCollaborators",agentName:"AgentName",agentResourceRoleArn:"AgentResourceRoleArn",autoPrepare:"AutoPrepare",tags:"Tags",customerEncryptionKeyArn:"CustomerEncryptionKeyArn",customOrchestration:"CustomOrchestration",description:"Description",foundationModel:"FoundationModel",guardrailConfiguration:"GuardrailConfiguration",idleSessionTtlInSeconds:"IdleSessionTTLInSeconds",instruction:"Instruction",knowledgeBases:"KnowledgeBases",memoryConfiguration:"MemoryConfiguration",orchestrationType:"OrchestrationType",promptOverrideConfiguration:"PromptOverrideConfiguration",skipResourceInUseCheckOnDelete:"SkipResourceInUseCheckOnDelete",testAliasTags:"TestAliasTags"};constructor(scope,id,props){super(scope,id,{type:CfnAgent.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnAgentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAgent),error}cdk().requireProperty(props,"agentName",this),this._actionGroups=props.actionGroups,this._agentCollaboration=props.agentCollaboration,this._agentCollaborators=props.agentCollaborators,this._agentName=props.agentName,this._agentResourceRoleArn=props.agentResourceRoleArn,this._autoPrepare=props.autoPrepare,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Bedrock::Agent",void 0,{tagPropertyName:"tags"}),this._customerEncryptionKeyArn=props.customerEncryptionKeyArn,this._customOrchestration=props.customOrchestration,this._description=props.description,this._foundationModel=props.foundationModel,this._guardrailConfiguration=props.guardrailConfiguration,this._idleSessionTtlInSeconds=props.idleSessionTtlInSeconds,this._instruction=props.instruction,this._knowledgeBases=props.knowledgeBases,this._memoryConfiguration=props.memoryConfiguration,this._orchestrationType=props.orchestrationType,this._promptOverrideConfiguration=props.promptOverrideConfiguration,this._skipResourceInUseCheckOnDelete=props.skipResourceInUseCheckOnDelete,this._tags=props.tags,this._testAliasTags=props.testAliasTags}get agentRef(){return{agentId:this.ref,agentArn:this.attrAgentArn}}get actionGroups(){return this._actionGroups}set actionGroups(value){cdk().traceProperty(this.node,"ActionGroups"),this._actionGroups=value}get agentCollaboration(){return this._agentCollaboration}set agentCollaboration(value){cdk().traceProperty(this.node,"AgentCollaboration"),this._agentCollaboration=value}get agentCollaborators(){return this._agentCollaborators}set agentCollaborators(value){cdk().traceProperty(this.node,"AgentCollaborators"),this._agentCollaborators=value}get agentName(){return this._agentName}set agentName(value){cdk().traceProperty(this.node,"AgentName"),this._agentName=value}get agentResourceRoleArn(){return this._agentResourceRoleArn}set agentResourceRoleArn(value){cdk().traceProperty(this.node,"AgentResourceRoleArn"),this._agentResourceRoleArn=value}get autoPrepare(){return this._autoPrepare}set autoPrepare(value){cdk().traceProperty(this.node,"AutoPrepare"),this._autoPrepare=value}get customerEncryptionKeyArn(){return this._customerEncryptionKeyArn}set customerEncryptionKeyArn(value){cdk().traceProperty(this.node,"CustomerEncryptionKeyArn"),this._customerEncryptionKeyArn=value}get customOrchestration(){return this._customOrchestration}set customOrchestration(value){cdk().traceProperty(this.node,"CustomOrchestration"),this._customOrchestration=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get foundationModel(){return this._foundationModel}set foundationModel(value){cdk().traceProperty(this.node,"FoundationModel"),this._foundationModel=value}get guardrailConfiguration(){return this._guardrailConfiguration}set guardrailConfiguration(value){cdk().traceProperty(this.node,"GuardrailConfiguration"),this._guardrailConfiguration=value}get idleSessionTtlInSeconds(){return this._idleSessionTtlInSeconds}set idleSessionTtlInSeconds(value){cdk().traceProperty(this.node,"IdleSessionTTLInSeconds"),this._idleSessionTtlInSeconds=value}get instruction(){return this._instruction}set instruction(value){cdk().traceProperty(this.node,"Instruction"),this._instruction=value}get knowledgeBases(){return this._knowledgeBases}set knowledgeBases(value){cdk().traceProperty(this.node,"KnowledgeBases"),this._knowledgeBases=value}get memoryConfiguration(){return this._memoryConfiguration}set memoryConfiguration(value){cdk().traceProperty(this.node,"MemoryConfiguration"),this._memoryConfiguration=value}get orchestrationType(){return this._orchestrationType}set orchestrationType(value){cdk().traceProperty(this.node,"OrchestrationType"),this._orchestrationType=value}get promptOverrideConfiguration(){return this._promptOverrideConfiguration}set promptOverrideConfiguration(value){cdk().traceProperty(this.node,"PromptOverrideConfiguration"),this._promptOverrideConfiguration=value}get skipResourceInUseCheckOnDelete(){return this._skipResourceInUseCheckOnDelete}set skipResourceInUseCheckOnDelete(value){cdk().traceProperty(this.node,"SkipResourceInUseCheckOnDelete"),this._skipResourceInUseCheckOnDelete=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get testAliasTags(){return this._testAliasTags}set testAliasTags(value){cdk().traceProperty(this.node,"TestAliasTags"),this._testAliasTags=value}get attrAgentArn(){return cdk().Token.asString(this.getAtt("AgentArn",cdk().ResolutionTypeHint.STRING))}get attrAgentId(){return cdk().Token.asString(this.getAtt("AgentId",cdk().ResolutionTypeHint.STRING))}get attrAgentStatus(){return cdk().Token.asString(this.getAtt("AgentStatus",cdk().ResolutionTypeHint.STRING))}get attrAgentVersion(){return cdk().Token.asString(this.getAtt("AgentVersion",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrFailureReasons(){return cdk().Token.asList(this.getAtt("FailureReasons",cdk().ResolutionTypeHint.STRING_LIST))}get attrPreparedAt(){return cdk().Token.asString(this.getAtt("PreparedAt",cdk().ResolutionTypeHint.STRING))}get attrRecommendedActions(){return cdk().Token.asList(this.getAtt("RecommendedActions",cdk().ResolutionTypeHint.STRING_LIST))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{actionGroups:this._actionGroups,agentCollaboration:this._agentCollaboration,agentCollaborators:this._agentCollaborators,agentName:this._agentName,agentResourceRoleArn:this._agentResourceRoleArn,autoPrepare:this._autoPrepare,tags:this.cdkTagManager.renderTags(this._tags),customerEncryptionKeyArn:this._customerEncryptionKeyArn,customOrchestration:this._customOrchestration,description:this._description,foundationModel:this._foundationModel,guardrailConfiguration:this._guardrailConfiguration,idleSessionTtlInSeconds:this._idleSessionTtlInSeconds,instruction:this._instruction,knowledgeBases:this._knowledgeBases,memoryConfiguration:this._memoryConfiguration,orchestrationType:this._orchestrationType,promptOverrideConfiguration:this._promptOverrideConfiguration,skipResourceInUseCheckOnDelete:this._skipResourceInUseCheckOnDelete,testAliasTags:this._testAliasTags}}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",CfnAgent.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAgentPropsToCloudFormation(props)}}exports.CfnAgent=CfnAgent;function CfnAgentActionGroupExecutorPropertyValidator(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("customControl",cdk().validateString)(properties.customControl)),errors.collect(cdk().propertyValidator("lambda",cdk().validateString)(properties.lambda)),errors.wrap('supplied properties not correct for "ActionGroupExecutorProperty"')}function convertCfnAgentActionGroupExecutorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentActionGroupExecutorPropertyValidator(properties).assertSuccess(),{CustomControl:cdk().stringToCloudFormation(properties.customControl),Lambda:cdk().stringToCloudFormation(properties.lambda)}):properties}function CfnAgentActionGroupExecutorPropertyFromCloudFormation(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("customControl","CustomControl",properties.CustomControl!=null?cfn_parse().FromCloudFormation.getString(properties.CustomControl):void 0),ret.addPropertyResult("lambda","Lambda",properties.Lambda!=null?cfn_parse().FromCloudFormation.getString(properties.Lambda):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentS3IdentifierPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("s3BucketName",cdk().validateString)(properties.s3BucketName)),errors.collect(cdk().propertyValidator("s3ObjectKey",cdk().validateString)(properties.s3ObjectKey)),errors.wrap('supplied properties not correct for "S3IdentifierProperty"')}function convertCfnAgentS3IdentifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentS3IdentifierPropertyValidator(properties).assertSuccess(),{S3BucketName:cdk().stringToCloudFormation(properties.s3BucketName),S3ObjectKey:cdk().stringToCloudFormation(properties.s3ObjectKey)}):properties}function CfnAgentS3IdentifierPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("s3BucketName","S3BucketName",properties.S3BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.S3BucketName):void 0),ret.addPropertyResult("s3ObjectKey","S3ObjectKey",properties.S3ObjectKey!=null?cfn_parse().FromCloudFormation.getString(properties.S3ObjectKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentAPISchemaPropertyValidator(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("payload",cdk().validateString)(properties.payload)),errors.collect(cdk().propertyValidator("s3",CfnAgentS3IdentifierPropertyValidator)(properties.s3)),errors.wrap('supplied properties not correct for "APISchemaProperty"')}function convertCfnAgentAPISchemaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentAPISchemaPropertyValidator(properties).assertSuccess(),{Payload:cdk().stringToCloudFormation(properties.payload),S3:convertCfnAgentS3IdentifierPropertyToCloudFormation(properties.s3)}):properties}function CfnAgentAPISchemaPropertyFromCloudFormation(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("payload","Payload",properties.Payload!=null?cfn_parse().FromCloudFormation.getString(properties.Payload):void 0),ret.addPropertyResult("s3","S3",properties.S3!=null?CfnAgentS3IdentifierPropertyFromCloudFormation(properties.S3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentParameterDetailPropertyValidator(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("required",cdk().validateBoolean)(properties.required)),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 "ParameterDetailProperty"')}function convertCfnAgentParameterDetailPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentParameterDetailPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Required:cdk().booleanToCloudFormation(properties.required),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAgentParameterDetailPropertyFromCloudFormation(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("required","Required",properties.Required!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Required):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentFunctionPropertyValidator(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("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameters",cdk().hashValidator(CfnAgentParameterDetailPropertyValidator))(properties.parameters)),errors.collect(cdk().propertyValidator("requireConfirmation",cdk().validateString)(properties.requireConfirmation)),errors.wrap('supplied properties not correct for "FunctionProperty"')}function convertCfnAgentFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentFunctionPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Parameters:cdk().hashMapper(convertCfnAgentParameterDetailPropertyToCloudFormation)(properties.parameters),RequireConfirmation:cdk().stringToCloudFormation(properties.requireConfirmation)}):properties}function CfnAgentFunctionPropertyFromCloudFormation(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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getMap(CfnAgentParameterDetailPropertyFromCloudFormation)(properties.Parameters):void 0),ret.addPropertyResult("requireConfirmation","RequireConfirmation",properties.RequireConfirmation!=null?cfn_parse().FromCloudFormation.getString(properties.RequireConfirmation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentFunctionSchemaPropertyValidator(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("functions",cdk().requiredValidator)(properties.functions)),errors.collect(cdk().propertyValidator("functions",cdk().listValidator(CfnAgentFunctionPropertyValidator))(properties.functions)),errors.wrap('supplied properties not correct for "FunctionSchemaProperty"')}function convertCfnAgentFunctionSchemaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentFunctionSchemaPropertyValidator(properties).assertSuccess(),{Functions:cdk().listMapper(convertCfnAgentFunctionPropertyToCloudFormation)(properties.functions)}):properties}function CfnAgentFunctionSchemaPropertyFromCloudFormation(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("functions","Functions",properties.Functions!=null?cfn_parse().FromCloudFormation.getArray(CfnAgentFunctionPropertyFromCloudFormation)(properties.Functions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentAgentActionGroupPropertyValidator(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("actionGroupExecutor",CfnAgentActionGroupExecutorPropertyValidator)(properties.actionGroupExecutor)),errors.collect(cdk().propertyValidator("actionGroupName",cdk().requiredValidator)(properties.actionGroupName)),errors.collect(cdk().propertyValidator("actionGroupName",cdk().validateString)(properties.actionGroupName)),errors.collect(cdk().propertyValidator("actionGroupState",cdk().validateString)(properties.actionGroupState)),errors.collect(cdk().propertyValidator("apiSchema",CfnAgentAPISchemaPropertyValidator)(properties.apiSchema)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("functionSchema",CfnAgentFunctionSchemaPropertyValidator)(properties.functionSchema)),errors.collect(cdk().propertyValidator("parentActionGroupSignature",cdk().validateString)(properties.parentActionGroupSignature)),errors.collect(cdk().propertyValidator("skipResourceInUseCheckOnDelete",cdk().validateBoolean)(properties.skipResourceInUseCheckOnDelete)),errors.wrap('supplied properties not correct for "AgentActionGroupProperty"')}function convertCfnAgentAgentActionGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentAgentActionGroupPropertyValidator(properties).assertSuccess(),{ActionGroupExecutor:convertCfnAgentActionGroupExecutorPropertyToCloudFormation(properties.actionGroupExecutor),ActionGroupName:cdk().stringToCloudFormation(properties.actionGroupName),ActionGroupState:cdk().stringToCloudFormation(properties.actionGroupState),ApiSchema:convertCfnAgentAPISchemaPropertyToCloudFormation(properties.apiSchema),Description:cdk().stringToCloudFormation(properties.description),FunctionSchema:convertCfnAgentFunctionSchemaPropertyToCloudFormation(properties.functionSchema),ParentActionGroupSignature:cdk().stringToCloudFormation(properties.parentActionGroupSignature),SkipResourceInUseCheckOnDelete:cdk().booleanToCloudFormation(properties.skipResourceInUseCheckOnDelete)}):properties}function CfnAgentAgentActionGroupPropertyFromCloudFormation(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("actionGroupExecutor","ActionGroupExecutor",properties.ActionGroupExecutor!=null?CfnAgentActionGroupExecutorPropertyFromCloudFormation(properties.ActionGroupExecutor):void 0),ret.addPropertyResult("actionGroupName","ActionGroupName",properties.ActionGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.ActionGroupName):void 0),ret.addPropertyResult("actionGroupState","ActionGroupState",properties.ActionGroupState!=null?cfn_parse().FromCloudFormation.getString(properties.ActionGroupState):void 0),ret.addPropertyResult("apiSchema","ApiSchema",properties.ApiSchema!=null?CfnAgentAPISchemaPropertyFromCloudFormation(properties.ApiSchema):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("functionSchema","FunctionSchema",properties.FunctionSchema!=null?CfnAgentFunctionSchemaPropertyFromCloudFormation(properties.FunctionSchema):void 0),ret.addPropertyResult("parentActionGroupSignature","ParentActionGroupSignature",properties.ParentActionGroupSignature!=null?cfn_parse().FromCloudFormation.getString(properties.ParentActionGroupSignature):void 0),ret.addPropertyResult("skipResourceInUseCheckOnDelete","SkipResourceInUseCheckOnDelete",properties.SkipResourceInUseCheckOnDelete!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SkipResourceInUseCheckOnDelete):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentOrchestrationExecutorPropertyValidator(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("lambda",cdk().requiredValidator)(properties.lambda)),errors.collect(cdk().propertyValidator("lambda",cdk().validateString)(properties.lambda)),errors.wrap('supplied properties not correct for "OrchestrationExecutorProperty"')}function convertCfnAgentOrchestrationExecutorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentOrchestrationExecutorPropertyValidator(properties).assertSuccess(),{Lambda:cdk().stringToCloudFormation(properties.lambda)}):properties}function CfnAgentOrchestrationExecutorPropertyFromCloudFormation(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("lambda","Lambda",properties.Lambda!=null?cfn_parse().FromCloudFormation.getString(properties.Lambda):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentCustomOrchestrationPropertyValidator(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("executor",CfnAgentOrchestrationExecutorPropertyValidator)(properties.executor)),errors.wrap('supplied properties not correct for "CustomOrchestrationProperty"')}function convertCfnAgentCustomOrchestrationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentCustomOrchestrationPropertyValidator(properties).assertSuccess(),{Executor:convertCfnAgentOrchestrationExecutorPropertyToCloudFormation(properties.executor)}):properties}function CfnAgentCustomOrchestrationPropertyFromCloudFormation(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("executor","Executor",properties.Executor!=null?CfnAgentOrchestrationExecutorPropertyFromCloudFormation(properties.Executor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentGuardrailConfigurationPropertyValidator(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("guardrailIdentifier",cdk().validateString)(properties.guardrailIdentifier)),errors.collect(cdk().propertyValidator("guardrailVersion",cdk().validateString)(properties.guardrailVersion)),errors.wrap('supplied properties not correct for "GuardrailConfigurationProperty"')}function convertCfnAgentGuardrailConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentGuardrailConfigurationPropertyValidator(properties).assertSuccess(),{GuardrailIdentifier:cdk().stringToCloudFormation(properties.guardrailIdentifier),GuardrailVersion:cdk().stringToCloudFormation(properties.guardrailVersion)}):properties}function CfnAgentGuardrailConfigurationPropertyFromCloudFormation(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("guardrailIdentifier","GuardrailIdentifier",properties.GuardrailIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.GuardrailIdentifier):void 0),ret.addPropertyResult("guardrailVersion","GuardrailVersion",properties.GuardrailVersion!=null?cfn_parse().FromCloudFormation.getString(properties.GuardrailVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentSessionSummaryConfigurationPropertyValidator(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("maxRecentSessions",cdk().validateNumber)(properties.maxRecentSessions)),errors.wrap('supplied properties not correct for "SessionSummaryConfigurationProperty"')}function convertCfnAgentSessionSummaryConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentSessionSummaryConfigurationPropertyValidator(properties).assertSuccess(),{MaxRecentSessions:cdk().numberToCloudFormation(properties.maxRecentSessions)}):properties}function CfnAgentSessionSummaryConfigurationPropertyFromCloudFormation(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("maxRecentSessions","MaxRecentSessions",properties.MaxRecentSessions!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxRecentSessions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentMemoryConfigurationPropertyValidator(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("enabledMemoryTypes",cdk().listValidator(cdk().validateString))(properties.enabledMemoryTypes)),errors.collect(cdk().propertyValidator("sessionSummaryConfiguration",CfnAgentSessionSummaryConfigurationPropertyValidator)(properties.sessionSummaryConfiguration)),errors.collect(cdk().propertyValidator("storageDays",cdk().validateNumber)(properties.storageDays)),errors.wrap('supplied properties not correct for "MemoryConfigurationProperty"')}function convertCfnAgentMemoryConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentMemoryConfigurationPropertyValidator(properties).assertSuccess(),{EnabledMemoryTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.enabledMemoryTypes),SessionSummaryConfiguration:convertCfnAgentSessionSummaryConfigurationPropertyToCloudFormation(properties.sessionSummaryConfiguration),StorageDays:cdk().numberToCloudFormation(properties.storageDays)}):properties}function CfnAgentMemoryConfigurationPropertyFromCloudFormation(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("enabledMemoryTypes","EnabledMemoryTypes",properties.EnabledMemoryTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EnabledMemoryTypes):void 0),ret.addPropertyResult("sessionSummaryConfiguration","SessionSummaryConfiguration",properties.SessionSummaryConfiguration!=null?CfnAgentSessionSummaryConfigurationPropertyFromCloudFormation(properties.SessionSummaryConfiguration):void 0),ret.addPropertyResult("storageDays","StorageDays",properties.StorageDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.StorageDays):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentAgentKnowledgeBasePropertyValidator(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().requiredValidator)(properties.description)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("knowledgeBaseId",cdk().requiredValidator)(properties.knowledgeBaseId)),errors.collect(cdk().propertyValidator("knowledgeBaseId",cdk().validateString)(properties.knowledgeBaseId)),errors.collect(cdk().propertyValidator("knowledgeBaseState",cdk().validateString)(properties.knowledgeBaseState)),errors.wrap('supplied properties not correct for "AgentKnowledgeBaseProperty"')}function convertCfnAgentAgentKnowledgeBasePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentAgentKnowledgeBasePropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),KnowledgeBaseId:cdk().stringToCloudFormation(properties.knowledgeBaseId),KnowledgeBaseState:cdk().stringToCloudFormation(properties.knowledgeBaseState)}):properties}function CfnAgentAgentKnowledgeBasePropertyFromCloudFormation(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("knowledgeBaseId","KnowledgeBaseId",properties.KnowledgeBaseId!=null?cfn_parse().FromCloudFormation.getString(properties.KnowledgeBaseId):void 0),ret.addPropertyResult("knowledgeBaseState","KnowledgeBaseState",properties.KnowledgeBaseState!=null?cfn_parse().FromCloudFormation.getString(properties.KnowledgeBaseState):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentAgentDescriptorPropertyValidator(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("aliasArn",cdk().validateString)(properties.aliasArn)),errors.wrap('supplied properties not correct for "AgentDescriptorProperty"')}function convertCfnAgentAgentDescriptorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentAgentDescriptorPropertyValidator(properties).assertSuccess(),{AliasArn:cdk().stringToCloudFormation(properties.aliasArn)}):properties}function CfnAgentAgentDescriptorPropertyFromCloudFormation(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("aliasArn","AliasArn",properties.AliasArn!=null?cfn_parse().FromCloudFormation.getString(properties.AliasArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentAgentCollaboratorPropertyValidator(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("agentDescriptor",cdk().requiredValidator)(properties.agentDescriptor)),errors.collect(cdk().propertyValidator("agentDescriptor",CfnAgentAgentDescriptorPropertyValidator)(properties.agentDescriptor)),errors.collect(cdk().propertyValidator("collaborationInstruction",cdk().requiredValidator)(properties.collaborationInstruction)),errors.collect(cdk().propertyValidator("collaborationInstruction",cdk().validateString)(properties.collaborationInstruction)),errors.collect(cdk().propertyValidator("collaboratorName",cdk().requiredValidator)(properties.collaboratorName)),errors.collect(cdk().propertyValidator("collaboratorName",cdk().validateString)(properties.collaboratorName)),errors.collect(cdk().propertyValidator("relayConversationHistory",cdk().validateString)(properties.relayConversationHistory)),errors.wrap('supplied properties not correct for "AgentCollaboratorProperty"')}function convertCfnAgentAgentCollaboratorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentAgentCollaboratorPropertyValidator(properties).assertSuccess(),{AgentDescriptor:convertCfnAgentAgentDescriptorPropertyToCloudFormation(properties.agentDescriptor),CollaborationInstruction:cdk().stringToCloudFormation(properties.collaborationInstruction),CollaboratorName:cdk().stringToCloudFormation(properties.collaboratorName),RelayConversationHistory:cdk().stringToCloudFormation(properties.relayConversationHistory)}):properties}function CfnAgentAgentCollaboratorPropertyFromCloudFormation(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("agentDescriptor","AgentDescriptor",properties.AgentDescriptor!=null?CfnAgentAgentDescriptorPropertyFromCloudFormation(properties.AgentDescriptor):void 0),ret.addPropertyResult("collaborationInstruction","CollaborationInstruction",properties.CollaborationInstruction!=null?cfn_parse().FromCloudFormation.getString(properties.CollaborationInstruction):void 0),ret.addPropertyResult("collaboratorName","CollaboratorName",properties.CollaboratorName!=null?cfn_parse().FromCloudFormation.getString(properties.CollaboratorName):void 0),ret.addPropertyResult("relayConversationHistory","RelayConversationHistory",properties.RelayConversationHistory!=null?cfn_parse().FromCloudFormation.getString(properties.RelayConversationHistory):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentInferenceConfigurationPropertyValidator(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("maximumLength",cdk().validateNumber)(properties.maximumLength)),errors.collect(cdk().propertyValidator("stopSequences",cdk().listValidator(cdk().validateString))(properties.stopSequences)),errors.collect(cdk().propertyValidator("temperature",cdk().validateNumber)(properties.temperature)),errors.collect(cdk().propertyValidator("topK",cdk().validateNumber)(properties.topK)),errors.collect(cdk().propertyValidator("topP",cdk().validateNumber)(properties.topP)),errors.wrap('supplied properties not correct for "InferenceConfigurationProperty"')}function convertCfnAgentInferenceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentInferenceConfigurationPropertyValidator(properties).assertSuccess(),{MaximumLength:cdk().numberToCloudFormation(properties.maximumLength),StopSequences:cdk().listMapper(cdk().stringToCloudFormation)(properties.stopSequences),Temperature:cdk().numberToCloudFormation(properties.temperature),TopK:cdk().numberToCloudFormation(properties.topK),TopP:cdk().numberToCloudFormation(properties.topP)}):properties}function CfnAgentInferenceConfigurationPropertyFromCloudFormation(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("maximumLength","MaximumLength",properties.MaximumLength!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumLength):void 0),ret.addPropertyResult("stopSequences","StopSequences",properties.StopSequences!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StopSequences):void 0),ret.addPropertyResult("temperature","Temperature",properties.Temperature!=null?cfn_parse().FromCloudFormation.getNumber(properties.Temperature):void 0),ret.addPropertyResult("topK","TopK",properties.TopK!=null?cfn_parse().FromCloudFormation.getNumber(properties.TopK):void 0),ret.addPropertyResult("topP","TopP",properties.TopP!=null?cfn_parse().FromCloudFormation.getNumber(properties.TopP):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentPromptConfigurationPropertyValidator(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("additionalModelRequestFields",cdk().validateObject)(properties.additionalModelRequestFields)),errors.collect(cdk().propertyValidator("basePromptTemplate",cdk().validateString)(properties.basePromptTemplate)),errors.collect(cdk().propertyValidator("foundationModel",cdk().validateString)(properties.foundationModel)),errors.collect(cdk().propertyValidator("inferenceConfiguration",CfnAgentInferenceConfigurationPropertyValidator)(properties.inferenceConfiguration)),errors.collect(cdk().propertyValidator("parserMode",cdk().validateString)(properties.parserMode)),errors.collect(cdk().propertyValidator("promptCreationMode",cdk().validateString)(properties.promptCreationMode)),errors.collect(cdk().propertyValidator("promptState",cdk().validateString)(properties.promptState)),errors.collect(cdk().propertyValidator("promptType",cdk().validateString)(properties.promptType)),errors.wrap('supplied properties not correct for "PromptConfigurationProperty"')}function convertCfnAgentPromptConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentPromptConfigurationPropertyValidator(properties).assertSuccess(),{AdditionalModelRequestFields:cdk().objectToCloudFormation(properties.additionalModelRequestFields),BasePromptTemplate:cdk().stringToCloudFormation(properties.basePromptTemplate),FoundationModel:cdk().stringToCloudFormation(properties.foundationModel),InferenceConfiguration:convertCfnAgentInferenceConfigurationPropertyToCloudFormation(properties.inferenceConfiguration),ParserMode:cdk().stringToCloudFormation(properties.parserMode),PromptCreationMode:cdk().stringToCloudFormation(properties.promptCreationMode),PromptState:cdk().stringToCloudFormation(properties.promptState),PromptType:cdk().stringToCloudFormation(properties.promptType)}):properties}function CfnAgentPromptConfigurationPropertyFromCloudFormation(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("additionalModelRequestFields","AdditionalModelRequestFields",properties.AdditionalModelRequestFields!=null?cfn_parse().FromCloudFormation.getAny(properties.AdditionalModelRequestFields):void 0),ret.addPropertyResult("basePromptTemplate","BasePromptTemplate",properties.BasePromptTemplate!=null?cfn_parse().FromCloudFormation.getString(properties.BasePromptTemplate):void 0),ret.addPropertyResult("foundationModel","FoundationModel",properties.FoundationModel!=null?cfn_parse().FromCloudFormation.getString(properties.FoundationModel):void 0),ret.addPropertyResult("inferenceConfiguration","InferenceConfiguration",properties.InferenceConfiguration!=null?CfnAgentInferenceConfigurationPropertyFromCloudFormation(properties.InferenceConfiguration):void 0),ret.addPropertyResult("parserMode","ParserMode",properties.ParserMode!=null?cfn_parse().FromCloudFormation.getString(properties.ParserMode):void 0),ret.addPropertyResult("promptCreationMode","PromptCreationMode",properties.PromptCreationMode!=null?cfn_parse().FromCloudFormation.getString(properties.PromptCreationMode):void 0),ret.addPropertyResult("promptState","PromptState",properties.PromptState!=null?cfn_parse().FromCloudFormation.getString(properties.PromptState):void 0),ret.addPropertyResult("promptType","PromptType",properties.PromptType!=null?cfn_parse().FromCloudFormation.getString(properties.PromptType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentPromptOverrideConfigurationPropertyValidator(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("overrideLambda",cdk().validateString)(properties.overrideLambda)),errors.collect(cdk().propertyValidator("promptConfigurations",cdk().requiredValidator)(properties.promptConfigurations)),errors.collect(cdk().propertyValidator("promptConfigurations",cdk().listValidator(CfnAgentPromptConfigurationPropertyValidator))(properties.promptConfigurations)),errors.wrap('supplied properties not correct for "PromptOverrideConfigurationProperty"')}function convertCfnAgentPromptOverrideConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentPromptOverrideConfigurationPropertyValidator(properties).assertSuccess(),{OverrideLambda:cdk().stringToCloudFormation(properties.overrideLambda),PromptConfigurations:cdk().listMapper(convertCfnAgentPromptConfigurationPropertyToCloudFormation)(properties.promptConfigurations)}):properties}function CfnAgentPromptOverrideConfigurationPropertyFromCloudFormation(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("overrideLambda","OverrideLambda",properties.OverrideLambda!=null?cfn_parse().FromCloudFormation.getString(properties.OverrideLambda):void 0),ret.addPropertyResult("promptConfigurations","PromptConfigurations",properties.PromptConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnAgentPromptConfigurationPropertyFromCloudFormation)(properties.PromptConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentPropsValidator(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("actionGroups",cdk().listValidator(CfnAgentAgentActionGroupPropertyValidator))(properties.actionGroups)),errors.collect(cdk().propertyValidator("agentCollaboration",cdk().validateString)(properties.agentCollaboration)),errors.collect(cdk().propertyValidator("agentCollaborators",cdk().listValidator(CfnAgentAgentCollaboratorPropertyValidator))(properties.agentCollaborators)),errors.collect(cdk().propertyValidator("agentName",cdk().requiredValidator)(properties.agentName)),errors.collect(cdk().propertyValidator("agentName",cdk().validateString)(properties.agentName)),errors.collect(cdk().propertyValidator("agentResourceRoleArn",cdk().validateString)(properties.agentResourceRoleArn)),errors.collect(cdk().propertyValidator("autoPrepare",cdk().validateBoolean)(properties.autoPrepare)),errors.collect(cdk().propertyValidator("customOrchestration",CfnAgentCustomOrchestrationPropertyValidator)(properties.customOrchestration)),errors.collect(cdk().propertyValidator("customerEncryptionKeyArn",cdk().validateString)(properties.customerEncryptionKeyArn)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("foundationModel",cdk().validateString)(properties.foundationModel)),errors.collect(cdk().propertyValidator("guardrailConfiguration",CfnAgentGuardrailConfigurationPropertyValidator)(properties.guardrailConfiguration)),errors.collect(cdk().propertyValidator("idleSessionTtlInSeconds",cdk().validateNumber)(properties.idleSessionTtlInSeconds)),errors.collect(cdk().propertyValidator("instruction",cdk().validateString)(properties.instruction)),errors.collect(cdk().propertyValidator("knowledgeBases",cdk().listValidator(CfnAgentAgentKnowledgeBasePropertyValidator))(properties.knowledgeBases)),errors.collect(cdk().propertyValidator("memoryConfiguration",CfnAgentMemoryConfigurationPropertyValidator)(properties.memoryConfiguration)),errors.collect(cdk().propertyValidator("orchestrationType",cdk().validateString)(properties.orchestrationType)),errors.collect(cdk().propertyValidator("promptOverrideConfiguration",CfnAgentPromptOverrideConfigurationPropertyValidator)(properties.promptOverrideConfiguration)),errors.collect(cdk().propertyValidator("skipResourceInUseCheckOnDelete",cdk().validateBoolean)(properties.skipResourceInUseCheckOnDelete)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("testAliasTags",cdk().hashValidator(cdk().validateString))(properties.testAliasTags)),errors.wrap('supplied properties not correct for "CfnAgentProps"')}function convertCfnAgentPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentPropsValidator(properties).assertSuccess(),{ActionGroups:cdk().listMapper(convertCfnAgentAgentActionGroupPropertyToCloudFormation)(properties.actionGroups),AgentCollaboration:cdk().stringToCloudFormation(properties.agentCollaboration),AgentCollaborators:cdk().listMapper(convertCfnAgentAgentCollaboratorPropertyToCloudFormation)(properties.agentCollaborators),AgentName:cdk().stringToCloudFormation(properties.agentName),AgentResourceRoleArn:cdk().stringToCloudFormation(properties.agentResourceRoleArn),AutoPrepare:cdk().booleanToCloudFormation(properties.autoPrepare),CustomOrchestration:convertCfnAgentCustomOrchestrationPropertyToCloudFormation(properties.customOrchestration),CustomerEncryptionKeyArn:cdk().stringToCloudFormation(properties.customerEncryptionKeyArn),Description:cdk().stringToCloudFormation(properties.description),FoundationModel:cdk().stringToCloudFormation(properties.foundationModel),GuardrailConfiguration:convertCfnAgentGuardrailConfigurationPropertyToCloudFormation(properties.guardrailConfiguration),IdleSessionTTLInSeconds:cdk().numberToCloudFormation(properties.idleSessionTtlInSeconds),Instruction:cdk().stringToCloudFormation(properties.instruction),KnowledgeBases:cdk().listMapper(convertCfnAgentAgentKnowledgeBasePropertyToCloudFormation)(properties.knowledgeBases),MemoryConfiguration:convertCfnAgentMemoryConfigurationPropertyToCloudFormation(properties.memoryConfiguration),OrchestrationType:cdk().stringToCloudFormation(properties.orchestrationType),PromptOverrideConfiguration:convertCfnAgentPromptOverrideConfigurationPropertyToCloudFormation(properties.promptOverrideConfiguration),SkipResourceInUseCheckOnDelete:cdk().booleanToCloudFormation(properties.skipResourceInUseCheckOnDelete),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),TestAliasTags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.testAliasTags)}):properties}function CfnAgentPropsFromCloudFormation(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("actionGroups","ActionGroups",properties.ActionGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnAgentAgentActionGroupPropertyFromCloudFormation)(properties.ActionGroups):void 0),ret.addPropertyResult("agentCollaboration","AgentCollaboration",properties.AgentCollaboration!=null?cfn_parse().FromCloudFormation.getString(properties.AgentCollaboration):void 0),ret.addPropertyResult("agentCollaborators","AgentCollaborators",properties.AgentCollaborators!=null?cfn_parse().FromCloudFormation.getArray(CfnAgentAgentCollaboratorPropertyFromCloudFormation)(properties.AgentCollaborators):void 0),ret.addPropertyResult("agentName","AgentName",properties.AgentName!=null?cfn_parse().FromCloudFormation.getString(properties.AgentName):void 0),ret.addPropertyResult("agentResourceRoleArn","AgentResourceRoleArn",properties.AgentResourceRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.AgentResourceRoleArn):void 0),ret.addPropertyResult("autoPrepare","AutoPrepare",properties.AutoPrepare!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoPrepare):void 0),ret.addPropertyResult("customerEncryptionKeyArn","CustomerEncryptionKeyArn",properties.CustomerEncryptionKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.CustomerEncryptionKeyArn):void 0),ret.addPropertyResult("customOrchestration","CustomOrchestration",properties.CustomOrchestration!=null?CfnAgentCustomOrchestrationPropertyFromCloudFormation(properties.CustomOrchestration):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("foundationModel","FoundationModel",properties.FoundationModel!=null?cfn_parse().FromCloudFormation.getString(properties.FoundationModel):void 0),ret.addPropertyResult("guardrailConfiguration","GuardrailConfiguration",properties.GuardrailConfiguration!=null?CfnAgentGuardrailConfigurationPropertyFromCloudFormation(properties.GuardrailConfiguration):void 0),ret.addPropertyResult("idleSessionTtlInSeconds","IdleSessionTTLInSeconds",properties.IdleSessionTTLInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.IdleSessionTTLInSeconds):void 0),ret.addPropertyResult("instruction","Instruction",properties.Instruction!=null?cfn_parse().FromCloudFormation.getString(properties.Instruction):void 0),ret.addPropertyResult("knowledgeBases","KnowledgeBases",properties.KnowledgeBases!=null?cfn_parse().FromCloudFormation.getArray(CfnAgentAgentKnowledgeBasePropertyFromCloudFormation)(properties.KnowledgeBases):void 0),ret.addPropertyResult("memoryConfiguration","MemoryConfiguration",properties.MemoryConfiguration!=null?CfnAgentMemoryConfigurationPropertyFromCloudFormation(properties.MemoryConfiguration):void 0),ret.addPropertyResult("orchestrationType","OrchestrationType",properties.OrchestrationType!=null?cfn_parse().FromCloudFormation.getString(properties.OrchestrationType):void 0),ret.addPropertyResult("promptOverrideConfiguration","PromptOverrideConfiguration",properties.PromptOverrideConfiguration!=null?CfnAgentPromptOverrideConfigurationPropertyFromCloudFormation(properties.PromptOverrideConfiguration):void 0),ret.addPropertyResult("skipResourceInUseCheckOnDelete","SkipResourceInUseCheckOnDelete",properties.SkipResourceInUseCheckOnDelete!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SkipResourceInUseCheckOnDelete):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("testAliasTags","TestAliasTags",properties.TestAliasTags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.TestAliasTags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAgentAlias extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnAgentAlias",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::AgentAlias";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAgentAliasPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAgentAlias(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 isCfnAgentAlias(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAgentAlias.CFN_RESOURCE_TYPE_NAME}static arnForAgentAlias(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_bedrock_IAgentAliasRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAgentAlias),error}return resource.agentAliasRef.agentAliasArn}_agentAliasName;_agentId;cdkTagManager;_description;_routingConfiguration;_tags;cfnPropertyNames={agentAliasName:"AgentAliasName",agentId:"AgentId",tags:"Tags",description:"Description",routingConfiguration:"RoutingConfiguration"};constructor(scope,id,props){super(scope,id,{type:CfnAgentAlias.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnAgentAliasProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAgentAlias),error}cdk().requireProperty(props,"agentAliasName",this),cdk().requireProperty(props,"agentId",this),this._agentAliasName=props.agentAliasName,this._agentId=props.agentId,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Bedrock::AgentAlias",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._routingConfiguration=props.routingConfiguration,this._tags=props.tags}get agentAliasRef(){return{agentId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),agentAliasId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),agentAliasArn:this.attrAgentAliasArn}}get agentAliasName(){return this._agentAliasName}set agentAliasName(value){cdk().traceProperty(this.node,"AgentAliasName"),this._agentAliasName=value}get agentId(){return this._agentId}set agentId(value){cdk().traceProperty(this.node,"AgentId"),this._agentId=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get routingConfiguration(){return this._routingConfiguration}set routingConfiguration(value){cdk().traceProperty(this.node,"RoutingConfiguration"),this._routingConfiguration=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrAgentAliasArn(){return cdk().Token.asString(this.getAtt("AgentAliasArn",cdk().ResolutionTypeHint.STRING))}get attrAgentAliasHistoryEvents(){return this.getAtt("AgentAliasHistoryEvents")}get attrAgentAliasId(){return cdk().Token.asString(this.getAtt("AgentAliasId",cdk().ResolutionTypeHint.STRING))}get attrAgentAliasStatus(){return cdk().Token.asString(this.getAtt("AgentAliasStatus",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{agentAliasName:this._agentAliasName,agentId:this._agentId,tags:this.cdkTagManager.renderTags(this._tags),description:this._description,routingConfiguration:this._routingConfiguration}}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",CfnAgentAlias.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAgentAliasPropsToCloudFormation(props)}}exports.CfnAgentAlias=CfnAgentAlias;function CfnAgentAliasAgentAliasRoutingConfigurationListItemPropertyValidator(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("agentVersion",cdk().requiredValidator)(properties.agentVersion)),errors.collect(cdk().propertyValidator("agentVersion",cdk().validateString)(properties.agentVersion)),errors.wrap('supplied properties not correct for "AgentAliasRoutingConfigurationListItemProperty"')}function convertCfnAgentAliasAgentAliasRoutingConfigurationListItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentAliasAgentAliasRoutingConfigurationListItemPropertyValidator(properties).assertSuccess(),{AgentVersion:cdk().stringToCloudFormation(properties.agentVersion)}):properties}function CfnAgentAliasAgentAliasRoutingConfigurationListItemPropertyFromCloudFormation(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("agentVersion","AgentVersion",properties.AgentVersion!=null?cfn_parse().FromCloudFormation.getString(properties.AgentVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentAliasAgentAliasHistoryEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("endDate",cdk().validateString)(properties.endDate)),errors.collect(cdk().propertyValidator("routingConfiguration",cdk().listValidator(CfnAgentAliasAgentAliasRoutingConfigurationListItemPropertyValidator))(properties.routingConfiguration)),errors.collect(cdk().propertyValidator("startDate",cdk().validateString)(properties.startDate)),errors.wrap('supplied properties not correct for "AgentAliasHistoryEventProperty"')}function convertCfnAgentAliasAgentAliasHistoryEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentAliasAgentAliasHistoryEventPropertyValidator(properties).assertSuccess(),{EndDate:cdk().stringToCloudFormation(properties.endDate),RoutingConfiguration:cdk().listMapper(convertCfnAgentAliasAgentAliasRoutingConfigurationListItemPropertyToCloudFormation)(properties.routingConfiguration),StartDate:cdk().stringToCloudFormation(properties.startDate)}):properties}function CfnAgentAliasAgentAliasHistoryEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("endDate","EndDate",properties.EndDate!=null?cfn_parse().FromCloudFormation.getString(properties.EndDate):void 0),ret.addPropertyResult("routingConfiguration","RoutingConfiguration",properties.RoutingConfiguration!=null?cfn_parse().FromCloudFormation.getArray(CfnAgentAliasAgentAliasRoutingConfigurationListItemPropertyFromCloudFormation)(properties.RoutingConfiguration):void 0),ret.addPropertyResult("startDate","StartDate",properties.StartDate!=null?cfn_parse().FromCloudFormation.getString(properties.StartDate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentAliasPropsValidator(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("agentAliasName",cdk().requiredValidator)(properties.agentAliasName)),errors.collect(cdk().propertyValidator("agentAliasName",cdk().validateString)(properties.agentAliasName)),errors.collect(cdk().propertyValidator("agentId",cdk().requiredValidator)(properties.agentId)),errors.collect(cdk().propertyValidator("agentId",cdk().validateString)(properties.agentId)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("routingConfiguration",cdk().listValidator(CfnAgentAliasAgentAliasRoutingConfigurationListItemPropertyValidator))(properties.routingConfiguration)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAgentAliasProps"')}function convertCfnAgentAliasPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentAliasPropsValidator(properties).assertSuccess(),{AgentAliasName:cdk().stringToCloudFormation(properties.agentAliasName),AgentId:cdk().stringToCloudFormation(properties.agentId),Description:cdk().stringToCloudFormation(properties.description),RoutingConfiguration:cdk().listMapper(convertCfnAgentAliasAgentAliasRoutingConfigurationListItemPropertyToCloudFormation)(properties.routingConfiguration),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnAgentAliasPropsFromCloudFormation(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("agentAliasName","AgentAliasName",properties.AgentAliasName!=null?cfn_parse().FromCloudFormation.getString(properties.AgentAliasName):void 0),ret.addPropertyResult("agentId","AgentId",properties.AgentId!=null?cfn_parse().FromCloudFormation.getString(properties.AgentId):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("routingConfiguration","RoutingConfiguration",properties.RoutingConfiguration!=null?cfn_parse().FromCloudFormation.getArray(CfnAgentAliasAgentAliasRoutingConfigurationListItemPropertyFromCloudFormation)(properties.RoutingConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnApplicationInferenceProfile extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnApplicationInferenceProfile",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::ApplicationInferenceProfile";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnApplicationInferenceProfilePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnApplicationInferenceProfile(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 isCfnApplicationInferenceProfile(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnApplicationInferenceProfile.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_description;_inferenceProfileName;_modelSource;_tags;cfnPropertyNames={tags:"Tags",description:"Description",inferenceProfileName:"InferenceProfileName",modelSource:"ModelSource"};constructor(scope,id,props){super(scope,id,{type:CfnApplicationInferenceProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnApplicationInferenceProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnApplicationInferenceProfile),error}cdk().requireProperty(props,"inferenceProfileName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Bedrock::ApplicationInferenceProfile",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._inferenceProfileName=props.inferenceProfileName,this._modelSource=props.modelSource,this._tags=props.tags}get applicationInferenceProfileRef(){return{inferenceProfileIdentifier:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get inferenceProfileName(){return this._inferenceProfileName}set inferenceProfileName(value){cdk().traceProperty(this.node,"InferenceProfileName"),this._inferenceProfileName=value}get modelSource(){return this._modelSource}set modelSource(value){cdk().traceProperty(this.node,"ModelSource"),this._modelSource=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrInferenceProfileArn(){return cdk().Token.asString(this.getAtt("InferenceProfileArn",cdk().ResolutionTypeHint.STRING))}get attrInferenceProfileId(){return cdk().Token.asString(this.getAtt("InferenceProfileId",cdk().ResolutionTypeHint.STRING))}get attrInferenceProfileIdentifier(){return cdk().Token.asString(this.getAtt("InferenceProfileIdentifier",cdk().ResolutionTypeHint.STRING))}get attrModels(){return this.getAtt("Models")}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrType(){return cdk().Token.asString(this.getAtt("Type",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,inferenceProfileName:this._inferenceProfileName,modelSource:this._modelSource}}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",CfnApplicationInferenceProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnApplicationInferenceProfilePropsToCloudFormation(props)}}exports.CfnApplicationInferenceProfile=CfnApplicationInferenceProfile;function CfnApplicationInferenceProfileInferenceProfileModelSourcePropertyValidator(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("copyFrom",cdk().requiredValidator)(properties.copyFrom)),errors.collect(cdk().propertyValidator("copyFrom",cdk().validateString)(properties.copyFrom)),errors.wrap('supplied properties not correct for "InferenceProfileModelSourceProperty"')}function convertCfnApplicationInferenceProfileInferenceProfileModelSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApplicationInferenceProfileInferenceProfileModelSourcePropertyValidator(properties).assertSuccess(),{CopyFrom:cdk().stringToCloudFormation(properties.copyFrom)}):properties}function CfnApplicationInferenceProfileInferenceProfileModelSourcePropertyFromCloudFormation(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("copyFrom","CopyFrom",properties.CopyFrom!=null?cfn_parse().FromCloudFormation.getString(properties.CopyFrom):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApplicationInferenceProfileInferenceProfileModelPropertyValidator(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("modelArn",cdk().validateString)(properties.modelArn)),errors.wrap('supplied properties not correct for "InferenceProfileModelProperty"')}function convertCfnApplicationInferenceProfileInferenceProfileModelPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApplicationInferenceProfileInferenceProfileModelPropertyValidator(properties).assertSuccess(),{ModelArn:cdk().stringToCloudFormation(properties.modelArn)}):properties}function CfnApplicationInferenceProfileInferenceProfileModelPropertyFromCloudFormation(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("modelArn","ModelArn",properties.ModelArn!=null?cfn_parse().FromCloudFormation.getString(properties.ModelArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApplicationInferenceProfilePropsValidator(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("inferenceProfileName",cdk().requiredValidator)(properties.inferenceProfileName)),errors.collect(cdk().propertyValidator("inferenceProfileName",cdk().validateString)(properties.inferenceProfileName)),errors.collect(cdk().propertyValidator("modelSource",CfnApplicationInferenceProfileInferenceProfileModelSourcePropertyValidator)(properties.modelSource)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnApplicationInferenceProfileProps"')}function convertCfnApplicationInferenceProfilePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApplicationInferenceProfilePropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),InferenceProfileName:cdk().stringToCloudFormation(properties.inferenceProfileName),ModelSource:convertCfnApplicationInferenceProfileInferenceProfileModelSourcePropertyToCloudFormation(properties.modelSource),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnApplicationInferenceProfilePropsFromCloudFormation(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("inferenceProfileName","InferenceProfileName",properties.InferenceProfileName!=null?cfn_parse().FromCloudFormation.getString(properties.InferenceProfileName):void 0),ret.addPropertyResult("modelSource","ModelSource",properties.ModelSource!=null?CfnApplicationInferenceProfileInferenceProfileModelSourcePropertyFromCloudFormation(properties.ModelSource):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 CfnAutomatedReasoningPolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnAutomatedReasoningPolicy",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::AutomatedReasoningPolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAutomatedReasoningPolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAutomatedReasoningPolicy(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 isCfnAutomatedReasoningPolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAutomatedReasoningPolicy.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_description;_forceDelete;_kmsKeyId;_name;_policyDefinition;_tags;cfnPropertyNames={tags:"Tags",description:"Description",forceDelete:"ForceDelete",kmsKeyId:"KmsKeyId",name:"Name",policyDefinition:"PolicyDefinition"};constructor(scope,id,props){super(scope,id,{type:CfnAutomatedReasoningPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnAutomatedReasoningPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAutomatedReasoningPolicy),error}cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Bedrock::AutomatedReasoningPolicy",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._forceDelete=props.forceDelete,this._kmsKeyId=props.kmsKeyId,this._name=props.name,this._policyDefinition=props.policyDefinition,this._tags=props.tags}get automatedReasoningPolicyRef(){return{policyArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get forceDelete(){return this._forceDelete}set forceDelete(value){cdk().traceProperty(this.node,"ForceDelete"),this._forceDelete=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KmsKeyId"),this._kmsKeyId=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get policyDefinition(){return this._policyDefinition}set policyDefinition(value){cdk().traceProperty(this.node,"PolicyDefinition"),this._policyDefinition=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrDefinitionHash(){return cdk().Token.asString(this.getAtt("DefinitionHash",cdk().ResolutionTypeHint.STRING))}get attrKmsKeyArn(){return cdk().Token.asString(this.getAtt("KmsKeyArn",cdk().ResolutionTypeHint.STRING))}get attrPolicyArn(){return cdk().Token.asString(this.getAtt("PolicyArn",cdk().ResolutionTypeHint.STRING))}get attrPolicyId(){return cdk().Token.asString(this.getAtt("PolicyId",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return cdk().Token.asString(this.getAtt("Version",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,forceDelete:this._forceDelete,kmsKeyId:this._kmsKeyId,name:this._name,policyDefinition:this._policyDefinition}}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",CfnAutomatedReasoningPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAutomatedReasoningPolicyPropsToCloudFormation(props)}}exports.CfnAutomatedReasoningPolicy=CfnAutomatedReasoningPolicy;function CfnAutomatedReasoningPolicyPolicyDefinitionTypeValuePropertyValidator(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("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "PolicyDefinitionTypeValueProperty"')}function convertCfnAutomatedReasoningPolicyPolicyDefinitionTypeValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomatedReasoningPolicyPolicyDefinitionTypeValuePropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnAutomatedReasoningPolicyPolicyDefinitionTypeValuePropertyFromCloudFormation(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("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutomatedReasoningPolicyPolicyDefinitionTypePropertyValidator(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("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAutomatedReasoningPolicyPolicyDefinitionTypeValuePropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "PolicyDefinitionTypeProperty"')}function convertCfnAutomatedReasoningPolicyPolicyDefinitionTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomatedReasoningPolicyPolicyDefinitionTypePropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(convertCfnAutomatedReasoningPolicyPolicyDefinitionTypeValuePropertyToCloudFormation)(properties.values)}):properties}function CfnAutomatedReasoningPolicyPolicyDefinitionTypePropertyFromCloudFormation(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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomatedReasoningPolicyPolicyDefinitionTypeValuePropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutomatedReasoningPolicyPolicyDefinitionRulePropertyValidator(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("alternateExpression",cdk().validateString)(properties.alternateExpression)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.wrap('supplied properties not correct for "PolicyDefinitionRuleProperty"')}function convertCfnAutomatedReasoningPolicyPolicyDefinitionRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomatedReasoningPolicyPolicyDefinitionRulePropertyValidator(properties).assertSuccess(),{AlternateExpression:cdk().stringToCloudFormation(properties.alternateExpression),Expression:cdk().stringToCloudFormation(properties.expression),Id:cdk().stringToCloudFormation(properties.id)}):properties}function CfnAutomatedReasoningPolicyPolicyDefinitionRulePropertyFromCloudFormation(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("alternateExpression","AlternateExpression",properties.AlternateExpression!=null?cfn_parse().FromCloudFormation.getString(properties.AlternateExpression):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutomatedReasoningPolicyPolicyDefinitionVariablePropertyValidator(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().requiredValidator)(properties.description)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),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 "PolicyDefinitionVariableProperty"')}function convertCfnAutomatedReasoningPolicyPolicyDefinitionVariablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomatedReasoningPolicyPolicyDefinitionVariablePropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAutomatedReasoningPolicyPolicyDefinitionVariablePropertyFromCloudFormation(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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutomatedReasoningPolicyPolicyDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("rules",cdk().listValidator(CfnAutomatedReasoningPolicyPolicyDefinitionRulePropertyValidator))(properties.rules)),errors.collect(cdk().propertyValidator("types",cdk().listValidator(CfnAutomatedReasoningPolicyPolicyDefinitionTypePropertyValidator))(properties.types)),errors.collect(cdk().propertyValidator("variables",cdk().listValidator(CfnAutomatedReasoningPolicyPolicyDefinitionVariablePropertyValidator))(properties.variables)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "PolicyDefinitionProperty"')}function convertCfnAutomatedReasoningPolicyPolicyDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomatedReasoningPolicyPolicyDefinitionPropertyValidator(properties).assertSuccess(),{Rules:cdk().listMapper(convertCfnAutomatedReasoningPolicyPolicyDefinitionRulePropertyToCloudFormation)(properties.rules),Types:cdk().listMapper(convertCfnAutomatedReasoningPolicyPolicyDefinitionTypePropertyToCloudFormation)(properties.types),Variables:cdk().listMapper(convertCfnAutomatedReasoningPolicyPolicyDefinitionVariablePropertyToCloudFormation)(properties.variables),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnAutomatedReasoningPolicyPolicyDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("rules","Rules",properties.Rules!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomatedReasoningPolicyPolicyDefinitionRulePropertyFromCloudFormation)(properties.Rules):void 0),ret.addPropertyResult("types","Types",properties.Types!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomatedReasoningPolicyPolicyDefinitionTypePropertyFromCloudFormation)(properties.Types):void 0),ret.addPropertyResult("variables","Variables",properties.Variables!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomatedReasoningPolicyPolicyDefinitionVariablePropertyFromCloudFormation)(properties.Variables):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutomatedReasoningPolicyPropsValidator(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("forceDelete",cdk().validateBoolean)(properties.forceDelete)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("policyDefinition",CfnAutomatedReasoningPolicyPolicyDefinitionPropertyValidator)(properties.policyDefinition)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAutomatedReasoningPolicyProps"')}function convertCfnAutomatedReasoningPolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomatedReasoningPolicyPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),ForceDelete:cdk().booleanToCloudFormation(properties.forceDelete),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),Name:cdk().stringToCloudFormation(properties.name),PolicyDefinition:convertCfnAutomatedReasoningPolicyPolicyDefinitionPropertyToCloudFormation(properties.policyDefinition),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAutomatedReasoningPolicyPropsFromCloudFormation(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("forceDelete","ForceDelete",properties.ForceDelete!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ForceDelete):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("policyDefinition","PolicyDefinition",properties.PolicyDefinition!=null?CfnAutomatedReasoningPolicyPolicyDefinitionPropertyFromCloudFormation(properties.PolicyDefinition):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 CfnAutomatedReasoningPolicyVersion extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnAutomatedReasoningPolicyVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::AutomatedReasoningPolicyVersion";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAutomatedReasoningPolicyVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAutomatedReasoningPolicyVersion(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 isCfnAutomatedReasoningPolicyVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAutomatedReasoningPolicyVersion.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_lastUpdatedDefinitionHash;_policyArn;_tags;cfnPropertyNames={tags:"Tags",lastUpdatedDefinitionHash:"LastUpdatedDefinitionHash",policyArn:"PolicyArn"};constructor(scope,id,props){super(scope,id,{type:CfnAutomatedReasoningPolicyVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnAutomatedReasoningPolicyVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAutomatedReasoningPolicyVersion),error}cdk().requireProperty(props,"policyArn",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Bedrock::AutomatedReasoningPolicyVersion",void 0,{tagPropertyName:"tags"}),this._lastUpdatedDefinitionHash=props.lastUpdatedDefinitionHash,this._policyArn=props.policyArn,this._tags=props.tags}get automatedReasoningPolicyVersionRef(){return{policyArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),version:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get lastUpdatedDefinitionHash(){return this._lastUpdatedDefinitionHash}set lastUpdatedDefinitionHash(value){cdk().traceProperty(this.node,"LastUpdatedDefinitionHash"),this._lastUpdatedDefinitionHash=value}get policyArn(){return this._policyArn}set policyArn(value){cdk().traceProperty(this.node,"PolicyArn"),this._policyArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrDefinitionHash(){return cdk().Token.asString(this.getAtt("DefinitionHash",cdk().ResolutionTypeHint.STRING))}get attrDescription(){return cdk().Token.asString(this.getAtt("Description",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}get attrPolicyId(){return cdk().Token.asString(this.getAtt("PolicyId",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return cdk().Token.asString(this.getAtt("Version",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),lastUpdatedDefinitionHash:this._lastUpdatedDefinitionHash,policyArn:this._policyArn}}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",CfnAutomatedReasoningPolicyVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAutomatedReasoningPolicyVersionPropsToCloudFormation(props)}}exports.CfnAutomatedReasoningPolicyVersion=CfnAutomatedReasoningPolicyVersion;function CfnAutomatedReasoningPolicyVersionPropsValidator(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("lastUpdatedDefinitionHash",cdk().validateString)(properties.lastUpdatedDefinitionHash)),errors.collect(cdk().propertyValidator("policyArn",cdk().requiredValidator)(properties.policyArn)),errors.collect(cdk().propertyValidator("policyArn",cdk().validateString)(properties.policyArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAutomatedReasoningPolicyVersionProps"')}function convertCfnAutomatedReasoningPolicyVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomatedReasoningPolicyVersionPropsValidator(properties).assertSuccess(),{LastUpdatedDefinitionHash:cdk().stringToCloudFormation(properties.lastUpdatedDefinitionHash),PolicyArn:cdk().stringToCloudFormation(properties.policyArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAutomatedReasoningPolicyVersionPropsFromCloudFormation(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("lastUpdatedDefinitionHash","LastUpdatedDefinitionHash",properties.LastUpdatedDefinitionHash!=null?cfn_parse().FromCloudFormation.getString(properties.LastUpdatedDefinitionHash):void 0),ret.addPropertyResult("policyArn","PolicyArn",properties.PolicyArn!=null?cfn_parse().FromCloudFormation.getString(properties.PolicyArn):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 CfnBlueprint extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnBlueprint",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::Blueprint";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBlueprintPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnBlueprint(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 isCfnBlueprint(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnBlueprint.CFN_RESOURCE_TYPE_NAME}static arnForBlueprint(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_bedrock_IBlueprintRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForBlueprint),error}return resource.blueprintRef.blueprintArn}_blueprintName;cdkTagManager;_kmsEncryptionContext;_kmsKeyId;_schema;_tags;_type;cfnPropertyNames={blueprintName:"BlueprintName",tags:"Tags",kmsEncryptionContext:"KmsEncryptionContext",kmsKeyId:"KmsKeyId",schema:"Schema",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnBlueprint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnBlueprintProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBlueprint),error}cdk().requireProperty(props,"blueprintName",this),cdk().requireProperty(props,"schema",this),cdk().requireProperty(props,"type",this),this._blueprintName=props.blueprintName,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Bedrock::Blueprint",void 0,{tagPropertyName:"tags"}),this._kmsEncryptionContext=props.kmsEncryptionContext,this._kmsKeyId=props.kmsKeyId,this._schema=props.schema,this._tags=props.tags,this._type=props.type}get blueprintRef(){return{blueprintArn:this.ref}}get blueprintName(){return this._blueprintName}set blueprintName(value){cdk().traceProperty(this.node,"BlueprintName"),this._blueprintName=value}get kmsEncryptionContext(){return this._kmsEncryptionContext}set kmsEncryptionContext(value){cdk().traceProperty(this.node,"KmsEncryptionContext"),this._kmsEncryptionContext=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KmsKeyId"),this._kmsKeyId=value}get schema(){return this._schema}set schema(value){cdk().traceProperty(this.node,"Schema"),this._schema=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrBlueprintArn(){return cdk().Token.asString(this.getAtt("BlueprintArn",cdk().ResolutionTypeHint.STRING))}get attrBlueprintStage(){return cdk().Token.asString(this.getAtt("BlueprintStage",cdk().ResolutionTypeHint.STRING))}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrLastModifiedTime(){return cdk().Token.asString(this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{blueprintName:this._blueprintName,tags:this.cdkTagManager.renderTags(this._tags),kmsEncryptionContext:this._kmsEncryptionContext,kmsKeyId:this._kmsKeyId,schema:this._schema,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",CfnBlueprint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBlueprintPropsToCloudFormation(props)}}exports.CfnBlueprint=CfnBlueprint;function CfnBlueprintPropsValidator(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("blueprintName",cdk().requiredValidator)(properties.blueprintName)),errors.collect(cdk().propertyValidator("blueprintName",cdk().validateString)(properties.blueprintName)),errors.collect(cdk().propertyValidator("kmsEncryptionContext",cdk().hashValidator(cdk().validateString))(properties.kmsEncryptionContext)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("schema",cdk().requiredValidator)(properties.schema)),errors.collect(cdk().propertyValidator("schema",cdk().validateObject)(properties.schema)),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 "CfnBlueprintProps"')}function convertCfnBlueprintPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBlueprintPropsValidator(properties).assertSuccess(),{BlueprintName:cdk().stringToCloudFormation(properties.blueprintName),KmsEncryptionContext:cdk().hashMapper(cdk().stringToCloudFormation)(properties.kmsEncryptionContext),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),Schema:cdk().objectToCloudFormation(properties.schema),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnBlueprintPropsFromCloudFormation(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("blueprintName","BlueprintName",properties.BlueprintName!=null?cfn_parse().FromCloudFormation.getString(properties.BlueprintName):void 0),ret.addPropertyResult("kmsEncryptionContext","KmsEncryptionContext",properties.KmsEncryptionContext!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.KmsEncryptionContext):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("schema","Schema",properties.Schema!=null?cfn_parse().FromCloudFormation.getAny(properties.Schema):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 CfnDataAutomationLibrary extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnDataAutomationLibrary",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::DataAutomationLibrary";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataAutomationLibraryPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDataAutomationLibrary(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 isCfnDataAutomationLibrary(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataAutomationLibrary.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_encryptionConfiguration;_libraryDescription;_libraryName;_tags;cfnPropertyNames={tags:"Tags",encryptionConfiguration:"EncryptionConfiguration",libraryDescription:"LibraryDescription",libraryName:"LibraryName"};constructor(scope,id,props){super(scope,id,{type:CfnDataAutomationLibrary.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnDataAutomationLibraryProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataAutomationLibrary),error}cdk().requireProperty(props,"libraryName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Bedrock::DataAutomationLibrary",void 0,{tagPropertyName:"tags"}),this._encryptionConfiguration=props.encryptionConfiguration,this._libraryDescription=props.libraryDescription,this._libraryName=props.libraryName,this._tags=props.tags}get dataAutomationLibraryRef(){return{libraryArn:this.ref}}get encryptionConfiguration(){return this._encryptionConfiguration}set encryptionConfiguration(value){cdk().traceProperty(this.node,"EncryptionConfiguration"),this._encryptionConfiguration=value}get libraryDescription(){return this._libraryDescription}set libraryDescription(value){cdk().traceProperty(this.node,"LibraryDescription"),this._libraryDescription=value}get libraryName(){return this._libraryName}set libraryName(value){cdk().traceProperty(this.node,"LibraryName"),this._libraryName=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrEntityTypes(){return this.getAtt("EntityTypes")}get attrLibraryArn(){return cdk().Token.asString(this.getAtt("LibraryArn",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),encryptionConfiguration:this._encryptionConfiguration,libraryDescription:this._libraryDescription,libraryName:this._libraryName}}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",CfnDataAutomationLibrary.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDataAutomationLibraryPropsToCloudFormation(props)}}exports.CfnDataAutomationLibrary=CfnDataAutomationLibrary;function CfnDataAutomationLibraryEncryptionConfigurationPropertyValidator(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("kmsEncryptionContext",cdk().hashValidator(cdk().validateString))(properties.kmsEncryptionContext)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().requiredValidator)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.wrap('supplied properties not correct for "EncryptionConfigurationProperty"')}function convertCfnDataAutomationLibraryEncryptionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationLibraryEncryptionConfigurationPropertyValidator(properties).assertSuccess(),{KmsEncryptionContext:cdk().hashMapper(cdk().stringToCloudFormation)(properties.kmsEncryptionContext),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId)}):properties}function CfnDataAutomationLibraryEncryptionConfigurationPropertyFromCloudFormation(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("kmsEncryptionContext","KmsEncryptionContext",properties.KmsEncryptionContext!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.KmsEncryptionContext):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationLibraryEntityTypeInfoPropertyValidator(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("entityMetadata",cdk().validateString)(properties.entityMetadata)),errors.collect(cdk().propertyValidator("entityType",cdk().requiredValidator)(properties.entityType)),errors.collect(cdk().propertyValidator("entityType",cdk().validateString)(properties.entityType)),errors.wrap('supplied properties not correct for "EntityTypeInfoProperty"')}function convertCfnDataAutomationLibraryEntityTypeInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationLibraryEntityTypeInfoPropertyValidator(properties).assertSuccess(),{EntityMetadata:cdk().stringToCloudFormation(properties.entityMetadata),EntityType:cdk().stringToCloudFormation(properties.entityType)}):properties}function CfnDataAutomationLibraryEntityTypeInfoPropertyFromCloudFormation(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("entityMetadata","EntityMetadata",properties.EntityMetadata!=null?cfn_parse().FromCloudFormation.getString(properties.EntityMetadata):void 0),ret.addPropertyResult("entityType","EntityType",properties.EntityType!=null?cfn_parse().FromCloudFormation.getString(properties.EntityType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationLibraryPropsValidator(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("encryptionConfiguration",CfnDataAutomationLibraryEncryptionConfigurationPropertyValidator)(properties.encryptionConfiguration)),errors.collect(cdk().propertyValidator("libraryDescription",cdk().validateString)(properties.libraryDescription)),errors.collect(cdk().propertyValidator("libraryName",cdk().requiredValidator)(properties.libraryName)),errors.collect(cdk().propertyValidator("libraryName",cdk().validateString)(properties.libraryName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDataAutomationLibraryProps"')}function convertCfnDataAutomationLibraryPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationLibraryPropsValidator(properties).assertSuccess(),{EncryptionConfiguration:convertCfnDataAutomationLibraryEncryptionConfigurationPropertyToCloudFormation(properties.encryptionConfiguration),LibraryDescription:cdk().stringToCloudFormation(properties.libraryDescription),LibraryName:cdk().stringToCloudFormation(properties.libraryName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDataAutomationLibraryPropsFromCloudFormation(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("encryptionConfiguration","EncryptionConfiguration",properties.EncryptionConfiguration!=null?CfnDataAutomationLibraryEncryptionConfigurationPropertyFromCloudFormation(properties.EncryptionConfiguration):void 0),ret.addPropertyResult("libraryDescription","LibraryDescription",properties.LibraryDescription!=null?cfn_parse().FromCloudFormation.getString(properties.LibraryDescription):void 0),ret.addPropertyResult("libraryName","LibraryName",properties.LibraryName!=null?cfn_parse().FromCloudFormation.getString(properties.LibraryName):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 CfnDataAutomationProject extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnDataAutomationProject",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::DataAutomationProject";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataAutomationProjectPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDataAutomationProject(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 isCfnDataAutomationProject(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataAutomationProject.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_customOutputConfiguration;_kmsEncryptionContext;_kmsKeyId;_overrideConfiguration;_projectDescription;_projectName;_projectType;_standardOutputConfiguration;_tags;cfnPropertyNames={tags:"Tags",customOutputConfiguration:"CustomOutputConfiguration",kmsEncryptionContext:"KmsEncryptionContext",kmsKeyId:"KmsKeyId",overrideConfiguration:"OverrideConfiguration",projectDescription:"ProjectDescription",projectName:"ProjectName",projectType:"ProjectType",standardOutputConfiguration:"StandardOutputConfiguration"};constructor(scope,id,props){super(scope,id,{type:CfnDataAutomationProject.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnDataAutomationProjectProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataAutomationProject),error}cdk().requireProperty(props,"projectName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Bedrock::DataAutomationProject",void 0,{tagPropertyName:"tags"}),this._customOutputConfiguration=props.customOutputConfiguration,this._kmsEncryptionContext=props.kmsEncryptionContext,this._kmsKeyId=props.kmsKeyId,this._overrideConfiguration=props.overrideConfiguration,this._projectDescription=props.projectDescription,this._projectName=props.projectName,this._projectType=props.projectType,this._standardOutputConfiguration=props.standardOutputConfiguration,this._tags=props.tags}get dataAutomationProjectRef(){return{projectArn:this.ref}}get customOutputConfiguration(){return this._customOutputConfiguration}set customOutputConfiguration(value){cdk().traceProperty(this.node,"CustomOutputConfiguration"),this._customOutputConfiguration=value}get kmsEncryptionContext(){return this._kmsEncryptionContext}set kmsEncryptionContext(value){cdk().traceProperty(this.node,"KmsEncryptionContext"),this._kmsEncryptionContext=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KmsKeyId"),this._kmsKeyId=value}get overrideConfiguration(){return this._overrideConfiguration}set overrideConfiguration(value){cdk().traceProperty(this.node,"OverrideConfiguration"),this._overrideConfiguration=value}get projectDescription(){return this._projectDescription}set projectDescription(value){cdk().traceProperty(this.node,"ProjectDescription"),this._projectDescription=value}get projectName(){return this._projectName}set projectName(value){cdk().traceProperty(this.node,"ProjectName"),this._projectName=value}get projectType(){return this._projectType}set projectType(value){cdk().traceProperty(this.node,"ProjectType"),this._projectType=value}get standardOutputConfiguration(){return this._standardOutputConfiguration}set standardOutputConfiguration(value){cdk().traceProperty(this.node,"StandardOutputConfiguration"),this._standardOutputConfiguration=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrLastModifiedTime(){return cdk().Token.asString(this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.STRING))}get attrProjectArn(){return cdk().Token.asString(this.getAtt("ProjectArn",cdk().ResolutionTypeHint.STRING))}get attrProjectStage(){return cdk().Token.asString(this.getAtt("ProjectStage",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),customOutputConfiguration:this._customOutputConfiguration,kmsEncryptionContext:this._kmsEncryptionContext,kmsKeyId:this._kmsKeyId,overrideConfiguration:this._overrideConfiguration,projectDescription:this._projectDescription,projectName:this._projectName,projectType:this._projectType,standardOutputConfiguration:this._standardOutputConfiguration}}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",CfnDataAutomationProject.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDataAutomationProjectPropsToCloudFormation(props)}}exports.CfnDataAutomationProject=CfnDataAutomationProject;function CfnDataAutomationProjectBlueprintItemPropertyValidator(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("blueprintArn",cdk().requiredValidator)(properties.blueprintArn)),errors.collect(cdk().propertyValidator("blueprintArn",cdk().validateString)(properties.blueprintArn)),errors.collect(cdk().propertyValidator("blueprintStage",cdk().validateString)(properties.blueprintStage)),errors.collect(cdk().propertyValidator("blueprintVersion",cdk().validateString)(properties.blueprintVersion)),errors.wrap('supplied properties not correct for "BlueprintItemProperty"')}function convertCfnDataAutomationProjectBlueprintItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectBlueprintItemPropertyValidator(properties).assertSuccess(),{BlueprintArn:cdk().stringToCloudFormation(properties.blueprintArn),BlueprintStage:cdk().stringToCloudFormation(properties.blueprintStage),BlueprintVersion:cdk().stringToCloudFormation(properties.blueprintVersion)}):properties}function CfnDataAutomationProjectBlueprintItemPropertyFromCloudFormation(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("blueprintArn","BlueprintArn",properties.BlueprintArn!=null?cfn_parse().FromCloudFormation.getString(properties.BlueprintArn):void 0),ret.addPropertyResult("blueprintStage","BlueprintStage",properties.BlueprintStage!=null?cfn_parse().FromCloudFormation.getString(properties.BlueprintStage):void 0),ret.addPropertyResult("blueprintVersion","BlueprintVersion",properties.BlueprintVersion!=null?cfn_parse().FromCloudFormation.getString(properties.BlueprintVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectCustomOutputConfigurationPropertyValidator(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("blueprints",cdk().listValidator(CfnDataAutomationProjectBlueprintItemPropertyValidator))(properties.blueprints)),errors.wrap('supplied properties not correct for "CustomOutputConfigurationProperty"')}function convertCfnDataAutomationProjectCustomOutputConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectCustomOutputConfigurationPropertyValidator(properties).assertSuccess(),{Blueprints:cdk().listMapper(convertCfnDataAutomationProjectBlueprintItemPropertyToCloudFormation)(properties.blueprints)}):properties}function CfnDataAutomationProjectCustomOutputConfigurationPropertyFromCloudFormation(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("blueprints","Blueprints",properties.Blueprints!=null?cfn_parse().FromCloudFormation.getArray(CfnDataAutomationProjectBlueprintItemPropertyFromCloudFormation)(properties.Blueprints):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectSplitterConfigurationPropertyValidator(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("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "SplitterConfigurationProperty"')}function convertCfnDataAutomationProjectSplitterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectSplitterConfigurationPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnDataAutomationProjectSplitterConfigurationPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectModalityProcessingConfigurationPropertyValidator(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("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "ModalityProcessingConfigurationProperty"')}function convertCfnDataAutomationProjectModalityProcessingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectModalityProcessingConfigurationPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnDataAutomationProjectModalityProcessingConfigurationPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectPIIEntitiesConfigurationPropertyValidator(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("piiEntityTypes",cdk().listValidator(cdk().validateString))(properties.piiEntityTypes)),errors.collect(cdk().propertyValidator("redactionMaskMode",cdk().validateString)(properties.redactionMaskMode)),errors.wrap('supplied properties not correct for "PIIEntitiesConfigurationProperty"')}function convertCfnDataAutomationProjectPIIEntitiesConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectPIIEntitiesConfigurationPropertyValidator(properties).assertSuccess(),{PiiEntityTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.piiEntityTypes),RedactionMaskMode:cdk().stringToCloudFormation(properties.redactionMaskMode)}):properties}function CfnDataAutomationProjectPIIEntitiesConfigurationPropertyFromCloudFormation(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("piiEntityTypes","PiiEntityTypes",properties.PiiEntityTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PiiEntityTypes):void 0),ret.addPropertyResult("redactionMaskMode","RedactionMaskMode",properties.RedactionMaskMode!=null?cfn_parse().FromCloudFormation.getString(properties.RedactionMaskMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectSensitiveDataConfigurationPropertyValidator(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("detectionMode",cdk().validateString)(properties.detectionMode)),errors.collect(cdk().propertyValidator("detectionScope",cdk().listValidator(cdk().validateString))(properties.detectionScope)),errors.collect(cdk().propertyValidator("piiEntitiesConfiguration",CfnDataAutomationProjectPIIEntitiesConfigurationPropertyValidator)(properties.piiEntitiesConfiguration)),errors.wrap('supplied properties not correct for "SensitiveDataConfigurationProperty"')}function convertCfnDataAutomationProjectSensitiveDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectSensitiveDataConfigurationPropertyValidator(properties).assertSuccess(),{DetectionMode:cdk().stringToCloudFormation(properties.detectionMode),DetectionScope:cdk().listMapper(cdk().stringToCloudFormation)(properties.detectionScope),PiiEntitiesConfiguration:convertCfnDataAutomationProjectPIIEntitiesConfigurationPropertyToCloudFormation(properties.piiEntitiesConfiguration)}):properties}function CfnDataAutomationProjectSensitiveDataConfigurationPropertyFromCloudFormation(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("detectionMode","DetectionMode",properties.DetectionMode!=null?cfn_parse().FromCloudFormation.getString(properties.DetectionMode):void 0),ret.addPropertyResult("detectionScope","DetectionScope",properties.DetectionScope!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DetectionScope):void 0),ret.addPropertyResult("piiEntitiesConfiguration","PiiEntitiesConfiguration",properties.PiiEntitiesConfiguration!=null?CfnDataAutomationProjectPIIEntitiesConfigurationPropertyFromCloudFormation(properties.PiiEntitiesConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectDocumentOverrideConfigurationPropertyValidator(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("modalityProcessing",CfnDataAutomationProjectModalityProcessingConfigurationPropertyValidator)(properties.modalityProcessing)),errors.collect(cdk().propertyValidator("sensitiveDataConfiguration",CfnDataAutomationProjectSensitiveDataConfigurationPropertyValidator)(properties.sensitiveDataConfiguration)),errors.collect(cdk().propertyValidator("splitter",CfnDataAutomationProjectSplitterConfigurationPropertyValidator)(properties.splitter)),errors.wrap('supplied properties not correct for "DocumentOverrideConfigurationProperty"')}function convertCfnDataAutomationProjectDocumentOverrideConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectDocumentOverrideConfigurationPropertyValidator(properties).assertSuccess(),{ModalityProcessing:convertCfnDataAutomationProjectModalityProcessingConfigurationPropertyToCloudFormation(properties.modalityProcessing),SensitiveDataConfiguration:convertCfnDataAutomationProjectSensitiveDataConfigurationPropertyToCloudFormation(properties.sensitiveDataConfiguration),Splitter:convertCfnDataAutomationProjectSplitterConfigurationPropertyToCloudFormation(properties.splitter)}):properties}function CfnDataAutomationProjectDocumentOverrideConfigurationPropertyFromCloudFormation(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("modalityProcessing","ModalityProcessing",properties.ModalityProcessing!=null?CfnDataAutomationProjectModalityProcessingConfigurationPropertyFromCloudFormation(properties.ModalityProcessing):void 0),ret.addPropertyResult("sensitiveDataConfiguration","SensitiveDataConfiguration",properties.SensitiveDataConfiguration!=null?CfnDataAutomationProjectSensitiveDataConfigurationPropertyFromCloudFormation(properties.SensitiveDataConfiguration):void 0),ret.addPropertyResult("splitter","Splitter",properties.Splitter!=null?CfnDataAutomationProjectSplitterConfigurationPropertyFromCloudFormation(properties.Splitter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectAudioLanguageConfigurationPropertyValidator(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("generativeOutputLanguage",cdk().validateString)(properties.generativeOutputLanguage)),errors.collect(cdk().propertyValidator("identifyMultipleLanguages",cdk().validateBoolean)(properties.identifyMultipleLanguages)),errors.collect(cdk().propertyValidator("inputLanguages",cdk().listValidator(cdk().validateString))(properties.inputLanguages)),errors.wrap('supplied properties not correct for "AudioLanguageConfigurationProperty"')}function convertCfnDataAutomationProjectAudioLanguageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectAudioLanguageConfigurationPropertyValidator(properties).assertSuccess(),{GenerativeOutputLanguage:cdk().stringToCloudFormation(properties.generativeOutputLanguage),IdentifyMultipleLanguages:cdk().booleanToCloudFormation(properties.identifyMultipleLanguages),InputLanguages:cdk().listMapper(cdk().stringToCloudFormation)(properties.inputLanguages)}):properties}function CfnDataAutomationProjectAudioLanguageConfigurationPropertyFromCloudFormation(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("generativeOutputLanguage","GenerativeOutputLanguage",properties.GenerativeOutputLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.GenerativeOutputLanguage):void 0),ret.addPropertyResult("identifyMultipleLanguages","IdentifyMultipleLanguages",properties.IdentifyMultipleLanguages!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IdentifyMultipleLanguages):void 0),ret.addPropertyResult("inputLanguages","InputLanguages",properties.InputLanguages!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InputLanguages):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectAudioOverrideConfigurationPropertyValidator(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("languageConfiguration",CfnDataAutomationProjectAudioLanguageConfigurationPropertyValidator)(properties.languageConfiguration)),errors.collect(cdk().propertyValidator("modalityProcessing",CfnDataAutomationProjectModalityProcessingConfigurationPropertyValidator)(properties.modalityProcessing)),errors.collect(cdk().propertyValidator("sensitiveDataConfiguration",CfnDataAutomationProjectSensitiveDataConfigurationPropertyValidator)(properties.sensitiveDataConfiguration)),errors.wrap('supplied properties not correct for "AudioOverrideConfigurationProperty"')}function convertCfnDataAutomationProjectAudioOverrideConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectAudioOverrideConfigurationPropertyValidator(properties).assertSuccess(),{LanguageConfiguration:convertCfnDataAutomationProjectAudioLanguageConfigurationPropertyToCloudFormation(properties.languageConfiguration),ModalityProcessing:convertCfnDataAutomationProjectModalityProcessingConfigurationPropertyToCloudFormation(properties.modalityProcessing),SensitiveDataConfiguration:convertCfnDataAutomationProjectSensitiveDataConfigurationPropertyToCloudFormation(properties.sensitiveDataConfiguration)}):properties}function CfnDataAutomationProjectAudioOverrideConfigurationPropertyFromCloudFormation(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("languageConfiguration","LanguageConfiguration",properties.LanguageConfiguration!=null?CfnDataAutomationProjectAudioLanguageConfigurationPropertyFromCloudFormation(properties.LanguageConfiguration):void 0),ret.addPropertyResult("modalityProcessing","ModalityProcessing",properties.ModalityProcessing!=null?CfnDataAutomationProjectModalityProcessingConfigurationPropertyFromCloudFormation(properties.ModalityProcessing):void 0),ret.addPropertyResult("sensitiveDataConfiguration","SensitiveDataConfiguration",properties.SensitiveDataConfiguration!=null?CfnDataAutomationProjectSensitiveDataConfigurationPropertyFromCloudFormation(properties.SensitiveDataConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectVideoOverrideConfigurationPropertyValidator(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("modalityProcessing",CfnDataAutomationProjectModalityProcessingConfigurationPropertyValidator)(properties.modalityProcessing)),errors.collect(cdk().propertyValidator("sensitiveDataConfiguration",CfnDataAutomationProjectSensitiveDataConfigurationPropertyValidator)(properties.sensitiveDataConfiguration)),errors.wrap('supplied properties not correct for "VideoOverrideConfigurationProperty"')}function convertCfnDataAutomationProjectVideoOverrideConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectVideoOverrideConfigurationPropertyValidator(properties).assertSuccess(),{ModalityProcessing:convertCfnDataAutomationProjectModalityProcessingConfigurationPropertyToCloudFormation(properties.modalityProcessing),SensitiveDataConfiguration:convertCfnDataAutomationProjectSensitiveDataConfigurationPropertyToCloudFormation(properties.sensitiveDataConfiguration)}):properties}function CfnDataAutomationProjectVideoOverrideConfigurationPropertyFromCloudFormation(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("modalityProcessing","ModalityProcessing",properties.ModalityProcessing!=null?CfnDataAutomationProjectModalityProcessingConfigurationPropertyFromCloudFormation(properties.ModalityProcessing):void 0),ret.addPropertyResult("sensitiveDataConfiguration","SensitiveDataConfiguration",properties.SensitiveDataConfiguration!=null?CfnDataAutomationProjectSensitiveDataConfigurationPropertyFromCloudFormation(properties.SensitiveDataConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectImageOverrideConfigurationPropertyValidator(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("modalityProcessing",CfnDataAutomationProjectModalityProcessingConfigurationPropertyValidator)(properties.modalityProcessing)),errors.collect(cdk().propertyValidator("sensitiveDataConfiguration",CfnDataAutomationProjectSensitiveDataConfigurationPropertyValidator)(properties.sensitiveDataConfiguration)),errors.wrap('supplied properties not correct for "ImageOverrideConfigurationProperty"')}function convertCfnDataAutomationProjectImageOverrideConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectImageOverrideConfigurationPropertyValidator(properties).assertSuccess(),{ModalityProcessing:convertCfnDataAutomationProjectModalityProcessingConfigurationPropertyToCloudFormation(properties.modalityProcessing),SensitiveDataConfiguration:convertCfnDataAutomationProjectSensitiveDataConfigurationPropertyToCloudFormation(properties.sensitiveDataConfiguration)}):properties}function CfnDataAutomationProjectImageOverrideConfigurationPropertyFromCloudFormation(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("modalityProcessing","ModalityProcessing",properties.ModalityProcessing!=null?CfnDataAutomationProjectModalityProcessingConfigurationPropertyFromCloudFormation(properties.ModalityProcessing):void 0),ret.addPropertyResult("sensitiveDataConfiguration","SensitiveDataConfiguration",properties.SensitiveDataConfiguration!=null?CfnDataAutomationProjectSensitiveDataConfigurationPropertyFromCloudFormation(properties.SensitiveDataConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectModalityRoutingConfigurationPropertyValidator(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("jpeg",cdk().validateString)(properties.jpeg)),errors.collect(cdk().propertyValidator("mov",cdk().validateString)(properties.mov)),errors.collect(cdk().propertyValidator("mp4",cdk().validateString)(properties.mp4)),errors.collect(cdk().propertyValidator("png",cdk().validateString)(properties.png)),errors.wrap('supplied properties not correct for "ModalityRoutingConfigurationProperty"')}function convertCfnDataAutomationProjectModalityRoutingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectModalityRoutingConfigurationPropertyValidator(properties).assertSuccess(),{jpeg:cdk().stringToCloudFormation(properties.jpeg),mov:cdk().stringToCloudFormation(properties.mov),mp4:cdk().stringToCloudFormation(properties.mp4),png:cdk().stringToCloudFormation(properties.png)}):properties}function CfnDataAutomationProjectModalityRoutingConfigurationPropertyFromCloudFormation(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("jpeg","jpeg",properties.jpeg!=null?cfn_parse().FromCloudFormation.getString(properties.jpeg):void 0),ret.addPropertyResult("mov","mov",properties.mov!=null?cfn_parse().FromCloudFormation.getString(properties.mov):void 0),ret.addPropertyResult("mp4","mp4",properties.mp4!=null?cfn_parse().FromCloudFormation.getString(properties.mp4):void 0),ret.addPropertyResult("png","png",properties.png!=null?cfn_parse().FromCloudFormation.getString(properties.png):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectOverrideConfigurationPropertyValidator(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("audio",CfnDataAutomationProjectAudioOverrideConfigurationPropertyValidator)(properties.audio)),errors.collect(cdk().propertyValidator("document",CfnDataAutomationProjectDocumentOverrideConfigurationPropertyValidator)(properties.document)),errors.collect(cdk().propertyValidator("image",CfnDataAutomationProjectImageOverrideConfigurationPropertyValidator)(properties.image)),errors.collect(cdk().propertyValidator("modalityRouting",CfnDataAutomationProjectModalityRoutingConfigurationPropertyValidator)(properties.modalityRouting)),errors.collect(cdk().propertyValidator("video",CfnDataAutomationProjectVideoOverrideConfigurationPropertyValidator)(properties.video)),errors.wrap('supplied properties not correct for "OverrideConfigurationProperty"')}function convertCfnDataAutomationProjectOverrideConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectOverrideConfigurationPropertyValidator(properties).assertSuccess(),{Audio:convertCfnDataAutomationProjectAudioOverrideConfigurationPropertyToCloudFormation(properties.audio),Document:convertCfnDataAutomationProjectDocumentOverrideConfigurationPropertyToCloudFormation(properties.document),Image:convertCfnDataAutomationProjectImageOverrideConfigurationPropertyToCloudFormation(properties.image),ModalityRouting:convertCfnDataAutomationProjectModalityRoutingConfigurationPropertyToCloudFormation(properties.modalityRouting),Video:convertCfnDataAutomationProjectVideoOverrideConfigurationPropertyToCloudFormation(properties.video)}):properties}function CfnDataAutomationProjectOverrideConfigurationPropertyFromCloudFormation(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("audio","Audio",properties.Audio!=null?CfnDataAutomationProjectAudioOverrideConfigurationPropertyFromCloudFormation(properties.Audio):void 0),ret.addPropertyResult("document","Document",properties.Document!=null?CfnDataAutomationProjectDocumentOverrideConfigurationPropertyFromCloudFormation(properties.Document):void 0),ret.addPropertyResult("image","Image",properties.Image!=null?CfnDataAutomationProjectImageOverrideConfigurationPropertyFromCloudFormation(properties.Image):void 0),ret.addPropertyResult("modalityRouting","ModalityRouting",properties.ModalityRouting!=null?CfnDataAutomationProjectModalityRoutingConfigurationPropertyFromCloudFormation(properties.ModalityRouting):void 0),ret.addPropertyResult("video","Video",properties.Video!=null?CfnDataAutomationProjectVideoOverrideConfigurationPropertyFromCloudFormation(properties.Video):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectDocumentExtractionGranularityPropertyValidator(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("types",cdk().listValidator(cdk().validateString))(properties.types)),errors.wrap('supplied properties not correct for "DocumentExtractionGranularityProperty"')}function convertCfnDataAutomationProjectDocumentExtractionGranularityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectDocumentExtractionGranularityPropertyValidator(properties).assertSuccess(),{Types:cdk().listMapper(cdk().stringToCloudFormation)(properties.types)}):properties}function CfnDataAutomationProjectDocumentExtractionGranularityPropertyFromCloudFormation(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("types","Types",properties.Types!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Types):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectDocumentBoundingBoxPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "DocumentBoundingBoxProperty"')}function convertCfnDataAutomationProjectDocumentBoundingBoxPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectDocumentBoundingBoxPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnDataAutomationProjectDocumentBoundingBoxPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectDocumentStandardExtractionPropertyValidator(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("boundingBox",cdk().requiredValidator)(properties.boundingBox)),errors.collect(cdk().propertyValidator("boundingBox",CfnDataAutomationProjectDocumentBoundingBoxPropertyValidator)(properties.boundingBox)),errors.collect(cdk().propertyValidator("granularity",cdk().requiredValidator)(properties.granularity)),errors.collect(cdk().propertyValidator("granularity",CfnDataAutomationProjectDocumentExtractionGranularityPropertyValidator)(properties.granularity)),errors.wrap('supplied properties not correct for "DocumentStandardExtractionProperty"')}function convertCfnDataAutomationProjectDocumentStandardExtractionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectDocumentStandardExtractionPropertyValidator(properties).assertSuccess(),{BoundingBox:convertCfnDataAutomationProjectDocumentBoundingBoxPropertyToCloudFormation(properties.boundingBox),Granularity:convertCfnDataAutomationProjectDocumentExtractionGranularityPropertyToCloudFormation(properties.granularity)}):properties}function CfnDataAutomationProjectDocumentStandardExtractionPropertyFromCloudFormation(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("boundingBox","BoundingBox",properties.BoundingBox!=null?CfnDataAutomationProjectDocumentBoundingBoxPropertyFromCloudFormation(properties.BoundingBox):void 0),ret.addPropertyResult("granularity","Granularity",properties.Granularity!=null?CfnDataAutomationProjectDocumentExtractionGranularityPropertyFromCloudFormation(properties.Granularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectDocumentStandardGenerativeFieldPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "DocumentStandardGenerativeFieldProperty"')}function convertCfnDataAutomationProjectDocumentStandardGenerativeFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectDocumentStandardGenerativeFieldPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnDataAutomationProjectDocumentStandardGenerativeFieldPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectDocumentOutputTextFormatPropertyValidator(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("types",cdk().listValidator(cdk().validateString))(properties.types)),errors.wrap('supplied properties not correct for "DocumentOutputTextFormatProperty"')}function convertCfnDataAutomationProjectDocumentOutputTextFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectDocumentOutputTextFormatPropertyValidator(properties).assertSuccess(),{Types:cdk().listMapper(cdk().stringToCloudFormation)(properties.types)}):properties}function CfnDataAutomationProjectDocumentOutputTextFormatPropertyFromCloudFormation(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("types","Types",properties.Types!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Types):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectDocumentOutputAdditionalFileFormatPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "DocumentOutputAdditionalFileFormatProperty"')}function convertCfnDataAutomationProjectDocumentOutputAdditionalFileFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectDocumentOutputAdditionalFileFormatPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnDataAutomationProjectDocumentOutputAdditionalFileFormatPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectDocumentOutputFormatPropertyValidator(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("additionalFileFormat",cdk().requiredValidator)(properties.additionalFileFormat)),errors.collect(cdk().propertyValidator("additionalFileFormat",CfnDataAutomationProjectDocumentOutputAdditionalFileFormatPropertyValidator)(properties.additionalFileFormat)),errors.collect(cdk().propertyValidator("textFormat",cdk().requiredValidator)(properties.textFormat)),errors.collect(cdk().propertyValidator("textFormat",CfnDataAutomationProjectDocumentOutputTextFormatPropertyValidator)(properties.textFormat)),errors.wrap('supplied properties not correct for "DocumentOutputFormatProperty"')}function convertCfnDataAutomationProjectDocumentOutputFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectDocumentOutputFormatPropertyValidator(properties).assertSuccess(),{AdditionalFileFormat:convertCfnDataAutomationProjectDocumentOutputAdditionalFileFormatPropertyToCloudFormation(properties.additionalFileFormat),TextFormat:convertCfnDataAutomationProjectDocumentOutputTextFormatPropertyToCloudFormation(properties.textFormat)}):properties}function CfnDataAutomationProjectDocumentOutputFormatPropertyFromCloudFormation(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("additionalFileFormat","AdditionalFileFormat",properties.AdditionalFileFormat!=null?CfnDataAutomationProjectDocumentOutputAdditionalFileFormatPropertyFromCloudFormation(properties.AdditionalFileFormat):void 0),ret.addPropertyResult("textFormat","TextFormat",properties.TextFormat!=null?CfnDataAutomationProjectDocumentOutputTextFormatPropertyFromCloudFormation(properties.TextFormat):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectDocumentStandardOutputConfigurationPropertyValidator(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("extraction",CfnDataAutomationProjectDocumentStandardExtractionPropertyValidator)(properties.extraction)),errors.collect(cdk().propertyValidator("generativeField",CfnDataAutomationProjectDocumentStandardGenerativeFieldPropertyValidator)(properties.generativeField)),errors.collect(cdk().propertyValidator("outputFormat",CfnDataAutomationProjectDocumentOutputFormatPropertyValidator)(properties.outputFormat)),errors.wrap('supplied properties not correct for "DocumentStandardOutputConfigurationProperty"')}function convertCfnDataAutomationProjectDocumentStandardOutputConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectDocumentStandardOutputConfigurationPropertyValidator(properties).assertSuccess(),{Extraction:convertCfnDataAutomationProjectDocumentStandardExtractionPropertyToCloudFormation(properties.extraction),GenerativeField:convertCfnDataAutomationProjectDocumentStandardGenerativeFieldPropertyToCloudFormation(properties.generativeField),OutputFormat:convertCfnDataAutomationProjectDocumentOutputFormatPropertyToCloudFormation(properties.outputFormat)}):properties}function CfnDataAutomationProjectDocumentStandardOutputConfigurationPropertyFromCloudFormation(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("extraction","Extraction",properties.Extraction!=null?CfnDataAutomationProjectDocumentStandardExtractionPropertyFromCloudFormation(properties.Extraction):void 0),ret.addPropertyResult("generativeField","GenerativeField",properties.GenerativeField!=null?CfnDataAutomationProjectDocumentStandardGenerativeFieldPropertyFromCloudFormation(properties.GenerativeField):void 0),ret.addPropertyResult("outputFormat","OutputFormat",properties.OutputFormat!=null?CfnDataAutomationProjectDocumentOutputFormatPropertyFromCloudFormation(properties.OutputFormat):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectImageExtractionCategoryPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("types",cdk().listValidator(cdk().validateString))(properties.types)),errors.wrap('supplied properties not correct for "ImageExtractionCategoryProperty"')}function convertCfnDataAutomationProjectImageExtractionCategoryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectImageExtractionCategoryPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state),Types:cdk().listMapper(cdk().stringToCloudFormation)(properties.types)}):properties}function CfnDataAutomationProjectImageExtractionCategoryPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("types","Types",properties.Types!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Types):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectImageBoundingBoxPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "ImageBoundingBoxProperty"')}function convertCfnDataAutomationProjectImageBoundingBoxPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectImageBoundingBoxPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnDataAutomationProjectImageBoundingBoxPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectImageStandardExtractionPropertyValidator(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("boundingBox",cdk().requiredValidator)(properties.boundingBox)),errors.collect(cdk().propertyValidator("boundingBox",CfnDataAutomationProjectImageBoundingBoxPropertyValidator)(properties.boundingBox)),errors.collect(cdk().propertyValidator("category",cdk().requiredValidator)(properties.category)),errors.collect(cdk().propertyValidator("category",CfnDataAutomationProjectImageExtractionCategoryPropertyValidator)(properties.category)),errors.wrap('supplied properties not correct for "ImageStandardExtractionProperty"')}function convertCfnDataAutomationProjectImageStandardExtractionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectImageStandardExtractionPropertyValidator(properties).assertSuccess(),{BoundingBox:convertCfnDataAutomationProjectImageBoundingBoxPropertyToCloudFormation(properties.boundingBox),Category:convertCfnDataAutomationProjectImageExtractionCategoryPropertyToCloudFormation(properties.category)}):properties}function CfnDataAutomationProjectImageStandardExtractionPropertyFromCloudFormation(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("boundingBox","BoundingBox",properties.BoundingBox!=null?CfnDataAutomationProjectImageBoundingBoxPropertyFromCloudFormation(properties.BoundingBox):void 0),ret.addPropertyResult("category","Category",properties.Category!=null?CfnDataAutomationProjectImageExtractionCategoryPropertyFromCloudFormation(properties.Category):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectImageStandardGenerativeFieldPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("types",cdk().listValidator(cdk().validateString))(properties.types)),errors.wrap('supplied properties not correct for "ImageStandardGenerativeFieldProperty"')}function convertCfnDataAutomationProjectImageStandardGenerativeFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectImageStandardGenerativeFieldPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state),Types:cdk().listMapper(cdk().stringToCloudFormation)(properties.types)}):properties}function CfnDataAutomationProjectImageStandardGenerativeFieldPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("types","Types",properties.Types!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Types):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectImageStandardOutputConfigurationPropertyValidator(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("extraction",CfnDataAutomationProjectImageStandardExtractionPropertyValidator)(properties.extraction)),errors.collect(cdk().propertyValidator("generativeField",CfnDataAutomationProjectImageStandardGenerativeFieldPropertyValidator)(properties.generativeField)),errors.wrap('supplied properties not correct for "ImageStandardOutputConfigurationProperty"')}function convertCfnDataAutomationProjectImageStandardOutputConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectImageStandardOutputConfigurationPropertyValidator(properties).assertSuccess(),{Extraction:convertCfnDataAutomationProjectImageStandardExtractionPropertyToCloudFormation(properties.extraction),GenerativeField:convertCfnDataAutomationProjectImageStandardGenerativeFieldPropertyToCloudFormation(properties.generativeField)}):properties}function CfnDataAutomationProjectImageStandardOutputConfigurationPropertyFromCloudFormation(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("extraction","Extraction",properties.Extraction!=null?CfnDataAutomationProjectImageStandardExtractionPropertyFromCloudFormation(properties.Extraction):void 0),ret.addPropertyResult("generativeField","GenerativeField",properties.GenerativeField!=null?CfnDataAutomationProjectImageStandardGenerativeFieldPropertyFromCloudFormation(properties.GenerativeField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectVideoExtractionCategoryPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("types",cdk().listValidator(cdk().validateString))(properties.types)),errors.wrap('supplied properties not correct for "VideoExtractionCategoryProperty"')}function convertCfnDataAutomationProjectVideoExtractionCategoryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectVideoExtractionCategoryPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state),Types:cdk().listMapper(cdk().stringToCloudFormation)(properties.types)}):properties}function CfnDataAutomationProjectVideoExtractionCategoryPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("types","Types",properties.Types!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Types):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectVideoBoundingBoxPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "VideoBoundingBoxProperty"')}function convertCfnDataAutomationProjectVideoBoundingBoxPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectVideoBoundingBoxPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnDataAutomationProjectVideoBoundingBoxPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectVideoStandardExtractionPropertyValidator(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("boundingBox",cdk().requiredValidator)(properties.boundingBox)),errors.collect(cdk().propertyValidator("boundingBox",CfnDataAutomationProjectVideoBoundingBoxPropertyValidator)(properties.boundingBox)),errors.collect(cdk().propertyValidator("category",cdk().requiredValidator)(properties.category)),errors.collect(cdk().propertyValidator("category",CfnDataAutomationProjectVideoExtractionCategoryPropertyValidator)(properties.category)),errors.wrap('supplied properties not correct for "VideoStandardExtractionProperty"')}function convertCfnDataAutomationProjectVideoStandardExtractionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectVideoStandardExtractionPropertyValidator(properties).assertSuccess(),{BoundingBox:convertCfnDataAutomationProjectVideoBoundingBoxPropertyToCloudFormation(properties.boundingBox),Category:convertCfnDataAutomationProjectVideoExtractionCategoryPropertyToCloudFormation(properties.category)}):properties}function CfnDataAutomationProjectVideoStandardExtractionPropertyFromCloudFormation(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("boundingBox","BoundingBox",properties.BoundingBox!=null?CfnDataAutomationProjectVideoBoundingBoxPropertyFromCloudFormation(properties.BoundingBox):void 0),ret.addPropertyResult("category","Category",properties.Category!=null?CfnDataAutomationProjectVideoExtractionCategoryPropertyFromCloudFormation(properties.Category):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectVideoStandardGenerativeFieldPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("types",cdk().listValidator(cdk().validateString))(properties.types)),errors.wrap('supplied properties not correct for "VideoStandardGenerativeFieldProperty"')}function convertCfnDataAutomationProjectVideoStandardGenerativeFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectVideoStandardGenerativeFieldPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state),Types:cdk().listMapper(cdk().stringToCloudFormation)(properties.types)}):properties}function CfnDataAutomationProjectVideoStandardGenerativeFieldPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("types","Types",properties.Types!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Types):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectVideoStandardOutputConfigurationPropertyValidator(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("extraction",CfnDataAutomationProjectVideoStandardExtractionPropertyValidator)(properties.extraction)),errors.collect(cdk().propertyValidator("generativeField",CfnDataAutomationProjectVideoStandardGenerativeFieldPropertyValidator)(properties.generativeField)),errors.wrap('supplied properties not correct for "VideoStandardOutputConfigurationProperty"')}function convertCfnDataAutomationProjectVideoStandardOutputConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectVideoStandardOutputConfigurationPropertyValidator(properties).assertSuccess(),{Extraction:convertCfnDataAutomationProjectVideoStandardExtractionPropertyToCloudFormation(properties.extraction),GenerativeField:convertCfnDataAutomationProjectVideoStandardGenerativeFieldPropertyToCloudFormation(properties.generativeField)}):properties}function CfnDataAutomationProjectVideoStandardOutputConfigurationPropertyFromCloudFormation(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("extraction","Extraction",properties.Extraction!=null?CfnDataAutomationProjectVideoStandardExtractionPropertyFromCloudFormation(properties.Extraction):void 0),ret.addPropertyResult("generativeField","GenerativeField",properties.GenerativeField!=null?CfnDataAutomationProjectVideoStandardGenerativeFieldPropertyFromCloudFormation(properties.GenerativeField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectSpeakerLabelingConfigurationPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "SpeakerLabelingConfigurationProperty"')}function convertCfnDataAutomationProjectSpeakerLabelingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectSpeakerLabelingConfigurationPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnDataAutomationProjectSpeakerLabelingConfigurationPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectChannelLabelingConfigurationPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "ChannelLabelingConfigurationProperty"')}function convertCfnDataAutomationProjectChannelLabelingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectChannelLabelingConfigurationPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnDataAutomationProjectChannelLabelingConfigurationPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectTranscriptConfigurationPropertyValidator(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("channelLabeling",CfnDataAutomationProjectChannelLabelingConfigurationPropertyValidator)(properties.channelLabeling)),errors.collect(cdk().propertyValidator("speakerLabeling",CfnDataAutomationProjectSpeakerLabelingConfigurationPropertyValidator)(properties.speakerLabeling)),errors.wrap('supplied properties not correct for "TranscriptConfigurationProperty"')}function convertCfnDataAutomationProjectTranscriptConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectTranscriptConfigurationPropertyValidator(properties).assertSuccess(),{ChannelLabeling:convertCfnDataAutomationProjectChannelLabelingConfigurationPropertyToCloudFormation(properties.channelLabeling),SpeakerLabeling:convertCfnDataAutomationProjectSpeakerLabelingConfigurationPropertyToCloudFormation(properties.speakerLabeling)}):properties}function CfnDataAutomationProjectTranscriptConfigurationPropertyFromCloudFormation(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("channelLabeling","ChannelLabeling",properties.ChannelLabeling!=null?CfnDataAutomationProjectChannelLabelingConfigurationPropertyFromCloudFormation(properties.ChannelLabeling):void 0),ret.addPropertyResult("speakerLabeling","SpeakerLabeling",properties.SpeakerLabeling!=null?CfnDataAutomationProjectSpeakerLabelingConfigurationPropertyFromCloudFormation(properties.SpeakerLabeling):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectAudioExtractionCategoryTypeConfigurationPropertyValidator(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("transcript",CfnDataAutomationProjectTranscriptConfigurationPropertyValidator)(properties.transcript)),errors.wrap('supplied properties not correct for "AudioExtractionCategoryTypeConfigurationProperty"')}function convertCfnDataAutomationProjectAudioExtractionCategoryTypeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectAudioExtractionCategoryTypeConfigurationPropertyValidator(properties).assertSuccess(),{Transcript:convertCfnDataAutomationProjectTranscriptConfigurationPropertyToCloudFormation(properties.transcript)}):properties}function CfnDataAutomationProjectAudioExtractionCategoryTypeConfigurationPropertyFromCloudFormation(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("transcript","Transcript",properties.Transcript!=null?CfnDataAutomationProjectTranscriptConfigurationPropertyFromCloudFormation(properties.Transcript):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectAudioExtractionCategoryPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("typeConfiguration",CfnDataAutomationProjectAudioExtractionCategoryTypeConfigurationPropertyValidator)(properties.typeConfiguration)),errors.collect(cdk().propertyValidator("types",cdk().listValidator(cdk().validateString))(properties.types)),errors.wrap('supplied properties not correct for "AudioExtractionCategoryProperty"')}function convertCfnDataAutomationProjectAudioExtractionCategoryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectAudioExtractionCategoryPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state),TypeConfiguration:convertCfnDataAutomationProjectAudioExtractionCategoryTypeConfigurationPropertyToCloudFormation(properties.typeConfiguration),Types:cdk().listMapper(cdk().stringToCloudFormation)(properties.types)}):properties}function CfnDataAutomationProjectAudioExtractionCategoryPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("typeConfiguration","TypeConfiguration",properties.TypeConfiguration!=null?CfnDataAutomationProjectAudioExtractionCategoryTypeConfigurationPropertyFromCloudFormation(properties.TypeConfiguration):void 0),ret.addPropertyResult("types","Types",properties.Types!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Types):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectAudioStandardExtractionPropertyValidator(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("category",cdk().requiredValidator)(properties.category)),errors.collect(cdk().propertyValidator("category",CfnDataAutomationProjectAudioExtractionCategoryPropertyValidator)(properties.category)),errors.wrap('supplied properties not correct for "AudioStandardExtractionProperty"')}function convertCfnDataAutomationProjectAudioStandardExtractionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectAudioStandardExtractionPropertyValidator(properties).assertSuccess(),{Category:convertCfnDataAutomationProjectAudioExtractionCategoryPropertyToCloudFormation(properties.category)}):properties}function CfnDataAutomationProjectAudioStandardExtractionPropertyFromCloudFormation(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("category","Category",properties.Category!=null?CfnDataAutomationProjectAudioExtractionCategoryPropertyFromCloudFormation(properties.Category):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectAudioStandardGenerativeFieldPropertyValidator(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("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("types",cdk().listValidator(cdk().validateString))(properties.types)),errors.wrap('supplied properties not correct for "AudioStandardGenerativeFieldProperty"')}function convertCfnDataAutomationProjectAudioStandardGenerativeFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectAudioStandardGenerativeFieldPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state),Types:cdk().listMapper(cdk().stringToCloudFormation)(properties.types)}):properties}function CfnDataAutomationProjectAudioStandardGenerativeFieldPropertyFromCloudFormation(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("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("types","Types",properties.Types!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Types):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectAudioStandardOutputConfigurationPropertyValidator(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("extraction",CfnDataAutomationProjectAudioStandardExtractionPropertyValidator)(properties.extraction)),errors.collect(cdk().propertyValidator("generativeField",CfnDataAutomationProjectAudioStandardGenerativeFieldPropertyValidator)(properties.generativeField)),errors.wrap('supplied properties not correct for "AudioStandardOutputConfigurationProperty"')}function convertCfnDataAutomationProjectAudioStandardOutputConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectAudioStandardOutputConfigurationPropertyValidator(properties).assertSuccess(),{Extraction:convertCfnDataAutomationProjectAudioStandardExtractionPropertyToCloudFormation(properties.extraction),GenerativeField:convertCfnDataAutomationProjectAudioStandardGenerativeFieldPropertyToCloudFormation(properties.generativeField)}):properties}function CfnDataAutomationProjectAudioStandardOutputConfigurationPropertyFromCloudFormation(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("extraction","Extraction",properties.Extraction!=null?CfnDataAutomationProjectAudioStandardExtractionPropertyFromCloudFormation(properties.Extraction):void 0),ret.addPropertyResult("generativeField","GenerativeField",properties.GenerativeField!=null?CfnDataAutomationProjectAudioStandardGenerativeFieldPropertyFromCloudFormation(properties.GenerativeField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectStandardOutputConfigurationPropertyValidator(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("audio",CfnDataAutomationProjectAudioStandardOutputConfigurationPropertyValidator)(properties.audio)),errors.collect(cdk().propertyValidator("document",CfnDataAutomationProjectDocumentStandardOutputConfigurationPropertyValidator)(properties.document)),errors.collect(cdk().propertyValidator("image",CfnDataAutomationProjectImageStandardOutputConfigurationPropertyValidator)(properties.image)),errors.collect(cdk().propertyValidator("video",CfnDataAutomationProjectVideoStandardOutputConfigurationPropertyValidator)(properties.video)),errors.wrap('supplied properties not correct for "StandardOutputConfigurationProperty"')}function convertCfnDataAutomationProjectStandardOutputConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectStandardOutputConfigurationPropertyValidator(properties).assertSuccess(),{Audio:convertCfnDataAutomationProjectAudioStandardOutputConfigurationPropertyToCloudFormation(properties.audio),Document:convertCfnDataAutomationProjectDocumentStandardOutputConfigurationPropertyToCloudFormation(properties.document),Image:convertCfnDataAutomationProjectImageStandardOutputConfigurationPropertyToCloudFormation(properties.image),Video:convertCfnDataAutomationProjectVideoStandardOutputConfigurationPropertyToCloudFormation(properties.video)}):properties}function CfnDataAutomationProjectStandardOutputConfigurationPropertyFromCloudFormation(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("audio","Audio",properties.Audio!=null?CfnDataAutomationProjectAudioStandardOutputConfigurationPropertyFromCloudFormation(properties.Audio):void 0),ret.addPropertyResult("document","Document",properties.Document!=null?CfnDataAutomationProjectDocumentStandardOutputConfigurationPropertyFromCloudFormation(properties.Document):void 0),ret.addPropertyResult("image","Image",properties.Image!=null?CfnDataAutomationProjectImageStandardOutputConfigurationPropertyFromCloudFormation(properties.Image):void 0),ret.addPropertyResult("video","Video",properties.Video!=null?CfnDataAutomationProjectVideoStandardOutputConfigurationPropertyFromCloudFormation(properties.Video):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataAutomationProjectPropsValidator(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("customOutputConfiguration",CfnDataAutomationProjectCustomOutputConfigurationPropertyValidator)(properties.customOutputConfiguration)),errors.collect(cdk().propertyValidator("kmsEncryptionContext",cdk().hashValidator(cdk().validateString))(properties.kmsEncryptionContext)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("overrideConfiguration",CfnDataAutomationProjectOverrideConfigurationPropertyValidator)(properties.overrideConfiguration)),errors.collect(cdk().propertyValidator("projectDescription",cdk().validateString)(properties.projectDescription)),errors.collect(cdk().propertyValidator("projectName",cdk().requiredValidator)(properties.projectName)),errors.collect(cdk().propertyValidator("projectName",cdk().validateString)(properties.projectName)),errors.collect(cdk().propertyValidator("projectType",cdk().validateString)(properties.projectType)),errors.collect(cdk().propertyValidator("standardOutputConfiguration",CfnDataAutomationProjectStandardOutputConfigurationPropertyValidator)(properties.standardOutputConfiguration)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDataAutomationProjectProps"')}function convertCfnDataAutomationProjectPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataAutomationProjectPropsValidator(properties).assertSuccess(),{CustomOutputConfiguration:convertCfnDataAutomationProjectCustomOutputConfigurationPropertyToCloudFormation(properties.customOutputConfiguration),KmsEncryptionContext:cdk().hashMapper(cdk().stringToCloudFormation)(properties.kmsEncryptionContext),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),OverrideConfiguration:convertCfnDataAutomationProjectOverrideConfigurationPropertyToCloudFormation(properties.overrideConfiguration),ProjectDescription:cdk().stringToCloudFormation(properties.projectDescription),ProjectName:cdk().stringToCloudFormation(properties.projectName),ProjectType:cdk().stringToCloudFormation(properties.projectType),StandardOutputConfiguration:convertCfnDataAutomationProjectStandardOutputConfigurationPropertyToCloudFormation(properties.standardOutputConfiguration),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDataAutomationProjectPropsFromCloudFormation(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("customOutputConfiguration","CustomOutputConfiguration",properties.CustomOutputConfiguration!=null?CfnDataAutomationProjectCustomOutputConfigurationPropertyFromCloudFormation(properties.CustomOutputConfiguration):void 0),ret.addPropertyResult("kmsEncryptionContext","KmsEncryptionContext",properties.KmsEncryptionContext!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.KmsEncryptionContext):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("overrideConfiguration","OverrideConfiguration",properties.OverrideConfiguration!=null?CfnDataAutomationProjectOverrideConfigurationPropertyFromCloudFormation(properties.OverrideConfiguration):void 0),ret.addPropertyResult("projectDescription","ProjectDescription",properties.ProjectDescription!=null?cfn_parse().FromCloudFormation.getString(properties.ProjectDescription):void 0),ret.addPropertyResult("projectName","ProjectName",properties.ProjectName!=null?cfn_parse().FromCloudFormation.getString(properties.ProjectName):void 0),ret.addPropertyResult("projectType","ProjectType",properties.ProjectType!=null?cfn_parse().FromCloudFormation.getString(properties.ProjectType):void 0),ret.addPropertyResult("standardOutputConfiguration","StandardOutputConfiguration",properties.StandardOutputConfiguration!=null?CfnDataAutomationProjectStandardOutputConfigurationPropertyFromCloudFormation(properties.StandardOutputConfiguration):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 CfnDataSource extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnDataSource",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::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}_dataDeletionPolicy;_dataSourceConfiguration;_description;_knowledgeBaseId;_name;_serverSideEncryptionConfiguration;_vectorIngestionConfiguration;cfnPropertyNames={dataDeletionPolicy:"DataDeletionPolicy",dataSourceConfiguration:"DataSourceConfiguration",description:"Description",knowledgeBaseId:"KnowledgeBaseId",name:"Name",serverSideEncryptionConfiguration:"ServerSideEncryptionConfiguration",vectorIngestionConfiguration:"VectorIngestionConfiguration"};constructor(scope,id,props){super(scope,id,{type:CfnDataSource.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnDataSourceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataSource),error}cdk().requireProperty(props,"dataSourceConfiguration",this),cdk().requireProperty(props,"knowledgeBaseId",this),cdk().requireProperty(props,"name",this),this._dataDeletionPolicy=props.dataDeletionPolicy,this._dataSourceConfiguration=props.dataSourceConfiguration,this._description=props.description,this._knowledgeBaseId=props.knowledgeBaseId,this._name=props.name,this._serverSideEncryptionConfiguration=props.serverSideEncryptionConfiguration,this._vectorIngestionConfiguration=props.vectorIngestionConfiguration}get dataSourceRef(){return{knowledgeBaseId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),dataSourceId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get dataDeletionPolicy(){return this._dataDeletionPolicy}set dataDeletionPolicy(value){cdk().traceProperty(this.node,"DataDeletionPolicy"),this._dataDeletionPolicy=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 knowledgeBaseId(){return this._knowledgeBaseId}set knowledgeBaseId(value){cdk().traceProperty(this.node,"KnowledgeBaseId"),this._knowledgeBaseId=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get serverSideEncryptionConfiguration(){return this._serverSideEncryptionConfiguration}set serverSideEncryptionConfiguration(value){cdk().traceProperty(this.node,"ServerSideEncryptionConfiguration"),this._serverSideEncryptionConfiguration=value}get vectorIngestionConfiguration(){return this._vectorIngestionConfiguration}set vectorIngestionConfiguration(value){cdk().traceProperty(this.node,"VectorIngestionConfiguration"),this._vectorIngestionConfiguration=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrDataSourceConfigurationWebConfigurationCrawlerConfigurationUserAgentHeader(){return cdk().Token.asString(this.getAtt("DataSourceConfiguration.WebConfiguration.CrawlerConfiguration.UserAgentHeader",cdk().ResolutionTypeHint.STRING))}get attrDataSourceId(){return cdk().Token.asString(this.getAtt("DataSourceId",cdk().ResolutionTypeHint.STRING))}get attrDataSourceStatus(){return cdk().Token.asString(this.getAtt("DataSourceStatus",cdk().ResolutionTypeHint.STRING))}get attrFailureReasons(){return cdk().Token.asList(this.getAtt("FailureReasons",cdk().ResolutionTypeHint.STRING_LIST))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{dataDeletionPolicy:this._dataDeletionPolicy,dataSourceConfiguration:this._dataSourceConfiguration,description:this._description,knowledgeBaseId:this._knowledgeBaseId,name:this._name,serverSideEncryptionConfiguration:this._serverSideEncryptionConfiguration,vectorIngestionConfiguration:this._vectorIngestionConfiguration}}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 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("bucketArn",cdk().requiredValidator)(properties.bucketArn)),errors.collect(cdk().propertyValidator("bucketArn",cdk().validateString)(properties.bucketArn)),errors.collect(cdk().propertyValidator("bucketOwnerAccountId",cdk().validateString)(properties.bucketOwnerAccountId)),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(),{BucketArn:cdk().stringToCloudFormation(properties.bucketArn),BucketOwnerAccountId:cdk().stringToCloudFormation(properties.bucketOwnerAccountId),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("bucketArn","BucketArn",properties.BucketArn!=null?cfn_parse().FromCloudFormation.getString(properties.BucketArn):void 0),ret.addPropertyResult("bucketOwnerAccountId","BucketOwnerAccountId",properties.BucketOwnerAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.BucketOwnerAccountId):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 CfnDataSourceConfluenceSourceConfigurationPropertyValidator(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("authType",cdk().requiredValidator)(properties.authType)),errors.collect(cdk().propertyValidator("authType",cdk().validateString)(properties.authType)),errors.collect(cdk().propertyValidator("credentialsSecretArn",cdk().requiredValidator)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("credentialsSecretArn",cdk().validateString)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("hostType",cdk().requiredValidator)(properties.hostType)),errors.collect(cdk().propertyValidator("hostType",cdk().validateString)(properties.hostType)),errors.collect(cdk().propertyValidator("hostUrl",cdk().requiredValidator)(properties.hostUrl)),errors.collect(cdk().propertyValidator("hostUrl",cdk().validateString)(properties.hostUrl)),errors.wrap('supplied properties not correct for "ConfluenceSourceConfigurationProperty"')}function convertCfnDataSourceConfluenceSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluenceSourceConfigurationPropertyValidator(properties).assertSuccess(),{AuthType:cdk().stringToCloudFormation(properties.authType),CredentialsSecretArn:cdk().stringToCloudFormation(properties.credentialsSecretArn),HostType:cdk().stringToCloudFormation(properties.hostType),HostUrl:cdk().stringToCloudFormation(properties.hostUrl)}):properties}function CfnDataSourceConfluenceSourceConfigurationPropertyFromCloudFormation(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("authType","AuthType",properties.AuthType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthType):void 0),ret.addPropertyResult("credentialsSecretArn","CredentialsSecretArn",properties.CredentialsSecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.CredentialsSecretArn):void 0),ret.addPropertyResult("hostType","HostType",properties.HostType!=null?cfn_parse().FromCloudFormation.getString(properties.HostType):void 0),ret.addPropertyResult("hostUrl","HostUrl",properties.HostUrl!=null?cfn_parse().FromCloudFormation.getString(properties.HostUrl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourcePatternObjectFilterPropertyValidator(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("exclusionFilters",cdk().listValidator(cdk().validateString))(properties.exclusionFilters)),errors.collect(cdk().propertyValidator("inclusionFilters",cdk().listValidator(cdk().validateString))(properties.inclusionFilters)),errors.collect(cdk().propertyValidator("objectType",cdk().requiredValidator)(properties.objectType)),errors.collect(cdk().propertyValidator("objectType",cdk().validateString)(properties.objectType)),errors.wrap('supplied properties not correct for "PatternObjectFilterProperty"')}function convertCfnDataSourcePatternObjectFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourcePatternObjectFilterPropertyValidator(properties).assertSuccess(),{ExclusionFilters:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusionFilters),InclusionFilters:cdk().listMapper(cdk().stringToCloudFormation)(properties.inclusionFilters),ObjectType:cdk().stringToCloudFormation(properties.objectType)}):properties}function CfnDataSourcePatternObjectFilterPropertyFromCloudFormation(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("exclusionFilters","ExclusionFilters",properties.ExclusionFilters!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExclusionFilters):void 0),ret.addPropertyResult("inclusionFilters","InclusionFilters",properties.InclusionFilters!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InclusionFilters):void 0),ret.addPropertyResult("objectType","ObjectType",properties.ObjectType!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourcePatternObjectFilterConfigurationPropertyValidator(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("filters",cdk().requiredValidator)(properties.filters)),errors.collect(cdk().propertyValidator("filters",cdk().listValidator(CfnDataSourcePatternObjectFilterPropertyValidator))(properties.filters)),errors.wrap('supplied properties not correct for "PatternObjectFilterConfigurationProperty"')}function convertCfnDataSourcePatternObjectFilterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourcePatternObjectFilterConfigurationPropertyValidator(properties).assertSuccess(),{Filters:cdk().listMapper(convertCfnDataSourcePatternObjectFilterPropertyToCloudFormation)(properties.filters)}):properties}function CfnDataSourcePatternObjectFilterConfigurationPropertyFromCloudFormation(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("filters","Filters",properties.Filters!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourcePatternObjectFilterPropertyFromCloudFormation)(properties.Filters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceCrawlFilterConfigurationPropertyValidator(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("patternObjectFilter",CfnDataSourcePatternObjectFilterConfigurationPropertyValidator)(properties.patternObjectFilter)),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 "CrawlFilterConfigurationProperty"')}function convertCfnDataSourceCrawlFilterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceCrawlFilterConfigurationPropertyValidator(properties).assertSuccess(),{PatternObjectFilter:convertCfnDataSourcePatternObjectFilterConfigurationPropertyToCloudFormation(properties.patternObjectFilter),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDataSourceCrawlFilterConfigurationPropertyFromCloudFormation(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("patternObjectFilter","PatternObjectFilter",properties.PatternObjectFilter!=null?CfnDataSourcePatternObjectFilterConfigurationPropertyFromCloudFormation(properties.PatternObjectFilter):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConfluenceCrawlerConfigurationPropertyValidator(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("filterConfiguration",CfnDataSourceCrawlFilterConfigurationPropertyValidator)(properties.filterConfiguration)),errors.wrap('supplied properties not correct for "ConfluenceCrawlerConfigurationProperty"')}function convertCfnDataSourceConfluenceCrawlerConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluenceCrawlerConfigurationPropertyValidator(properties).assertSuccess(),{FilterConfiguration:convertCfnDataSourceCrawlFilterConfigurationPropertyToCloudFormation(properties.filterConfiguration)}):properties}function CfnDataSourceConfluenceCrawlerConfigurationPropertyFromCloudFormation(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("filterConfiguration","FilterConfiguration",properties.FilterConfiguration!=null?CfnDataSourceCrawlFilterConfigurationPropertyFromCloudFormation(properties.FilterConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceConfluenceDataSourceConfigurationPropertyValidator(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("crawlerConfiguration",CfnDataSourceConfluenceCrawlerConfigurationPropertyValidator)(properties.crawlerConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",cdk().requiredValidator)(properties.sourceConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",CfnDataSourceConfluenceSourceConfigurationPropertyValidator)(properties.sourceConfiguration)),errors.wrap('supplied properties not correct for "ConfluenceDataSourceConfigurationProperty"')}function convertCfnDataSourceConfluenceDataSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceConfluenceDataSourceConfigurationPropertyValidator(properties).assertSuccess(),{CrawlerConfiguration:convertCfnDataSourceConfluenceCrawlerConfigurationPropertyToCloudFormation(properties.crawlerConfiguration),SourceConfiguration:convertCfnDataSourceConfluenceSourceConfigurationPropertyToCloudFormation(properties.sourceConfiguration)}):properties}function CfnDataSourceConfluenceDataSourceConfigurationPropertyFromCloudFormation(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("crawlerConfiguration","CrawlerConfiguration",properties.CrawlerConfiguration!=null?CfnDataSourceConfluenceCrawlerConfigurationPropertyFromCloudFormation(properties.CrawlerConfiguration):void 0),ret.addPropertyResult("sourceConfiguration","SourceConfiguration",properties.SourceConfiguration!=null?CfnDataSourceConfluenceSourceConfigurationPropertyFromCloudFormation(properties.SourceConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSalesforceSourceConfigurationPropertyValidator(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("authType",cdk().requiredValidator)(properties.authType)),errors.collect(cdk().propertyValidator("authType",cdk().validateString)(properties.authType)),errors.collect(cdk().propertyValidator("credentialsSecretArn",cdk().requiredValidator)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("credentialsSecretArn",cdk().validateString)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("hostUrl",cdk().requiredValidator)(properties.hostUrl)),errors.collect(cdk().propertyValidator("hostUrl",cdk().validateString)(properties.hostUrl)),errors.wrap('supplied properties not correct for "SalesforceSourceConfigurationProperty"')}function convertCfnDataSourceSalesforceSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSalesforceSourceConfigurationPropertyValidator(properties).assertSuccess(),{AuthType:cdk().stringToCloudFormation(properties.authType),CredentialsSecretArn:cdk().stringToCloudFormation(properties.credentialsSecretArn),HostUrl:cdk().stringToCloudFormation(properties.hostUrl)}):properties}function CfnDataSourceSalesforceSourceConfigurationPropertyFromCloudFormation(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("authType","AuthType",properties.AuthType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthType):void 0),ret.addPropertyResult("credentialsSecretArn","CredentialsSecretArn",properties.CredentialsSecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.CredentialsSecretArn):void 0),ret.addPropertyResult("hostUrl","HostUrl",properties.HostUrl!=null?cfn_parse().FromCloudFormation.getString(properties.HostUrl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSalesforceCrawlerConfigurationPropertyValidator(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("filterConfiguration",CfnDataSourceCrawlFilterConfigurationPropertyValidator)(properties.filterConfiguration)),errors.wrap('supplied properties not correct for "SalesforceCrawlerConfigurationProperty"')}function convertCfnDataSourceSalesforceCrawlerConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSalesforceCrawlerConfigurationPropertyValidator(properties).assertSuccess(),{FilterConfiguration:convertCfnDataSourceCrawlFilterConfigurationPropertyToCloudFormation(properties.filterConfiguration)}):properties}function CfnDataSourceSalesforceCrawlerConfigurationPropertyFromCloudFormation(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("filterConfiguration","FilterConfiguration",properties.FilterConfiguration!=null?CfnDataSourceCrawlFilterConfigurationPropertyFromCloudFormation(properties.FilterConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSalesforceDataSourceConfigurationPropertyValidator(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("crawlerConfiguration",CfnDataSourceSalesforceCrawlerConfigurationPropertyValidator)(properties.crawlerConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",cdk().requiredValidator)(properties.sourceConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",CfnDataSourceSalesforceSourceConfigurationPropertyValidator)(properties.sourceConfiguration)),errors.wrap('supplied properties not correct for "SalesforceDataSourceConfigurationProperty"')}function convertCfnDataSourceSalesforceDataSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSalesforceDataSourceConfigurationPropertyValidator(properties).assertSuccess(),{CrawlerConfiguration:convertCfnDataSourceSalesforceCrawlerConfigurationPropertyToCloudFormation(properties.crawlerConfiguration),SourceConfiguration:convertCfnDataSourceSalesforceSourceConfigurationPropertyToCloudFormation(properties.sourceConfiguration)}):properties}function CfnDataSourceSalesforceDataSourceConfigurationPropertyFromCloudFormation(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("crawlerConfiguration","CrawlerConfiguration",properties.CrawlerConfiguration!=null?CfnDataSourceSalesforceCrawlerConfigurationPropertyFromCloudFormation(properties.CrawlerConfiguration):void 0),ret.addPropertyResult("sourceConfiguration","SourceConfiguration",properties.SourceConfiguration!=null?CfnDataSourceSalesforceSourceConfigurationPropertyFromCloudFormation(properties.SourceConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSharePointSourceConfigurationPropertyValidator(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("authType",cdk().requiredValidator)(properties.authType)),errors.collect(cdk().propertyValidator("authType",cdk().validateString)(properties.authType)),errors.collect(cdk().propertyValidator("credentialsSecretArn",cdk().requiredValidator)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("credentialsSecretArn",cdk().validateString)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("domain",cdk().requiredValidator)(properties.domain)),errors.collect(cdk().propertyValidator("domain",cdk().validateString)(properties.domain)),errors.collect(cdk().propertyValidator("hostType",cdk().requiredValidator)(properties.hostType)),errors.collect(cdk().propertyValidator("hostType",cdk().validateString)(properties.hostType)),errors.collect(cdk().propertyValidator("siteUrls",cdk().requiredValidator)(properties.siteUrls)),errors.collect(cdk().propertyValidator("siteUrls",cdk().listValidator(cdk().validateString))(properties.siteUrls)),errors.collect(cdk().propertyValidator("tenantId",cdk().validateString)(properties.tenantId)),errors.wrap('supplied properties not correct for "SharePointSourceConfigurationProperty"')}function convertCfnDataSourceSharePointSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSharePointSourceConfigurationPropertyValidator(properties).assertSuccess(),{AuthType:cdk().stringToCloudFormation(properties.authType),CredentialsSecretArn:cdk().stringToCloudFormation(properties.credentialsSecretArn),Domain:cdk().stringToCloudFormation(properties.domain),HostType:cdk().stringToCloudFormation(properties.hostType),SiteUrls:cdk().listMapper(cdk().stringToCloudFormation)(properties.siteUrls),TenantId:cdk().stringToCloudFormation(properties.tenantId)}):properties}function CfnDataSourceSharePointSourceConfigurationPropertyFromCloudFormation(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("authType","AuthType",properties.AuthType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthType):void 0),ret.addPropertyResult("credentialsSecretArn","CredentialsSecretArn",properties.CredentialsSecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.CredentialsSecretArn):void 0),ret.addPropertyResult("domain","Domain",properties.Domain!=null?cfn_parse().FromCloudFormation.getString(properties.Domain):void 0),ret.addPropertyResult("hostType","HostType",properties.HostType!=null?cfn_parse().FromCloudFormation.getString(properties.HostType):void 0),ret.addPropertyResult("siteUrls","SiteUrls",properties.SiteUrls!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SiteUrls):void 0),ret.addPropertyResult("tenantId","TenantId",properties.TenantId!=null?cfn_parse().FromCloudFormation.getString(properties.TenantId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSharePointCrawlerConfigurationPropertyValidator(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("filterConfiguration",CfnDataSourceCrawlFilterConfigurationPropertyValidator)(properties.filterConfiguration)),errors.wrap('supplied properties not correct for "SharePointCrawlerConfigurationProperty"')}function convertCfnDataSourceSharePointCrawlerConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSharePointCrawlerConfigurationPropertyValidator(properties).assertSuccess(),{FilterConfiguration:convertCfnDataSourceCrawlFilterConfigurationPropertyToCloudFormation(properties.filterConfiguration)}):properties}function CfnDataSourceSharePointCrawlerConfigurationPropertyFromCloudFormation(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("filterConfiguration","FilterConfiguration",properties.FilterConfiguration!=null?CfnDataSourceCrawlFilterConfigurationPropertyFromCloudFormation(properties.FilterConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSharePointDataSourceConfigurationPropertyValidator(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("crawlerConfiguration",CfnDataSourceSharePointCrawlerConfigurationPropertyValidator)(properties.crawlerConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",cdk().requiredValidator)(properties.sourceConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",CfnDataSourceSharePointSourceConfigurationPropertyValidator)(properties.sourceConfiguration)),errors.wrap('supplied properties not correct for "SharePointDataSourceConfigurationProperty"')}function convertCfnDataSourceSharePointDataSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSharePointDataSourceConfigurationPropertyValidator(properties).assertSuccess(),{CrawlerConfiguration:convertCfnDataSourceSharePointCrawlerConfigurationPropertyToCloudFormation(properties.crawlerConfiguration),SourceConfiguration:convertCfnDataSourceSharePointSourceConfigurationPropertyToCloudFormation(properties.sourceConfiguration)}):properties}function CfnDataSourceSharePointDataSourceConfigurationPropertyFromCloudFormation(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("crawlerConfiguration","CrawlerConfiguration",properties.CrawlerConfiguration!=null?CfnDataSourceSharePointCrawlerConfigurationPropertyFromCloudFormation(properties.CrawlerConfiguration):void 0),ret.addPropertyResult("sourceConfiguration","SourceConfiguration",properties.SourceConfiguration!=null?CfnDataSourceSharePointSourceConfigurationPropertyFromCloudFormation(properties.SourceConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSeedUrlPropertyValidator(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("url",cdk().requiredValidator)(properties.url)),errors.collect(cdk().propertyValidator("url",cdk().validateString)(properties.url)),errors.wrap('supplied properties not correct for "SeedUrlProperty"')}function convertCfnDataSourceSeedUrlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSeedUrlPropertyValidator(properties).assertSuccess(),{Url:cdk().stringToCloudFormation(properties.url)}):properties}function CfnDataSourceSeedUrlPropertyFromCloudFormation(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("url","Url",properties.Url!=null?cfn_parse().FromCloudFormation.getString(properties.Url):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceUrlConfigurationPropertyValidator(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(CfnDataSourceSeedUrlPropertyValidator))(properties.seedUrls)),errors.wrap('supplied properties not correct for "UrlConfigurationProperty"')}function convertCfnDataSourceUrlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceUrlConfigurationPropertyValidator(properties).assertSuccess(),{SeedUrls:cdk().listMapper(convertCfnDataSourceSeedUrlPropertyToCloudFormation)(properties.seedUrls)}):properties}function CfnDataSourceUrlConfigurationPropertyFromCloudFormation(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(CfnDataSourceSeedUrlPropertyFromCloudFormation)(properties.SeedUrls):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceWebSourceConfigurationPropertyValidator(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("urlConfiguration",cdk().requiredValidator)(properties.urlConfiguration)),errors.collect(cdk().propertyValidator("urlConfiguration",CfnDataSourceUrlConfigurationPropertyValidator)(properties.urlConfiguration)),errors.wrap('supplied properties not correct for "WebSourceConfigurationProperty"')}function convertCfnDataSourceWebSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceWebSourceConfigurationPropertyValidator(properties).assertSuccess(),{UrlConfiguration:convertCfnDataSourceUrlConfigurationPropertyToCloudFormation(properties.urlConfiguration)}):properties}function CfnDataSourceWebSourceConfigurationPropertyFromCloudFormation(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("urlConfiguration","UrlConfiguration",properties.UrlConfiguration!=null?CfnDataSourceUrlConfigurationPropertyFromCloudFormation(properties.UrlConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceWebCrawlerLimitsPropertyValidator(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("maxPages",cdk().validateNumber)(properties.maxPages)),errors.collect(cdk().propertyValidator("rateLimit",cdk().validateNumber)(properties.rateLimit)),errors.wrap('supplied properties not correct for "WebCrawlerLimitsProperty"')}function convertCfnDataSourceWebCrawlerLimitsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceWebCrawlerLimitsPropertyValidator(properties).assertSuccess(),{MaxPages:cdk().numberToCloudFormation(properties.maxPages),RateLimit:cdk().numberToCloudFormation(properties.rateLimit)}):properties}function CfnDataSourceWebCrawlerLimitsPropertyFromCloudFormation(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("maxPages","MaxPages",properties.MaxPages!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxPages):void 0),ret.addPropertyResult("rateLimit","RateLimit",properties.RateLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.RateLimit):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("crawlerLimits",CfnDataSourceWebCrawlerLimitsPropertyValidator)(properties.crawlerLimits)),errors.collect(cdk().propertyValidator("exclusionFilters",cdk().listValidator(cdk().validateString))(properties.exclusionFilters)),errors.collect(cdk().propertyValidator("inclusionFilters",cdk().listValidator(cdk().validateString))(properties.inclusionFilters)),errors.collect(cdk().propertyValidator("scope",cdk().validateString)(properties.scope)),errors.collect(cdk().propertyValidator("userAgent",cdk().validateString)(properties.userAgent)),errors.collect(cdk().propertyValidator("userAgentHeader",cdk().validateString)(properties.userAgentHeader)),errors.wrap('supplied properties not correct for "WebCrawlerConfigurationProperty"')}function convertCfnDataSourceWebCrawlerConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceWebCrawlerConfigurationPropertyValidator(properties).assertSuccess(),{CrawlerLimits:convertCfnDataSourceWebCrawlerLimitsPropertyToCloudFormation(properties.crawlerLimits),ExclusionFilters:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusionFilters),InclusionFilters:cdk().listMapper(cdk().stringToCloudFormation)(properties.inclusionFilters),Scope:cdk().stringToCloudFormation(properties.scope),UserAgent:cdk().stringToCloudFormation(properties.userAgent),UserAgentHeader:cdk().stringToCloudFormation(properties.userAgentHeader)}):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("crawlerLimits","CrawlerLimits",properties.CrawlerLimits!=null?CfnDataSourceWebCrawlerLimitsPropertyFromCloudFormation(properties.CrawlerLimits):void 0),ret.addPropertyResult("exclusionFilters","ExclusionFilters",properties.ExclusionFilters!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExclusionFilters):void 0),ret.addPropertyResult("inclusionFilters","InclusionFilters",properties.InclusionFilters!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InclusionFilters):void 0),ret.addPropertyResult("scope","Scope",properties.Scope!=null?cfn_parse().FromCloudFormation.getString(properties.Scope):void 0),ret.addPropertyResult("userAgent","UserAgent",properties.UserAgent!=null?cfn_parse().FromCloudFormation.getString(properties.UserAgent):void 0),ret.addPropertyResult("userAgentHeader","UserAgentHeader",properties.UserAgentHeader!=null?cfn_parse().FromCloudFormation.getString(properties.UserAgentHeader):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceWebDataSourceConfigurationPropertyValidator(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("crawlerConfiguration",CfnDataSourceWebCrawlerConfigurationPropertyValidator)(properties.crawlerConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",cdk().requiredValidator)(properties.sourceConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",CfnDataSourceWebSourceConfigurationPropertyValidator)(properties.sourceConfiguration)),errors.wrap('supplied properties not correct for "WebDataSourceConfigurationProperty"')}function convertCfnDataSourceWebDataSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceWebDataSourceConfigurationPropertyValidator(properties).assertSuccess(),{CrawlerConfiguration:convertCfnDataSourceWebCrawlerConfigurationPropertyToCloudFormation(properties.crawlerConfiguration),SourceConfiguration:convertCfnDataSourceWebSourceConfigurationPropertyToCloudFormation(properties.sourceConfiguration)}):properties}function CfnDataSourceWebDataSourceConfigurationPropertyFromCloudFormation(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("crawlerConfiguration","CrawlerConfiguration",properties.CrawlerConfiguration!=null?CfnDataSourceWebCrawlerConfigurationPropertyFromCloudFormation(properties.CrawlerConfiguration):void 0),ret.addPropertyResult("sourceConfiguration","SourceConfiguration",properties.SourceConfiguration!=null?CfnDataSourceWebSourceConfigurationPropertyFromCloudFormation(properties.SourceConfiguration):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",CfnDataSourceConfluenceDataSourceConfigurationPropertyValidator)(properties.confluenceConfiguration)),errors.collect(cdk().propertyValidator("s3Configuration",CfnDataSourceS3DataSourceConfigurationPropertyValidator)(properties.s3Configuration)),errors.collect(cdk().propertyValidator("salesforceConfiguration",CfnDataSourceSalesforceDataSourceConfigurationPropertyValidator)(properties.salesforceConfiguration)),errors.collect(cdk().propertyValidator("sharePointConfiguration",CfnDataSourceSharePointDataSourceConfigurationPropertyValidator)(properties.sharePointConfiguration)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("webConfiguration",CfnDataSourceWebDataSourceConfigurationPropertyValidator)(properties.webConfiguration)),errors.wrap('supplied properties not correct for "DataSourceConfigurationProperty"')}function convertCfnDataSourceDataSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDataSourceConfigurationPropertyValidator(properties).assertSuccess(),{ConfluenceConfiguration:convertCfnDataSourceConfluenceDataSourceConfigurationPropertyToCloudFormation(properties.confluenceConfiguration),S3Configuration:convertCfnDataSourceS3DataSourceConfigurationPropertyToCloudFormation(properties.s3Configuration),SalesforceConfiguration:convertCfnDataSourceSalesforceDataSourceConfigurationPropertyToCloudFormation(properties.salesforceConfiguration),SharePointConfiguration:convertCfnDataSourceSharePointDataSourceConfigurationPropertyToCloudFormation(properties.sharePointConfiguration),Type:cdk().stringToCloudFormation(properties.type),WebConfiguration:convertCfnDataSourceWebDataSourceConfigurationPropertyToCloudFormation(properties.webConfiguration)}):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?CfnDataSourceConfluenceDataSourceConfigurationPropertyFromCloudFormation(properties.ConfluenceConfiguration):void 0),ret.addPropertyResult("s3Configuration","S3Configuration",properties.S3Configuration!=null?CfnDataSourceS3DataSourceConfigurationPropertyFromCloudFormation(properties.S3Configuration):void 0),ret.addPropertyResult("salesforceConfiguration","SalesforceConfiguration",properties.SalesforceConfiguration!=null?CfnDataSourceSalesforceDataSourceConfigurationPropertyFromCloudFormation(properties.SalesforceConfiguration):void 0),ret.addPropertyResult("sharePointConfiguration","SharePointConfiguration",properties.SharePointConfiguration!=null?CfnDataSourceSharePointDataSourceConfigurationPropertyFromCloudFormation(properties.SharePointConfiguration):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("webConfiguration","WebConfiguration",properties.WebConfiguration!=null?CfnDataSourceWebDataSourceConfigurationPropertyFromCloudFormation(properties.WebConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceServerSideEncryptionConfigurationPropertyValidator(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("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.wrap('supplied properties not correct for "ServerSideEncryptionConfigurationProperty"')}function convertCfnDataSourceServerSideEncryptionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceServerSideEncryptionConfigurationPropertyValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn)}):properties}function CfnDataSourceServerSideEncryptionConfigurationPropertyFromCloudFormation(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("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceFixedSizeChunkingConfigurationPropertyValidator(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("maxTokens",cdk().requiredValidator)(properties.maxTokens)),errors.collect(cdk().propertyValidator("maxTokens",cdk().validateNumber)(properties.maxTokens)),errors.collect(cdk().propertyValidator("overlapPercentage",cdk().requiredValidator)(properties.overlapPercentage)),errors.collect(cdk().propertyValidator("overlapPercentage",cdk().validateNumber)(properties.overlapPercentage)),errors.wrap('supplied properties not correct for "FixedSizeChunkingConfigurationProperty"')}function convertCfnDataSourceFixedSizeChunkingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceFixedSizeChunkingConfigurationPropertyValidator(properties).assertSuccess(),{MaxTokens:cdk().numberToCloudFormation(properties.maxTokens),OverlapPercentage:cdk().numberToCloudFormation(properties.overlapPercentage)}):properties}function CfnDataSourceFixedSizeChunkingConfigurationPropertyFromCloudFormation(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("maxTokens","MaxTokens",properties.MaxTokens!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxTokens):void 0),ret.addPropertyResult("overlapPercentage","OverlapPercentage",properties.OverlapPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.OverlapPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceHierarchicalChunkingLevelConfigurationPropertyValidator(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("maxTokens",cdk().requiredValidator)(properties.maxTokens)),errors.collect(cdk().propertyValidator("maxTokens",cdk().validateNumber)(properties.maxTokens)),errors.wrap('supplied properties not correct for "HierarchicalChunkingLevelConfigurationProperty"')}function convertCfnDataSourceHierarchicalChunkingLevelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceHierarchicalChunkingLevelConfigurationPropertyValidator(properties).assertSuccess(),{MaxTokens:cdk().numberToCloudFormation(properties.maxTokens)}):properties}function CfnDataSourceHierarchicalChunkingLevelConfigurationPropertyFromCloudFormation(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("maxTokens","MaxTokens",properties.MaxTokens!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxTokens):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceHierarchicalChunkingConfigurationPropertyValidator(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("levelConfigurations",cdk().requiredValidator)(properties.levelConfigurations)),errors.collect(cdk().propertyValidator("levelConfigurations",cdk().listValidator(CfnDataSourceHierarchicalChunkingLevelConfigurationPropertyValidator))(properties.levelConfigurations)),errors.collect(cdk().propertyValidator("overlapTokens",cdk().requiredValidator)(properties.overlapTokens)),errors.collect(cdk().propertyValidator("overlapTokens",cdk().validateNumber)(properties.overlapTokens)),errors.wrap('supplied properties not correct for "HierarchicalChunkingConfigurationProperty"')}function convertCfnDataSourceHierarchicalChunkingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceHierarchicalChunkingConfigurationPropertyValidator(properties).assertSuccess(),{LevelConfigurations:cdk().listMapper(convertCfnDataSourceHierarchicalChunkingLevelConfigurationPropertyToCloudFormation)(properties.levelConfigurations),OverlapTokens:cdk().numberToCloudFormation(properties.overlapTokens)}):properties}function CfnDataSourceHierarchicalChunkingConfigurationPropertyFromCloudFormation(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("levelConfigurations","LevelConfigurations",properties.LevelConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceHierarchicalChunkingLevelConfigurationPropertyFromCloudFormation)(properties.LevelConfigurations):void 0),ret.addPropertyResult("overlapTokens","OverlapTokens",properties.OverlapTokens!=null?cfn_parse().FromCloudFormation.getNumber(properties.OverlapTokens):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSemanticChunkingConfigurationPropertyValidator(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("breakpointPercentileThreshold",cdk().requiredValidator)(properties.breakpointPercentileThreshold)),errors.collect(cdk().propertyValidator("breakpointPercentileThreshold",cdk().validateNumber)(properties.breakpointPercentileThreshold)),errors.collect(cdk().propertyValidator("bufferSize",cdk().requiredValidator)(properties.bufferSize)),errors.collect(cdk().propertyValidator("bufferSize",cdk().validateNumber)(properties.bufferSize)),errors.collect(cdk().propertyValidator("maxTokens",cdk().requiredValidator)(properties.maxTokens)),errors.collect(cdk().propertyValidator("maxTokens",cdk().validateNumber)(properties.maxTokens)),errors.wrap('supplied properties not correct for "SemanticChunkingConfigurationProperty"')}function convertCfnDataSourceSemanticChunkingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSemanticChunkingConfigurationPropertyValidator(properties).assertSuccess(),{BreakpointPercentileThreshold:cdk().numberToCloudFormation(properties.breakpointPercentileThreshold),BufferSize:cdk().numberToCloudFormation(properties.bufferSize),MaxTokens:cdk().numberToCloudFormation(properties.maxTokens)}):properties}function CfnDataSourceSemanticChunkingConfigurationPropertyFromCloudFormation(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("breakpointPercentileThreshold","BreakpointPercentileThreshold",properties.BreakpointPercentileThreshold!=null?cfn_parse().FromCloudFormation.getNumber(properties.BreakpointPercentileThreshold):void 0),ret.addPropertyResult("bufferSize","BufferSize",properties.BufferSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.BufferSize):void 0),ret.addPropertyResult("maxTokens","MaxTokens",properties.MaxTokens!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxTokens):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceChunkingConfigurationPropertyValidator(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("chunkingStrategy",cdk().requiredValidator)(properties.chunkingStrategy)),errors.collect(cdk().propertyValidator("chunkingStrategy",cdk().validateString)(properties.chunkingStrategy)),errors.collect(cdk().propertyValidator("fixedSizeChunkingConfiguration",CfnDataSourceFixedSizeChunkingConfigurationPropertyValidator)(properties.fixedSizeChunkingConfiguration)),errors.collect(cdk().propertyValidator("hierarchicalChunkingConfiguration",CfnDataSourceHierarchicalChunkingConfigurationPropertyValidator)(properties.hierarchicalChunkingConfiguration)),errors.collect(cdk().propertyValidator("semanticChunkingConfiguration",CfnDataSourceSemanticChunkingConfigurationPropertyValidator)(properties.semanticChunkingConfiguration)),errors.wrap('supplied properties not correct for "ChunkingConfigurationProperty"')}function convertCfnDataSourceChunkingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceChunkingConfigurationPropertyValidator(properties).assertSuccess(),{ChunkingStrategy:cdk().stringToCloudFormation(properties.chunkingStrategy),FixedSizeChunkingConfiguration:convertCfnDataSourceFixedSizeChunkingConfigurationPropertyToCloudFormation(properties.fixedSizeChunkingConfiguration),HierarchicalChunkingConfiguration:convertCfnDataSourceHierarchicalChunkingConfigurationPropertyToCloudFormation(properties.hierarchicalChunkingConfiguration),SemanticChunkingConfiguration:convertCfnDataSourceSemanticChunkingConfigurationPropertyToCloudFormation(properties.semanticChunkingConfiguration)}):properties}function CfnDataSourceChunkingConfigurationPropertyFromCloudFormation(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("chunkingStrategy","ChunkingStrategy",properties.ChunkingStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.ChunkingStrategy):void 0),ret.addPropertyResult("fixedSizeChunkingConfiguration","FixedSizeChunkingConfiguration",properties.FixedSizeChunkingConfiguration!=null?CfnDataSourceFixedSizeChunkingConfigurationPropertyFromCloudFormation(properties.FixedSizeChunkingConfiguration):void 0),ret.addPropertyResult("hierarchicalChunkingConfiguration","HierarchicalChunkingConfiguration",properties.HierarchicalChunkingConfiguration!=null?CfnDataSourceHierarchicalChunkingConfigurationPropertyFromCloudFormation(properties.HierarchicalChunkingConfiguration):void 0),ret.addPropertyResult("semanticChunkingConfiguration","SemanticChunkingConfiguration",properties.SemanticChunkingConfiguration!=null?CfnDataSourceSemanticChunkingConfigurationPropertyFromCloudFormation(properties.SemanticChunkingConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceS3LocationPropertyValidator(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("uri",cdk().requiredValidator)(properties.uri)),errors.collect(cdk().propertyValidator("uri",cdk().validateString)(properties.uri)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnDataSourceS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceS3LocationPropertyValidator(properties).assertSuccess(),{URI:cdk().stringToCloudFormation(properties.uri)}):properties}function CfnDataSourceS3LocationPropertyFromCloudFormation(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("uri","URI",properties.URI!=null?cfn_parse().FromCloudFormation.getString(properties.URI):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceIntermediateStoragePropertyValidator(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("s3Location",cdk().requiredValidator)(properties.s3Location)),errors.collect(cdk().propertyValidator("s3Location",CfnDataSourceS3LocationPropertyValidator)(properties.s3Location)),errors.wrap('supplied properties not correct for "IntermediateStorageProperty"')}function convertCfnDataSourceIntermediateStoragePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceIntermediateStoragePropertyValidator(properties).assertSuccess(),{S3Location:convertCfnDataSourceS3LocationPropertyToCloudFormation(properties.s3Location)}):properties}function CfnDataSourceIntermediateStoragePropertyFromCloudFormation(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("s3Location","S3Location",properties.S3Location!=null?CfnDataSourceS3LocationPropertyFromCloudFormation(properties.S3Location):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceTransformationLambdaConfigurationPropertyValidator(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("lambdaArn",cdk().requiredValidator)(properties.lambdaArn)),errors.collect(cdk().propertyValidator("lambdaArn",cdk().validateString)(properties.lambdaArn)),errors.wrap('supplied properties not correct for "TransformationLambdaConfigurationProperty"')}function convertCfnDataSourceTransformationLambdaConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceTransformationLambdaConfigurationPropertyValidator(properties).assertSuccess(),{LambdaArn:cdk().stringToCloudFormation(properties.lambdaArn)}):properties}function CfnDataSourceTransformationLambdaConfigurationPropertyFromCloudFormation(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("lambdaArn","LambdaArn",properties.LambdaArn!=null?cfn_parse().FromCloudFormation.getString(properties.LambdaArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceTransformationFunctionPropertyValidator(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("transformationLambdaConfiguration",cdk().requiredValidator)(properties.transformationLambdaConfiguration)),errors.collect(cdk().propertyValidator("transformationLambdaConfiguration",CfnDataSourceTransformationLambdaConfigurationPropertyValidator)(properties.transformationLambdaConfiguration)),errors.wrap('supplied properties not correct for "TransformationFunctionProperty"')}function convertCfnDataSourceTransformationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceTransformationFunctionPropertyValidator(properties).assertSuccess(),{TransformationLambdaConfiguration:convertCfnDataSourceTransformationLambdaConfigurationPropertyToCloudFormation(properties.transformationLambdaConfiguration)}):properties}function CfnDataSourceTransformationFunctionPropertyFromCloudFormation(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("transformationLambdaConfiguration","TransformationLambdaConfiguration",properties.TransformationLambdaConfiguration!=null?CfnDataSourceTransformationLambdaConfigurationPropertyFromCloudFormation(properties.TransformationLambdaConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceTransformationPropertyValidator(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("stepToApply",cdk().requiredValidator)(properties.stepToApply)),errors.collect(cdk().propertyValidator("stepToApply",cdk().validateString)(properties.stepToApply)),errors.collect(cdk().propertyValidator("transformationFunction",cdk().requiredValidator)(properties.transformationFunction)),errors.collect(cdk().propertyValidator("transformationFunction",CfnDataSourceTransformationFunctionPropertyValidator)(properties.transformationFunction)),errors.wrap('supplied properties not correct for "TransformationProperty"')}function convertCfnDataSourceTransformationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceTransformationPropertyValidator(properties).assertSuccess(),{StepToApply:cdk().stringToCloudFormation(properties.stepToApply),TransformationFunction:convertCfnDataSourceTransformationFunctionPropertyToCloudFormation(properties.transformationFunction)}):properties}function CfnDataSourceTransformationPropertyFromCloudFormation(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("stepToApply","StepToApply",properties.StepToApply!=null?cfn_parse().FromCloudFormation.getString(properties.StepToApply):void 0),ret.addPropertyResult("transformationFunction","TransformationFunction",properties.TransformationFunction!=null?CfnDataSourceTransformationFunctionPropertyFromCloudFormation(properties.TransformationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceCustomTransformationConfigurationPropertyValidator(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("intermediateStorage",cdk().requiredValidator)(properties.intermediateStorage)),errors.collect(cdk().propertyValidator("intermediateStorage",CfnDataSourceIntermediateStoragePropertyValidator)(properties.intermediateStorage)),errors.collect(cdk().propertyValidator("transformations",cdk().requiredValidator)(properties.transformations)),errors.collect(cdk().propertyValidator("transformations",cdk().listValidator(CfnDataSourceTransformationPropertyValidator))(properties.transformations)),errors.wrap('supplied properties not correct for "CustomTransformationConfigurationProperty"')}function convertCfnDataSourceCustomTransformationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceCustomTransformationConfigurationPropertyValidator(properties).assertSuccess(),{IntermediateStorage:convertCfnDataSourceIntermediateStoragePropertyToCloudFormation(properties.intermediateStorage),Transformations:cdk().listMapper(convertCfnDataSourceTransformationPropertyToCloudFormation)(properties.transformations)}):properties}function CfnDataSourceCustomTransformationConfigurationPropertyFromCloudFormation(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("intermediateStorage","IntermediateStorage",properties.IntermediateStorage!=null?CfnDataSourceIntermediateStoragePropertyFromCloudFormation(properties.IntermediateStorage):void 0),ret.addPropertyResult("transformations","Transformations",properties.Transformations!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceTransformationPropertyFromCloudFormation)(properties.Transformations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceParsingPromptPropertyValidator(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("parsingPromptText",cdk().requiredValidator)(properties.parsingPromptText)),errors.collect(cdk().propertyValidator("parsingPromptText",cdk().validateString)(properties.parsingPromptText)),errors.wrap('supplied properties not correct for "ParsingPromptProperty"')}function convertCfnDataSourceParsingPromptPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceParsingPromptPropertyValidator(properties).assertSuccess(),{ParsingPromptText:cdk().stringToCloudFormation(properties.parsingPromptText)}):properties}function CfnDataSourceParsingPromptPropertyFromCloudFormation(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("parsingPromptText","ParsingPromptText",properties.ParsingPromptText!=null?cfn_parse().FromCloudFormation.getString(properties.ParsingPromptText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceBedrockFoundationModelConfigurationPropertyValidator(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("modelArn",cdk().requiredValidator)(properties.modelArn)),errors.collect(cdk().propertyValidator("modelArn",cdk().validateString)(properties.modelArn)),errors.collect(cdk().propertyValidator("parsingModality",cdk().validateString)(properties.parsingModality)),errors.collect(cdk().propertyValidator("parsingPrompt",CfnDataSourceParsingPromptPropertyValidator)(properties.parsingPrompt)),errors.wrap('supplied properties not correct for "BedrockFoundationModelConfigurationProperty"')}function convertCfnDataSourceBedrockFoundationModelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceBedrockFoundationModelConfigurationPropertyValidator(properties).assertSuccess(),{ModelArn:cdk().stringToCloudFormation(properties.modelArn),ParsingModality:cdk().stringToCloudFormation(properties.parsingModality),ParsingPrompt:convertCfnDataSourceParsingPromptPropertyToCloudFormation(properties.parsingPrompt)}):properties}function CfnDataSourceBedrockFoundationModelConfigurationPropertyFromCloudFormation(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("modelArn","ModelArn",properties.ModelArn!=null?cfn_parse().FromCloudFormation.getString(properties.ModelArn):void 0),ret.addPropertyResult("parsingModality","ParsingModality",properties.ParsingModality!=null?cfn_parse().FromCloudFormation.getString(properties.ParsingModality):void 0),ret.addPropertyResult("parsingPrompt","ParsingPrompt",properties.ParsingPrompt!=null?CfnDataSourceParsingPromptPropertyFromCloudFormation(properties.ParsingPrompt):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceBedrockDataAutomationConfigurationPropertyValidator(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("parsingModality",cdk().validateString)(properties.parsingModality)),errors.wrap('supplied properties not correct for "BedrockDataAutomationConfigurationProperty"')}function convertCfnDataSourceBedrockDataAutomationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceBedrockDataAutomationConfigurationPropertyValidator(properties).assertSuccess(),{ParsingModality:cdk().stringToCloudFormation(properties.parsingModality)}):properties}function CfnDataSourceBedrockDataAutomationConfigurationPropertyFromCloudFormation(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("parsingModality","ParsingModality",properties.ParsingModality!=null?cfn_parse().FromCloudFormation.getString(properties.ParsingModality):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceParsingConfigurationPropertyValidator(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("bedrockDataAutomationConfiguration",CfnDataSourceBedrockDataAutomationConfigurationPropertyValidator)(properties.bedrockDataAutomationConfiguration)),errors.collect(cdk().propertyValidator("bedrockFoundationModelConfiguration",CfnDataSourceBedrockFoundationModelConfigurationPropertyValidator)(properties.bedrockFoundationModelConfiguration)),errors.collect(cdk().propertyValidator("parsingStrategy",cdk().requiredValidator)(properties.parsingStrategy)),errors.collect(cdk().propertyValidator("parsingStrategy",cdk().validateString)(properties.parsingStrategy)),errors.wrap('supplied properties not correct for "ParsingConfigurationProperty"')}function convertCfnDataSourceParsingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceParsingConfigurationPropertyValidator(properties).assertSuccess(),{BedrockDataAutomationConfiguration:convertCfnDataSourceBedrockDataAutomationConfigurationPropertyToCloudFormation(properties.bedrockDataAutomationConfiguration),BedrockFoundationModelConfiguration:convertCfnDataSourceBedrockFoundationModelConfigurationPropertyToCloudFormation(properties.bedrockFoundationModelConfiguration),ParsingStrategy:cdk().stringToCloudFormation(properties.parsingStrategy)}):properties}function CfnDataSourceParsingConfigurationPropertyFromCloudFormation(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("bedrockDataAutomationConfiguration","BedrockDataAutomationConfiguration",properties.BedrockDataAutomationConfiguration!=null?CfnDataSourceBedrockDataAutomationConfigurationPropertyFromCloudFormation(properties.BedrockDataAutomationConfiguration):void 0),ret.addPropertyResult("bedrockFoundationModelConfiguration","BedrockFoundationModelConfiguration",properties.BedrockFoundationModelConfiguration!=null?CfnDataSourceBedrockFoundationModelConfigurationPropertyFromCloudFormation(properties.BedrockFoundationModelConfiguration):void 0),ret.addPropertyResult("parsingStrategy","ParsingStrategy",properties.ParsingStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.ParsingStrategy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceEnrichmentStrategyConfigurationPropertyValidator(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("method",cdk().requiredValidator)(properties.method)),errors.collect(cdk().propertyValidator("method",cdk().validateString)(properties.method)),errors.wrap('supplied properties not correct for "EnrichmentStrategyConfigurationProperty"')}function convertCfnDataSourceEnrichmentStrategyConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceEnrichmentStrategyConfigurationPropertyValidator(properties).assertSuccess(),{Method:cdk().stringToCloudFormation(properties.method)}):properties}function CfnDataSourceEnrichmentStrategyConfigurationPropertyFromCloudFormation(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("method","Method",properties.Method!=null?cfn_parse().FromCloudFormation.getString(properties.Method):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceBedrockFoundationModelContextEnrichmentConfigurationPropertyValidator(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("enrichmentStrategyConfiguration",cdk().requiredValidator)(properties.enrichmentStrategyConfiguration)),errors.collect(cdk().propertyValidator("enrichmentStrategyConfiguration",CfnDataSourceEnrichmentStrategyConfigurationPropertyValidator)(properties.enrichmentStrategyConfiguration)),errors.collect(cdk().propertyValidator("modelArn",cdk().requiredValidator)(properties.modelArn)),errors.collect(cdk().propertyValidator("modelArn",cdk().validateString)(properties.modelArn)),errors.wrap('supplied properties not correct for "BedrockFoundationModelContextEnrichmentConfigurationProperty"')}function convertCfnDataSourceBedrockFoundationModelContextEnrichmentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceBedrockFoundationModelContextEnrichmentConfigurationPropertyValidator(properties).assertSuccess(),{EnrichmentStrategyConfiguration:convertCfnDataSourceEnrichmentStrategyConfigurationPropertyToCloudFormation(properties.enrichmentStrategyConfiguration),ModelArn:cdk().stringToCloudFormation(properties.modelArn)}):properties}function CfnDataSourceBedrockFoundationModelContextEnrichmentConfigurationPropertyFromCloudFormation(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("enrichmentStrategyConfiguration","EnrichmentStrategyConfiguration",properties.EnrichmentStrategyConfiguration!=null?CfnDataSourceEnrichmentStrategyConfigurationPropertyFromCloudFormation(properties.EnrichmentStrategyConfiguration):void 0),ret.addPropertyResult("modelArn","ModelArn",properties.ModelArn!=null?cfn_parse().FromCloudFormation.getString(properties.ModelArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceContextEnrichmentConfigurationPropertyValidator(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("bedrockFoundationModelConfiguration",CfnDataSourceBedrockFoundationModelContextEnrichmentConfigurationPropertyValidator)(properties.bedrockFoundationModelConfiguration)),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 "ContextEnrichmentConfigurationProperty"')}function convertCfnDataSourceContextEnrichmentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceContextEnrichmentConfigurationPropertyValidator(properties).assertSuccess(),{BedrockFoundationModelConfiguration:convertCfnDataSourceBedrockFoundationModelContextEnrichmentConfigurationPropertyToCloudFormation(properties.bedrockFoundationModelConfiguration),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDataSourceContextEnrichmentConfigurationPropertyFromCloudFormation(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("bedrockFoundationModelConfiguration","BedrockFoundationModelConfiguration",properties.BedrockFoundationModelConfiguration!=null?CfnDataSourceBedrockFoundationModelContextEnrichmentConfigurationPropertyFromCloudFormation(properties.BedrockFoundationModelConfiguration):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceVectorIngestionConfigurationPropertyValidator(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("chunkingConfiguration",CfnDataSourceChunkingConfigurationPropertyValidator)(properties.chunkingConfiguration)),errors.collect(cdk().propertyValidator("contextEnrichmentConfiguration",CfnDataSourceContextEnrichmentConfigurationPropertyValidator)(properties.contextEnrichmentConfiguration)),errors.collect(cdk().propertyValidator("customTransformationConfiguration",CfnDataSourceCustomTransformationConfigurationPropertyValidator)(properties.customTransformationConfiguration)),errors.collect(cdk().propertyValidator("parsingConfiguration",CfnDataSourceParsingConfigurationPropertyValidator)(properties.parsingConfiguration)),errors.wrap('supplied properties not correct for "VectorIngestionConfigurationProperty"')}function convertCfnDataSourceVectorIngestionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceVectorIngestionConfigurationPropertyValidator(properties).assertSuccess(),{ChunkingConfiguration:convertCfnDataSourceChunkingConfigurationPropertyToCloudFormation(properties.chunkingConfiguration),ContextEnrichmentConfiguration:convertCfnDataSourceContextEnrichmentConfigurationPropertyToCloudFormation(properties.contextEnrichmentConfiguration),CustomTransformationConfiguration:convertCfnDataSourceCustomTransformationConfigurationPropertyToCloudFormation(properties.customTransformationConfiguration),ParsingConfiguration:convertCfnDataSourceParsingConfigurationPropertyToCloudFormation(properties.parsingConfiguration)}):properties}function CfnDataSourceVectorIngestionConfigurationPropertyFromCloudFormation(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("chunkingConfiguration","ChunkingConfiguration",properties.ChunkingConfiguration!=null?CfnDataSourceChunkingConfigurationPropertyFromCloudFormation(properties.ChunkingConfiguration):void 0),ret.addPropertyResult("contextEnrichmentConfiguration","ContextEnrichmentConfiguration",properties.ContextEnrichmentConfiguration!=null?CfnDataSourceContextEnrichmentConfigurationPropertyFromCloudFormation(properties.ContextEnrichmentConfiguration):void 0),ret.addPropertyResult("customTransformationConfiguration","CustomTransformationConfiguration",properties.CustomTransformationConfiguration!=null?CfnDataSourceCustomTransformationConfigurationPropertyFromCloudFormation(properties.CustomTransformationConfiguration):void 0),ret.addPropertyResult("parsingConfiguration","ParsingConfiguration",properties.ParsingConfiguration!=null?CfnDataSourceParsingConfigurationPropertyFromCloudFormation(properties.ParsingConfiguration):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("dataDeletionPolicy",cdk().validateString)(properties.dataDeletionPolicy)),errors.collect(cdk().propertyValidator("dataSourceConfiguration",cdk().requiredValidator)(properties.dataSourceConfiguration)),errors.collect(cdk().propertyValidator("dataSourceConfiguration",CfnDataSourceDataSourceConfigurationPropertyValidator)(properties.dataSourceConfiguration)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("knowledgeBaseId",cdk().requiredValidator)(properties.knowledgeBaseId)),errors.collect(cdk().propertyValidator("knowledgeBaseId",cdk().validateString)(properties.knowledgeBaseId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("serverSideEncryptionConfiguration",CfnDataSourceServerSideEncryptionConfigurationPropertyValidator)(properties.serverSideEncryptionConfiguration)),errors.collect(cdk().propertyValidator("vectorIngestionConfiguration",CfnDataSourceVectorIngestionConfigurationPropertyValidator)(properties.vectorIngestionConfiguration)),errors.wrap('supplied properties not correct for "CfnDataSourceProps"')}function convertCfnDataSourcePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourcePropsValidator(properties).assertSuccess(),{DataDeletionPolicy:cdk().stringToCloudFormation(properties.dataDeletionPolicy),DataSourceConfiguration:convertCfnDataSourceDataSourceConfigurationPropertyToCloudFormation(properties.dataSourceConfiguration),Description:cdk().stringToCloudFormation(properties.description),KnowledgeBaseId:cdk().stringToCloudFormation(properties.knowledgeBaseId),Name:cdk().stringToCloudFormation(properties.name),ServerSideEncryptionConfiguration:convertCfnDataSourceServerSideEncryptionConfigurationPropertyToCloudFormation(properties.serverSideEncryptionConfiguration),VectorIngestionConfiguration:convertCfnDataSourceVectorIngestionConfigurationPropertyToCloudFormation(properties.vectorIngestionConfiguration)}):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("dataDeletionPolicy","DataDeletionPolicy",properties.DataDeletionPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.DataDeletionPolicy):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("knowledgeBaseId","KnowledgeBaseId",properties.KnowledgeBaseId!=null?cfn_parse().FromCloudFormation.getString(properties.KnowledgeBaseId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("serverSideEncryptionConfiguration","ServerSideEncryptionConfiguration",properties.ServerSideEncryptionConfiguration!=null?CfnDataSourceServerSideEncryptionConfigurationPropertyFromCloudFormation(properties.ServerSideEncryptionConfiguration):void 0),ret.addPropertyResult("vectorIngestionConfiguration","VectorIngestionConfiguration",properties.VectorIngestionConfiguration!=null?CfnDataSourceVectorIngestionConfigurationPropertyFromCloudFormation(properties.VectorIngestionConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnEnforcedGuardrailConfiguration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnEnforcedGuardrailConfiguration",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::EnforcedGuardrailConfiguration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnEnforcedGuardrailConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnEnforcedGuardrailConfiguration(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 isCfnEnforcedGuardrailConfiguration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnEnforcedGuardrailConfiguration.CFN_RESOURCE_TYPE_NAME}_guardrailIdentifier;_guardrailVersion;_modelEnforcement;_selectiveContentGuarding;cfnPropertyNames={guardrailIdentifier:"GuardrailIdentifier",guardrailVersion:"GuardrailVersion",modelEnforcement:"ModelEnforcement",selectiveContentGuarding:"SelectiveContentGuarding"};constructor(scope,id,props){super(scope,id,{type:CfnEnforcedGuardrailConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnEnforcedGuardrailConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEnforcedGuardrailConfiguration),error}cdk().requireProperty(props,"guardrailIdentifier",this),cdk().requireProperty(props,"guardrailVersion",this),this._guardrailIdentifier=props.guardrailIdentifier,this._guardrailVersion=props.guardrailVersion,this._modelEnforcement=props.modelEnforcement,this._selectiveContentGuarding=props.selectiveContentGuarding}get enforcedGuardrailConfigurationRef(){return{configId:this.ref}}get guardrailIdentifier(){return this._guardrailIdentifier}set guardrailIdentifier(value){cdk().traceProperty(this.node,"GuardrailIdentifier"),this._guardrailIdentifier=value}get guardrailVersion(){return this._guardrailVersion}set guardrailVersion(value){cdk().traceProperty(this.node,"GuardrailVersion"),this._guardrailVersion=value}get modelEnforcement(){return this._modelEnforcement}set modelEnforcement(value){cdk().traceProperty(this.node,"ModelEnforcement"),this._modelEnforcement=value}get selectiveContentGuarding(){return this._selectiveContentGuarding}set selectiveContentGuarding(value){cdk().traceProperty(this.node,"SelectiveContentGuarding"),this._selectiveContentGuarding=value}get attrConfigId(){return cdk().Token.asString(this.getAtt("ConfigId",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrCreatedBy(){return cdk().Token.asString(this.getAtt("CreatedBy",cdk().ResolutionTypeHint.STRING))}get attrGuardrailArn(){return cdk().Token.asString(this.getAtt("GuardrailArn",cdk().ResolutionTypeHint.STRING))}get attrGuardrailId(){return cdk().Token.asString(this.getAtt("GuardrailId",cdk().ResolutionTypeHint.STRING))}get attrOwner(){return cdk().Token.asString(this.getAtt("Owner",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrUpdatedBy(){return cdk().Token.asString(this.getAtt("UpdatedBy",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{guardrailIdentifier:this._guardrailIdentifier,guardrailVersion:this._guardrailVersion,modelEnforcement:this._modelEnforcement,selectiveContentGuarding:this._selectiveContentGuarding}}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",CfnEnforcedGuardrailConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnEnforcedGuardrailConfigurationPropsToCloudFormation(props)}}exports.CfnEnforcedGuardrailConfiguration=CfnEnforcedGuardrailConfiguration;function CfnEnforcedGuardrailConfigurationSelectiveContentGuardingPropertyValidator(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("messages",cdk().validateString)(properties.messages)),errors.collect(cdk().propertyValidator("system",cdk().validateString)(properties.system)),errors.wrap('supplied properties not correct for "SelectiveContentGuardingProperty"')}function convertCfnEnforcedGuardrailConfigurationSelectiveContentGuardingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEnforcedGuardrailConfigurationSelectiveContentGuardingPropertyValidator(properties).assertSuccess(),{Messages:cdk().stringToCloudFormation(properties.messages),System:cdk().stringToCloudFormation(properties.system)}):properties}function CfnEnforcedGuardrailConfigurationSelectiveContentGuardingPropertyFromCloudFormation(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("messages","Messages",properties.Messages!=null?cfn_parse().FromCloudFormation.getString(properties.Messages):void 0),ret.addPropertyResult("system","System",properties.System!=null?cfn_parse().FromCloudFormation.getString(properties.System):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEnforcedGuardrailConfigurationModelEnforcementPropertyValidator(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("excludedModels",cdk().requiredValidator)(properties.excludedModels)),errors.collect(cdk().propertyValidator("excludedModels",cdk().listValidator(cdk().validateString))(properties.excludedModels)),errors.collect(cdk().propertyValidator("includedModels",cdk().requiredValidator)(properties.includedModels)),errors.collect(cdk().propertyValidator("includedModels",cdk().listValidator(cdk().validateString))(properties.includedModels)),errors.wrap('supplied properties not correct for "ModelEnforcementProperty"')}function convertCfnEnforcedGuardrailConfigurationModelEnforcementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEnforcedGuardrailConfigurationModelEnforcementPropertyValidator(properties).assertSuccess(),{ExcludedModels:cdk().listMapper(cdk().stringToCloudFormation)(properties.excludedModels),IncludedModels:cdk().listMapper(cdk().stringToCloudFormation)(properties.includedModels)}):properties}function CfnEnforcedGuardrailConfigurationModelEnforcementPropertyFromCloudFormation(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("excludedModels","ExcludedModels",properties.ExcludedModels!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExcludedModels):void 0),ret.addPropertyResult("includedModels","IncludedModels",properties.IncludedModels!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IncludedModels):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEnforcedGuardrailConfigurationPropsValidator(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("guardrailIdentifier",cdk().requiredValidator)(properties.guardrailIdentifier)),errors.collect(cdk().propertyValidator("guardrailIdentifier",cdk().validateString)(properties.guardrailIdentifier)),errors.collect(cdk().propertyValidator("guardrailVersion",cdk().requiredValidator)(properties.guardrailVersion)),errors.collect(cdk().propertyValidator("guardrailVersion",cdk().validateString)(properties.guardrailVersion)),errors.collect(cdk().propertyValidator("modelEnforcement",CfnEnforcedGuardrailConfigurationModelEnforcementPropertyValidator)(properties.modelEnforcement)),errors.collect(cdk().propertyValidator("selectiveContentGuarding",CfnEnforcedGuardrailConfigurationSelectiveContentGuardingPropertyValidator)(properties.selectiveContentGuarding)),errors.wrap('supplied properties not correct for "CfnEnforcedGuardrailConfigurationProps"')}function convertCfnEnforcedGuardrailConfigurationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEnforcedGuardrailConfigurationPropsValidator(properties).assertSuccess(),{GuardrailIdentifier:cdk().stringToCloudFormation(properties.guardrailIdentifier),GuardrailVersion:cdk().stringToCloudFormation(properties.guardrailVersion),ModelEnforcement:convertCfnEnforcedGuardrailConfigurationModelEnforcementPropertyToCloudFormation(properties.modelEnforcement),SelectiveContentGuarding:convertCfnEnforcedGuardrailConfigurationSelectiveContentGuardingPropertyToCloudFormation(properties.selectiveContentGuarding)}):properties}function CfnEnforcedGuardrailConfigurationPropsFromCloudFormation(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("guardrailIdentifier","GuardrailIdentifier",properties.GuardrailIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.GuardrailIdentifier):void 0),ret.addPropertyResult("guardrailVersion","GuardrailVersion",properties.GuardrailVersion!=null?cfn_parse().FromCloudFormation.getString(properties.GuardrailVersion):void 0),ret.addPropertyResult("modelEnforcement","ModelEnforcement",properties.ModelEnforcement!=null?CfnEnforcedGuardrailConfigurationModelEnforcementPropertyFromCloudFormation(properties.ModelEnforcement):void 0),ret.addPropertyResult("selectiveContentGuarding","SelectiveContentGuarding",properties.SelectiveContentGuarding!=null?CfnEnforcedGuardrailConfigurationSelectiveContentGuardingPropertyFromCloudFormation(properties.SelectiveContentGuarding):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFlow extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnFlow",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::Flow";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFlowPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFlow(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 isCfnFlow(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFlow.CFN_RESOURCE_TYPE_NAME}static arnForFlow(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_bedrock_IFlowRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFlow),error}return resource.flowRef.flowArn}cdkTagManager;_customerEncryptionKeyArn;_definition;_definitionS3Location;_definitionString;_definitionSubstitutions;_description;_executionRoleArn;_name;_tags;_testAliasTags;cfnPropertyNames={tags:"Tags",customerEncryptionKeyArn:"CustomerEncryptionKeyArn",definition:"Definition",definitionS3Location:"DefinitionS3Location",definitionString:"DefinitionString",definitionSubstitutions:"DefinitionSubstitutions",description:"Description",executionRoleArn:"ExecutionRoleArn",name:"Name",testAliasTags:"TestAliasTags"};constructor(scope,id,props){super(scope,id,{type:CfnFlow.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnFlowProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFlow),error}cdk().requireProperty(props,"executionRoleArn",this),cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Bedrock::Flow",void 0,{tagPropertyName:"tags"}),this._customerEncryptionKeyArn=props.customerEncryptionKeyArn,this._definition=props.definition,this._definitionS3Location=props.definitionS3Location,this._definitionString=props.definitionString,this._definitionSubstitutions=props.definitionSubstitutions,this._description=props.description,this._executionRoleArn=props.executionRoleArn,this._name=props.name,this._tags=props.tags,this._testAliasTags=props.testAliasTags}get flowRef(){return{flowArn:this.ref}}get customerEncryptionKeyArn(){return this._customerEncryptionKeyArn}set customerEncryptionKeyArn(value){cdk().traceProperty(this.node,"CustomerEncryptionKeyArn"),this._customerEncryptionKeyArn=value}get definition(){return this._definition}set definition(value){cdk().traceProperty(this.node,"Definition"),this._definition=value}get definitionS3Location(){return this._definitionS3Location}set definitionS3Location(value){cdk().traceProperty(this.node,"DefinitionS3Location"),this._definitionS3Location=value}get definitionString(){return this._definitionString}set definitionString(value){cdk().traceProperty(this.node,"DefinitionString"),this._definitionString=value}get definitionSubstitutions(){return this._definitionSubstitutions}set definitionSubstitutions(value){cdk().traceProperty(this.node,"DefinitionSubstitutions"),this._definitionSubstitutions=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get executionRoleArn(){return this._executionRoleArn}set executionRoleArn(value){cdk().traceProperty(this.node,"ExecutionRoleArn"),this._executionRoleArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get testAliasTags(){return this._testAliasTags}set testAliasTags(value){cdk().traceProperty(this.node,"TestAliasTags"),this._testAliasTags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrValidations(){return this.getAtt("Validations")}get attrVersion(){return cdk().Token.asString(this.getAtt("Version",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),customerEncryptionKeyArn:this._customerEncryptionKeyArn,definition:this._definition,definitionS3Location:this._definitionS3Location,definitionString:this._definitionString,definitionSubstitutions:this._definitionSubstitutions,description:this._description,executionRoleArn:this._executionRoleArn,name:this._name,testAliasTags:this._testAliasTags}}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",CfnFlow.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFlowPropsToCloudFormation(props)}}exports.CfnFlow=CfnFlow;function CfnFlowGuardrailConfigurationPropertyValidator(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("guardrailIdentifier",cdk().validateString)(properties.guardrailIdentifier)),errors.collect(cdk().propertyValidator("guardrailVersion",cdk().validateString)(properties.guardrailVersion)),errors.wrap('supplied properties not correct for "GuardrailConfigurationProperty"')}function convertCfnFlowGuardrailConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowGuardrailConfigurationPropertyValidator(properties).assertSuccess(),{GuardrailIdentifier:cdk().stringToCloudFormation(properties.guardrailIdentifier),GuardrailVersion:cdk().stringToCloudFormation(properties.guardrailVersion)}):properties}function CfnFlowGuardrailConfigurationPropertyFromCloudFormation(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("guardrailIdentifier","GuardrailIdentifier",properties.GuardrailIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.GuardrailIdentifier):void 0),ret.addPropertyResult("guardrailVersion","GuardrailVersion",properties.GuardrailVersion!=null?cfn_parse().FromCloudFormation.getString(properties.GuardrailVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowKnowledgeBasePromptTemplatePropertyValidator(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("textPromptTemplate",cdk().requiredValidator)(properties.textPromptTemplate)),errors.collect(cdk().propertyValidator("textPromptTemplate",cdk().validateString)(properties.textPromptTemplate)),errors.wrap('supplied properties not correct for "KnowledgeBasePromptTemplateProperty"')}function convertCfnFlowKnowledgeBasePromptTemplatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowKnowledgeBasePromptTemplatePropertyValidator(properties).assertSuccess(),{TextPromptTemplate:cdk().stringToCloudFormation(properties.textPromptTemplate)}):properties}function CfnFlowKnowledgeBasePromptTemplatePropertyFromCloudFormation(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("textPromptTemplate","TextPromptTemplate",properties.TextPromptTemplate!=null?cfn_parse().FromCloudFormation.getString(properties.TextPromptTemplate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowPromptModelInferenceConfigurationPropertyValidator(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("maxTokens",cdk().validateNumber)(properties.maxTokens)),errors.collect(cdk().propertyValidator("stopSequences",cdk().listValidator(cdk().validateString))(properties.stopSequences)),errors.collect(cdk().propertyValidator("temperature",cdk().validateNumber)(properties.temperature)),errors.collect(cdk().propertyValidator("topP",cdk().validateNumber)(properties.topP)),errors.wrap('supplied properties not correct for "PromptModelInferenceConfigurationProperty"')}function convertCfnFlowPromptModelInferenceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowPromptModelInferenceConfigurationPropertyValidator(properties).assertSuccess(),{MaxTokens:cdk().numberToCloudFormation(properties.maxTokens),StopSequences:cdk().listMapper(cdk().stringToCloudFormation)(properties.stopSequences),Temperature:cdk().numberToCloudFormation(properties.temperature),TopP:cdk().numberToCloudFormation(properties.topP)}):properties}function CfnFlowPromptModelInferenceConfigurationPropertyFromCloudFormation(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("maxTokens","MaxTokens",properties.MaxTokens!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxTokens):void 0),ret.addPropertyResult("stopSequences","StopSequences",properties.StopSequences!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StopSequences):void 0),ret.addPropertyResult("temperature","Temperature",properties.Temperature!=null?cfn_parse().FromCloudFormation.getNumber(properties.Temperature):void 0),ret.addPropertyResult("topP","TopP",properties.TopP!=null?cfn_parse().FromCloudFormation.getNumber(properties.TopP):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowPromptInferenceConfigurationPropertyValidator(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("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",CfnFlowPromptModelInferenceConfigurationPropertyValidator)(properties.text)),errors.wrap('supplied properties not correct for "PromptInferenceConfigurationProperty"')}function convertCfnFlowPromptInferenceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowPromptInferenceConfigurationPropertyValidator(properties).assertSuccess(),{Text:convertCfnFlowPromptModelInferenceConfigurationPropertyToCloudFormation(properties.text)}):properties}function CfnFlowPromptInferenceConfigurationPropertyFromCloudFormation(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("text","Text",properties.Text!=null?CfnFlowPromptModelInferenceConfigurationPropertyFromCloudFormation(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowPerformanceConfigurationPropertyValidator(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("latency",cdk().validateString)(properties.latency)),errors.wrap('supplied properties not correct for "PerformanceConfigurationProperty"')}function convertCfnFlowPerformanceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowPerformanceConfigurationPropertyValidator(properties).assertSuccess(),{Latency:cdk().stringToCloudFormation(properties.latency)}):properties}function CfnFlowPerformanceConfigurationPropertyFromCloudFormation(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("latency","Latency",properties.Latency!=null?cfn_parse().FromCloudFormation.getString(properties.Latency):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowKnowledgeBaseOrchestrationConfigurationPropertyValidator(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("additionalModelRequestFields",cdk().validateObject)(properties.additionalModelRequestFields)),errors.collect(cdk().propertyValidator("inferenceConfig",CfnFlowPromptInferenceConfigurationPropertyValidator)(properties.inferenceConfig)),errors.collect(cdk().propertyValidator("performanceConfig",CfnFlowPerformanceConfigurationPropertyValidator)(properties.performanceConfig)),errors.collect(cdk().propertyValidator("promptTemplate",CfnFlowKnowledgeBasePromptTemplatePropertyValidator)(properties.promptTemplate)),errors.wrap('supplied properties not correct for "KnowledgeBaseOrchestrationConfigurationProperty"')}function convertCfnFlowKnowledgeBaseOrchestrationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowKnowledgeBaseOrchestrationConfigurationPropertyValidator(properties).assertSuccess(),{AdditionalModelRequestFields:cdk().objectToCloudFormation(properties.additionalModelRequestFields),InferenceConfig:convertCfnFlowPromptInferenceConfigurationPropertyToCloudFormation(properties.inferenceConfig),PerformanceConfig:convertCfnFlowPerformanceConfigurationPropertyToCloudFormation(properties.performanceConfig),PromptTemplate:convertCfnFlowKnowledgeBasePromptTemplatePropertyToCloudFormation(properties.promptTemplate)}):properties}function CfnFlowKnowledgeBaseOrchestrationConfigurationPropertyFromCloudFormation(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("additionalModelRequestFields","AdditionalModelRequestFields",properties.AdditionalModelRequestFields!=null?cfn_parse().FromCloudFormation.getAny(properties.AdditionalModelRequestFields):void 0),ret.addPropertyResult("inferenceConfig","InferenceConfig",properties.InferenceConfig!=null?CfnFlowPromptInferenceConfigurationPropertyFromCloudFormation(properties.InferenceConfig):void 0),ret.addPropertyResult("performanceConfig","PerformanceConfig",properties.PerformanceConfig!=null?CfnFlowPerformanceConfigurationPropertyFromCloudFormation(properties.PerformanceConfig):void 0),ret.addPropertyResult("promptTemplate","PromptTemplate",properties.PromptTemplate!=null?CfnFlowKnowledgeBasePromptTemplatePropertyFromCloudFormation(properties.PromptTemplate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVectorSearchBedrockRerankingModelConfigurationPropertyValidator(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("additionalModelRequestFields",cdk().validateObject)(properties.additionalModelRequestFields)),errors.collect(cdk().propertyValidator("modelArn",cdk().requiredValidator)(properties.modelArn)),errors.collect(cdk().propertyValidator("modelArn",cdk().validateString)(properties.modelArn)),errors.wrap('supplied properties not correct for "VectorSearchBedrockRerankingModelConfigurationProperty"')}function convertCfnFlowVectorSearchBedrockRerankingModelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVectorSearchBedrockRerankingModelConfigurationPropertyValidator(properties).assertSuccess(),{AdditionalModelRequestFields:cdk().objectToCloudFormation(properties.additionalModelRequestFields),ModelArn:cdk().stringToCloudFormation(properties.modelArn)}):properties}function CfnFlowVectorSearchBedrockRerankingModelConfigurationPropertyFromCloudFormation(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("additionalModelRequestFields","AdditionalModelRequestFields",properties.AdditionalModelRequestFields!=null?cfn_parse().FromCloudFormation.getAny(properties.AdditionalModelRequestFields):void 0),ret.addPropertyResult("modelArn","ModelArn",properties.ModelArn!=null?cfn_parse().FromCloudFormation.getString(properties.ModelArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFieldForRerankingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldName",cdk().requiredValidator)(properties.fieldName)),errors.collect(cdk().propertyValidator("fieldName",cdk().validateString)(properties.fieldName)),errors.wrap('supplied properties not correct for "FieldForRerankingProperty"')}function convertCfnFlowFieldForRerankingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFieldForRerankingPropertyValidator(properties).assertSuccess(),{FieldName:cdk().stringToCloudFormation(properties.fieldName)}):properties}function CfnFlowFieldForRerankingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldName","FieldName",properties.FieldName!=null?cfn_parse().FromCloudFormation.getString(properties.FieldName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowRerankingMetadataSelectiveModeConfigurationPropertyValidator(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("fieldsToExclude",cdk().listValidator(CfnFlowFieldForRerankingPropertyValidator))(properties.fieldsToExclude)),errors.collect(cdk().propertyValidator("fieldsToInclude",cdk().listValidator(CfnFlowFieldForRerankingPropertyValidator))(properties.fieldsToInclude)),errors.wrap('supplied properties not correct for "RerankingMetadataSelectiveModeConfigurationProperty"')}function convertCfnFlowRerankingMetadataSelectiveModeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowRerankingMetadataSelectiveModeConfigurationPropertyValidator(properties).assertSuccess(),{FieldsToExclude:cdk().listMapper(convertCfnFlowFieldForRerankingPropertyToCloudFormation)(properties.fieldsToExclude),FieldsToInclude:cdk().listMapper(convertCfnFlowFieldForRerankingPropertyToCloudFormation)(properties.fieldsToInclude)}):properties}function CfnFlowRerankingMetadataSelectiveModeConfigurationPropertyFromCloudFormation(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("fieldsToExclude","FieldsToExclude",properties.FieldsToExclude!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowFieldForRerankingPropertyFromCloudFormation)(properties.FieldsToExclude):void 0),ret.addPropertyResult("fieldsToInclude","FieldsToInclude",properties.FieldsToInclude!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowFieldForRerankingPropertyFromCloudFormation)(properties.FieldsToInclude):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowMetadataConfigurationForRerankingPropertyValidator(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("selectionMode",cdk().requiredValidator)(properties.selectionMode)),errors.collect(cdk().propertyValidator("selectionMode",cdk().validateString)(properties.selectionMode)),errors.collect(cdk().propertyValidator("selectiveModeConfiguration",CfnFlowRerankingMetadataSelectiveModeConfigurationPropertyValidator)(properties.selectiveModeConfiguration)),errors.wrap('supplied properties not correct for "MetadataConfigurationForRerankingProperty"')}function convertCfnFlowMetadataConfigurationForRerankingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowMetadataConfigurationForRerankingPropertyValidator(properties).assertSuccess(),{SelectionMode:cdk().stringToCloudFormation(properties.selectionMode),SelectiveModeConfiguration:convertCfnFlowRerankingMetadataSelectiveModeConfigurationPropertyToCloudFormation(properties.selectiveModeConfiguration)}):properties}function CfnFlowMetadataConfigurationForRerankingPropertyFromCloudFormation(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("selectionMode","SelectionMode",properties.SelectionMode!=null?cfn_parse().FromCloudFormation.getString(properties.SelectionMode):void 0),ret.addPropertyResult("selectiveModeConfiguration","SelectiveModeConfiguration",properties.SelectiveModeConfiguration!=null?CfnFlowRerankingMetadataSelectiveModeConfigurationPropertyFromCloudFormation(properties.SelectiveModeConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVectorSearchBedrockRerankingConfigurationPropertyValidator(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("metadataConfiguration",CfnFlowMetadataConfigurationForRerankingPropertyValidator)(properties.metadataConfiguration)),errors.collect(cdk().propertyValidator("modelConfiguration",cdk().requiredValidator)(properties.modelConfiguration)),errors.collect(cdk().propertyValidator("modelConfiguration",CfnFlowVectorSearchBedrockRerankingModelConfigurationPropertyValidator)(properties.modelConfiguration)),errors.collect(cdk().propertyValidator("numberOfRerankedResults",cdk().validateNumber)(properties.numberOfRerankedResults)),errors.wrap('supplied properties not correct for "VectorSearchBedrockRerankingConfigurationProperty"')}function convertCfnFlowVectorSearchBedrockRerankingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVectorSearchBedrockRerankingConfigurationPropertyValidator(properties).assertSuccess(),{MetadataConfiguration:convertCfnFlowMetadataConfigurationForRerankingPropertyToCloudFormation(properties.metadataConfiguration),ModelConfiguration:convertCfnFlowVectorSearchBedrockRerankingModelConfigurationPropertyToCloudFormation(properties.modelConfiguration),NumberOfRerankedResults:cdk().numberToCloudFormation(properties.numberOfRerankedResults)}):properties}function CfnFlowVectorSearchBedrockRerankingConfigurationPropertyFromCloudFormation(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("metadataConfiguration","MetadataConfiguration",properties.MetadataConfiguration!=null?CfnFlowMetadataConfigurationForRerankingPropertyFromCloudFormation(properties.MetadataConfiguration):void 0),ret.addPropertyResult("modelConfiguration","ModelConfiguration",properties.ModelConfiguration!=null?CfnFlowVectorSearchBedrockRerankingModelConfigurationPropertyFromCloudFormation(properties.ModelConfiguration):void 0),ret.addPropertyResult("numberOfRerankedResults","NumberOfRerankedResults",properties.NumberOfRerankedResults!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfRerankedResults):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVectorSearchRerankingConfigurationPropertyValidator(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("bedrockRerankingConfiguration",CfnFlowVectorSearchBedrockRerankingConfigurationPropertyValidator)(properties.bedrockRerankingConfiguration)),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 "VectorSearchRerankingConfigurationProperty"')}function convertCfnFlowVectorSearchRerankingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVectorSearchRerankingConfigurationPropertyValidator(properties).assertSuccess(),{BedrockRerankingConfiguration:convertCfnFlowVectorSearchBedrockRerankingConfigurationPropertyToCloudFormation(properties.bedrockRerankingConfiguration),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFlowVectorSearchRerankingConfigurationPropertyFromCloudFormation(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("bedrockRerankingConfiguration","BedrockRerankingConfiguration",properties.BedrockRerankingConfiguration!=null?CfnFlowVectorSearchBedrockRerankingConfigurationPropertyFromCloudFormation(properties.BedrockRerankingConfiguration):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowKnowledgeBaseFlowNodeConfigurationPropertyValidator(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("guardrailConfiguration",CfnFlowGuardrailConfigurationPropertyValidator)(properties.guardrailConfiguration)),errors.collect(cdk().propertyValidator("inferenceConfiguration",CfnFlowPromptInferenceConfigurationPropertyValidator)(properties.inferenceConfiguration)),errors.collect(cdk().propertyValidator("knowledgeBaseId",cdk().requiredValidator)(properties.knowledgeBaseId)),errors.collect(cdk().propertyValidator("knowledgeBaseId",cdk().validateString)(properties.knowledgeBaseId)),errors.collect(cdk().propertyValidator("modelId",cdk().validateString)(properties.modelId)),errors.collect(cdk().propertyValidator("numberOfResults",cdk().validateNumber)(properties.numberOfResults)),errors.collect(cdk().propertyValidator("orchestrationConfiguration",CfnFlowKnowledgeBaseOrchestrationConfigurationPropertyValidator)(properties.orchestrationConfiguration)),errors.collect(cdk().propertyValidator("promptTemplate",CfnFlowKnowledgeBasePromptTemplatePropertyValidator)(properties.promptTemplate)),errors.collect(cdk().propertyValidator("rerankingConfiguration",CfnFlowVectorSearchRerankingConfigurationPropertyValidator)(properties.rerankingConfiguration)),errors.wrap('supplied properties not correct for "KnowledgeBaseFlowNodeConfigurationProperty"')}function convertCfnFlowKnowledgeBaseFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowKnowledgeBaseFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{GuardrailConfiguration:convertCfnFlowGuardrailConfigurationPropertyToCloudFormation(properties.guardrailConfiguration),InferenceConfiguration:convertCfnFlowPromptInferenceConfigurationPropertyToCloudFormation(properties.inferenceConfiguration),KnowledgeBaseId:cdk().stringToCloudFormation(properties.knowledgeBaseId),ModelId:cdk().stringToCloudFormation(properties.modelId),NumberOfResults:cdk().numberToCloudFormation(properties.numberOfResults),OrchestrationConfiguration:convertCfnFlowKnowledgeBaseOrchestrationConfigurationPropertyToCloudFormation(properties.orchestrationConfiguration),PromptTemplate:convertCfnFlowKnowledgeBasePromptTemplatePropertyToCloudFormation(properties.promptTemplate),RerankingConfiguration:convertCfnFlowVectorSearchRerankingConfigurationPropertyToCloudFormation(properties.rerankingConfiguration)}):properties}function CfnFlowKnowledgeBaseFlowNodeConfigurationPropertyFromCloudFormation(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("guardrailConfiguration","GuardrailConfiguration",properties.GuardrailConfiguration!=null?CfnFlowGuardrailConfigurationPropertyFromCloudFormation(properties.GuardrailConfiguration):void 0),ret.addPropertyResult("inferenceConfiguration","InferenceConfiguration",properties.InferenceConfiguration!=null?CfnFlowPromptInferenceConfigurationPropertyFromCloudFormation(properties.InferenceConfiguration):void 0),ret.addPropertyResult("knowledgeBaseId","KnowledgeBaseId",properties.KnowledgeBaseId!=null?cfn_parse().FromCloudFormation.getString(properties.KnowledgeBaseId):void 0),ret.addPropertyResult("modelId","ModelId",properties.ModelId!=null?cfn_parse().FromCloudFormation.getString(properties.ModelId):void 0),ret.addPropertyResult("numberOfResults","NumberOfResults",properties.NumberOfResults!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfResults):void 0),ret.addPropertyResult("orchestrationConfiguration","OrchestrationConfiguration",properties.OrchestrationConfiguration!=null?CfnFlowKnowledgeBaseOrchestrationConfigurationPropertyFromCloudFormation(properties.OrchestrationConfiguration):void 0),ret.addPropertyResult("promptTemplate","PromptTemplate",properties.PromptTemplate!=null?CfnFlowKnowledgeBasePromptTemplatePropertyFromCloudFormation(properties.PromptTemplate):void 0),ret.addPropertyResult("rerankingConfiguration","RerankingConfiguration",properties.RerankingConfiguration!=null?CfnFlowVectorSearchRerankingConfigurationPropertyFromCloudFormation(properties.RerankingConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFlowConditionPropertyValidator(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("expression",cdk().validateString)(properties.expression)),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 "FlowConditionProperty"')}function convertCfnFlowFlowConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFlowConditionPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnFlowFlowConditionPropertyFromCloudFormation(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("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowConditionFlowNodeConfigurationPropertyValidator(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("conditions",cdk().requiredValidator)(properties.conditions)),errors.collect(cdk().propertyValidator("conditions",cdk().listValidator(CfnFlowFlowConditionPropertyValidator))(properties.conditions)),errors.wrap('supplied properties not correct for "ConditionFlowNodeConfigurationProperty"')}function convertCfnFlowConditionFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowConditionFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{Conditions:cdk().listMapper(convertCfnFlowFlowConditionPropertyToCloudFormation)(properties.conditions)}):properties}function CfnFlowConditionFlowNodeConfigurationPropertyFromCloudFormation(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("conditions","Conditions",properties.Conditions!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowFlowConditionPropertyFromCloudFormation)(properties.Conditions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowLexFlowNodeConfigurationPropertyValidator(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("botAliasArn",cdk().requiredValidator)(properties.botAliasArn)),errors.collect(cdk().propertyValidator("botAliasArn",cdk().validateString)(properties.botAliasArn)),errors.collect(cdk().propertyValidator("localeId",cdk().requiredValidator)(properties.localeId)),errors.collect(cdk().propertyValidator("localeId",cdk().validateString)(properties.localeId)),errors.wrap('supplied properties not correct for "LexFlowNodeConfigurationProperty"')}function convertCfnFlowLexFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowLexFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{BotAliasArn:cdk().stringToCloudFormation(properties.botAliasArn),LocaleId:cdk().stringToCloudFormation(properties.localeId)}):properties}function CfnFlowLexFlowNodeConfigurationPropertyFromCloudFormation(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("botAliasArn","BotAliasArn",properties.BotAliasArn!=null?cfn_parse().FromCloudFormation.getString(properties.BotAliasArn):void 0),ret.addPropertyResult("localeId","LocaleId",properties.LocaleId!=null?cfn_parse().FromCloudFormation.getString(properties.LocaleId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowPromptFlowNodeResourceConfigurationPropertyValidator(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("promptArn",cdk().requiredValidator)(properties.promptArn)),errors.collect(cdk().propertyValidator("promptArn",cdk().validateString)(properties.promptArn)),errors.wrap('supplied properties not correct for "PromptFlowNodeResourceConfigurationProperty"')}function convertCfnFlowPromptFlowNodeResourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowPromptFlowNodeResourceConfigurationPropertyValidator(properties).assertSuccess(),{PromptArn:cdk().stringToCloudFormation(properties.promptArn)}):properties}function CfnFlowPromptFlowNodeResourceConfigurationPropertyFromCloudFormation(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("promptArn","PromptArn",properties.PromptArn!=null?cfn_parse().FromCloudFormation.getString(properties.PromptArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowPromptInputVariablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "PromptInputVariableProperty"')}function convertCfnFlowPromptInputVariablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowPromptInputVariablePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnFlowPromptInputVariablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowTextPromptTemplateConfigurationPropertyValidator(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("inputVariables",cdk().listValidator(CfnFlowPromptInputVariablePropertyValidator))(properties.inputVariables)),errors.collect(cdk().propertyValidator("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.wrap('supplied properties not correct for "TextPromptTemplateConfigurationProperty"')}function convertCfnFlowTextPromptTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowTextPromptTemplateConfigurationPropertyValidator(properties).assertSuccess(),{InputVariables:cdk().listMapper(convertCfnFlowPromptInputVariablePropertyToCloudFormation)(properties.inputVariables),Text:cdk().stringToCloudFormation(properties.text)}):properties}function CfnFlowTextPromptTemplateConfigurationPropertyFromCloudFormation(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("inputVariables","InputVariables",properties.InputVariables!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowPromptInputVariablePropertyFromCloudFormation)(properties.InputVariables):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowPromptTemplateConfigurationPropertyValidator(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("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",CfnFlowTextPromptTemplateConfigurationPropertyValidator)(properties.text)),errors.wrap('supplied properties not correct for "PromptTemplateConfigurationProperty"')}function convertCfnFlowPromptTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowPromptTemplateConfigurationPropertyValidator(properties).assertSuccess(),{Text:convertCfnFlowTextPromptTemplateConfigurationPropertyToCloudFormation(properties.text)}):properties}function CfnFlowPromptTemplateConfigurationPropertyFromCloudFormation(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("text","Text",properties.Text!=null?CfnFlowTextPromptTemplateConfigurationPropertyFromCloudFormation(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowPromptFlowNodeInlineConfigurationPropertyValidator(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("inferenceConfiguration",CfnFlowPromptInferenceConfigurationPropertyValidator)(properties.inferenceConfiguration)),errors.collect(cdk().propertyValidator("modelId",cdk().requiredValidator)(properties.modelId)),errors.collect(cdk().propertyValidator("modelId",cdk().validateString)(properties.modelId)),errors.collect(cdk().propertyValidator("templateConfiguration",cdk().requiredValidator)(properties.templateConfiguration)),errors.collect(cdk().propertyValidator("templateConfiguration",CfnFlowPromptTemplateConfigurationPropertyValidator)(properties.templateConfiguration)),errors.collect(cdk().propertyValidator("templateType",cdk().requiredValidator)(properties.templateType)),errors.collect(cdk().propertyValidator("templateType",cdk().validateString)(properties.templateType)),errors.wrap('supplied properties not correct for "PromptFlowNodeInlineConfigurationProperty"')}function convertCfnFlowPromptFlowNodeInlineConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowPromptFlowNodeInlineConfigurationPropertyValidator(properties).assertSuccess(),{InferenceConfiguration:convertCfnFlowPromptInferenceConfigurationPropertyToCloudFormation(properties.inferenceConfiguration),ModelId:cdk().stringToCloudFormation(properties.modelId),TemplateConfiguration:convertCfnFlowPromptTemplateConfigurationPropertyToCloudFormation(properties.templateConfiguration),TemplateType:cdk().stringToCloudFormation(properties.templateType)}):properties}function CfnFlowPromptFlowNodeInlineConfigurationPropertyFromCloudFormation(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("inferenceConfiguration","InferenceConfiguration",properties.InferenceConfiguration!=null?CfnFlowPromptInferenceConfigurationPropertyFromCloudFormation(properties.InferenceConfiguration):void 0),ret.addPropertyResult("modelId","ModelId",properties.ModelId!=null?cfn_parse().FromCloudFormation.getString(properties.ModelId):void 0),ret.addPropertyResult("templateConfiguration","TemplateConfiguration",properties.TemplateConfiguration!=null?CfnFlowPromptTemplateConfigurationPropertyFromCloudFormation(properties.TemplateConfiguration):void 0),ret.addPropertyResult("templateType","TemplateType",properties.TemplateType!=null?cfn_parse().FromCloudFormation.getString(properties.TemplateType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowPromptFlowNodeSourceConfigurationPropertyValidator(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("inline",CfnFlowPromptFlowNodeInlineConfigurationPropertyValidator)(properties.inline)),errors.collect(cdk().propertyValidator("resource",CfnFlowPromptFlowNodeResourceConfigurationPropertyValidator)(properties.resource)),errors.wrap('supplied properties not correct for "PromptFlowNodeSourceConfigurationProperty"')}function convertCfnFlowPromptFlowNodeSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowPromptFlowNodeSourceConfigurationPropertyValidator(properties).assertSuccess(),{Inline:convertCfnFlowPromptFlowNodeInlineConfigurationPropertyToCloudFormation(properties.inline),Resource:convertCfnFlowPromptFlowNodeResourceConfigurationPropertyToCloudFormation(properties.resource)}):properties}function CfnFlowPromptFlowNodeSourceConfigurationPropertyFromCloudFormation(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("inline","Inline",properties.Inline!=null?CfnFlowPromptFlowNodeInlineConfigurationPropertyFromCloudFormation(properties.Inline):void 0),ret.addPropertyResult("resource","Resource",properties.Resource!=null?CfnFlowPromptFlowNodeResourceConfigurationPropertyFromCloudFormation(properties.Resource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowPromptFlowNodeConfigurationPropertyValidator(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("guardrailConfiguration",CfnFlowGuardrailConfigurationPropertyValidator)(properties.guardrailConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",cdk().requiredValidator)(properties.sourceConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",CfnFlowPromptFlowNodeSourceConfigurationPropertyValidator)(properties.sourceConfiguration)),errors.wrap('supplied properties not correct for "PromptFlowNodeConfigurationProperty"')}function convertCfnFlowPromptFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowPromptFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{GuardrailConfiguration:convertCfnFlowGuardrailConfigurationPropertyToCloudFormation(properties.guardrailConfiguration),SourceConfiguration:convertCfnFlowPromptFlowNodeSourceConfigurationPropertyToCloudFormation(properties.sourceConfiguration)}):properties}function CfnFlowPromptFlowNodeConfigurationPropertyFromCloudFormation(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("guardrailConfiguration","GuardrailConfiguration",properties.GuardrailConfiguration!=null?CfnFlowGuardrailConfigurationPropertyFromCloudFormation(properties.GuardrailConfiguration):void 0),ret.addPropertyResult("sourceConfiguration","SourceConfiguration",properties.SourceConfiguration!=null?CfnFlowPromptFlowNodeSourceConfigurationPropertyFromCloudFormation(properties.SourceConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowLambdaFunctionFlowNodeConfigurationPropertyValidator(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("lambdaArn",cdk().requiredValidator)(properties.lambdaArn)),errors.collect(cdk().propertyValidator("lambdaArn",cdk().validateString)(properties.lambdaArn)),errors.wrap('supplied properties not correct for "LambdaFunctionFlowNodeConfigurationProperty"')}function convertCfnFlowLambdaFunctionFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowLambdaFunctionFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{LambdaArn:cdk().stringToCloudFormation(properties.lambdaArn)}):properties}function CfnFlowLambdaFunctionFlowNodeConfigurationPropertyFromCloudFormation(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("lambdaArn","LambdaArn",properties.LambdaArn!=null?cfn_parse().FromCloudFormation.getString(properties.LambdaArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowAgentFlowNodeConfigurationPropertyValidator(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("agentAliasArn",cdk().requiredValidator)(properties.agentAliasArn)),errors.collect(cdk().propertyValidator("agentAliasArn",cdk().validateString)(properties.agentAliasArn)),errors.wrap('supplied properties not correct for "AgentFlowNodeConfigurationProperty"')}function convertCfnFlowAgentFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowAgentFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{AgentAliasArn:cdk().stringToCloudFormation(properties.agentAliasArn)}):properties}function CfnFlowAgentFlowNodeConfigurationPropertyFromCloudFormation(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("agentAliasArn","AgentAliasArn",properties.AgentAliasArn!=null?cfn_parse().FromCloudFormation.getString(properties.AgentAliasArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowStorageFlowNodeS3ConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.wrap('supplied properties not correct for "StorageFlowNodeS3ConfigurationProperty"')}function convertCfnFlowStorageFlowNodeS3ConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowStorageFlowNodeS3ConfigurationPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName)}):properties}function CfnFlowStorageFlowNodeS3ConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowStorageFlowNodeServiceConfigurationPropertyValidator(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("s3",CfnFlowStorageFlowNodeS3ConfigurationPropertyValidator)(properties.s3)),errors.wrap('supplied properties not correct for "StorageFlowNodeServiceConfigurationProperty"')}function convertCfnFlowStorageFlowNodeServiceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowStorageFlowNodeServiceConfigurationPropertyValidator(properties).assertSuccess(),{S3:convertCfnFlowStorageFlowNodeS3ConfigurationPropertyToCloudFormation(properties.s3)}):properties}function CfnFlowStorageFlowNodeServiceConfigurationPropertyFromCloudFormation(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("s3","S3",properties.S3!=null?CfnFlowStorageFlowNodeS3ConfigurationPropertyFromCloudFormation(properties.S3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowStorageFlowNodeConfigurationPropertyValidator(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("serviceConfiguration",cdk().requiredValidator)(properties.serviceConfiguration)),errors.collect(cdk().propertyValidator("serviceConfiguration",CfnFlowStorageFlowNodeServiceConfigurationPropertyValidator)(properties.serviceConfiguration)),errors.wrap('supplied properties not correct for "StorageFlowNodeConfigurationProperty"')}function convertCfnFlowStorageFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowStorageFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{ServiceConfiguration:convertCfnFlowStorageFlowNodeServiceConfigurationPropertyToCloudFormation(properties.serviceConfiguration)}):properties}function CfnFlowStorageFlowNodeConfigurationPropertyFromCloudFormation(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("serviceConfiguration","ServiceConfiguration",properties.ServiceConfiguration!=null?CfnFlowStorageFlowNodeServiceConfigurationPropertyFromCloudFormation(properties.ServiceConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowRetrievalFlowNodeS3ConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.wrap('supplied properties not correct for "RetrievalFlowNodeS3ConfigurationProperty"')}function convertCfnFlowRetrievalFlowNodeS3ConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowRetrievalFlowNodeS3ConfigurationPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName)}):properties}function CfnFlowRetrievalFlowNodeS3ConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowRetrievalFlowNodeServiceConfigurationPropertyValidator(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("s3",CfnFlowRetrievalFlowNodeS3ConfigurationPropertyValidator)(properties.s3)),errors.wrap('supplied properties not correct for "RetrievalFlowNodeServiceConfigurationProperty"')}function convertCfnFlowRetrievalFlowNodeServiceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowRetrievalFlowNodeServiceConfigurationPropertyValidator(properties).assertSuccess(),{S3:convertCfnFlowRetrievalFlowNodeS3ConfigurationPropertyToCloudFormation(properties.s3)}):properties}function CfnFlowRetrievalFlowNodeServiceConfigurationPropertyFromCloudFormation(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("s3","S3",properties.S3!=null?CfnFlowRetrievalFlowNodeS3ConfigurationPropertyFromCloudFormation(properties.S3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowRetrievalFlowNodeConfigurationPropertyValidator(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("serviceConfiguration",cdk().requiredValidator)(properties.serviceConfiguration)),errors.collect(cdk().propertyValidator("serviceConfiguration",CfnFlowRetrievalFlowNodeServiceConfigurationPropertyValidator)(properties.serviceConfiguration)),errors.wrap('supplied properties not correct for "RetrievalFlowNodeConfigurationProperty"')}function convertCfnFlowRetrievalFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowRetrievalFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{ServiceConfiguration:convertCfnFlowRetrievalFlowNodeServiceConfigurationPropertyToCloudFormation(properties.serviceConfiguration)}):properties}function CfnFlowRetrievalFlowNodeConfigurationPropertyFromCloudFormation(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("serviceConfiguration","ServiceConfiguration",properties.ServiceConfiguration!=null?CfnFlowRetrievalFlowNodeServiceConfigurationPropertyFromCloudFormation(properties.ServiceConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowInlineCodeFlowNodeConfigurationPropertyValidator(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("code",cdk().requiredValidator)(properties.code)),errors.collect(cdk().propertyValidator("code",cdk().validateString)(properties.code)),errors.collect(cdk().propertyValidator("language",cdk().requiredValidator)(properties.language)),errors.collect(cdk().propertyValidator("language",cdk().validateString)(properties.language)),errors.wrap('supplied properties not correct for "InlineCodeFlowNodeConfigurationProperty"')}function convertCfnFlowInlineCodeFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowInlineCodeFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{Code:cdk().stringToCloudFormation(properties.code),Language:cdk().stringToCloudFormation(properties.language)}):properties}function CfnFlowInlineCodeFlowNodeConfigurationPropertyFromCloudFormation(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("code","Code",properties.Code!=null?cfn_parse().FromCloudFormation.getString(properties.Code):void 0),ret.addPropertyResult("language","Language",properties.Language!=null?cfn_parse().FromCloudFormation.getString(properties.Language):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowLoopFlowNodeConfigurationPropertyValidator(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("definition",cdk().requiredValidator)(properties.definition)),errors.collect(cdk().propertyValidator("definition",CfnFlowFlowDefinitionPropertyValidator)(properties.definition)),errors.wrap('supplied properties not correct for "LoopFlowNodeConfigurationProperty"')}function convertCfnFlowLoopFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowLoopFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{Definition:convertCfnFlowFlowDefinitionPropertyToCloudFormation(properties.definition)}):properties}function CfnFlowLoopFlowNodeConfigurationPropertyFromCloudFormation(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("definition","Definition",properties.Definition!=null?CfnFlowFlowDefinitionPropertyFromCloudFormation(properties.Definition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowLoopControllerFlowNodeConfigurationPropertyValidator(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("continueCondition",cdk().requiredValidator)(properties.continueCondition)),errors.collect(cdk().propertyValidator("continueCondition",CfnFlowFlowConditionPropertyValidator)(properties.continueCondition)),errors.collect(cdk().propertyValidator("maxIterations",cdk().validateNumber)(properties.maxIterations)),errors.wrap('supplied properties not correct for "LoopControllerFlowNodeConfigurationProperty"')}function convertCfnFlowLoopControllerFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowLoopControllerFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{ContinueCondition:convertCfnFlowFlowConditionPropertyToCloudFormation(properties.continueCondition),MaxIterations:cdk().numberToCloudFormation(properties.maxIterations)}):properties}function CfnFlowLoopControllerFlowNodeConfigurationPropertyFromCloudFormation(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("continueCondition","ContinueCondition",properties.ContinueCondition!=null?CfnFlowFlowConditionPropertyFromCloudFormation(properties.ContinueCondition):void 0),ret.addPropertyResult("maxIterations","MaxIterations",properties.MaxIterations!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxIterations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFlowNodeConfigurationPropertyValidator(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("agent",CfnFlowAgentFlowNodeConfigurationPropertyValidator)(properties.agent)),errors.collect(cdk().propertyValidator("collector",cdk().validateObject)(properties.collector)),errors.collect(cdk().propertyValidator("condition",CfnFlowConditionFlowNodeConfigurationPropertyValidator)(properties.condition)),errors.collect(cdk().propertyValidator("inlineCode",CfnFlowInlineCodeFlowNodeConfigurationPropertyValidator)(properties.inlineCode)),errors.collect(cdk().propertyValidator("input",cdk().validateObject)(properties.input)),errors.collect(cdk().propertyValidator("iterator",cdk().validateObject)(properties.iterator)),errors.collect(cdk().propertyValidator("knowledgeBase",CfnFlowKnowledgeBaseFlowNodeConfigurationPropertyValidator)(properties.knowledgeBase)),errors.collect(cdk().propertyValidator("lambdaFunction",CfnFlowLambdaFunctionFlowNodeConfigurationPropertyValidator)(properties.lambdaFunction)),errors.collect(cdk().propertyValidator("lex",CfnFlowLexFlowNodeConfigurationPropertyValidator)(properties.lex)),errors.collect(cdk().propertyValidator("loop",CfnFlowLoopFlowNodeConfigurationPropertyValidator)(properties.loop)),errors.collect(cdk().propertyValidator("loopController",CfnFlowLoopControllerFlowNodeConfigurationPropertyValidator)(properties.loopController)),errors.collect(cdk().propertyValidator("loopInput",cdk().validateObject)(properties.loopInput)),errors.collect(cdk().propertyValidator("output",cdk().validateObject)(properties.output)),errors.collect(cdk().propertyValidator("prompt",CfnFlowPromptFlowNodeConfigurationPropertyValidator)(properties.prompt)),errors.collect(cdk().propertyValidator("retrieval",CfnFlowRetrievalFlowNodeConfigurationPropertyValidator)(properties.retrieval)),errors.collect(cdk().propertyValidator("storage",CfnFlowStorageFlowNodeConfigurationPropertyValidator)(properties.storage)),errors.wrap('supplied properties not correct for "FlowNodeConfigurationProperty"')}function convertCfnFlowFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{Agent:convertCfnFlowAgentFlowNodeConfigurationPropertyToCloudFormation(properties.agent),Collector:cdk().objectToCloudFormation(properties.collector),Condition:convertCfnFlowConditionFlowNodeConfigurationPropertyToCloudFormation(properties.condition),InlineCode:convertCfnFlowInlineCodeFlowNodeConfigurationPropertyToCloudFormation(properties.inlineCode),Input:cdk().objectToCloudFormation(properties.input),Iterator:cdk().objectToCloudFormation(properties.iterator),KnowledgeBase:convertCfnFlowKnowledgeBaseFlowNodeConfigurationPropertyToCloudFormation(properties.knowledgeBase),LambdaFunction:convertCfnFlowLambdaFunctionFlowNodeConfigurationPropertyToCloudFormation(properties.lambdaFunction),Lex:convertCfnFlowLexFlowNodeConfigurationPropertyToCloudFormation(properties.lex),Loop:convertCfnFlowLoopFlowNodeConfigurationPropertyToCloudFormation(properties.loop),LoopController:convertCfnFlowLoopControllerFlowNodeConfigurationPropertyToCloudFormation(properties.loopController),LoopInput:cdk().objectToCloudFormation(properties.loopInput),Output:cdk().objectToCloudFormation(properties.output),Prompt:convertCfnFlowPromptFlowNodeConfigurationPropertyToCloudFormation(properties.prompt),Retrieval:convertCfnFlowRetrievalFlowNodeConfigurationPropertyToCloudFormation(properties.retrieval),Storage:convertCfnFlowStorageFlowNodeConfigurationPropertyToCloudFormation(properties.storage)}):properties}function CfnFlowFlowNodeConfigurationPropertyFromCloudFormation(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("agent","Agent",properties.Agent!=null?CfnFlowAgentFlowNodeConfigurationPropertyFromCloudFormation(properties.Agent):void 0),ret.addPropertyResult("collector","Collector",properties.Collector!=null?cfn_parse().FromCloudFormation.getAny(properties.Collector):void 0),ret.addPropertyResult("condition","Condition",properties.Condition!=null?CfnFlowConditionFlowNodeConfigurationPropertyFromCloudFormation(properties.Condition):void 0),ret.addPropertyResult("inlineCode","InlineCode",properties.InlineCode!=null?CfnFlowInlineCodeFlowNodeConfigurationPropertyFromCloudFormation(properties.InlineCode):void 0),ret.addPropertyResult("input","Input",properties.Input!=null?cfn_parse().FromCloudFormation.getAny(properties.Input):void 0),ret.addPropertyResult("iterator","Iterator",properties.Iterator!=null?cfn_parse().FromCloudFormation.getAny(properties.Iterator):void 0),ret.addPropertyResult("knowledgeBase","KnowledgeBase",properties.KnowledgeBase!=null?CfnFlowKnowledgeBaseFlowNodeConfigurationPropertyFromCloudFormation(properties.KnowledgeBase):void 0),ret.addPropertyResult("lambdaFunction","LambdaFunction",properties.LambdaFunction!=null?CfnFlowLambdaFunctionFlowNodeConfigurationPropertyFromCloudFormation(properties.LambdaFunction):void 0),ret.addPropertyResult("lex","Lex",properties.Lex!=null?CfnFlowLexFlowNodeConfigurationPropertyFromCloudFormation(properties.Lex):void 0),ret.addPropertyResult("loop","Loop",properties.Loop!=null?CfnFlowLoopFlowNodeConfigurationPropertyFromCloudFormation(properties.Loop):void 0),ret.addPropertyResult("loopController","LoopController",properties.LoopController!=null?CfnFlowLoopControllerFlowNodeConfigurationPropertyFromCloudFormation(properties.LoopController):void 0),ret.addPropertyResult("loopInput","LoopInput",properties.LoopInput!=null?cfn_parse().FromCloudFormation.getAny(properties.LoopInput):void 0),ret.addPropertyResult("output","Output",properties.Output!=null?cfn_parse().FromCloudFormation.getAny(properties.Output):void 0),ret.addPropertyResult("prompt","Prompt",properties.Prompt!=null?CfnFlowPromptFlowNodeConfigurationPropertyFromCloudFormation(properties.Prompt):void 0),ret.addPropertyResult("retrieval","Retrieval",properties.Retrieval!=null?CfnFlowRetrievalFlowNodeConfigurationPropertyFromCloudFormation(properties.Retrieval):void 0),ret.addPropertyResult("storage","Storage",properties.Storage!=null?CfnFlowStorageFlowNodeConfigurationPropertyFromCloudFormation(properties.Storage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFlowNodeInputPropertyValidator(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("category",cdk().validateString)(properties.category)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),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 "FlowNodeInputProperty"')}function convertCfnFlowFlowNodeInputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFlowNodeInputPropertyValidator(properties).assertSuccess(),{Category:cdk().stringToCloudFormation(properties.category),Expression:cdk().stringToCloudFormation(properties.expression),Name:cdk().stringToCloudFormation(properties.name),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFlowFlowNodeInputPropertyFromCloudFormation(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("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getString(properties.Category):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFlowNodeOutputPropertyValidator(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("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FlowNodeOutputProperty"')}function convertCfnFlowFlowNodeOutputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFlowNodeOutputPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFlowFlowNodeOutputPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFlowNodePropertyValidator(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("configuration",CfnFlowFlowNodeConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("inputs",cdk().listValidator(CfnFlowFlowNodeInputPropertyValidator))(properties.inputs)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("outputs",cdk().listValidator(CfnFlowFlowNodeOutputPropertyValidator))(properties.outputs)),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 "FlowNodeProperty"')}function convertCfnFlowFlowNodePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFlowNodePropertyValidator(properties).assertSuccess(),{Configuration:convertCfnFlowFlowNodeConfigurationPropertyToCloudFormation(properties.configuration),Inputs:cdk().listMapper(convertCfnFlowFlowNodeInputPropertyToCloudFormation)(properties.inputs),Name:cdk().stringToCloudFormation(properties.name),Outputs:cdk().listMapper(convertCfnFlowFlowNodeOutputPropertyToCloudFormation)(properties.outputs),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFlowFlowNodePropertyFromCloudFormation(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("configuration","Configuration",properties.Configuration!=null?CfnFlowFlowNodeConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("inputs","Inputs",properties.Inputs!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowFlowNodeInputPropertyFromCloudFormation)(properties.Inputs):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("outputs","Outputs",properties.Outputs!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowFlowNodeOutputPropertyFromCloudFormation)(properties.Outputs):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFlowDataConnectionConfigurationPropertyValidator(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("sourceOutput",cdk().requiredValidator)(properties.sourceOutput)),errors.collect(cdk().propertyValidator("sourceOutput",cdk().validateString)(properties.sourceOutput)),errors.collect(cdk().propertyValidator("targetInput",cdk().requiredValidator)(properties.targetInput)),errors.collect(cdk().propertyValidator("targetInput",cdk().validateString)(properties.targetInput)),errors.wrap('supplied properties not correct for "FlowDataConnectionConfigurationProperty"')}function convertCfnFlowFlowDataConnectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFlowDataConnectionConfigurationPropertyValidator(properties).assertSuccess(),{SourceOutput:cdk().stringToCloudFormation(properties.sourceOutput),TargetInput:cdk().stringToCloudFormation(properties.targetInput)}):properties}function CfnFlowFlowDataConnectionConfigurationPropertyFromCloudFormation(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("sourceOutput","SourceOutput",properties.SourceOutput!=null?cfn_parse().FromCloudFormation.getString(properties.SourceOutput):void 0),ret.addPropertyResult("targetInput","TargetInput",properties.TargetInput!=null?cfn_parse().FromCloudFormation.getString(properties.TargetInput):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFlowConditionalConnectionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("condition",cdk().requiredValidator)(properties.condition)),errors.collect(cdk().propertyValidator("condition",cdk().validateString)(properties.condition)),errors.wrap('supplied properties not correct for "FlowConditionalConnectionConfigurationProperty"')}function convertCfnFlowFlowConditionalConnectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFlowConditionalConnectionConfigurationPropertyValidator(properties).assertSuccess(),{Condition:cdk().stringToCloudFormation(properties.condition)}):properties}function CfnFlowFlowConditionalConnectionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("condition","Condition",properties.Condition!=null?cfn_parse().FromCloudFormation.getString(properties.Condition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFlowConnectionConfigurationPropertyValidator(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("conditional",CfnFlowFlowConditionalConnectionConfigurationPropertyValidator)(properties.conditional)),errors.collect(cdk().propertyValidator("data",CfnFlowFlowDataConnectionConfigurationPropertyValidator)(properties.data)),errors.wrap('supplied properties not correct for "FlowConnectionConfigurationProperty"')}function convertCfnFlowFlowConnectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFlowConnectionConfigurationPropertyValidator(properties).assertSuccess(),{Conditional:convertCfnFlowFlowConditionalConnectionConfigurationPropertyToCloudFormation(properties.conditional),Data:convertCfnFlowFlowDataConnectionConfigurationPropertyToCloudFormation(properties.data)}):properties}function CfnFlowFlowConnectionConfigurationPropertyFromCloudFormation(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("conditional","Conditional",properties.Conditional!=null?CfnFlowFlowConditionalConnectionConfigurationPropertyFromCloudFormation(properties.Conditional):void 0),ret.addPropertyResult("data","Data",properties.Data!=null?CfnFlowFlowDataConnectionConfigurationPropertyFromCloudFormation(properties.Data):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFlowConnectionPropertyValidator(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("configuration",CfnFlowFlowConnectionConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",cdk().validateString)(properties.source)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),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 "FlowConnectionProperty"')}function convertCfnFlowFlowConnectionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFlowConnectionPropertyValidator(properties).assertSuccess(),{Configuration:convertCfnFlowFlowConnectionConfigurationPropertyToCloudFormation(properties.configuration),Name:cdk().stringToCloudFormation(properties.name),Source:cdk().stringToCloudFormation(properties.source),Target:cdk().stringToCloudFormation(properties.target),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFlowFlowConnectionPropertyFromCloudFormation(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("configuration","Configuration",properties.Configuration!=null?CfnFlowFlowConnectionConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?cfn_parse().FromCloudFormation.getString(properties.Source):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFlowDefinitionPropertyValidator(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("connections",cdk().listValidator(CfnFlowFlowConnectionPropertyValidator))(properties.connections)),errors.collect(cdk().propertyValidator("nodes",cdk().listValidator(CfnFlowFlowNodePropertyValidator))(properties.nodes)),errors.wrap('supplied properties not correct for "FlowDefinitionProperty"')}function convertCfnFlowFlowDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFlowDefinitionPropertyValidator(properties).assertSuccess(),{Connections:cdk().listMapper(convertCfnFlowFlowConnectionPropertyToCloudFormation)(properties.connections),Nodes:cdk().listMapper(convertCfnFlowFlowNodePropertyToCloudFormation)(properties.nodes)}):properties}function CfnFlowFlowDefinitionPropertyFromCloudFormation(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("connections","Connections",properties.Connections!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowFlowConnectionPropertyFromCloudFormation)(properties.Connections):void 0),ret.addPropertyResult("nodes","Nodes",properties.Nodes!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowFlowNodePropertyFromCloudFormation)(properties.Nodes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowS3LocationPropertyValidator(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.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnFlowS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowS3LocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnFlowS3LocationPropertyFromCloudFormation(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.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowFlowValidationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("message",cdk().requiredValidator)(properties.message)),errors.collect(cdk().propertyValidator("message",cdk().validateString)(properties.message)),errors.wrap('supplied properties not correct for "FlowValidationProperty"')}function convertCfnFlowFlowValidationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowFlowValidationPropertyValidator(properties).assertSuccess(),{Message:cdk().stringToCloudFormation(properties.message)}):properties}function CfnFlowFlowValidationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowPropsValidator(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("customerEncryptionKeyArn",cdk().validateString)(properties.customerEncryptionKeyArn)),errors.collect(cdk().propertyValidator("definition",CfnFlowFlowDefinitionPropertyValidator)(properties.definition)),errors.collect(cdk().propertyValidator("definitionS3Location",CfnFlowS3LocationPropertyValidator)(properties.definitionS3Location)),errors.collect(cdk().propertyValidator("definitionString",cdk().validateString)(properties.definitionString)),errors.collect(cdk().propertyValidator("definitionSubstitutions",cdk().hashValidator(cdk().unionValidator(cdk().validateString,cdk().validateNumber,cdk().validateBoolean)))(properties.definitionSubstitutions)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("executionRoleArn",cdk().requiredValidator)(properties.executionRoleArn)),errors.collect(cdk().propertyValidator("executionRoleArn",cdk().validateString)(properties.executionRoleArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("testAliasTags",cdk().hashValidator(cdk().validateString))(properties.testAliasTags)),errors.wrap('supplied properties not correct for "CfnFlowProps"')}function convertCfnFlowPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowPropsValidator(properties).assertSuccess(),{CustomerEncryptionKeyArn:cdk().stringToCloudFormation(properties.customerEncryptionKeyArn),Definition:convertCfnFlowFlowDefinitionPropertyToCloudFormation(properties.definition),DefinitionS3Location:convertCfnFlowS3LocationPropertyToCloudFormation(properties.definitionS3Location),DefinitionString:cdk().stringToCloudFormation(properties.definitionString),DefinitionSubstitutions:cdk().hashMapper(cdk().unionMapper([cdk().validateString,cdk().validateNumber,cdk().validateBoolean],[cdk().stringToCloudFormation,cdk().numberToCloudFormation,cdk().booleanToCloudFormation]))(properties.definitionSubstitutions),Description:cdk().stringToCloudFormation(properties.description),ExecutionRoleArn:cdk().stringToCloudFormation(properties.executionRoleArn),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),TestAliasTags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.testAliasTags)}):properties}function CfnFlowPropsFromCloudFormation(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("customerEncryptionKeyArn","CustomerEncryptionKeyArn",properties.CustomerEncryptionKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.CustomerEncryptionKeyArn):void 0),ret.addPropertyResult("definition","Definition",properties.Definition!=null?CfnFlowFlowDefinitionPropertyFromCloudFormation(properties.Definition):void 0),ret.addPropertyResult("definitionS3Location","DefinitionS3Location",properties.DefinitionS3Location!=null?CfnFlowS3LocationPropertyFromCloudFormation(properties.DefinitionS3Location):void 0),ret.addPropertyResult("definitionString","DefinitionString",properties.DefinitionString!=null?cfn_parse().FromCloudFormation.getString(properties.DefinitionString):void 0),ret.addPropertyResult("definitionSubstitutions","DefinitionSubstitutions",properties.DefinitionSubstitutions!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,cdk().validateNumber,cdk().validateBoolean],[cfn_parse().FromCloudFormation.getString,cfn_parse().FromCloudFormation.getNumber,cfn_parse().FromCloudFormation.getBoolean]))(properties.DefinitionSubstitutions):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("executionRoleArn","ExecutionRoleArn",properties.ExecutionRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutionRoleArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("testAliasTags","TestAliasTags",properties.TestAliasTags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.TestAliasTags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFlowAlias extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnFlowAlias",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::FlowAlias";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFlowAliasPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFlowAlias(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 isCfnFlowAlias(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFlowAlias.CFN_RESOURCE_TYPE_NAME}static arnForFlowAlias(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_bedrock_IFlowAliasRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFlowAlias),error}return resource.flowAliasRef.flowAliasArn}cdkTagManager;_concurrencyConfiguration;_description;_flowArn;_name;_routingConfiguration;_tags;cfnPropertyNames={tags:"Tags",concurrencyConfiguration:"ConcurrencyConfiguration",description:"Description",flowArn:"FlowArn",name:"Name",routingConfiguration:"RoutingConfiguration"};constructor(scope,id,props){super(scope,id,{type:CfnFlowAlias.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnFlowAliasProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFlowAlias),error}cdk().requireProperty(props,"flowArn",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"routingConfiguration",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Bedrock::FlowAlias",void 0,{tagPropertyName:"tags"}),this._concurrencyConfiguration=props.concurrencyConfiguration,this._description=props.description,this._flowArn=props.flowArn,this._name=props.name,this._routingConfiguration=props.routingConfiguration,this._tags=props.tags}get flowAliasRef(){return{flowAliasArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),flowArn:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get concurrencyConfiguration(){return this._concurrencyConfiguration}set concurrencyConfiguration(value){cdk().traceProperty(this.node,"ConcurrencyConfiguration"),this._concurrencyConfiguration=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get flowArn(){return this._flowArn}set flowArn(value){cdk().traceProperty(this.node,"FlowArn"),this._flowArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get routingConfiguration(){return this._routingConfiguration}set routingConfiguration(value){cdk().traceProperty(this.node,"RoutingConfiguration"),this._routingConfiguration=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrFlowId(){return cdk().Token.asString(this.getAtt("FlowId",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),concurrencyConfiguration:this._concurrencyConfiguration,description:this._description,flowArn:this._flowArn,name:this._name,routingConfiguration:this._routingConfiguration}}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",CfnFlowAlias.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFlowAliasPropsToCloudFormation(props)}}exports.CfnFlowAlias=CfnFlowAlias;function CfnFlowAliasFlowAliasConcurrencyConfigurationPropertyValidator(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("maxConcurrency",cdk().validateNumber)(properties.maxConcurrency)),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 "FlowAliasConcurrencyConfigurationProperty"')}function convertCfnFlowAliasFlowAliasConcurrencyConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowAliasFlowAliasConcurrencyConfigurationPropertyValidator(properties).assertSuccess(),{MaxConcurrency:cdk().numberToCloudFormation(properties.maxConcurrency),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFlowAliasFlowAliasConcurrencyConfigurationPropertyFromCloudFormation(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("maxConcurrency","MaxConcurrency",properties.MaxConcurrency!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxConcurrency):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowAliasFlowAliasRoutingConfigurationListItemPropertyValidator(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("flowVersion",cdk().validateString)(properties.flowVersion)),errors.wrap('supplied properties not correct for "FlowAliasRoutingConfigurationListItemProperty"')}function convertCfnFlowAliasFlowAliasRoutingConfigurationListItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowAliasFlowAliasRoutingConfigurationListItemPropertyValidator(properties).assertSuccess(),{FlowVersion:cdk().stringToCloudFormation(properties.flowVersion)}):properties}function CfnFlowAliasFlowAliasRoutingConfigurationListItemPropertyFromCloudFormation(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("flowVersion","FlowVersion",properties.FlowVersion!=null?cfn_parse().FromCloudFormation.getString(properties.FlowVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowAliasPropsValidator(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("concurrencyConfiguration",CfnFlowAliasFlowAliasConcurrencyConfigurationPropertyValidator)(properties.concurrencyConfiguration)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("flowArn",cdk().requiredValidator)(properties.flowArn)),errors.collect(cdk().propertyValidator("flowArn",cdk().validateString)(properties.flowArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("routingConfiguration",cdk().requiredValidator)(properties.routingConfiguration)),errors.collect(cdk().propertyValidator("routingConfiguration",cdk().listValidator(CfnFlowAliasFlowAliasRoutingConfigurationListItemPropertyValidator))(properties.routingConfiguration)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnFlowAliasProps"')}function convertCfnFlowAliasPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowAliasPropsValidator(properties).assertSuccess(),{ConcurrencyConfiguration:convertCfnFlowAliasFlowAliasConcurrencyConfigurationPropertyToCloudFormation(properties.concurrencyConfiguration),Description:cdk().stringToCloudFormation(properties.description),FlowArn:cdk().stringToCloudFormation(properties.flowArn),Name:cdk().stringToCloudFormation(properties.name),RoutingConfiguration:cdk().listMapper(convertCfnFlowAliasFlowAliasRoutingConfigurationListItemPropertyToCloudFormation)(properties.routingConfiguration),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnFlowAliasPropsFromCloudFormation(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("concurrencyConfiguration","ConcurrencyConfiguration",properties.ConcurrencyConfiguration!=null?CfnFlowAliasFlowAliasConcurrencyConfigurationPropertyFromCloudFormation(properties.ConcurrencyConfiguration):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("flowArn","FlowArn",properties.FlowArn!=null?cfn_parse().FromCloudFormation.getString(properties.FlowArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("routingConfiguration","RoutingConfiguration",properties.RoutingConfiguration!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowAliasFlowAliasRoutingConfigurationListItemPropertyFromCloudFormation)(properties.RoutingConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFlowVersion extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnFlowVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::FlowVersion";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFlowVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFlowVersion(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 isCfnFlowVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFlowVersion.CFN_RESOURCE_TYPE_NAME}_description;_flowArn;cfnPropertyNames={description:"Description",flowArn:"FlowArn"};constructor(scope,id,props){super(scope,id,{type:CfnFlowVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnFlowVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFlowVersion),error}cdk().requireProperty(props,"flowArn",this),this._description=props.description,this._flowArn=props.flowArn}get flowVersionRef(){return{flowArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),version:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get flowArn(){return this._flowArn}set flowArn(value){cdk().traceProperty(this.node,"FlowArn"),this._flowArn=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrCustomerEncryptionKeyArn(){return cdk().Token.asString(this.getAtt("CustomerEncryptionKeyArn",cdk().ResolutionTypeHint.STRING))}get attrDefinition(){return this.getAtt("Definition")}get attrExecutionRoleArn(){return cdk().Token.asString(this.getAtt("ExecutionRoleArn",cdk().ResolutionTypeHint.STRING))}get attrFlowId(){return cdk().Token.asString(this.getAtt("FlowId",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return cdk().Token.asString(this.getAtt("Version",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,flowArn:this._flowArn}}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",CfnFlowVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFlowVersionPropsToCloudFormation(props)}}exports.CfnFlowVersion=CfnFlowVersion;function CfnFlowVersionGuardrailConfigurationPropertyValidator(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("guardrailIdentifier",cdk().validateString)(properties.guardrailIdentifier)),errors.collect(cdk().propertyValidator("guardrailVersion",cdk().validateString)(properties.guardrailVersion)),errors.wrap('supplied properties not correct for "GuardrailConfigurationProperty"')}function convertCfnFlowVersionGuardrailConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionGuardrailConfigurationPropertyValidator(properties).assertSuccess(),{GuardrailIdentifier:cdk().stringToCloudFormation(properties.guardrailIdentifier),GuardrailVersion:cdk().stringToCloudFormation(properties.guardrailVersion)}):properties}function CfnFlowVersionGuardrailConfigurationPropertyFromCloudFormation(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("guardrailIdentifier","GuardrailIdentifier",properties.GuardrailIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.GuardrailIdentifier):void 0),ret.addPropertyResult("guardrailVersion","GuardrailVersion",properties.GuardrailVersion!=null?cfn_parse().FromCloudFormation.getString(properties.GuardrailVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionKnowledgeBasePromptTemplatePropertyValidator(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("textPromptTemplate",cdk().requiredValidator)(properties.textPromptTemplate)),errors.collect(cdk().propertyValidator("textPromptTemplate",cdk().validateString)(properties.textPromptTemplate)),errors.wrap('supplied properties not correct for "KnowledgeBasePromptTemplateProperty"')}function convertCfnFlowVersionKnowledgeBasePromptTemplatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionKnowledgeBasePromptTemplatePropertyValidator(properties).assertSuccess(),{TextPromptTemplate:cdk().stringToCloudFormation(properties.textPromptTemplate)}):properties}function CfnFlowVersionKnowledgeBasePromptTemplatePropertyFromCloudFormation(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("textPromptTemplate","TextPromptTemplate",properties.TextPromptTemplate!=null?cfn_parse().FromCloudFormation.getString(properties.TextPromptTemplate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionPromptModelInferenceConfigurationPropertyValidator(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("maxTokens",cdk().validateNumber)(properties.maxTokens)),errors.collect(cdk().propertyValidator("stopSequences",cdk().listValidator(cdk().validateString))(properties.stopSequences)),errors.collect(cdk().propertyValidator("temperature",cdk().validateNumber)(properties.temperature)),errors.collect(cdk().propertyValidator("topP",cdk().validateNumber)(properties.topP)),errors.wrap('supplied properties not correct for "PromptModelInferenceConfigurationProperty"')}function convertCfnFlowVersionPromptModelInferenceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionPromptModelInferenceConfigurationPropertyValidator(properties).assertSuccess(),{MaxTokens:cdk().numberToCloudFormation(properties.maxTokens),StopSequences:cdk().listMapper(cdk().stringToCloudFormation)(properties.stopSequences),Temperature:cdk().numberToCloudFormation(properties.temperature),TopP:cdk().numberToCloudFormation(properties.topP)}):properties}function CfnFlowVersionPromptModelInferenceConfigurationPropertyFromCloudFormation(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("maxTokens","MaxTokens",properties.MaxTokens!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxTokens):void 0),ret.addPropertyResult("stopSequences","StopSequences",properties.StopSequences!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StopSequences):void 0),ret.addPropertyResult("temperature","Temperature",properties.Temperature!=null?cfn_parse().FromCloudFormation.getNumber(properties.Temperature):void 0),ret.addPropertyResult("topP","TopP",properties.TopP!=null?cfn_parse().FromCloudFormation.getNumber(properties.TopP):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionPromptInferenceConfigurationPropertyValidator(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("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",CfnFlowVersionPromptModelInferenceConfigurationPropertyValidator)(properties.text)),errors.wrap('supplied properties not correct for "PromptInferenceConfigurationProperty"')}function convertCfnFlowVersionPromptInferenceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionPromptInferenceConfigurationPropertyValidator(properties).assertSuccess(),{Text:convertCfnFlowVersionPromptModelInferenceConfigurationPropertyToCloudFormation(properties.text)}):properties}function CfnFlowVersionPromptInferenceConfigurationPropertyFromCloudFormation(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("text","Text",properties.Text!=null?CfnFlowVersionPromptModelInferenceConfigurationPropertyFromCloudFormation(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionPerformanceConfigurationPropertyValidator(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("latency",cdk().validateString)(properties.latency)),errors.wrap('supplied properties not correct for "PerformanceConfigurationProperty"')}function convertCfnFlowVersionPerformanceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionPerformanceConfigurationPropertyValidator(properties).assertSuccess(),{Latency:cdk().stringToCloudFormation(properties.latency)}):properties}function CfnFlowVersionPerformanceConfigurationPropertyFromCloudFormation(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("latency","Latency",properties.Latency!=null?cfn_parse().FromCloudFormation.getString(properties.Latency):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionKnowledgeBaseOrchestrationConfigurationPropertyValidator(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("additionalModelRequestFields",cdk().validateObject)(properties.additionalModelRequestFields)),errors.collect(cdk().propertyValidator("inferenceConfig",CfnFlowVersionPromptInferenceConfigurationPropertyValidator)(properties.inferenceConfig)),errors.collect(cdk().propertyValidator("performanceConfig",CfnFlowVersionPerformanceConfigurationPropertyValidator)(properties.performanceConfig)),errors.collect(cdk().propertyValidator("promptTemplate",CfnFlowVersionKnowledgeBasePromptTemplatePropertyValidator)(properties.promptTemplate)),errors.wrap('supplied properties not correct for "KnowledgeBaseOrchestrationConfigurationProperty"')}function convertCfnFlowVersionKnowledgeBaseOrchestrationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionKnowledgeBaseOrchestrationConfigurationPropertyValidator(properties).assertSuccess(),{AdditionalModelRequestFields:cdk().objectToCloudFormation(properties.additionalModelRequestFields),InferenceConfig:convertCfnFlowVersionPromptInferenceConfigurationPropertyToCloudFormation(properties.inferenceConfig),PerformanceConfig:convertCfnFlowVersionPerformanceConfigurationPropertyToCloudFormation(properties.performanceConfig),PromptTemplate:convertCfnFlowVersionKnowledgeBasePromptTemplatePropertyToCloudFormation(properties.promptTemplate)}):properties}function CfnFlowVersionKnowledgeBaseOrchestrationConfigurationPropertyFromCloudFormation(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("additionalModelRequestFields","AdditionalModelRequestFields",properties.AdditionalModelRequestFields!=null?cfn_parse().FromCloudFormation.getAny(properties.AdditionalModelRequestFields):void 0),ret.addPropertyResult("inferenceConfig","InferenceConfig",properties.InferenceConfig!=null?CfnFlowVersionPromptInferenceConfigurationPropertyFromCloudFormation(properties.InferenceConfig):void 0),ret.addPropertyResult("performanceConfig","PerformanceConfig",properties.PerformanceConfig!=null?CfnFlowVersionPerformanceConfigurationPropertyFromCloudFormation(properties.PerformanceConfig):void 0),ret.addPropertyResult("promptTemplate","PromptTemplate",properties.PromptTemplate!=null?CfnFlowVersionKnowledgeBasePromptTemplatePropertyFromCloudFormation(properties.PromptTemplate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionVectorSearchBedrockRerankingModelConfigurationPropertyValidator(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("additionalModelRequestFields",cdk().validateObject)(properties.additionalModelRequestFields)),errors.collect(cdk().propertyValidator("modelArn",cdk().requiredValidator)(properties.modelArn)),errors.collect(cdk().propertyValidator("modelArn",cdk().validateString)(properties.modelArn)),errors.wrap('supplied properties not correct for "VectorSearchBedrockRerankingModelConfigurationProperty"')}function convertCfnFlowVersionVectorSearchBedrockRerankingModelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionVectorSearchBedrockRerankingModelConfigurationPropertyValidator(properties).assertSuccess(),{AdditionalModelRequestFields:cdk().objectToCloudFormation(properties.additionalModelRequestFields),ModelArn:cdk().stringToCloudFormation(properties.modelArn)}):properties}function CfnFlowVersionVectorSearchBedrockRerankingModelConfigurationPropertyFromCloudFormation(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("additionalModelRequestFields","AdditionalModelRequestFields",properties.AdditionalModelRequestFields!=null?cfn_parse().FromCloudFormation.getAny(properties.AdditionalModelRequestFields):void 0),ret.addPropertyResult("modelArn","ModelArn",properties.ModelArn!=null?cfn_parse().FromCloudFormation.getString(properties.ModelArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionFieldForRerankingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldName",cdk().requiredValidator)(properties.fieldName)),errors.collect(cdk().propertyValidator("fieldName",cdk().validateString)(properties.fieldName)),errors.wrap('supplied properties not correct for "FieldForRerankingProperty"')}function convertCfnFlowVersionFieldForRerankingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionFieldForRerankingPropertyValidator(properties).assertSuccess(),{FieldName:cdk().stringToCloudFormation(properties.fieldName)}):properties}function CfnFlowVersionFieldForRerankingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldName","FieldName",properties.FieldName!=null?cfn_parse().FromCloudFormation.getString(properties.FieldName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionRerankingMetadataSelectiveModeConfigurationPropertyValidator(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("fieldsToExclude",cdk().listValidator(CfnFlowVersionFieldForRerankingPropertyValidator))(properties.fieldsToExclude)),errors.collect(cdk().propertyValidator("fieldsToInclude",cdk().listValidator(CfnFlowVersionFieldForRerankingPropertyValidator))(properties.fieldsToInclude)),errors.wrap('supplied properties not correct for "RerankingMetadataSelectiveModeConfigurationProperty"')}function convertCfnFlowVersionRerankingMetadataSelectiveModeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionRerankingMetadataSelectiveModeConfigurationPropertyValidator(properties).assertSuccess(),{FieldsToExclude:cdk().listMapper(convertCfnFlowVersionFieldForRerankingPropertyToCloudFormation)(properties.fieldsToExclude),FieldsToInclude:cdk().listMapper(convertCfnFlowVersionFieldForRerankingPropertyToCloudFormation)(properties.fieldsToInclude)}):properties}function CfnFlowVersionRerankingMetadataSelectiveModeConfigurationPropertyFromCloudFormation(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("fieldsToExclude","FieldsToExclude",properties.FieldsToExclude!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowVersionFieldForRerankingPropertyFromCloudFormation)(properties.FieldsToExclude):void 0),ret.addPropertyResult("fieldsToInclude","FieldsToInclude",properties.FieldsToInclude!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowVersionFieldForRerankingPropertyFromCloudFormation)(properties.FieldsToInclude):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionMetadataConfigurationForRerankingPropertyValidator(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("selectionMode",cdk().requiredValidator)(properties.selectionMode)),errors.collect(cdk().propertyValidator("selectionMode",cdk().validateString)(properties.selectionMode)),errors.collect(cdk().propertyValidator("selectiveModeConfiguration",CfnFlowVersionRerankingMetadataSelectiveModeConfigurationPropertyValidator)(properties.selectiveModeConfiguration)),errors.wrap('supplied properties not correct for "MetadataConfigurationForRerankingProperty"')}function convertCfnFlowVersionMetadataConfigurationForRerankingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionMetadataConfigurationForRerankingPropertyValidator(properties).assertSuccess(),{SelectionMode:cdk().stringToCloudFormation(properties.selectionMode),SelectiveModeConfiguration:convertCfnFlowVersionRerankingMetadataSelectiveModeConfigurationPropertyToCloudFormation(properties.selectiveModeConfiguration)}):properties}function CfnFlowVersionMetadataConfigurationForRerankingPropertyFromCloudFormation(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("selectionMode","SelectionMode",properties.SelectionMode!=null?cfn_parse().FromCloudFormation.getString(properties.SelectionMode):void 0),ret.addPropertyResult("selectiveModeConfiguration","SelectiveModeConfiguration",properties.SelectiveModeConfiguration!=null?CfnFlowVersionRerankingMetadataSelectiveModeConfigurationPropertyFromCloudFormation(properties.SelectiveModeConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionVectorSearchBedrockRerankingConfigurationPropertyValidator(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("metadataConfiguration",CfnFlowVersionMetadataConfigurationForRerankingPropertyValidator)(properties.metadataConfiguration)),errors.collect(cdk().propertyValidator("modelConfiguration",cdk().requiredValidator)(properties.modelConfiguration)),errors.collect(cdk().propertyValidator("modelConfiguration",CfnFlowVersionVectorSearchBedrockRerankingModelConfigurationPropertyValidator)(properties.modelConfiguration)),errors.collect(cdk().propertyValidator("numberOfRerankedResults",cdk().validateNumber)(properties.numberOfRerankedResults)),errors.wrap('supplied properties not correct for "VectorSearchBedrockRerankingConfigurationProperty"')}function convertCfnFlowVersionVectorSearchBedrockRerankingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionVectorSearchBedrockRerankingConfigurationPropertyValidator(properties).assertSuccess(),{MetadataConfiguration:convertCfnFlowVersionMetadataConfigurationForRerankingPropertyToCloudFormation(properties.metadataConfiguration),ModelConfiguration:convertCfnFlowVersionVectorSearchBedrockRerankingModelConfigurationPropertyToCloudFormation(properties.modelConfiguration),NumberOfRerankedResults:cdk().numberToCloudFormation(properties.numberOfRerankedResults)}):properties}function CfnFlowVersionVectorSearchBedrockRerankingConfigurationPropertyFromCloudFormation(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("metadataConfiguration","MetadataConfiguration",properties.MetadataConfiguration!=null?CfnFlowVersionMetadataConfigurationForRerankingPropertyFromCloudFormation(properties.MetadataConfiguration):void 0),ret.addPropertyResult("modelConfiguration","ModelConfiguration",properties.ModelConfiguration!=null?CfnFlowVersionVectorSearchBedrockRerankingModelConfigurationPropertyFromCloudFormation(properties.ModelConfiguration):void 0),ret.addPropertyResult("numberOfRerankedResults","NumberOfRerankedResults",properties.NumberOfRerankedResults!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfRerankedResults):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionVectorSearchRerankingConfigurationPropertyValidator(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("bedrockRerankingConfiguration",CfnFlowVersionVectorSearchBedrockRerankingConfigurationPropertyValidator)(properties.bedrockRerankingConfiguration)),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 "VectorSearchRerankingConfigurationProperty"')}function convertCfnFlowVersionVectorSearchRerankingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionVectorSearchRerankingConfigurationPropertyValidator(properties).assertSuccess(),{BedrockRerankingConfiguration:convertCfnFlowVersionVectorSearchBedrockRerankingConfigurationPropertyToCloudFormation(properties.bedrockRerankingConfiguration),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFlowVersionVectorSearchRerankingConfigurationPropertyFromCloudFormation(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("bedrockRerankingConfiguration","BedrockRerankingConfiguration",properties.BedrockRerankingConfiguration!=null?CfnFlowVersionVectorSearchBedrockRerankingConfigurationPropertyFromCloudFormation(properties.BedrockRerankingConfiguration):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionKnowledgeBaseFlowNodeConfigurationPropertyValidator(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("guardrailConfiguration",CfnFlowVersionGuardrailConfigurationPropertyValidator)(properties.guardrailConfiguration)),errors.collect(cdk().propertyValidator("inferenceConfiguration",CfnFlowVersionPromptInferenceConfigurationPropertyValidator)(properties.inferenceConfiguration)),errors.collect(cdk().propertyValidator("knowledgeBaseId",cdk().requiredValidator)(properties.knowledgeBaseId)),errors.collect(cdk().propertyValidator("knowledgeBaseId",cdk().validateString)(properties.knowledgeBaseId)),errors.collect(cdk().propertyValidator("modelId",cdk().validateString)(properties.modelId)),errors.collect(cdk().propertyValidator("numberOfResults",cdk().validateNumber)(properties.numberOfResults)),errors.collect(cdk().propertyValidator("orchestrationConfiguration",CfnFlowVersionKnowledgeBaseOrchestrationConfigurationPropertyValidator)(properties.orchestrationConfiguration)),errors.collect(cdk().propertyValidator("promptTemplate",CfnFlowVersionKnowledgeBasePromptTemplatePropertyValidator)(properties.promptTemplate)),errors.collect(cdk().propertyValidator("rerankingConfiguration",CfnFlowVersionVectorSearchRerankingConfigurationPropertyValidator)(properties.rerankingConfiguration)),errors.wrap('supplied properties not correct for "KnowledgeBaseFlowNodeConfigurationProperty"')}function convertCfnFlowVersionKnowledgeBaseFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionKnowledgeBaseFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{GuardrailConfiguration:convertCfnFlowVersionGuardrailConfigurationPropertyToCloudFormation(properties.guardrailConfiguration),InferenceConfiguration:convertCfnFlowVersionPromptInferenceConfigurationPropertyToCloudFormation(properties.inferenceConfiguration),KnowledgeBaseId:cdk().stringToCloudFormation(properties.knowledgeBaseId),ModelId:cdk().stringToCloudFormation(properties.modelId),NumberOfResults:cdk().numberToCloudFormation(properties.numberOfResults),OrchestrationConfiguration:convertCfnFlowVersionKnowledgeBaseOrchestrationConfigurationPropertyToCloudFormation(properties.orchestrationConfiguration),PromptTemplate:convertCfnFlowVersionKnowledgeBasePromptTemplatePropertyToCloudFormation(properties.promptTemplate),RerankingConfiguration:convertCfnFlowVersionVectorSearchRerankingConfigurationPropertyToCloudFormation(properties.rerankingConfiguration)}):properties}function CfnFlowVersionKnowledgeBaseFlowNodeConfigurationPropertyFromCloudFormation(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("guardrailConfiguration","GuardrailConfiguration",properties.GuardrailConfiguration!=null?CfnFlowVersionGuardrailConfigurationPropertyFromCloudFormation(properties.GuardrailConfiguration):void 0),ret.addPropertyResult("inferenceConfiguration","InferenceConfiguration",properties.InferenceConfiguration!=null?CfnFlowVersionPromptInferenceConfigurationPropertyFromCloudFormation(properties.InferenceConfiguration):void 0),ret.addPropertyResult("knowledgeBaseId","KnowledgeBaseId",properties.KnowledgeBaseId!=null?cfn_parse().FromCloudFormation.getString(properties.KnowledgeBaseId):void 0),ret.addPropertyResult("modelId","ModelId",properties.ModelId!=null?cfn_parse().FromCloudFormation.getString(properties.ModelId):void 0),ret.addPropertyResult("numberOfResults","NumberOfResults",properties.NumberOfResults!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfResults):void 0),ret.addPropertyResult("orchestrationConfiguration","OrchestrationConfiguration",properties.OrchestrationConfiguration!=null?CfnFlowVersionKnowledgeBaseOrchestrationConfigurationPropertyFromCloudFormation(properties.OrchestrationConfiguration):void 0),ret.addPropertyResult("promptTemplate","PromptTemplate",properties.PromptTemplate!=null?CfnFlowVersionKnowledgeBasePromptTemplatePropertyFromCloudFormation(properties.PromptTemplate):void 0),ret.addPropertyResult("rerankingConfiguration","RerankingConfiguration",properties.RerankingConfiguration!=null?CfnFlowVersionVectorSearchRerankingConfigurationPropertyFromCloudFormation(properties.RerankingConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionFlowConditionPropertyValidator(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("expression",cdk().validateString)(properties.expression)),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 "FlowConditionProperty"')}function convertCfnFlowVersionFlowConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionFlowConditionPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnFlowVersionFlowConditionPropertyFromCloudFormation(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("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionConditionFlowNodeConfigurationPropertyValidator(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("conditions",cdk().requiredValidator)(properties.conditions)),errors.collect(cdk().propertyValidator("conditions",cdk().listValidator(CfnFlowVersionFlowConditionPropertyValidator))(properties.conditions)),errors.wrap('supplied properties not correct for "ConditionFlowNodeConfigurationProperty"')}function convertCfnFlowVersionConditionFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionConditionFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{Conditions:cdk().listMapper(convertCfnFlowVersionFlowConditionPropertyToCloudFormation)(properties.conditions)}):properties}function CfnFlowVersionConditionFlowNodeConfigurationPropertyFromCloudFormation(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("conditions","Conditions",properties.Conditions!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowVersionFlowConditionPropertyFromCloudFormation)(properties.Conditions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionLexFlowNodeConfigurationPropertyValidator(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("botAliasArn",cdk().requiredValidator)(properties.botAliasArn)),errors.collect(cdk().propertyValidator("botAliasArn",cdk().validateString)(properties.botAliasArn)),errors.collect(cdk().propertyValidator("localeId",cdk().requiredValidator)(properties.localeId)),errors.collect(cdk().propertyValidator("localeId",cdk().validateString)(properties.localeId)),errors.wrap('supplied properties not correct for "LexFlowNodeConfigurationProperty"')}function convertCfnFlowVersionLexFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionLexFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{BotAliasArn:cdk().stringToCloudFormation(properties.botAliasArn),LocaleId:cdk().stringToCloudFormation(properties.localeId)}):properties}function CfnFlowVersionLexFlowNodeConfigurationPropertyFromCloudFormation(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("botAliasArn","BotAliasArn",properties.BotAliasArn!=null?cfn_parse().FromCloudFormation.getString(properties.BotAliasArn):void 0),ret.addPropertyResult("localeId","LocaleId",properties.LocaleId!=null?cfn_parse().FromCloudFormation.getString(properties.LocaleId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionPromptFlowNodeResourceConfigurationPropertyValidator(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("promptArn",cdk().requiredValidator)(properties.promptArn)),errors.collect(cdk().propertyValidator("promptArn",cdk().validateString)(properties.promptArn)),errors.wrap('supplied properties not correct for "PromptFlowNodeResourceConfigurationProperty"')}function convertCfnFlowVersionPromptFlowNodeResourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionPromptFlowNodeResourceConfigurationPropertyValidator(properties).assertSuccess(),{PromptArn:cdk().stringToCloudFormation(properties.promptArn)}):properties}function CfnFlowVersionPromptFlowNodeResourceConfigurationPropertyFromCloudFormation(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("promptArn","PromptArn",properties.PromptArn!=null?cfn_parse().FromCloudFormation.getString(properties.PromptArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionPromptInputVariablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "PromptInputVariableProperty"')}function convertCfnFlowVersionPromptInputVariablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionPromptInputVariablePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnFlowVersionPromptInputVariablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionTextPromptTemplateConfigurationPropertyValidator(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("inputVariables",cdk().listValidator(CfnFlowVersionPromptInputVariablePropertyValidator))(properties.inputVariables)),errors.collect(cdk().propertyValidator("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.wrap('supplied properties not correct for "TextPromptTemplateConfigurationProperty"')}function convertCfnFlowVersionTextPromptTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionTextPromptTemplateConfigurationPropertyValidator(properties).assertSuccess(),{InputVariables:cdk().listMapper(convertCfnFlowVersionPromptInputVariablePropertyToCloudFormation)(properties.inputVariables),Text:cdk().stringToCloudFormation(properties.text)}):properties}function CfnFlowVersionTextPromptTemplateConfigurationPropertyFromCloudFormation(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("inputVariables","InputVariables",properties.InputVariables!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowVersionPromptInputVariablePropertyFromCloudFormation)(properties.InputVariables):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionPromptTemplateConfigurationPropertyValidator(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("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",CfnFlowVersionTextPromptTemplateConfigurationPropertyValidator)(properties.text)),errors.wrap('supplied properties not correct for "PromptTemplateConfigurationProperty"')}function convertCfnFlowVersionPromptTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionPromptTemplateConfigurationPropertyValidator(properties).assertSuccess(),{Text:convertCfnFlowVersionTextPromptTemplateConfigurationPropertyToCloudFormation(properties.text)}):properties}function CfnFlowVersionPromptTemplateConfigurationPropertyFromCloudFormation(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("text","Text",properties.Text!=null?CfnFlowVersionTextPromptTemplateConfigurationPropertyFromCloudFormation(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionPromptFlowNodeInlineConfigurationPropertyValidator(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("inferenceConfiguration",CfnFlowVersionPromptInferenceConfigurationPropertyValidator)(properties.inferenceConfiguration)),errors.collect(cdk().propertyValidator("modelId",cdk().requiredValidator)(properties.modelId)),errors.collect(cdk().propertyValidator("modelId",cdk().validateString)(properties.modelId)),errors.collect(cdk().propertyValidator("templateConfiguration",cdk().requiredValidator)(properties.templateConfiguration)),errors.collect(cdk().propertyValidator("templateConfiguration",CfnFlowVersionPromptTemplateConfigurationPropertyValidator)(properties.templateConfiguration)),errors.collect(cdk().propertyValidator("templateType",cdk().requiredValidator)(properties.templateType)),errors.collect(cdk().propertyValidator("templateType",cdk().validateString)(properties.templateType)),errors.wrap('supplied properties not correct for "PromptFlowNodeInlineConfigurationProperty"')}function convertCfnFlowVersionPromptFlowNodeInlineConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionPromptFlowNodeInlineConfigurationPropertyValidator(properties).assertSuccess(),{InferenceConfiguration:convertCfnFlowVersionPromptInferenceConfigurationPropertyToCloudFormation(properties.inferenceConfiguration),ModelId:cdk().stringToCloudFormation(properties.modelId),TemplateConfiguration:convertCfnFlowVersionPromptTemplateConfigurationPropertyToCloudFormation(properties.templateConfiguration),TemplateType:cdk().stringToCloudFormation(properties.templateType)}):properties}function CfnFlowVersionPromptFlowNodeInlineConfigurationPropertyFromCloudFormation(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("inferenceConfiguration","InferenceConfiguration",properties.InferenceConfiguration!=null?CfnFlowVersionPromptInferenceConfigurationPropertyFromCloudFormation(properties.InferenceConfiguration):void 0),ret.addPropertyResult("modelId","ModelId",properties.ModelId!=null?cfn_parse().FromCloudFormation.getString(properties.ModelId):void 0),ret.addPropertyResult("templateConfiguration","TemplateConfiguration",properties.TemplateConfiguration!=null?CfnFlowVersionPromptTemplateConfigurationPropertyFromCloudFormation(properties.TemplateConfiguration):void 0),ret.addPropertyResult("templateType","TemplateType",properties.TemplateType!=null?cfn_parse().FromCloudFormation.getString(properties.TemplateType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionPromptFlowNodeSourceConfigurationPropertyValidator(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("inline",CfnFlowVersionPromptFlowNodeInlineConfigurationPropertyValidator)(properties.inline)),errors.collect(cdk().propertyValidator("resource",CfnFlowVersionPromptFlowNodeResourceConfigurationPropertyValidator)(properties.resource)),errors.wrap('supplied properties not correct for "PromptFlowNodeSourceConfigurationProperty"')}function convertCfnFlowVersionPromptFlowNodeSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionPromptFlowNodeSourceConfigurationPropertyValidator(properties).assertSuccess(),{Inline:convertCfnFlowVersionPromptFlowNodeInlineConfigurationPropertyToCloudFormation(properties.inline),Resource:convertCfnFlowVersionPromptFlowNodeResourceConfigurationPropertyToCloudFormation(properties.resource)}):properties}function CfnFlowVersionPromptFlowNodeSourceConfigurationPropertyFromCloudFormation(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("inline","Inline",properties.Inline!=null?CfnFlowVersionPromptFlowNodeInlineConfigurationPropertyFromCloudFormation(properties.Inline):void 0),ret.addPropertyResult("resource","Resource",properties.Resource!=null?CfnFlowVersionPromptFlowNodeResourceConfigurationPropertyFromCloudFormation(properties.Resource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionPromptFlowNodeConfigurationPropertyValidator(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("guardrailConfiguration",CfnFlowVersionGuardrailConfigurationPropertyValidator)(properties.guardrailConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",cdk().requiredValidator)(properties.sourceConfiguration)),errors.collect(cdk().propertyValidator("sourceConfiguration",CfnFlowVersionPromptFlowNodeSourceConfigurationPropertyValidator)(properties.sourceConfiguration)),errors.wrap('supplied properties not correct for "PromptFlowNodeConfigurationProperty"')}function convertCfnFlowVersionPromptFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionPromptFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{GuardrailConfiguration:convertCfnFlowVersionGuardrailConfigurationPropertyToCloudFormation(properties.guardrailConfiguration),SourceConfiguration:convertCfnFlowVersionPromptFlowNodeSourceConfigurationPropertyToCloudFormation(properties.sourceConfiguration)}):properties}function CfnFlowVersionPromptFlowNodeConfigurationPropertyFromCloudFormation(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("guardrailConfiguration","GuardrailConfiguration",properties.GuardrailConfiguration!=null?CfnFlowVersionGuardrailConfigurationPropertyFromCloudFormation(properties.GuardrailConfiguration):void 0),ret.addPropertyResult("sourceConfiguration","SourceConfiguration",properties.SourceConfiguration!=null?CfnFlowVersionPromptFlowNodeSourceConfigurationPropertyFromCloudFormation(properties.SourceConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionLambdaFunctionFlowNodeConfigurationPropertyValidator(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("lambdaArn",cdk().requiredValidator)(properties.lambdaArn)),errors.collect(cdk().propertyValidator("lambdaArn",cdk().validateString)(properties.lambdaArn)),errors.wrap('supplied properties not correct for "LambdaFunctionFlowNodeConfigurationProperty"')}function convertCfnFlowVersionLambdaFunctionFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionLambdaFunctionFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{LambdaArn:cdk().stringToCloudFormation(properties.lambdaArn)}):properties}function CfnFlowVersionLambdaFunctionFlowNodeConfigurationPropertyFromCloudFormation(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("lambdaArn","LambdaArn",properties.LambdaArn!=null?cfn_parse().FromCloudFormation.getString(properties.LambdaArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionAgentFlowNodeConfigurationPropertyValidator(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("agentAliasArn",cdk().requiredValidator)(properties.agentAliasArn)),errors.collect(cdk().propertyValidator("agentAliasArn",cdk().validateString)(properties.agentAliasArn)),errors.wrap('supplied properties not correct for "AgentFlowNodeConfigurationProperty"')}function convertCfnFlowVersionAgentFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionAgentFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{AgentAliasArn:cdk().stringToCloudFormation(properties.agentAliasArn)}):properties}function CfnFlowVersionAgentFlowNodeConfigurationPropertyFromCloudFormation(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("agentAliasArn","AgentAliasArn",properties.AgentAliasArn!=null?cfn_parse().FromCloudFormation.getString(properties.AgentAliasArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionStorageFlowNodeS3ConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.wrap('supplied properties not correct for "StorageFlowNodeS3ConfigurationProperty"')}function convertCfnFlowVersionStorageFlowNodeS3ConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionStorageFlowNodeS3ConfigurationPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName)}):properties}function CfnFlowVersionStorageFlowNodeS3ConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionStorageFlowNodeServiceConfigurationPropertyValidator(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("s3",CfnFlowVersionStorageFlowNodeS3ConfigurationPropertyValidator)(properties.s3)),errors.wrap('supplied properties not correct for "StorageFlowNodeServiceConfigurationProperty"')}function convertCfnFlowVersionStorageFlowNodeServiceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionStorageFlowNodeServiceConfigurationPropertyValidator(properties).assertSuccess(),{S3:convertCfnFlowVersionStorageFlowNodeS3ConfigurationPropertyToCloudFormation(properties.s3)}):properties}function CfnFlowVersionStorageFlowNodeServiceConfigurationPropertyFromCloudFormation(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("s3","S3",properties.S3!=null?CfnFlowVersionStorageFlowNodeS3ConfigurationPropertyFromCloudFormation(properties.S3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionStorageFlowNodeConfigurationPropertyValidator(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("serviceConfiguration",cdk().requiredValidator)(properties.serviceConfiguration)),errors.collect(cdk().propertyValidator("serviceConfiguration",CfnFlowVersionStorageFlowNodeServiceConfigurationPropertyValidator)(properties.serviceConfiguration)),errors.wrap('supplied properties not correct for "StorageFlowNodeConfigurationProperty"')}function convertCfnFlowVersionStorageFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionStorageFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{ServiceConfiguration:convertCfnFlowVersionStorageFlowNodeServiceConfigurationPropertyToCloudFormation(properties.serviceConfiguration)}):properties}function CfnFlowVersionStorageFlowNodeConfigurationPropertyFromCloudFormation(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("serviceConfiguration","ServiceConfiguration",properties.ServiceConfiguration!=null?CfnFlowVersionStorageFlowNodeServiceConfigurationPropertyFromCloudFormation(properties.ServiceConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionRetrievalFlowNodeS3ConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.wrap('supplied properties not correct for "RetrievalFlowNodeS3ConfigurationProperty"')}function convertCfnFlowVersionRetrievalFlowNodeS3ConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionRetrievalFlowNodeS3ConfigurationPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName)}):properties}function CfnFlowVersionRetrievalFlowNodeS3ConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionRetrievalFlowNodeServiceConfigurationPropertyValidator(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("s3",CfnFlowVersionRetrievalFlowNodeS3ConfigurationPropertyValidator)(properties.s3)),errors.wrap('supplied properties not correct for "RetrievalFlowNodeServiceConfigurationProperty"')}function convertCfnFlowVersionRetrievalFlowNodeServiceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionRetrievalFlowNodeServiceConfigurationPropertyValidator(properties).assertSuccess(),{S3:convertCfnFlowVersionRetrievalFlowNodeS3ConfigurationPropertyToCloudFormation(properties.s3)}):properties}function CfnFlowVersionRetrievalFlowNodeServiceConfigurationPropertyFromCloudFormation(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("s3","S3",properties.S3!=null?CfnFlowVersionRetrievalFlowNodeS3ConfigurationPropertyFromCloudFormation(properties.S3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionRetrievalFlowNodeConfigurationPropertyValidator(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("serviceConfiguration",cdk().requiredValidator)(properties.serviceConfiguration)),errors.collect(cdk().propertyValidator("serviceConfiguration",CfnFlowVersionRetrievalFlowNodeServiceConfigurationPropertyValidator)(properties.serviceConfiguration)),errors.wrap('supplied properties not correct for "RetrievalFlowNodeConfigurationProperty"')}function convertCfnFlowVersionRetrievalFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionRetrievalFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{ServiceConfiguration:convertCfnFlowVersionRetrievalFlowNodeServiceConfigurationPropertyToCloudFormation(properties.serviceConfiguration)}):properties}function CfnFlowVersionRetrievalFlowNodeConfigurationPropertyFromCloudFormation(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("serviceConfiguration","ServiceConfiguration",properties.ServiceConfiguration!=null?CfnFlowVersionRetrievalFlowNodeServiceConfigurationPropertyFromCloudFormation(properties.ServiceConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionInlineCodeFlowNodeConfigurationPropertyValidator(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("code",cdk().requiredValidator)(properties.code)),errors.collect(cdk().propertyValidator("code",cdk().validateString)(properties.code)),errors.collect(cdk().propertyValidator("language",cdk().requiredValidator)(properties.language)),errors.collect(cdk().propertyValidator("language",cdk().validateString)(properties.language)),errors.wrap('supplied properties not correct for "InlineCodeFlowNodeConfigurationProperty"')}function convertCfnFlowVersionInlineCodeFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionInlineCodeFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{Code:cdk().stringToCloudFormation(properties.code),Language:cdk().stringToCloudFormation(properties.language)}):properties}function CfnFlowVersionInlineCodeFlowNodeConfigurationPropertyFromCloudFormation(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("code","Code",properties.Code!=null?cfn_parse().FromCloudFormation.getString(properties.Code):void 0),ret.addPropertyResult("language","Language",properties.Language!=null?cfn_parse().FromCloudFormation.getString(properties.Language):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionLoopFlowNodeConfigurationPropertyValidator(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("definition",cdk().requiredValidator)(properties.definition)),errors.collect(cdk().propertyValidator("definition",CfnFlowVersionFlowDefinitionPropertyValidator)(properties.definition)),errors.wrap('supplied properties not correct for "LoopFlowNodeConfigurationProperty"')}function convertCfnFlowVersionLoopFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionLoopFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{Definition:convertCfnFlowVersionFlowDefinitionPropertyToCloudFormation(properties.definition)}):properties}function CfnFlowVersionLoopFlowNodeConfigurationPropertyFromCloudFormation(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("definition","Definition",properties.Definition!=null?CfnFlowVersionFlowDefinitionPropertyFromCloudFormation(properties.Definition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionLoopControllerFlowNodeConfigurationPropertyValidator(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("continueCondition",cdk().requiredValidator)(properties.continueCondition)),errors.collect(cdk().propertyValidator("continueCondition",CfnFlowVersionFlowConditionPropertyValidator)(properties.continueCondition)),errors.collect(cdk().propertyValidator("maxIterations",cdk().validateNumber)(properties.maxIterations)),errors.wrap('supplied properties not correct for "LoopControllerFlowNodeConfigurationProperty"')}function convertCfnFlowVersionLoopControllerFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionLoopControllerFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{ContinueCondition:convertCfnFlowVersionFlowConditionPropertyToCloudFormation(properties.continueCondition),MaxIterations:cdk().numberToCloudFormation(properties.maxIterations)}):properties}function CfnFlowVersionLoopControllerFlowNodeConfigurationPropertyFromCloudFormation(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("continueCondition","ContinueCondition",properties.ContinueCondition!=null?CfnFlowVersionFlowConditionPropertyFromCloudFormation(properties.ContinueCondition):void 0),ret.addPropertyResult("maxIterations","MaxIterations",properties.MaxIterations!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxIterations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionFlowNodeConfigurationPropertyValidator(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("agent",CfnFlowVersionAgentFlowNodeConfigurationPropertyValidator)(properties.agent)),errors.collect(cdk().propertyValidator("collector",cdk().validateObject)(properties.collector)),errors.collect(cdk().propertyValidator("condition",CfnFlowVersionConditionFlowNodeConfigurationPropertyValidator)(properties.condition)),errors.collect(cdk().propertyValidator("inlineCode",CfnFlowVersionInlineCodeFlowNodeConfigurationPropertyValidator)(properties.inlineCode)),errors.collect(cdk().propertyValidator("input",cdk().validateObject)(properties.input)),errors.collect(cdk().propertyValidator("iterator",cdk().validateObject)(properties.iterator)),errors.collect(cdk().propertyValidator("knowledgeBase",CfnFlowVersionKnowledgeBaseFlowNodeConfigurationPropertyValidator)(properties.knowledgeBase)),errors.collect(cdk().propertyValidator("lambdaFunction",CfnFlowVersionLambdaFunctionFlowNodeConfigurationPropertyValidator)(properties.lambdaFunction)),errors.collect(cdk().propertyValidator("lex",CfnFlowVersionLexFlowNodeConfigurationPropertyValidator)(properties.lex)),errors.collect(cdk().propertyValidator("loop",CfnFlowVersionLoopFlowNodeConfigurationPropertyValidator)(properties.loop)),errors.collect(cdk().propertyValidator("loopController",CfnFlowVersionLoopControllerFlowNodeConfigurationPropertyValidator)(properties.loopController)),errors.collect(cdk().propertyValidator("loopInput",cdk().validateObject)(properties.loopInput)),errors.collect(cdk().propertyValidator("output",cdk().validateObject)(properties.output)),errors.collect(cdk().propertyValidator("prompt",CfnFlowVersionPromptFlowNodeConfigurationPropertyValidator)(properties.prompt)),errors.collect(cdk().propertyValidator("retrieval",CfnFlowVersionRetrievalFlowNodeConfigurationPropertyValidator)(properties.retrieval)),errors.collect(cdk().propertyValidator("storage",CfnFlowVersionStorageFlowNodeConfigurationPropertyValidator)(properties.storage)),errors.wrap('supplied properties not correct for "FlowNodeConfigurationProperty"')}function convertCfnFlowVersionFlowNodeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionFlowNodeConfigurationPropertyValidator(properties).assertSuccess(),{Agent:convertCfnFlowVersionAgentFlowNodeConfigurationPropertyToCloudFormation(properties.agent),Collector:cdk().objectToCloudFormation(properties.collector),Condition:convertCfnFlowVersionConditionFlowNodeConfigurationPropertyToCloudFormation(properties.condition),InlineCode:convertCfnFlowVersionInlineCodeFlowNodeConfigurationPropertyToCloudFormation(properties.inlineCode),Input:cdk().objectToCloudFormation(properties.input),Iterator:cdk().objectToCloudFormation(properties.iterator),KnowledgeBase:convertCfnFlowVersionKnowledgeBaseFlowNodeConfigurationPropertyToCloudFormation(properties.knowledgeBase),LambdaFunction:convertCfnFlowVersionLambdaFunctionFlowNodeConfigurationPropertyToCloudFormation(properties.lambdaFunction),Lex:convertCfnFlowVersionLexFlowNodeConfigurationPropertyToCloudFormation(properties.lex),Loop:convertCfnFlowVersionLoopFlowNodeConfigurationPropertyToCloudFormation(properties.loop),LoopController:convertCfnFlowVersionLoopControllerFlowNodeConfigurationPropertyToCloudFormation(properties.loopController),LoopInput:cdk().objectToCloudFormation(properties.loopInput),Output:cdk().objectToCloudFormation(properties.output),Prompt:convertCfnFlowVersionPromptFlowNodeConfigurationPropertyToCloudFormation(properties.prompt),Retrieval:convertCfnFlowVersionRetrievalFlowNodeConfigurationPropertyToCloudFormation(properties.retrieval),Storage:convertCfnFlowVersionStorageFlowNodeConfigurationPropertyToCloudFormation(properties.storage)}):properties}function CfnFlowVersionFlowNodeConfigurationPropertyFromCloudFormation(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("agent","Agent",properties.Agent!=null?CfnFlowVersionAgentFlowNodeConfigurationPropertyFromCloudFormation(properties.Agent):void 0),ret.addPropertyResult("collector","Collector",properties.Collector!=null?cfn_parse().FromCloudFormation.getAny(properties.Collector):void 0),ret.addPropertyResult("condition","Condition",properties.Condition!=null?CfnFlowVersionConditionFlowNodeConfigurationPropertyFromCloudFormation(properties.Condition):void 0),ret.addPropertyResult("inlineCode","InlineCode",properties.InlineCode!=null?CfnFlowVersionInlineCodeFlowNodeConfigurationPropertyFromCloudFormation(properties.InlineCode):void 0),ret.addPropertyResult("input","Input",properties.Input!=null?cfn_parse().FromCloudFormation.getAny(properties.Input):void 0),ret.addPropertyResult("iterator","Iterator",properties.Iterator!=null?cfn_parse().FromCloudFormation.getAny(properties.Iterator):void 0),ret.addPropertyResult("knowledgeBase","KnowledgeBase",properties.KnowledgeBase!=null?CfnFlowVersionKnowledgeBaseFlowNodeConfigurationPropertyFromCloudFormation(properties.KnowledgeBase):void 0),ret.addPropertyResult("lambdaFunction","LambdaFunction",properties.LambdaFunction!=null?CfnFlowVersionLambdaFunctionFlowNodeConfigurationPropertyFromCloudFormation(properties.LambdaFunction):void 0),ret.addPropertyResult("lex","Lex",properties.Lex!=null?CfnFlowVersionLexFlowNodeConfigurationPropertyFromCloudFormation(properties.Lex):void 0),ret.addPropertyResult("loop","Loop",properties.Loop!=null?CfnFlowVersionLoopFlowNodeConfigurationPropertyFromCloudFormation(properties.Loop):void 0),ret.addPropertyResult("loopController","LoopController",properties.LoopController!=null?CfnFlowVersionLoopControllerFlowNodeConfigurationPropertyFromCloudFormation(properties.LoopController):void 0),ret.addPropertyResult("loopInput","LoopInput",properties.LoopInput!=null?cfn_parse().FromCloudFormation.getAny(properties.LoopInput):void 0),ret.addPropertyResult("output","Output",properties.Output!=null?cfn_parse().FromCloudFormation.getAny(properties.Output):void 0),ret.addPropertyResult("prompt","Prompt",properties.Prompt!=null?CfnFlowVersionPromptFlowNodeConfigurationPropertyFromCloudFormation(properties.Prompt):void 0),ret.addPropertyResult("retrieval","Retrieval",properties.Retrieval!=null?CfnFlowVersionRetrievalFlowNodeConfigurationPropertyFromCloudFormation(properties.Retrieval):void 0),ret.addPropertyResult("storage","Storage",properties.Storage!=null?CfnFlowVersionStorageFlowNodeConfigurationPropertyFromCloudFormation(properties.Storage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionFlowNodeInputPropertyValidator(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("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),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 "FlowNodeInputProperty"')}function convertCfnFlowVersionFlowNodeInputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionFlowNodeInputPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),Name:cdk().stringToCloudFormation(properties.name),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFlowVersionFlowNodeInputPropertyFromCloudFormation(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("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionFlowNodeOutputPropertyValidator(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("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FlowNodeOutputProperty"')}function convertCfnFlowVersionFlowNodeOutputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionFlowNodeOutputPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFlowVersionFlowNodeOutputPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionFlowNodePropertyValidator(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("configuration",CfnFlowVersionFlowNodeConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("inputs",cdk().listValidator(CfnFlowVersionFlowNodeInputPropertyValidator))(properties.inputs)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("outputs",cdk().listValidator(CfnFlowVersionFlowNodeOutputPropertyValidator))(properties.outputs)),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 "FlowNodeProperty"')}function convertCfnFlowVersionFlowNodePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionFlowNodePropertyValidator(properties).assertSuccess(),{Configuration:convertCfnFlowVersionFlowNodeConfigurationPropertyToCloudFormation(properties.configuration),Inputs:cdk().listMapper(convertCfnFlowVersionFlowNodeInputPropertyToCloudFormation)(properties.inputs),Name:cdk().stringToCloudFormation(properties.name),Outputs:cdk().listMapper(convertCfnFlowVersionFlowNodeOutputPropertyToCloudFormation)(properties.outputs),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFlowVersionFlowNodePropertyFromCloudFormation(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("configuration","Configuration",properties.Configuration!=null?CfnFlowVersionFlowNodeConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("inputs","Inputs",properties.Inputs!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowVersionFlowNodeInputPropertyFromCloudFormation)(properties.Inputs):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("outputs","Outputs",properties.Outputs!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowVersionFlowNodeOutputPropertyFromCloudFormation)(properties.Outputs):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionFlowDataConnectionConfigurationPropertyValidator(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("sourceOutput",cdk().requiredValidator)(properties.sourceOutput)),errors.collect(cdk().propertyValidator("sourceOutput",cdk().validateString)(properties.sourceOutput)),errors.collect(cdk().propertyValidator("targetInput",cdk().requiredValidator)(properties.targetInput)),errors.collect(cdk().propertyValidator("targetInput",cdk().validateString)(properties.targetInput)),errors.wrap('supplied properties not correct for "FlowDataConnectionConfigurationProperty"')}function convertCfnFlowVersionFlowDataConnectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionFlowDataConnectionConfigurationPropertyValidator(properties).assertSuccess(),{SourceOutput:cdk().stringToCloudFormation(properties.sourceOutput),TargetInput:cdk().stringToCloudFormation(properties.targetInput)}):properties}function CfnFlowVersionFlowDataConnectionConfigurationPropertyFromCloudFormation(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("sourceOutput","SourceOutput",properties.SourceOutput!=null?cfn_parse().FromCloudFormation.getString(properties.SourceOutput):void 0),ret.addPropertyResult("targetInput","TargetInput",properties.TargetInput!=null?cfn_parse().FromCloudFormation.getString(properties.TargetInput):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionFlowConditionalConnectionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("condition",cdk().requiredValidator)(properties.condition)),errors.collect(cdk().propertyValidator("condition",cdk().validateString)(properties.condition)),errors.wrap('supplied properties not correct for "FlowConditionalConnectionConfigurationProperty"')}function convertCfnFlowVersionFlowConditionalConnectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionFlowConditionalConnectionConfigurationPropertyValidator(properties).assertSuccess(),{Condition:cdk().stringToCloudFormation(properties.condition)}):properties}function CfnFlowVersionFlowConditionalConnectionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("condition","Condition",properties.Condition!=null?cfn_parse().FromCloudFormation.getString(properties.Condition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionFlowConnectionConfigurationPropertyValidator(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("conditional",CfnFlowVersionFlowConditionalConnectionConfigurationPropertyValidator)(properties.conditional)),errors.collect(cdk().propertyValidator("data",CfnFlowVersionFlowDataConnectionConfigurationPropertyValidator)(properties.data)),errors.wrap('supplied properties not correct for "FlowConnectionConfigurationProperty"')}function convertCfnFlowVersionFlowConnectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionFlowConnectionConfigurationPropertyValidator(properties).assertSuccess(),{Conditional:convertCfnFlowVersionFlowConditionalConnectionConfigurationPropertyToCloudFormation(properties.conditional),Data:convertCfnFlowVersionFlowDataConnectionConfigurationPropertyToCloudFormation(properties.data)}):properties}function CfnFlowVersionFlowConnectionConfigurationPropertyFromCloudFormation(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("conditional","Conditional",properties.Conditional!=null?CfnFlowVersionFlowConditionalConnectionConfigurationPropertyFromCloudFormation(properties.Conditional):void 0),ret.addPropertyResult("data","Data",properties.Data!=null?CfnFlowVersionFlowDataConnectionConfigurationPropertyFromCloudFormation(properties.Data):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionFlowConnectionPropertyValidator(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("configuration",CfnFlowVersionFlowConnectionConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",cdk().validateString)(properties.source)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),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 "FlowConnectionProperty"')}function convertCfnFlowVersionFlowConnectionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionFlowConnectionPropertyValidator(properties).assertSuccess(),{Configuration:convertCfnFlowVersionFlowConnectionConfigurationPropertyToCloudFormation(properties.configuration),Name:cdk().stringToCloudFormation(properties.name),Source:cdk().stringToCloudFormation(properties.source),Target:cdk().stringToCloudFormation(properties.target),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFlowVersionFlowConnectionPropertyFromCloudFormation(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("configuration","Configuration",properties.Configuration!=null?CfnFlowVersionFlowConnectionConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?cfn_parse().FromCloudFormation.getString(properties.Source):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionFlowDefinitionPropertyValidator(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("connections",cdk().listValidator(CfnFlowVersionFlowConnectionPropertyValidator))(properties.connections)),errors.collect(cdk().propertyValidator("nodes",cdk().listValidator(CfnFlowVersionFlowNodePropertyValidator))(properties.nodes)),errors.wrap('supplied properties not correct for "FlowDefinitionProperty"')}function convertCfnFlowVersionFlowDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionFlowDefinitionPropertyValidator(properties).assertSuccess(),{Connections:cdk().listMapper(convertCfnFlowVersionFlowConnectionPropertyToCloudFormation)(properties.connections),Nodes:cdk().listMapper(convertCfnFlowVersionFlowNodePropertyToCloudFormation)(properties.nodes)}):properties}function CfnFlowVersionFlowDefinitionPropertyFromCloudFormation(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("connections","Connections",properties.Connections!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowVersionFlowConnectionPropertyFromCloudFormation)(properties.Connections):void 0),ret.addPropertyResult("nodes","Nodes",properties.Nodes!=null?cfn_parse().FromCloudFormation.getArray(CfnFlowVersionFlowNodePropertyFromCloudFormation)(properties.Nodes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFlowVersionPropsValidator(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("flowArn",cdk().requiredValidator)(properties.flowArn)),errors.collect(cdk().propertyValidator("flowArn",cdk().validateString)(properties.flowArn)),errors.wrap('supplied properties not correct for "CfnFlowVersionProps"')}function convertCfnFlowVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFlowVersionPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),FlowArn:cdk().stringToCloudFormation(properties.flowArn)}):properties}function CfnFlowVersionPropsFromCloudFormation(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("flowArn","FlowArn",properties.FlowArn!=null?cfn_parse().FromCloudFormation.getString(properties.FlowArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGuardrail extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnGuardrail",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::Guardrail";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGuardrailPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnGuardrail(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 isCfnGuardrail(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnGuardrail.CFN_RESOURCE_TYPE_NAME}static arnForGuardrail(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_bedrock_IGuardrailRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForGuardrail),error}return resource.guardrailRef.guardrailArn}_automatedReasoningPolicyConfig;_blockedInputMessaging;_blockedOutputsMessaging;cdkTagManager;_contentPolicyConfig;_contextualGroundingPolicyConfig;_crossRegionConfig;_description;_kmsKeyArn;_name;_sensitiveInformationPolicyConfig;_tags;_topicPolicyConfig;_wordPolicyConfig;cfnPropertyNames={automatedReasoningPolicyConfig:"AutomatedReasoningPolicyConfig",blockedInputMessaging:"BlockedInputMessaging",blockedOutputsMessaging:"BlockedOutputsMessaging",tags:"Tags",contentPolicyConfig:"ContentPolicyConfig",contextualGroundingPolicyConfig:"ContextualGroundingPolicyConfig",crossRegionConfig:"CrossRegionConfig",description:"Description",kmsKeyArn:"KmsKeyArn",name:"Name",sensitiveInformationPolicyConfig:"SensitiveInformationPolicyConfig",topicPolicyConfig:"TopicPolicyConfig",wordPolicyConfig:"WordPolicyConfig"};constructor(scope,id,props){super(scope,id,{type:CfnGuardrail.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnGuardrailProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGuardrail),error}cdk().requireProperty(props,"blockedInputMessaging",this),cdk().requireProperty(props,"blockedOutputsMessaging",this),cdk().requireProperty(props,"name",this),this._automatedReasoningPolicyConfig=props.automatedReasoningPolicyConfig,this._blockedInputMessaging=props.blockedInputMessaging,this._blockedOutputsMessaging=props.blockedOutputsMessaging,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Bedrock::Guardrail",void 0,{tagPropertyName:"tags"}),this._contentPolicyConfig=props.contentPolicyConfig,this._contextualGroundingPolicyConfig=props.contextualGroundingPolicyConfig,this._crossRegionConfig=props.crossRegionConfig,this._description=props.description,this._kmsKeyArn=props.kmsKeyArn,this._name=props.name,this._sensitiveInformationPolicyConfig=props.sensitiveInformationPolicyConfig,this._tags=props.tags,this._topicPolicyConfig=props.topicPolicyConfig,this._wordPolicyConfig=props.wordPolicyConfig}get guardrailRef(){return{guardrailArn:this.ref}}get automatedReasoningPolicyConfig(){return this._automatedReasoningPolicyConfig}set automatedReasoningPolicyConfig(value){cdk().traceProperty(this.node,"AutomatedReasoningPolicyConfig"),this._automatedReasoningPolicyConfig=value}get blockedInputMessaging(){return this._blockedInputMessaging}set blockedInputMessaging(value){cdk().traceProperty(this.node,"BlockedInputMessaging"),this._blockedInputMessaging=value}get blockedOutputsMessaging(){return this._blockedOutputsMessaging}set blockedOutputsMessaging(value){cdk().traceProperty(this.node,"BlockedOutputsMessaging"),this._blockedOutputsMessaging=value}get contentPolicyConfig(){return this._contentPolicyConfig}set contentPolicyConfig(value){cdk().traceProperty(this.node,"ContentPolicyConfig"),this._contentPolicyConfig=value}get contextualGroundingPolicyConfig(){return this._contextualGroundingPolicyConfig}set contextualGroundingPolicyConfig(value){cdk().traceProperty(this.node,"ContextualGroundingPolicyConfig"),this._contextualGroundingPolicyConfig=value}get crossRegionConfig(){return this._crossRegionConfig}set crossRegionConfig(value){cdk().traceProperty(this.node,"CrossRegionConfig"),this._crossRegionConfig=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get kmsKeyArn(){return this._kmsKeyArn}set kmsKeyArn(value){cdk().traceProperty(this.node,"KmsKeyArn"),this._kmsKeyArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get sensitiveInformationPolicyConfig(){return this._sensitiveInformationPolicyConfig}set sensitiveInformationPolicyConfig(value){cdk().traceProperty(this.node,"SensitiveInformationPolicyConfig"),this._sensitiveInformationPolicyConfig=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get topicPolicyConfig(){return this._topicPolicyConfig}set topicPolicyConfig(value){cdk().traceProperty(this.node,"TopicPolicyConfig"),this._topicPolicyConfig=value}get wordPolicyConfig(){return this._wordPolicyConfig}set wordPolicyConfig(value){cdk().traceProperty(this.node,"WordPolicyConfig"),this._wordPolicyConfig=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrFailureRecommendations(){return cdk().Token.asList(this.getAtt("FailureRecommendations",cdk().ResolutionTypeHint.STRING_LIST))}get attrGuardrailArn(){return cdk().Token.asString(this.getAtt("GuardrailArn",cdk().ResolutionTypeHint.STRING))}get attrGuardrailId(){return cdk().Token.asString(this.getAtt("GuardrailId",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrStatusReasons(){return cdk().Token.asList(this.getAtt("StatusReasons",cdk().ResolutionTypeHint.STRING_LIST))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return cdk().Token.asString(this.getAtt("Version",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{automatedReasoningPolicyConfig:this._automatedReasoningPolicyConfig,blockedInputMessaging:this._blockedInputMessaging,blockedOutputsMessaging:this._blockedOutputsMessaging,tags:this.cdkTagManager.renderTags(this._tags),contentPolicyConfig:this._contentPolicyConfig,contextualGroundingPolicyConfig:this._contextualGroundingPolicyConfig,crossRegionConfig:this._crossRegionConfig,description:this._description,kmsKeyArn:this._kmsKeyArn,name:this._name,sensitiveInformationPolicyConfig:this._sensitiveInformationPolicyConfig,topicPolicyConfig:this._topicPolicyConfig,wordPolicyConfig:this._wordPolicyConfig}}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",CfnGuardrail.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGuardrailPropsToCloudFormation(props)}}exports.CfnGuardrail=CfnGuardrail;function CfnGuardrailAutomatedReasoningPolicyConfigPropertyValidator(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("confidenceThreshold",cdk().validateNumber)(properties.confidenceThreshold)),errors.collect(cdk().propertyValidator("policies",cdk().requiredValidator)(properties.policies)),errors.collect(cdk().propertyValidator("policies",cdk().listValidator(cdk().validateString))(properties.policies)),errors.wrap('supplied properties not correct for "AutomatedReasoningPolicyConfigProperty"')}function convertCfnGuardrailAutomatedReasoningPolicyConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailAutomatedReasoningPolicyConfigPropertyValidator(properties).assertSuccess(),{ConfidenceThreshold:cdk().numberToCloudFormation(properties.confidenceThreshold),Policies:cdk().listMapper(cdk().stringToCloudFormation)(properties.policies)}):properties}function CfnGuardrailAutomatedReasoningPolicyConfigPropertyFromCloudFormation(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("confidenceThreshold","ConfidenceThreshold",properties.ConfidenceThreshold!=null?cfn_parse().FromCloudFormation.getNumber(properties.ConfidenceThreshold):void 0),ret.addPropertyResult("policies","Policies",properties.Policies!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Policies):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailContentFilterConfigPropertyValidator(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("inputAction",cdk().validateString)(properties.inputAction)),errors.collect(cdk().propertyValidator("inputEnabled",cdk().validateBoolean)(properties.inputEnabled)),errors.collect(cdk().propertyValidator("inputModalities",cdk().listValidator(cdk().validateString))(properties.inputModalities)),errors.collect(cdk().propertyValidator("inputStrength",cdk().requiredValidator)(properties.inputStrength)),errors.collect(cdk().propertyValidator("inputStrength",cdk().validateString)(properties.inputStrength)),errors.collect(cdk().propertyValidator("outputAction",cdk().validateString)(properties.outputAction)),errors.collect(cdk().propertyValidator("outputEnabled",cdk().validateBoolean)(properties.outputEnabled)),errors.collect(cdk().propertyValidator("outputModalities",cdk().listValidator(cdk().validateString))(properties.outputModalities)),errors.collect(cdk().propertyValidator("outputStrength",cdk().requiredValidator)(properties.outputStrength)),errors.collect(cdk().propertyValidator("outputStrength",cdk().validateString)(properties.outputStrength)),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 "ContentFilterConfigProperty"')}function convertCfnGuardrailContentFilterConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailContentFilterConfigPropertyValidator(properties).assertSuccess(),{InputAction:cdk().stringToCloudFormation(properties.inputAction),InputEnabled:cdk().booleanToCloudFormation(properties.inputEnabled),InputModalities:cdk().listMapper(cdk().stringToCloudFormation)(properties.inputModalities),InputStrength:cdk().stringToCloudFormation(properties.inputStrength),OutputAction:cdk().stringToCloudFormation(properties.outputAction),OutputEnabled:cdk().booleanToCloudFormation(properties.outputEnabled),OutputModalities:cdk().listMapper(cdk().stringToCloudFormation)(properties.outputModalities),OutputStrength:cdk().stringToCloudFormation(properties.outputStrength),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnGuardrailContentFilterConfigPropertyFromCloudFormation(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("inputAction","InputAction",properties.InputAction!=null?cfn_parse().FromCloudFormation.getString(properties.InputAction):void 0),ret.addPropertyResult("inputEnabled","InputEnabled",properties.InputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InputEnabled):void 0),ret.addPropertyResult("inputModalities","InputModalities",properties.InputModalities!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InputModalities):void 0),ret.addPropertyResult("inputStrength","InputStrength",properties.InputStrength!=null?cfn_parse().FromCloudFormation.getString(properties.InputStrength):void 0),ret.addPropertyResult("outputAction","OutputAction",properties.OutputAction!=null?cfn_parse().FromCloudFormation.getString(properties.OutputAction):void 0),ret.addPropertyResult("outputEnabled","OutputEnabled",properties.OutputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.OutputEnabled):void 0),ret.addPropertyResult("outputModalities","OutputModalities",properties.OutputModalities!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.OutputModalities):void 0),ret.addPropertyResult("outputStrength","OutputStrength",properties.OutputStrength!=null?cfn_parse().FromCloudFormation.getString(properties.OutputStrength):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailContentFiltersTierConfigPropertyValidator(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("tierName",cdk().requiredValidator)(properties.tierName)),errors.collect(cdk().propertyValidator("tierName",cdk().validateString)(properties.tierName)),errors.wrap('supplied properties not correct for "ContentFiltersTierConfigProperty"')}function convertCfnGuardrailContentFiltersTierConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailContentFiltersTierConfigPropertyValidator(properties).assertSuccess(),{TierName:cdk().stringToCloudFormation(properties.tierName)}):properties}function CfnGuardrailContentFiltersTierConfigPropertyFromCloudFormation(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("tierName","TierName",properties.TierName!=null?cfn_parse().FromCloudFormation.getString(properties.TierName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailContentPolicyConfigPropertyValidator(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("contentFiltersTierConfig",CfnGuardrailContentFiltersTierConfigPropertyValidator)(properties.contentFiltersTierConfig)),errors.collect(cdk().propertyValidator("filtersConfig",cdk().requiredValidator)(properties.filtersConfig)),errors.collect(cdk().propertyValidator("filtersConfig",cdk().listValidator(CfnGuardrailContentFilterConfigPropertyValidator))(properties.filtersConfig)),errors.wrap('supplied properties not correct for "ContentPolicyConfigProperty"')}function convertCfnGuardrailContentPolicyConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailContentPolicyConfigPropertyValidator(properties).assertSuccess(),{ContentFiltersTierConfig:convertCfnGuardrailContentFiltersTierConfigPropertyToCloudFormation(properties.contentFiltersTierConfig),FiltersConfig:cdk().listMapper(convertCfnGuardrailContentFilterConfigPropertyToCloudFormation)(properties.filtersConfig)}):properties}function CfnGuardrailContentPolicyConfigPropertyFromCloudFormation(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("contentFiltersTierConfig","ContentFiltersTierConfig",properties.ContentFiltersTierConfig!=null?CfnGuardrailContentFiltersTierConfigPropertyFromCloudFormation(properties.ContentFiltersTierConfig):void 0),ret.addPropertyResult("filtersConfig","FiltersConfig",properties.FiltersConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnGuardrailContentFilterConfigPropertyFromCloudFormation)(properties.FiltersConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailContextualGroundingFilterConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("threshold",cdk().requiredValidator)(properties.threshold)),errors.collect(cdk().propertyValidator("threshold",cdk().validateNumber)(properties.threshold)),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 "ContextualGroundingFilterConfigProperty"')}function convertCfnGuardrailContextualGroundingFilterConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailContextualGroundingFilterConfigPropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),Enabled:cdk().booleanToCloudFormation(properties.enabled),Threshold:cdk().numberToCloudFormation(properties.threshold),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnGuardrailContextualGroundingFilterConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("threshold","Threshold",properties.Threshold!=null?cfn_parse().FromCloudFormation.getNumber(properties.Threshold):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailContextualGroundingPolicyConfigPropertyValidator(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("filtersConfig",cdk().requiredValidator)(properties.filtersConfig)),errors.collect(cdk().propertyValidator("filtersConfig",cdk().listValidator(CfnGuardrailContextualGroundingFilterConfigPropertyValidator))(properties.filtersConfig)),errors.wrap('supplied properties not correct for "ContextualGroundingPolicyConfigProperty"')}function convertCfnGuardrailContextualGroundingPolicyConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailContextualGroundingPolicyConfigPropertyValidator(properties).assertSuccess(),{FiltersConfig:cdk().listMapper(convertCfnGuardrailContextualGroundingFilterConfigPropertyToCloudFormation)(properties.filtersConfig)}):properties}function CfnGuardrailContextualGroundingPolicyConfigPropertyFromCloudFormation(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("filtersConfig","FiltersConfig",properties.FiltersConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnGuardrailContextualGroundingFilterConfigPropertyFromCloudFormation)(properties.FiltersConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailGuardrailCrossRegionConfigPropertyValidator(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("guardrailProfileArn",cdk().requiredValidator)(properties.guardrailProfileArn)),errors.collect(cdk().propertyValidator("guardrailProfileArn",cdk().validateString)(properties.guardrailProfileArn)),errors.wrap('supplied properties not correct for "GuardrailCrossRegionConfigProperty"')}function convertCfnGuardrailGuardrailCrossRegionConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailGuardrailCrossRegionConfigPropertyValidator(properties).assertSuccess(),{GuardrailProfileArn:cdk().stringToCloudFormation(properties.guardrailProfileArn)}):properties}function CfnGuardrailGuardrailCrossRegionConfigPropertyFromCloudFormation(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("guardrailProfileArn","GuardrailProfileArn",properties.GuardrailProfileArn!=null?cfn_parse().FromCloudFormation.getString(properties.GuardrailProfileArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailPiiEntityConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("inputAction",cdk().validateString)(properties.inputAction)),errors.collect(cdk().propertyValidator("inputEnabled",cdk().validateBoolean)(properties.inputEnabled)),errors.collect(cdk().propertyValidator("outputAction",cdk().validateString)(properties.outputAction)),errors.collect(cdk().propertyValidator("outputEnabled",cdk().validateBoolean)(properties.outputEnabled)),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 "PiiEntityConfigProperty"')}function convertCfnGuardrailPiiEntityConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailPiiEntityConfigPropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),InputAction:cdk().stringToCloudFormation(properties.inputAction),InputEnabled:cdk().booleanToCloudFormation(properties.inputEnabled),OutputAction:cdk().stringToCloudFormation(properties.outputAction),OutputEnabled:cdk().booleanToCloudFormation(properties.outputEnabled),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnGuardrailPiiEntityConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("inputAction","InputAction",properties.InputAction!=null?cfn_parse().FromCloudFormation.getString(properties.InputAction):void 0),ret.addPropertyResult("inputEnabled","InputEnabled",properties.InputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InputEnabled):void 0),ret.addPropertyResult("outputAction","OutputAction",properties.OutputAction!=null?cfn_parse().FromCloudFormation.getString(properties.OutputAction):void 0),ret.addPropertyResult("outputEnabled","OutputEnabled",properties.OutputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.OutputEnabled):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailRegexConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("inputAction",cdk().validateString)(properties.inputAction)),errors.collect(cdk().propertyValidator("inputEnabled",cdk().validateBoolean)(properties.inputEnabled)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("outputAction",cdk().validateString)(properties.outputAction)),errors.collect(cdk().propertyValidator("outputEnabled",cdk().validateBoolean)(properties.outputEnabled)),errors.collect(cdk().propertyValidator("pattern",cdk().requiredValidator)(properties.pattern)),errors.collect(cdk().propertyValidator("pattern",cdk().validateString)(properties.pattern)),errors.wrap('supplied properties not correct for "RegexConfigProperty"')}function convertCfnGuardrailRegexConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailRegexConfigPropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),Description:cdk().stringToCloudFormation(properties.description),InputAction:cdk().stringToCloudFormation(properties.inputAction),InputEnabled:cdk().booleanToCloudFormation(properties.inputEnabled),Name:cdk().stringToCloudFormation(properties.name),OutputAction:cdk().stringToCloudFormation(properties.outputAction),OutputEnabled:cdk().booleanToCloudFormation(properties.outputEnabled),Pattern:cdk().stringToCloudFormation(properties.pattern)}):properties}function CfnGuardrailRegexConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("inputAction","InputAction",properties.InputAction!=null?cfn_parse().FromCloudFormation.getString(properties.InputAction):void 0),ret.addPropertyResult("inputEnabled","InputEnabled",properties.InputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InputEnabled):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("outputAction","OutputAction",properties.OutputAction!=null?cfn_parse().FromCloudFormation.getString(properties.OutputAction):void 0),ret.addPropertyResult("outputEnabled","OutputEnabled",properties.OutputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.OutputEnabled):void 0),ret.addPropertyResult("pattern","Pattern",properties.Pattern!=null?cfn_parse().FromCloudFormation.getString(properties.Pattern):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailSensitiveInformationPolicyConfigPropertyValidator(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("piiEntitiesConfig",cdk().listValidator(CfnGuardrailPiiEntityConfigPropertyValidator))(properties.piiEntitiesConfig)),errors.collect(cdk().propertyValidator("regexesConfig",cdk().listValidator(CfnGuardrailRegexConfigPropertyValidator))(properties.regexesConfig)),errors.wrap('supplied properties not correct for "SensitiveInformationPolicyConfigProperty"')}function convertCfnGuardrailSensitiveInformationPolicyConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailSensitiveInformationPolicyConfigPropertyValidator(properties).assertSuccess(),{PiiEntitiesConfig:cdk().listMapper(convertCfnGuardrailPiiEntityConfigPropertyToCloudFormation)(properties.piiEntitiesConfig),RegexesConfig:cdk().listMapper(convertCfnGuardrailRegexConfigPropertyToCloudFormation)(properties.regexesConfig)}):properties}function CfnGuardrailSensitiveInformationPolicyConfigPropertyFromCloudFormation(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("piiEntitiesConfig","PiiEntitiesConfig",properties.PiiEntitiesConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnGuardrailPiiEntityConfigPropertyFromCloudFormation)(properties.PiiEntitiesConfig):void 0),ret.addPropertyResult("regexesConfig","RegexesConfig",properties.RegexesConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnGuardrailRegexConfigPropertyFromCloudFormation)(properties.RegexesConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailTopicConfigPropertyValidator(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("definition",cdk().requiredValidator)(properties.definition)),errors.collect(cdk().propertyValidator("definition",cdk().validateString)(properties.definition)),errors.collect(cdk().propertyValidator("examples",cdk().listValidator(cdk().validateString))(properties.examples)),errors.collect(cdk().propertyValidator("inputAction",cdk().validateString)(properties.inputAction)),errors.collect(cdk().propertyValidator("inputEnabled",cdk().validateBoolean)(properties.inputEnabled)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("outputAction",cdk().validateString)(properties.outputAction)),errors.collect(cdk().propertyValidator("outputEnabled",cdk().validateBoolean)(properties.outputEnabled)),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 "TopicConfigProperty"')}function convertCfnGuardrailTopicConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailTopicConfigPropertyValidator(properties).assertSuccess(),{Definition:cdk().stringToCloudFormation(properties.definition),Examples:cdk().listMapper(cdk().stringToCloudFormation)(properties.examples),InputAction:cdk().stringToCloudFormation(properties.inputAction),InputEnabled:cdk().booleanToCloudFormation(properties.inputEnabled),Name:cdk().stringToCloudFormation(properties.name),OutputAction:cdk().stringToCloudFormation(properties.outputAction),OutputEnabled:cdk().booleanToCloudFormation(properties.outputEnabled),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnGuardrailTopicConfigPropertyFromCloudFormation(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("definition","Definition",properties.Definition!=null?cfn_parse().FromCloudFormation.getString(properties.Definition):void 0),ret.addPropertyResult("examples","Examples",properties.Examples!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Examples):void 0),ret.addPropertyResult("inputAction","InputAction",properties.InputAction!=null?cfn_parse().FromCloudFormation.getString(properties.InputAction):void 0),ret.addPropertyResult("inputEnabled","InputEnabled",properties.InputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InputEnabled):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("outputAction","OutputAction",properties.OutputAction!=null?cfn_parse().FromCloudFormation.getString(properties.OutputAction):void 0),ret.addPropertyResult("outputEnabled","OutputEnabled",properties.OutputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.OutputEnabled):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailTopicsTierConfigPropertyValidator(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("tierName",cdk().requiredValidator)(properties.tierName)),errors.collect(cdk().propertyValidator("tierName",cdk().validateString)(properties.tierName)),errors.wrap('supplied properties not correct for "TopicsTierConfigProperty"')}function convertCfnGuardrailTopicsTierConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailTopicsTierConfigPropertyValidator(properties).assertSuccess(),{TierName:cdk().stringToCloudFormation(properties.tierName)}):properties}function CfnGuardrailTopicsTierConfigPropertyFromCloudFormation(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("tierName","TierName",properties.TierName!=null?cfn_parse().FromCloudFormation.getString(properties.TierName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailTopicPolicyConfigPropertyValidator(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("topicsConfig",cdk().requiredValidator)(properties.topicsConfig)),errors.collect(cdk().propertyValidator("topicsConfig",cdk().listValidator(CfnGuardrailTopicConfigPropertyValidator))(properties.topicsConfig)),errors.collect(cdk().propertyValidator("topicsTierConfig",CfnGuardrailTopicsTierConfigPropertyValidator)(properties.topicsTierConfig)),errors.wrap('supplied properties not correct for "TopicPolicyConfigProperty"')}function convertCfnGuardrailTopicPolicyConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailTopicPolicyConfigPropertyValidator(properties).assertSuccess(),{TopicsConfig:cdk().listMapper(convertCfnGuardrailTopicConfigPropertyToCloudFormation)(properties.topicsConfig),TopicsTierConfig:convertCfnGuardrailTopicsTierConfigPropertyToCloudFormation(properties.topicsTierConfig)}):properties}function CfnGuardrailTopicPolicyConfigPropertyFromCloudFormation(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("topicsConfig","TopicsConfig",properties.TopicsConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnGuardrailTopicConfigPropertyFromCloudFormation)(properties.TopicsConfig):void 0),ret.addPropertyResult("topicsTierConfig","TopicsTierConfig",properties.TopicsTierConfig!=null?CfnGuardrailTopicsTierConfigPropertyFromCloudFormation(properties.TopicsTierConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailWordConfigPropertyValidator(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("inputAction",cdk().validateString)(properties.inputAction)),errors.collect(cdk().propertyValidator("inputEnabled",cdk().validateBoolean)(properties.inputEnabled)),errors.collect(cdk().propertyValidator("outputAction",cdk().validateString)(properties.outputAction)),errors.collect(cdk().propertyValidator("outputEnabled",cdk().validateBoolean)(properties.outputEnabled)),errors.collect(cdk().propertyValidator("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.wrap('supplied properties not correct for "WordConfigProperty"')}function convertCfnGuardrailWordConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailWordConfigPropertyValidator(properties).assertSuccess(),{InputAction:cdk().stringToCloudFormation(properties.inputAction),InputEnabled:cdk().booleanToCloudFormation(properties.inputEnabled),OutputAction:cdk().stringToCloudFormation(properties.outputAction),OutputEnabled:cdk().booleanToCloudFormation(properties.outputEnabled),Text:cdk().stringToCloudFormation(properties.text)}):properties}function CfnGuardrailWordConfigPropertyFromCloudFormation(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("inputAction","InputAction",properties.InputAction!=null?cfn_parse().FromCloudFormation.getString(properties.InputAction):void 0),ret.addPropertyResult("inputEnabled","InputEnabled",properties.InputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InputEnabled):void 0),ret.addPropertyResult("outputAction","OutputAction",properties.OutputAction!=null?cfn_parse().FromCloudFormation.getString(properties.OutputAction):void 0),ret.addPropertyResult("outputEnabled","OutputEnabled",properties.OutputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.OutputEnabled):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailManagedWordsConfigPropertyValidator(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("inputAction",cdk().validateString)(properties.inputAction)),errors.collect(cdk().propertyValidator("inputEnabled",cdk().validateBoolean)(properties.inputEnabled)),errors.collect(cdk().propertyValidator("outputAction",cdk().validateString)(properties.outputAction)),errors.collect(cdk().propertyValidator("outputEnabled",cdk().validateBoolean)(properties.outputEnabled)),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 "ManagedWordsConfigProperty"')}function convertCfnGuardrailManagedWordsConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailManagedWordsConfigPropertyValidator(properties).assertSuccess(),{InputAction:cdk().stringToCloudFormation(properties.inputAction),InputEnabled:cdk().booleanToCloudFormation(properties.inputEnabled),OutputAction:cdk().stringToCloudFormation(properties.outputAction),OutputEnabled:cdk().booleanToCloudFormation(properties.outputEnabled),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnGuardrailManagedWordsConfigPropertyFromCloudFormation(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("inputAction","InputAction",properties.InputAction!=null?cfn_parse().FromCloudFormation.getString(properties.InputAction):void 0),ret.addPropertyResult("inputEnabled","InputEnabled",properties.InputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InputEnabled):void 0),ret.addPropertyResult("outputAction","OutputAction",properties.OutputAction!=null?cfn_parse().FromCloudFormation.getString(properties.OutputAction):void 0),ret.addPropertyResult("outputEnabled","OutputEnabled",properties.OutputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.OutputEnabled):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailWordPolicyConfigPropertyValidator(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("managedWordListsConfig",cdk().listValidator(CfnGuardrailManagedWordsConfigPropertyValidator))(properties.managedWordListsConfig)),errors.collect(cdk().propertyValidator("wordsConfig",cdk().listValidator(CfnGuardrailWordConfigPropertyValidator))(properties.wordsConfig)),errors.wrap('supplied properties not correct for "WordPolicyConfigProperty"')}function convertCfnGuardrailWordPolicyConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailWordPolicyConfigPropertyValidator(properties).assertSuccess(),{ManagedWordListsConfig:cdk().listMapper(convertCfnGuardrailManagedWordsConfigPropertyToCloudFormation)(properties.managedWordListsConfig),WordsConfig:cdk().listMapper(convertCfnGuardrailWordConfigPropertyToCloudFormation)(properties.wordsConfig)}):properties}function CfnGuardrailWordPolicyConfigPropertyFromCloudFormation(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("managedWordListsConfig","ManagedWordListsConfig",properties.ManagedWordListsConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnGuardrailManagedWordsConfigPropertyFromCloudFormation)(properties.ManagedWordListsConfig):void 0),ret.addPropertyResult("wordsConfig","WordsConfig",properties.WordsConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnGuardrailWordConfigPropertyFromCloudFormation)(properties.WordsConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGuardrailPropsValidator(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("automatedReasoningPolicyConfig",CfnGuardrailAutomatedReasoningPolicyConfigPropertyValidator)(properties.automatedReasoningPolicyConfig)),errors.collect(cdk().propertyValidator("blockedInputMessaging",cdk().requiredValidator)(properties.blockedInputMessaging)),errors.collect(cdk().propertyValidator("blockedInputMessaging",cdk().validateString)(properties.blockedInputMessaging)),errors.collect(cdk().propertyValidator("blockedOutputsMessaging",cdk().requiredValidator)(properties.blockedOutputsMessaging)),errors.collect(cdk().propertyValidator("blockedOutputsMessaging",cdk().validateString)(properties.blockedOutputsMessaging)),errors.collect(cdk().propertyValidator("contentPolicyConfig",CfnGuardrailContentPolicyConfigPropertyValidator)(properties.contentPolicyConfig)),errors.collect(cdk().propertyValidator("contextualGroundingPolicyConfig",CfnGuardrailContextualGroundingPolicyConfigPropertyValidator)(properties.contextualGroundingPolicyConfig)),errors.collect(cdk().propertyValidator("crossRegionConfig",CfnGuardrailGuardrailCrossRegionConfigPropertyValidator)(properties.crossRegionConfig)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sensitiveInformationPolicyConfig",CfnGuardrailSensitiveInformationPolicyConfigPropertyValidator)(properties.sensitiveInformationPolicyConfig)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("topicPolicyConfig",CfnGuardrailTopicPolicyConfigPropertyValidator)(properties.topicPolicyConfig)),errors.collect(cdk().propertyValidator("wordPolicyConfig",CfnGuardrailWordPolicyConfigPropertyValidator)(properties.wordPolicyConfig)),errors.wrap('supplied properties not correct for "CfnGuardrailProps"')}function convertCfnGuardrailPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailPropsValidator(properties).assertSuccess(),{AutomatedReasoningPolicyConfig:convertCfnGuardrailAutomatedReasoningPolicyConfigPropertyToCloudFormation(properties.automatedReasoningPolicyConfig),BlockedInputMessaging:cdk().stringToCloudFormation(properties.blockedInputMessaging),BlockedOutputsMessaging:cdk().stringToCloudFormation(properties.blockedOutputsMessaging),ContentPolicyConfig:convertCfnGuardrailContentPolicyConfigPropertyToCloudFormation(properties.contentPolicyConfig),ContextualGroundingPolicyConfig:convertCfnGuardrailContextualGroundingPolicyConfigPropertyToCloudFormation(properties.contextualGroundingPolicyConfig),CrossRegionConfig:convertCfnGuardrailGuardrailCrossRegionConfigPropertyToCloudFormation(properties.crossRegionConfig),Description:cdk().stringToCloudFormation(properties.description),KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),Name:cdk().stringToCloudFormation(properties.name),SensitiveInformationPolicyConfig:convertCfnGuardrailSensitiveInformationPolicyConfigPropertyToCloudFormation(properties.sensitiveInformationPolicyConfig),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TopicPolicyConfig:convertCfnGuardrailTopicPolicyConfigPropertyToCloudFormation(properties.topicPolicyConfig),WordPolicyConfig:convertCfnGuardrailWordPolicyConfigPropertyToCloudFormation(properties.wordPolicyConfig)}):properties}function CfnGuardrailPropsFromCloudFormation(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("automatedReasoningPolicyConfig","AutomatedReasoningPolicyConfig",properties.AutomatedReasoningPolicyConfig!=null?CfnGuardrailAutomatedReasoningPolicyConfigPropertyFromCloudFormation(properties.AutomatedReasoningPolicyConfig):void 0),ret.addPropertyResult("blockedInputMessaging","BlockedInputMessaging",properties.BlockedInputMessaging!=null?cfn_parse().FromCloudFormation.getString(properties.BlockedInputMessaging):void 0),ret.addPropertyResult("blockedOutputsMessaging","BlockedOutputsMessaging",properties.BlockedOutputsMessaging!=null?cfn_parse().FromCloudFormation.getString(properties.BlockedOutputsMessaging):void 0),ret.addPropertyResult("contentPolicyConfig","ContentPolicyConfig",properties.ContentPolicyConfig!=null?CfnGuardrailContentPolicyConfigPropertyFromCloudFormation(properties.ContentPolicyConfig):void 0),ret.addPropertyResult("contextualGroundingPolicyConfig","ContextualGroundingPolicyConfig",properties.ContextualGroundingPolicyConfig!=null?CfnGuardrailContextualGroundingPolicyConfigPropertyFromCloudFormation(properties.ContextualGroundingPolicyConfig):void 0),ret.addPropertyResult("crossRegionConfig","CrossRegionConfig",properties.CrossRegionConfig!=null?CfnGuardrailGuardrailCrossRegionConfigPropertyFromCloudFormation(properties.CrossRegionConfig):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("sensitiveInformationPolicyConfig","SensitiveInformationPolicyConfig",properties.SensitiveInformationPolicyConfig!=null?CfnGuardrailSensitiveInformationPolicyConfigPropertyFromCloudFormation(properties.SensitiveInformationPolicyConfig):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("topicPolicyConfig","TopicPolicyConfig",properties.TopicPolicyConfig!=null?CfnGuardrailTopicPolicyConfigPropertyFromCloudFormation(properties.TopicPolicyConfig):void 0),ret.addPropertyResult("wordPolicyConfig","WordPolicyConfig",properties.WordPolicyConfig!=null?CfnGuardrailWordPolicyConfigPropertyFromCloudFormation(properties.WordPolicyConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGuardrailVersion extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnGuardrailVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::GuardrailVersion";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGuardrailVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnGuardrailVersion(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 isCfnGuardrailVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnGuardrailVersion.CFN_RESOURCE_TYPE_NAME}_description;_guardrailIdentifier;cfnPropertyNames={description:"Description",guardrailIdentifier:"GuardrailIdentifier"};constructor(scope,id,props){super(scope,id,{type:CfnGuardrailVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnGuardrailVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGuardrailVersion),error}cdk().requireProperty(props,"guardrailIdentifier",this),this._description=props.description,this._guardrailIdentifier=props.guardrailIdentifier}get guardrailVersionRef(){return{guardrailId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),version:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get guardrailIdentifier(){return this._guardrailIdentifier}set guardrailIdentifier(value){cdk().traceProperty(this.node,"GuardrailIdentifier"),this._guardrailIdentifier=value}get attrGuardrailArn(){return cdk().Token.asString(this.getAtt("GuardrailArn",cdk().ResolutionTypeHint.STRING))}get attrGuardrailId(){return cdk().Token.asString(this.getAtt("GuardrailId",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return cdk().Token.asString(this.getAtt("Version",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,guardrailIdentifier:this._guardrailIdentifier}}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",CfnGuardrailVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGuardrailVersionPropsToCloudFormation(props)}}exports.CfnGuardrailVersion=CfnGuardrailVersion;function CfnGuardrailVersionPropsValidator(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("guardrailIdentifier",cdk().requiredValidator)(properties.guardrailIdentifier)),errors.collect(cdk().propertyValidator("guardrailIdentifier",cdk().validateString)(properties.guardrailIdentifier)),errors.wrap('supplied properties not correct for "CfnGuardrailVersionProps"')}function convertCfnGuardrailVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGuardrailVersionPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),GuardrailIdentifier:cdk().stringToCloudFormation(properties.guardrailIdentifier)}):properties}function CfnGuardrailVersionPropsFromCloudFormation(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("guardrailIdentifier","GuardrailIdentifier",properties.GuardrailIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.GuardrailIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnIntelligentPromptRouter extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnIntelligentPromptRouter",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::IntelligentPromptRouter";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIntelligentPromptRouterPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnIntelligentPromptRouter(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 isCfnIntelligentPromptRouter(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIntelligentPromptRouter.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_description;_fallbackModel;_models;_promptRouterName;_routingCriteria;_tags;cfnPropertyNames={tags:"Tags",description:"Description",fallbackModel:"FallbackModel",models:"Models",promptRouterName:"PromptRouterName",routingCriteria:"RoutingCriteria"};constructor(scope,id,props){super(scope,id,{type:CfnIntelligentPromptRouter.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnIntelligentPromptRouterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIntelligentPromptRouter),error}cdk().requireProperty(props,"fallbackModel",this),cdk().requireProperty(props,"models",this),cdk().requireProperty(props,"promptRouterName",this),cdk().requireProperty(props,"routingCriteria",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Bedrock::IntelligentPromptRouter",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._fallbackModel=props.fallbackModel,this._models=props.models,this._promptRouterName=props.promptRouterName,this._routingCriteria=props.routingCriteria,this._tags=props.tags}get intelligentPromptRouterRef(){return{promptRouterArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get fallbackModel(){return this._fallbackModel}set fallbackModel(value){cdk().traceProperty(this.node,"FallbackModel"),this._fallbackModel=value}get models(){return this._models}set models(value){cdk().traceProperty(this.node,"Models"),this._models=value}get promptRouterName(){return this._promptRouterName}set promptRouterName(value){cdk().traceProperty(this.node,"PromptRouterName"),this._promptRouterName=value}get routingCriteria(){return this._routingCriteria}set routingCriteria(value){cdk().traceProperty(this.node,"RoutingCriteria"),this._routingCriteria=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrPromptRouterArn(){return cdk().Token.asString(this.getAtt("PromptRouterArn",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrType(){return cdk().Token.asString(this.getAtt("Type",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,fallbackModel:this._fallbackModel,models:this._models,promptRouterName:this._promptRouterName,routingCriteria:this._routingCriteria}}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",CfnIntelligentPromptRouter.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIntelligentPromptRouterPropsToCloudFormation(props)}}exports.CfnIntelligentPromptRouter=CfnIntelligentPromptRouter;function CfnIntelligentPromptRouterPromptRouterTargetModelPropertyValidator(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("modelArn",cdk().requiredValidator)(properties.modelArn)),errors.collect(cdk().propertyValidator("modelArn",cdk().validateString)(properties.modelArn)),errors.wrap('supplied properties not correct for "PromptRouterTargetModelProperty"')}function convertCfnIntelligentPromptRouterPromptRouterTargetModelPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntelligentPromptRouterPromptRouterTargetModelPropertyValidator(properties).assertSuccess(),{ModelArn:cdk().stringToCloudFormation(properties.modelArn)}):properties}function CfnIntelligentPromptRouterPromptRouterTargetModelPropertyFromCloudFormation(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("modelArn","ModelArn",properties.ModelArn!=null?cfn_parse().FromCloudFormation.getString(properties.ModelArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntelligentPromptRouterRoutingCriteriaPropertyValidator(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("responseQualityDifference",cdk().requiredValidator)(properties.responseQualityDifference)),errors.collect(cdk().propertyValidator("responseQualityDifference",cdk().validateNumber)(properties.responseQualityDifference)),errors.wrap('supplied properties not correct for "RoutingCriteriaProperty"')}function convertCfnIntelligentPromptRouterRoutingCriteriaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntelligentPromptRouterRoutingCriteriaPropertyValidator(properties).assertSuccess(),{ResponseQualityDifference:cdk().numberToCloudFormation(properties.responseQualityDifference)}):properties}function CfnIntelligentPromptRouterRoutingCriteriaPropertyFromCloudFormation(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("responseQualityDifference","ResponseQualityDifference",properties.ResponseQualityDifference!=null?cfn_parse().FromCloudFormation.getNumber(properties.ResponseQualityDifference):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntelligentPromptRouterPropsValidator(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("fallbackModel",cdk().requiredValidator)(properties.fallbackModel)),errors.collect(cdk().propertyValidator("fallbackModel",CfnIntelligentPromptRouterPromptRouterTargetModelPropertyValidator)(properties.fallbackModel)),errors.collect(cdk().propertyValidator("models",cdk().requiredValidator)(properties.models)),errors.collect(cdk().propertyValidator("models",cdk().listValidator(CfnIntelligentPromptRouterPromptRouterTargetModelPropertyValidator))(properties.models)),errors.collect(cdk().propertyValidator("promptRouterName",cdk().requiredValidator)(properties.promptRouterName)),errors.collect(cdk().propertyValidator("promptRouterName",cdk().validateString)(properties.promptRouterName)),errors.collect(cdk().propertyValidator("routingCriteria",cdk().requiredValidator)(properties.routingCriteria)),errors.collect(cdk().propertyValidator("routingCriteria",CfnIntelligentPromptRouterRoutingCriteriaPropertyValidator)(properties.routingCriteria)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnIntelligentPromptRouterProps"')}function convertCfnIntelligentPromptRouterPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntelligentPromptRouterPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),FallbackModel:convertCfnIntelligentPromptRouterPromptRouterTargetModelPropertyToCloudFormation(properties.fallbackModel),Models:cdk().listMapper(convertCfnIntelligentPromptRouterPromptRouterTargetModelPropertyToCloudFormation)(properties.models),PromptRouterName:cdk().stringToCloudFormation(properties.promptRouterName),RoutingCriteria:convertCfnIntelligentPromptRouterRoutingCriteriaPropertyToCloudFormation(properties.routingCriteria),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnIntelligentPromptRouterPropsFromCloudFormation(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("fallbackModel","FallbackModel",properties.FallbackModel!=null?CfnIntelligentPromptRouterPromptRouterTargetModelPropertyFromCloudFormation(properties.FallbackModel):void 0),ret.addPropertyResult("models","Models",properties.Models!=null?cfn_parse().FromCloudFormation.getArray(CfnIntelligentPromptRouterPromptRouterTargetModelPropertyFromCloudFormation)(properties.Models):void 0),ret.addPropertyResult("promptRouterName","PromptRouterName",properties.PromptRouterName!=null?cfn_parse().FromCloudFormation.getString(properties.PromptRouterName):void 0),ret.addPropertyResult("routingCriteria","RoutingCriteria",properties.RoutingCriteria!=null?CfnIntelligentPromptRouterRoutingCriteriaPropertyFromCloudFormation(properties.RoutingCriteria):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 CfnKnowledgeBase extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnKnowledgeBase",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::KnowledgeBase";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnKnowledgeBasePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnKnowledgeBase(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 isCfnKnowledgeBase(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnKnowledgeBase.CFN_RESOURCE_TYPE_NAME}static fromKnowledgeBaseArn(scope,id,arn){class Import extends cdk().Resource{knowledgeBaseRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:bedrock:${Region}:${Account}:knowledge-base/${KnowledgeBaseId}").parse(arn2);this.knowledgeBaseRef={knowledgeBaseId:variables.KnowledgeBaseId,knowledgeBaseArn:arn2}}}return new Import(scope,id,arn)}static fromKnowledgeBaseId(scope,id,knowledgeBaseId){class Import extends cdk().Resource{knowledgeBaseRef;constructor(scope2,id2,knowledgeBaseId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:bedrock:${Region}:${Account}:knowledge-base/${KnowledgeBaseId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,KnowledgeBaseId:knowledgeBaseId2});super(scope2,id2,{environmentFromArn:arn}),this.knowledgeBaseRef={knowledgeBaseId:knowledgeBaseId2,knowledgeBaseArn:arn}}}return new Import(scope,id,knowledgeBaseId)}static arnForKnowledgeBase(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_bedrock_IKnowledgeBaseRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForKnowledgeBase),error}return resource.knowledgeBaseRef.knowledgeBaseArn}cdkTagManager;_description;_knowledgeBaseConfiguration;_name;_roleArn;_storageConfiguration;_tags;cfnPropertyNames={tags:"Tags",description:"Description",knowledgeBaseConfiguration:"KnowledgeBaseConfiguration",name:"Name",roleArn:"RoleArn",storageConfiguration:"StorageConfiguration"};constructor(scope,id,props){super(scope,id,{type:CfnKnowledgeBase.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnKnowledgeBaseProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnKnowledgeBase),error}cdk().requireProperty(props,"knowledgeBaseConfiguration",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"roleArn",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Bedrock::KnowledgeBase",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._knowledgeBaseConfiguration=props.knowledgeBaseConfiguration,this._name=props.name,this._roleArn=props.roleArn,this._storageConfiguration=props.storageConfiguration,this._tags=props.tags}get knowledgeBaseRef(){return{knowledgeBaseId:this.ref,knowledgeBaseArn:this.attrKnowledgeBaseArn}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get knowledgeBaseConfiguration(){return this._knowledgeBaseConfiguration}set knowledgeBaseConfiguration(value){cdk().traceProperty(this.node,"KnowledgeBaseConfiguration"),this._knowledgeBaseConfiguration=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 storageConfiguration(){return this._storageConfiguration}set storageConfiguration(value){cdk().traceProperty(this.node,"StorageConfiguration"),this._storageConfiguration=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrFailureReasons(){return cdk().Token.asList(this.getAtt("FailureReasons",cdk().ResolutionTypeHint.STRING_LIST))}get attrKnowledgeBaseArn(){return cdk().Token.asString(this.getAtt("KnowledgeBaseArn",cdk().ResolutionTypeHint.STRING))}get attrKnowledgeBaseId(){return cdk().Token.asString(this.getAtt("KnowledgeBaseId",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,knowledgeBaseConfiguration:this._knowledgeBaseConfiguration,name:this._name,roleArn:this._roleArn,storageConfiguration:this._storageConfiguration}}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",CfnKnowledgeBase.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnKnowledgeBasePropsToCloudFormation(props)}}exports.CfnKnowledgeBase=CfnKnowledgeBase;function CfnKnowledgeBaseAudioSegmentationConfigurationPropertyValidator(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("fixedLengthDuration",cdk().requiredValidator)(properties.fixedLengthDuration)),errors.collect(cdk().propertyValidator("fixedLengthDuration",cdk().validateNumber)(properties.fixedLengthDuration)),errors.wrap('supplied properties not correct for "AudioSegmentationConfigurationProperty"')}function convertCfnKnowledgeBaseAudioSegmentationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseAudioSegmentationConfigurationPropertyValidator(properties).assertSuccess(),{FixedLengthDuration:cdk().numberToCloudFormation(properties.fixedLengthDuration)}):properties}function CfnKnowledgeBaseAudioSegmentationConfigurationPropertyFromCloudFormation(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("fixedLengthDuration","FixedLengthDuration",properties.FixedLengthDuration!=null?cfn_parse().FromCloudFormation.getNumber(properties.FixedLengthDuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseAudioConfigurationPropertyValidator(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("segmentationConfiguration",cdk().requiredValidator)(properties.segmentationConfiguration)),errors.collect(cdk().propertyValidator("segmentationConfiguration",CfnKnowledgeBaseAudioSegmentationConfigurationPropertyValidator)(properties.segmentationConfiguration)),errors.wrap('supplied properties not correct for "AudioConfigurationProperty"')}function convertCfnKnowledgeBaseAudioConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseAudioConfigurationPropertyValidator(properties).assertSuccess(),{SegmentationConfiguration:convertCfnKnowledgeBaseAudioSegmentationConfigurationPropertyToCloudFormation(properties.segmentationConfiguration)}):properties}function CfnKnowledgeBaseAudioConfigurationPropertyFromCloudFormation(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("segmentationConfiguration","SegmentationConfiguration",properties.SegmentationConfiguration!=null?CfnKnowledgeBaseAudioSegmentationConfigurationPropertyFromCloudFormation(properties.SegmentationConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseVideoSegmentationConfigurationPropertyValidator(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("fixedLengthDuration",cdk().requiredValidator)(properties.fixedLengthDuration)),errors.collect(cdk().propertyValidator("fixedLengthDuration",cdk().validateNumber)(properties.fixedLengthDuration)),errors.wrap('supplied properties not correct for "VideoSegmentationConfigurationProperty"')}function convertCfnKnowledgeBaseVideoSegmentationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseVideoSegmentationConfigurationPropertyValidator(properties).assertSuccess(),{FixedLengthDuration:cdk().numberToCloudFormation(properties.fixedLengthDuration)}):properties}function CfnKnowledgeBaseVideoSegmentationConfigurationPropertyFromCloudFormation(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("fixedLengthDuration","FixedLengthDuration",properties.FixedLengthDuration!=null?cfn_parse().FromCloudFormation.getNumber(properties.FixedLengthDuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseVideoConfigurationPropertyValidator(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("segmentationConfiguration",cdk().requiredValidator)(properties.segmentationConfiguration)),errors.collect(cdk().propertyValidator("segmentationConfiguration",CfnKnowledgeBaseVideoSegmentationConfigurationPropertyValidator)(properties.segmentationConfiguration)),errors.wrap('supplied properties not correct for "VideoConfigurationProperty"')}function convertCfnKnowledgeBaseVideoConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseVideoConfigurationPropertyValidator(properties).assertSuccess(),{SegmentationConfiguration:convertCfnKnowledgeBaseVideoSegmentationConfigurationPropertyToCloudFormation(properties.segmentationConfiguration)}):properties}function CfnKnowledgeBaseVideoConfigurationPropertyFromCloudFormation(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("segmentationConfiguration","SegmentationConfiguration",properties.SegmentationConfiguration!=null?CfnKnowledgeBaseVideoSegmentationConfigurationPropertyFromCloudFormation(properties.SegmentationConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseBedrockEmbeddingModelConfigurationPropertyValidator(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("audio",cdk().listValidator(CfnKnowledgeBaseAudioConfigurationPropertyValidator))(properties.audio)),errors.collect(cdk().propertyValidator("dimensions",cdk().validateNumber)(properties.dimensions)),errors.collect(cdk().propertyValidator("embeddingDataType",cdk().validateString)(properties.embeddingDataType)),errors.collect(cdk().propertyValidator("video",cdk().listValidator(CfnKnowledgeBaseVideoConfigurationPropertyValidator))(properties.video)),errors.wrap('supplied properties not correct for "BedrockEmbeddingModelConfigurationProperty"')}function convertCfnKnowledgeBaseBedrockEmbeddingModelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseBedrockEmbeddingModelConfigurationPropertyValidator(properties).assertSuccess(),{Audio:cdk().listMapper(convertCfnKnowledgeBaseAudioConfigurationPropertyToCloudFormation)(properties.audio),Dimensions:cdk().numberToCloudFormation(properties.dimensions),EmbeddingDataType:cdk().stringToCloudFormation(properties.embeddingDataType),Video:cdk().listMapper(convertCfnKnowledgeBaseVideoConfigurationPropertyToCloudFormation)(properties.video)}):properties}function CfnKnowledgeBaseBedrockEmbeddingModelConfigurationPropertyFromCloudFormation(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("audio","Audio",properties.Audio!=null?cfn_parse().FromCloudFormation.getArray(CfnKnowledgeBaseAudioConfigurationPropertyFromCloudFormation)(properties.Audio):void 0),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse().FromCloudFormation.getNumber(properties.Dimensions):void 0),ret.addPropertyResult("embeddingDataType","EmbeddingDataType",properties.EmbeddingDataType!=null?cfn_parse().FromCloudFormation.getString(properties.EmbeddingDataType):void 0),ret.addPropertyResult("video","Video",properties.Video!=null?cfn_parse().FromCloudFormation.getArray(CfnKnowledgeBaseVideoConfigurationPropertyFromCloudFormation)(properties.Video):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseEmbeddingModelConfigurationPropertyValidator(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("bedrockEmbeddingModelConfiguration",CfnKnowledgeBaseBedrockEmbeddingModelConfigurationPropertyValidator)(properties.bedrockEmbeddingModelConfiguration)),errors.wrap('supplied properties not correct for "EmbeddingModelConfigurationProperty"')}function convertCfnKnowledgeBaseEmbeddingModelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseEmbeddingModelConfigurationPropertyValidator(properties).assertSuccess(),{BedrockEmbeddingModelConfiguration:convertCfnKnowledgeBaseBedrockEmbeddingModelConfigurationPropertyToCloudFormation(properties.bedrockEmbeddingModelConfiguration)}):properties}function CfnKnowledgeBaseEmbeddingModelConfigurationPropertyFromCloudFormation(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("bedrockEmbeddingModelConfiguration","BedrockEmbeddingModelConfiguration",properties.BedrockEmbeddingModelConfiguration!=null?CfnKnowledgeBaseBedrockEmbeddingModelConfigurationPropertyFromCloudFormation(properties.BedrockEmbeddingModelConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseS3LocationPropertyValidator(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("uri",cdk().requiredValidator)(properties.uri)),errors.collect(cdk().propertyValidator("uri",cdk().validateString)(properties.uri)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnKnowledgeBaseS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseS3LocationPropertyValidator(properties).assertSuccess(),{URI:cdk().stringToCloudFormation(properties.uri)}):properties}function CfnKnowledgeBaseS3LocationPropertyFromCloudFormation(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("uri","URI",properties.URI!=null?cfn_parse().FromCloudFormation.getString(properties.URI):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseSupplementalDataStorageLocationPropertyValidator(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("s3Location",CfnKnowledgeBaseS3LocationPropertyValidator)(properties.s3Location)),errors.collect(cdk().propertyValidator("supplementalDataStorageLocationType",cdk().requiredValidator)(properties.supplementalDataStorageLocationType)),errors.collect(cdk().propertyValidator("supplementalDataStorageLocationType",cdk().validateString)(properties.supplementalDataStorageLocationType)),errors.wrap('supplied properties not correct for "SupplementalDataStorageLocationProperty"')}function convertCfnKnowledgeBaseSupplementalDataStorageLocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseSupplementalDataStorageLocationPropertyValidator(properties).assertSuccess(),{S3Location:convertCfnKnowledgeBaseS3LocationPropertyToCloudFormation(properties.s3Location),SupplementalDataStorageLocationType:cdk().stringToCloudFormation(properties.supplementalDataStorageLocationType)}):properties}function CfnKnowledgeBaseSupplementalDataStorageLocationPropertyFromCloudFormation(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("s3Location","S3Location",properties.S3Location!=null?CfnKnowledgeBaseS3LocationPropertyFromCloudFormation(properties.S3Location):void 0),ret.addPropertyResult("supplementalDataStorageLocationType","SupplementalDataStorageLocationType",properties.SupplementalDataStorageLocationType!=null?cfn_parse().FromCloudFormation.getString(properties.SupplementalDataStorageLocationType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseSupplementalDataStorageConfigurationPropertyValidator(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("supplementalDataStorageLocations",cdk().requiredValidator)(properties.supplementalDataStorageLocations)),errors.collect(cdk().propertyValidator("supplementalDataStorageLocations",cdk().listValidator(CfnKnowledgeBaseSupplementalDataStorageLocationPropertyValidator))(properties.supplementalDataStorageLocations)),errors.wrap('supplied properties not correct for "SupplementalDataStorageConfigurationProperty"')}function convertCfnKnowledgeBaseSupplementalDataStorageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseSupplementalDataStorageConfigurationPropertyValidator(properties).assertSuccess(),{SupplementalDataStorageLocations:cdk().listMapper(convertCfnKnowledgeBaseSupplementalDataStorageLocationPropertyToCloudFormation)(properties.supplementalDataStorageLocations)}):properties}function CfnKnowledgeBaseSupplementalDataStorageConfigurationPropertyFromCloudFormation(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("supplementalDataStorageLocations","SupplementalDataStorageLocations",properties.SupplementalDataStorageLocations!=null?cfn_parse().FromCloudFormation.getArray(CfnKnowledgeBaseSupplementalDataStorageLocationPropertyFromCloudFormation)(properties.SupplementalDataStorageLocations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseVectorKnowledgeBaseConfigurationPropertyValidator(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("embeddingModelArn",cdk().requiredValidator)(properties.embeddingModelArn)),errors.collect(cdk().propertyValidator("embeddingModelArn",cdk().validateString)(properties.embeddingModelArn)),errors.collect(cdk().propertyValidator("embeddingModelConfiguration",CfnKnowledgeBaseEmbeddingModelConfigurationPropertyValidator)(properties.embeddingModelConfiguration)),errors.collect(cdk().propertyValidator("supplementalDataStorageConfiguration",CfnKnowledgeBaseSupplementalDataStorageConfigurationPropertyValidator)(properties.supplementalDataStorageConfiguration)),errors.wrap('supplied properties not correct for "VectorKnowledgeBaseConfigurationProperty"')}function convertCfnKnowledgeBaseVectorKnowledgeBaseConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseVectorKnowledgeBaseConfigurationPropertyValidator(properties).assertSuccess(),{EmbeddingModelArn:cdk().stringToCloudFormation(properties.embeddingModelArn),EmbeddingModelConfiguration:convertCfnKnowledgeBaseEmbeddingModelConfigurationPropertyToCloudFormation(properties.embeddingModelConfiguration),SupplementalDataStorageConfiguration:convertCfnKnowledgeBaseSupplementalDataStorageConfigurationPropertyToCloudFormation(properties.supplementalDataStorageConfiguration)}):properties}function CfnKnowledgeBaseVectorKnowledgeBaseConfigurationPropertyFromCloudFormation(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("embeddingModelArn","EmbeddingModelArn",properties.EmbeddingModelArn!=null?cfn_parse().FromCloudFormation.getString(properties.EmbeddingModelArn):void 0),ret.addPropertyResult("embeddingModelConfiguration","EmbeddingModelConfiguration",properties.EmbeddingModelConfiguration!=null?CfnKnowledgeBaseEmbeddingModelConfigurationPropertyFromCloudFormation(properties.EmbeddingModelConfiguration):void 0),ret.addPropertyResult("supplementalDataStorageConfiguration","SupplementalDataStorageConfiguration",properties.SupplementalDataStorageConfiguration!=null?CfnKnowledgeBaseSupplementalDataStorageConfigurationPropertyFromCloudFormation(properties.SupplementalDataStorageConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseKendraKnowledgeBaseConfigurationPropertyValidator(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("kendraIndexArn",cdk().requiredValidator)(properties.kendraIndexArn)),errors.collect(cdk().propertyValidator("kendraIndexArn",cdk().validateString)(properties.kendraIndexArn)),errors.wrap('supplied properties not correct for "KendraKnowledgeBaseConfigurationProperty"')}function convertCfnKnowledgeBaseKendraKnowledgeBaseConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseKendraKnowledgeBaseConfigurationPropertyValidator(properties).assertSuccess(),{KendraIndexArn:cdk().stringToCloudFormation(properties.kendraIndexArn)}):properties}function CfnKnowledgeBaseKendraKnowledgeBaseConfigurationPropertyFromCloudFormation(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("kendraIndexArn","KendraIndexArn",properties.KendraIndexArn!=null?cfn_parse().FromCloudFormation.getString(properties.KendraIndexArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseRedshiftQueryEngineAwsDataCatalogStorageConfigurationPropertyValidator(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("tableNames",cdk().requiredValidator)(properties.tableNames)),errors.collect(cdk().propertyValidator("tableNames",cdk().listValidator(cdk().validateString))(properties.tableNames)),errors.wrap('supplied properties not correct for "RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty"')}function convertCfnKnowledgeBaseRedshiftQueryEngineAwsDataCatalogStorageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseRedshiftQueryEngineAwsDataCatalogStorageConfigurationPropertyValidator(properties).assertSuccess(),{TableNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.tableNames)}):properties}function CfnKnowledgeBaseRedshiftQueryEngineAwsDataCatalogStorageConfigurationPropertyFromCloudFormation(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("tableNames","TableNames",properties.TableNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.TableNames):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseRedshiftQueryEngineRedshiftStorageConfigurationPropertyValidator(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("databaseName",cdk().requiredValidator)(properties.databaseName)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.wrap('supplied properties not correct for "RedshiftQueryEngineRedshiftStorageConfigurationProperty"')}function convertCfnKnowledgeBaseRedshiftQueryEngineRedshiftStorageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseRedshiftQueryEngineRedshiftStorageConfigurationPropertyValidator(properties).assertSuccess(),{DatabaseName:cdk().stringToCloudFormation(properties.databaseName)}):properties}function CfnKnowledgeBaseRedshiftQueryEngineRedshiftStorageConfigurationPropertyFromCloudFormation(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("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseRedshiftQueryEngineStorageConfigurationPropertyValidator(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("awsDataCatalogConfiguration",CfnKnowledgeBaseRedshiftQueryEngineAwsDataCatalogStorageConfigurationPropertyValidator)(properties.awsDataCatalogConfiguration)),errors.collect(cdk().propertyValidator("redshiftConfiguration",CfnKnowledgeBaseRedshiftQueryEngineRedshiftStorageConfigurationPropertyValidator)(properties.redshiftConfiguration)),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 "RedshiftQueryEngineStorageConfigurationProperty"')}function convertCfnKnowledgeBaseRedshiftQueryEngineStorageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseRedshiftQueryEngineStorageConfigurationPropertyValidator(properties).assertSuccess(),{AwsDataCatalogConfiguration:convertCfnKnowledgeBaseRedshiftQueryEngineAwsDataCatalogStorageConfigurationPropertyToCloudFormation(properties.awsDataCatalogConfiguration),RedshiftConfiguration:convertCfnKnowledgeBaseRedshiftQueryEngineRedshiftStorageConfigurationPropertyToCloudFormation(properties.redshiftConfiguration),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnKnowledgeBaseRedshiftQueryEngineStorageConfigurationPropertyFromCloudFormation(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("awsDataCatalogConfiguration","AwsDataCatalogConfiguration",properties.AwsDataCatalogConfiguration!=null?CfnKnowledgeBaseRedshiftQueryEngineAwsDataCatalogStorageConfigurationPropertyFromCloudFormation(properties.AwsDataCatalogConfiguration):void 0),ret.addPropertyResult("redshiftConfiguration","RedshiftConfiguration",properties.RedshiftConfiguration!=null?CfnKnowledgeBaseRedshiftQueryEngineRedshiftStorageConfigurationPropertyFromCloudFormation(properties.RedshiftConfiguration):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseRedshiftServerlessAuthConfigurationPropertyValidator(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("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("usernamePasswordSecretArn",cdk().validateString)(properties.usernamePasswordSecretArn)),errors.wrap('supplied properties not correct for "RedshiftServerlessAuthConfigurationProperty"')}function convertCfnKnowledgeBaseRedshiftServerlessAuthConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseRedshiftServerlessAuthConfigurationPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type),UsernamePasswordSecretArn:cdk().stringToCloudFormation(properties.usernamePasswordSecretArn)}):properties}function CfnKnowledgeBaseRedshiftServerlessAuthConfigurationPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("usernamePasswordSecretArn","UsernamePasswordSecretArn",properties.UsernamePasswordSecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.UsernamePasswordSecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseRedshiftServerlessConfigurationPropertyValidator(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("authConfiguration",cdk().requiredValidator)(properties.authConfiguration)),errors.collect(cdk().propertyValidator("authConfiguration",CfnKnowledgeBaseRedshiftServerlessAuthConfigurationPropertyValidator)(properties.authConfiguration)),errors.collect(cdk().propertyValidator("workgroupArn",cdk().requiredValidator)(properties.workgroupArn)),errors.collect(cdk().propertyValidator("workgroupArn",cdk().validateString)(properties.workgroupArn)),errors.wrap('supplied properties not correct for "RedshiftServerlessConfigurationProperty"')}function convertCfnKnowledgeBaseRedshiftServerlessConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseRedshiftServerlessConfigurationPropertyValidator(properties).assertSuccess(),{AuthConfiguration:convertCfnKnowledgeBaseRedshiftServerlessAuthConfigurationPropertyToCloudFormation(properties.authConfiguration),WorkgroupArn:cdk().stringToCloudFormation(properties.workgroupArn)}):properties}function CfnKnowledgeBaseRedshiftServerlessConfigurationPropertyFromCloudFormation(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("authConfiguration","AuthConfiguration",properties.AuthConfiguration!=null?CfnKnowledgeBaseRedshiftServerlessAuthConfigurationPropertyFromCloudFormation(properties.AuthConfiguration):void 0),ret.addPropertyResult("workgroupArn","WorkgroupArn",properties.WorkgroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.WorkgroupArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseRedshiftProvisionedAuthConfigurationPropertyValidator(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("databaseUser",cdk().validateString)(properties.databaseUser)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("usernamePasswordSecretArn",cdk().validateString)(properties.usernamePasswordSecretArn)),errors.wrap('supplied properties not correct for "RedshiftProvisionedAuthConfigurationProperty"')}function convertCfnKnowledgeBaseRedshiftProvisionedAuthConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseRedshiftProvisionedAuthConfigurationPropertyValidator(properties).assertSuccess(),{DatabaseUser:cdk().stringToCloudFormation(properties.databaseUser),Type:cdk().stringToCloudFormation(properties.type),UsernamePasswordSecretArn:cdk().stringToCloudFormation(properties.usernamePasswordSecretArn)}):properties}function CfnKnowledgeBaseRedshiftProvisionedAuthConfigurationPropertyFromCloudFormation(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("databaseUser","DatabaseUser",properties.DatabaseUser!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseUser):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("usernamePasswordSecretArn","UsernamePasswordSecretArn",properties.UsernamePasswordSecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.UsernamePasswordSecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseRedshiftProvisionedConfigurationPropertyValidator(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("authConfiguration",cdk().requiredValidator)(properties.authConfiguration)),errors.collect(cdk().propertyValidator("authConfiguration",CfnKnowledgeBaseRedshiftProvisionedAuthConfigurationPropertyValidator)(properties.authConfiguration)),errors.collect(cdk().propertyValidator("clusterIdentifier",cdk().requiredValidator)(properties.clusterIdentifier)),errors.collect(cdk().propertyValidator("clusterIdentifier",cdk().validateString)(properties.clusterIdentifier)),errors.wrap('supplied properties not correct for "RedshiftProvisionedConfigurationProperty"')}function convertCfnKnowledgeBaseRedshiftProvisionedConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseRedshiftProvisionedConfigurationPropertyValidator(properties).assertSuccess(),{AuthConfiguration:convertCfnKnowledgeBaseRedshiftProvisionedAuthConfigurationPropertyToCloudFormation(properties.authConfiguration),ClusterIdentifier:cdk().stringToCloudFormation(properties.clusterIdentifier)}):properties}function CfnKnowledgeBaseRedshiftProvisionedConfigurationPropertyFromCloudFormation(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("authConfiguration","AuthConfiguration",properties.AuthConfiguration!=null?CfnKnowledgeBaseRedshiftProvisionedAuthConfigurationPropertyFromCloudFormation(properties.AuthConfiguration):void 0),ret.addPropertyResult("clusterIdentifier","ClusterIdentifier",properties.ClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseRedshiftQueryEngineConfigurationPropertyValidator(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("provisionedConfiguration",CfnKnowledgeBaseRedshiftProvisionedConfigurationPropertyValidator)(properties.provisionedConfiguration)),errors.collect(cdk().propertyValidator("serverlessConfiguration",CfnKnowledgeBaseRedshiftServerlessConfigurationPropertyValidator)(properties.serverlessConfiguration)),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 "RedshiftQueryEngineConfigurationProperty"')}function convertCfnKnowledgeBaseRedshiftQueryEngineConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseRedshiftQueryEngineConfigurationPropertyValidator(properties).assertSuccess(),{ProvisionedConfiguration:convertCfnKnowledgeBaseRedshiftProvisionedConfigurationPropertyToCloudFormation(properties.provisionedConfiguration),ServerlessConfiguration:convertCfnKnowledgeBaseRedshiftServerlessConfigurationPropertyToCloudFormation(properties.serverlessConfiguration),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnKnowledgeBaseRedshiftQueryEngineConfigurationPropertyFromCloudFormation(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("provisionedConfiguration","ProvisionedConfiguration",properties.ProvisionedConfiguration!=null?CfnKnowledgeBaseRedshiftProvisionedConfigurationPropertyFromCloudFormation(properties.ProvisionedConfiguration):void 0),ret.addPropertyResult("serverlessConfiguration","ServerlessConfiguration",properties.ServerlessConfiguration!=null?CfnKnowledgeBaseRedshiftServerlessConfigurationPropertyFromCloudFormation(properties.ServerlessConfiguration):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseQueryGenerationColumnPropertyValidator(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("inclusion",cdk().validateString)(properties.inclusion)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "QueryGenerationColumnProperty"')}function convertCfnKnowledgeBaseQueryGenerationColumnPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseQueryGenerationColumnPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Inclusion:cdk().stringToCloudFormation(properties.inclusion),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnKnowledgeBaseQueryGenerationColumnPropertyFromCloudFormation(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("inclusion","Inclusion",properties.Inclusion!=null?cfn_parse().FromCloudFormation.getString(properties.Inclusion):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseQueryGenerationTablePropertyValidator(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("columns",cdk().listValidator(CfnKnowledgeBaseQueryGenerationColumnPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("inclusion",cdk().validateString)(properties.inclusion)),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 "QueryGenerationTableProperty"')}function convertCfnKnowledgeBaseQueryGenerationTablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseQueryGenerationTablePropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnKnowledgeBaseQueryGenerationColumnPropertyToCloudFormation)(properties.columns),Description:cdk().stringToCloudFormation(properties.description),Inclusion:cdk().stringToCloudFormation(properties.inclusion),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnKnowledgeBaseQueryGenerationTablePropertyFromCloudFormation(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("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnKnowledgeBaseQueryGenerationColumnPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("inclusion","Inclusion",properties.Inclusion!=null?cfn_parse().FromCloudFormation.getString(properties.Inclusion):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseCuratedQueryPropertyValidator(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("naturalLanguage",cdk().requiredValidator)(properties.naturalLanguage)),errors.collect(cdk().propertyValidator("naturalLanguage",cdk().validateString)(properties.naturalLanguage)),errors.collect(cdk().propertyValidator("sql",cdk().requiredValidator)(properties.sql)),errors.collect(cdk().propertyValidator("sql",cdk().validateString)(properties.sql)),errors.wrap('supplied properties not correct for "CuratedQueryProperty"')}function convertCfnKnowledgeBaseCuratedQueryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseCuratedQueryPropertyValidator(properties).assertSuccess(),{NaturalLanguage:cdk().stringToCloudFormation(properties.naturalLanguage),Sql:cdk().stringToCloudFormation(properties.sql)}):properties}function CfnKnowledgeBaseCuratedQueryPropertyFromCloudFormation(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("naturalLanguage","NaturalLanguage",properties.NaturalLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.NaturalLanguage):void 0),ret.addPropertyResult("sql","Sql",properties.Sql!=null?cfn_parse().FromCloudFormation.getString(properties.Sql):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseQueryGenerationContextPropertyValidator(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("curatedQueries",cdk().listValidator(CfnKnowledgeBaseCuratedQueryPropertyValidator))(properties.curatedQueries)),errors.collect(cdk().propertyValidator("tables",cdk().listValidator(CfnKnowledgeBaseQueryGenerationTablePropertyValidator))(properties.tables)),errors.wrap('supplied properties not correct for "QueryGenerationContextProperty"')}function convertCfnKnowledgeBaseQueryGenerationContextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseQueryGenerationContextPropertyValidator(properties).assertSuccess(),{CuratedQueries:cdk().listMapper(convertCfnKnowledgeBaseCuratedQueryPropertyToCloudFormation)(properties.curatedQueries),Tables:cdk().listMapper(convertCfnKnowledgeBaseQueryGenerationTablePropertyToCloudFormation)(properties.tables)}):properties}function CfnKnowledgeBaseQueryGenerationContextPropertyFromCloudFormation(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("curatedQueries","CuratedQueries",properties.CuratedQueries!=null?cfn_parse().FromCloudFormation.getArray(CfnKnowledgeBaseCuratedQueryPropertyFromCloudFormation)(properties.CuratedQueries):void 0),ret.addPropertyResult("tables","Tables",properties.Tables!=null?cfn_parse().FromCloudFormation.getArray(CfnKnowledgeBaseQueryGenerationTablePropertyFromCloudFormation)(properties.Tables):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseQueryGenerationConfigurationPropertyValidator(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("executionTimeoutSeconds",cdk().validateNumber)(properties.executionTimeoutSeconds)),errors.collect(cdk().propertyValidator("generationContext",CfnKnowledgeBaseQueryGenerationContextPropertyValidator)(properties.generationContext)),errors.wrap('supplied properties not correct for "QueryGenerationConfigurationProperty"')}function convertCfnKnowledgeBaseQueryGenerationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseQueryGenerationConfigurationPropertyValidator(properties).assertSuccess(),{ExecutionTimeoutSeconds:cdk().numberToCloudFormation(properties.executionTimeoutSeconds),GenerationContext:convertCfnKnowledgeBaseQueryGenerationContextPropertyToCloudFormation(properties.generationContext)}):properties}function CfnKnowledgeBaseQueryGenerationConfigurationPropertyFromCloudFormation(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("executionTimeoutSeconds","ExecutionTimeoutSeconds",properties.ExecutionTimeoutSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.ExecutionTimeoutSeconds):void 0),ret.addPropertyResult("generationContext","GenerationContext",properties.GenerationContext!=null?CfnKnowledgeBaseQueryGenerationContextPropertyFromCloudFormation(properties.GenerationContext):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseRedshiftConfigurationPropertyValidator(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("queryEngineConfiguration",cdk().requiredValidator)(properties.queryEngineConfiguration)),errors.collect(cdk().propertyValidator("queryEngineConfiguration",CfnKnowledgeBaseRedshiftQueryEngineConfigurationPropertyValidator)(properties.queryEngineConfiguration)),errors.collect(cdk().propertyValidator("queryGenerationConfiguration",CfnKnowledgeBaseQueryGenerationConfigurationPropertyValidator)(properties.queryGenerationConfiguration)),errors.collect(cdk().propertyValidator("storageConfigurations",cdk().requiredValidator)(properties.storageConfigurations)),errors.collect(cdk().propertyValidator("storageConfigurations",cdk().listValidator(CfnKnowledgeBaseRedshiftQueryEngineStorageConfigurationPropertyValidator))(properties.storageConfigurations)),errors.wrap('supplied properties not correct for "RedshiftConfigurationProperty"')}function convertCfnKnowledgeBaseRedshiftConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseRedshiftConfigurationPropertyValidator(properties).assertSuccess(),{QueryEngineConfiguration:convertCfnKnowledgeBaseRedshiftQueryEngineConfigurationPropertyToCloudFormation(properties.queryEngineConfiguration),QueryGenerationConfiguration:convertCfnKnowledgeBaseQueryGenerationConfigurationPropertyToCloudFormation(properties.queryGenerationConfiguration),StorageConfigurations:cdk().listMapper(convertCfnKnowledgeBaseRedshiftQueryEngineStorageConfigurationPropertyToCloudFormation)(properties.storageConfigurations)}):properties}function CfnKnowledgeBaseRedshiftConfigurationPropertyFromCloudFormation(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("queryEngineConfiguration","QueryEngineConfiguration",properties.QueryEngineConfiguration!=null?CfnKnowledgeBaseRedshiftQueryEngineConfigurationPropertyFromCloudFormation(properties.QueryEngineConfiguration):void 0),ret.addPropertyResult("queryGenerationConfiguration","QueryGenerationConfiguration",properties.QueryGenerationConfiguration!=null?CfnKnowledgeBaseQueryGenerationConfigurationPropertyFromCloudFormation(properties.QueryGenerationConfiguration):void 0),ret.addPropertyResult("storageConfigurations","StorageConfigurations",properties.StorageConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnKnowledgeBaseRedshiftQueryEngineStorageConfigurationPropertyFromCloudFormation)(properties.StorageConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseSqlKnowledgeBaseConfigurationPropertyValidator(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("redshiftConfiguration",CfnKnowledgeBaseRedshiftConfigurationPropertyValidator)(properties.redshiftConfiguration)),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 "SqlKnowledgeBaseConfigurationProperty"')}function convertCfnKnowledgeBaseSqlKnowledgeBaseConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseSqlKnowledgeBaseConfigurationPropertyValidator(properties).assertSuccess(),{RedshiftConfiguration:convertCfnKnowledgeBaseRedshiftConfigurationPropertyToCloudFormation(properties.redshiftConfiguration),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnKnowledgeBaseSqlKnowledgeBaseConfigurationPropertyFromCloudFormation(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("redshiftConfiguration","RedshiftConfiguration",properties.RedshiftConfiguration!=null?CfnKnowledgeBaseRedshiftConfigurationPropertyFromCloudFormation(properties.RedshiftConfiguration):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseKnowledgeBaseConfigurationPropertyValidator(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("kendraKnowledgeBaseConfiguration",CfnKnowledgeBaseKendraKnowledgeBaseConfigurationPropertyValidator)(properties.kendraKnowledgeBaseConfiguration)),errors.collect(cdk().propertyValidator("sqlKnowledgeBaseConfiguration",CfnKnowledgeBaseSqlKnowledgeBaseConfigurationPropertyValidator)(properties.sqlKnowledgeBaseConfiguration)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("vectorKnowledgeBaseConfiguration",CfnKnowledgeBaseVectorKnowledgeBaseConfigurationPropertyValidator)(properties.vectorKnowledgeBaseConfiguration)),errors.wrap('supplied properties not correct for "KnowledgeBaseConfigurationProperty"')}function convertCfnKnowledgeBaseKnowledgeBaseConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseKnowledgeBaseConfigurationPropertyValidator(properties).assertSuccess(),{KendraKnowledgeBaseConfiguration:convertCfnKnowledgeBaseKendraKnowledgeBaseConfigurationPropertyToCloudFormation(properties.kendraKnowledgeBaseConfiguration),SqlKnowledgeBaseConfiguration:convertCfnKnowledgeBaseSqlKnowledgeBaseConfigurationPropertyToCloudFormation(properties.sqlKnowledgeBaseConfiguration),Type:cdk().stringToCloudFormation(properties.type),VectorKnowledgeBaseConfiguration:convertCfnKnowledgeBaseVectorKnowledgeBaseConfigurationPropertyToCloudFormation(properties.vectorKnowledgeBaseConfiguration)}):properties}function CfnKnowledgeBaseKnowledgeBaseConfigurationPropertyFromCloudFormation(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("kendraKnowledgeBaseConfiguration","KendraKnowledgeBaseConfiguration",properties.KendraKnowledgeBaseConfiguration!=null?CfnKnowledgeBaseKendraKnowledgeBaseConfigurationPropertyFromCloudFormation(properties.KendraKnowledgeBaseConfiguration):void 0),ret.addPropertyResult("sqlKnowledgeBaseConfiguration","SqlKnowledgeBaseConfiguration",properties.SqlKnowledgeBaseConfiguration!=null?CfnKnowledgeBaseSqlKnowledgeBaseConfigurationPropertyFromCloudFormation(properties.SqlKnowledgeBaseConfiguration):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("vectorKnowledgeBaseConfiguration","VectorKnowledgeBaseConfiguration",properties.VectorKnowledgeBaseConfiguration!=null?CfnKnowledgeBaseVectorKnowledgeBaseConfigurationPropertyFromCloudFormation(properties.VectorKnowledgeBaseConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseOpenSearchServerlessFieldMappingPropertyValidator(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("metadataField",cdk().requiredValidator)(properties.metadataField)),errors.collect(cdk().propertyValidator("metadataField",cdk().validateString)(properties.metadataField)),errors.collect(cdk().propertyValidator("textField",cdk().requiredValidator)(properties.textField)),errors.collect(cdk().propertyValidator("textField",cdk().validateString)(properties.textField)),errors.collect(cdk().propertyValidator("vectorField",cdk().requiredValidator)(properties.vectorField)),errors.collect(cdk().propertyValidator("vectorField",cdk().validateString)(properties.vectorField)),errors.wrap('supplied properties not correct for "OpenSearchServerlessFieldMappingProperty"')}function convertCfnKnowledgeBaseOpenSearchServerlessFieldMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseOpenSearchServerlessFieldMappingPropertyValidator(properties).assertSuccess(),{MetadataField:cdk().stringToCloudFormation(properties.metadataField),TextField:cdk().stringToCloudFormation(properties.textField),VectorField:cdk().stringToCloudFormation(properties.vectorField)}):properties}function CfnKnowledgeBaseOpenSearchServerlessFieldMappingPropertyFromCloudFormation(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("metadataField","MetadataField",properties.MetadataField!=null?cfn_parse().FromCloudFormation.getString(properties.MetadataField):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?cfn_parse().FromCloudFormation.getString(properties.TextField):void 0),ret.addPropertyResult("vectorField","VectorField",properties.VectorField!=null?cfn_parse().FromCloudFormation.getString(properties.VectorField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseOpenSearchServerlessConfigurationPropertyValidator(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("collectionArn",cdk().requiredValidator)(properties.collectionArn)),errors.collect(cdk().propertyValidator("collectionArn",cdk().validateString)(properties.collectionArn)),errors.collect(cdk().propertyValidator("fieldMapping",cdk().requiredValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("fieldMapping",CfnKnowledgeBaseOpenSearchServerlessFieldMappingPropertyValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("vectorIndexName",cdk().requiredValidator)(properties.vectorIndexName)),errors.collect(cdk().propertyValidator("vectorIndexName",cdk().validateString)(properties.vectorIndexName)),errors.wrap('supplied properties not correct for "OpenSearchServerlessConfigurationProperty"')}function convertCfnKnowledgeBaseOpenSearchServerlessConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseOpenSearchServerlessConfigurationPropertyValidator(properties).assertSuccess(),{CollectionArn:cdk().stringToCloudFormation(properties.collectionArn),FieldMapping:convertCfnKnowledgeBaseOpenSearchServerlessFieldMappingPropertyToCloudFormation(properties.fieldMapping),VectorIndexName:cdk().stringToCloudFormation(properties.vectorIndexName)}):properties}function CfnKnowledgeBaseOpenSearchServerlessConfigurationPropertyFromCloudFormation(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("collectionArn","CollectionArn",properties.CollectionArn!=null?cfn_parse().FromCloudFormation.getString(properties.CollectionArn):void 0),ret.addPropertyResult("fieldMapping","FieldMapping",properties.FieldMapping!=null?CfnKnowledgeBaseOpenSearchServerlessFieldMappingPropertyFromCloudFormation(properties.FieldMapping):void 0),ret.addPropertyResult("vectorIndexName","VectorIndexName",properties.VectorIndexName!=null?cfn_parse().FromCloudFormation.getString(properties.VectorIndexName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBasePineconeFieldMappingPropertyValidator(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("metadataField",cdk().requiredValidator)(properties.metadataField)),errors.collect(cdk().propertyValidator("metadataField",cdk().validateString)(properties.metadataField)),errors.collect(cdk().propertyValidator("textField",cdk().requiredValidator)(properties.textField)),errors.collect(cdk().propertyValidator("textField",cdk().validateString)(properties.textField)),errors.wrap('supplied properties not correct for "PineconeFieldMappingProperty"')}function convertCfnKnowledgeBasePineconeFieldMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBasePineconeFieldMappingPropertyValidator(properties).assertSuccess(),{MetadataField:cdk().stringToCloudFormation(properties.metadataField),TextField:cdk().stringToCloudFormation(properties.textField)}):properties}function CfnKnowledgeBasePineconeFieldMappingPropertyFromCloudFormation(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("metadataField","MetadataField",properties.MetadataField!=null?cfn_parse().FromCloudFormation.getString(properties.MetadataField):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?cfn_parse().FromCloudFormation.getString(properties.TextField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBasePineconeConfigurationPropertyValidator(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("connectionString",cdk().requiredValidator)(properties.connectionString)),errors.collect(cdk().propertyValidator("connectionString",cdk().validateString)(properties.connectionString)),errors.collect(cdk().propertyValidator("credentialsSecretArn",cdk().requiredValidator)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("credentialsSecretArn",cdk().validateString)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("fieldMapping",cdk().requiredValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("fieldMapping",CfnKnowledgeBasePineconeFieldMappingPropertyValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("namespace",cdk().validateString)(properties.namespace)),errors.wrap('supplied properties not correct for "PineconeConfigurationProperty"')}function convertCfnKnowledgeBasePineconeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBasePineconeConfigurationPropertyValidator(properties).assertSuccess(),{ConnectionString:cdk().stringToCloudFormation(properties.connectionString),CredentialsSecretArn:cdk().stringToCloudFormation(properties.credentialsSecretArn),FieldMapping:convertCfnKnowledgeBasePineconeFieldMappingPropertyToCloudFormation(properties.fieldMapping),Namespace:cdk().stringToCloudFormation(properties.namespace)}):properties}function CfnKnowledgeBasePineconeConfigurationPropertyFromCloudFormation(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("connectionString","ConnectionString",properties.ConnectionString!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionString):void 0),ret.addPropertyResult("credentialsSecretArn","CredentialsSecretArn",properties.CredentialsSecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.CredentialsSecretArn):void 0),ret.addPropertyResult("fieldMapping","FieldMapping",properties.FieldMapping!=null?CfnKnowledgeBasePineconeFieldMappingPropertyFromCloudFormation(properties.FieldMapping):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse().FromCloudFormation.getString(properties.Namespace):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseRdsFieldMappingPropertyValidator(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("customMetadataField",cdk().validateString)(properties.customMetadataField)),errors.collect(cdk().propertyValidator("metadataField",cdk().requiredValidator)(properties.metadataField)),errors.collect(cdk().propertyValidator("metadataField",cdk().validateString)(properties.metadataField)),errors.collect(cdk().propertyValidator("primaryKeyField",cdk().requiredValidator)(properties.primaryKeyField)),errors.collect(cdk().propertyValidator("primaryKeyField",cdk().validateString)(properties.primaryKeyField)),errors.collect(cdk().propertyValidator("textField",cdk().requiredValidator)(properties.textField)),errors.collect(cdk().propertyValidator("textField",cdk().validateString)(properties.textField)),errors.collect(cdk().propertyValidator("vectorField",cdk().requiredValidator)(properties.vectorField)),errors.collect(cdk().propertyValidator("vectorField",cdk().validateString)(properties.vectorField)),errors.wrap('supplied properties not correct for "RdsFieldMappingProperty"')}function convertCfnKnowledgeBaseRdsFieldMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseRdsFieldMappingPropertyValidator(properties).assertSuccess(),{CustomMetadataField:cdk().stringToCloudFormation(properties.customMetadataField),MetadataField:cdk().stringToCloudFormation(properties.metadataField),PrimaryKeyField:cdk().stringToCloudFormation(properties.primaryKeyField),TextField:cdk().stringToCloudFormation(properties.textField),VectorField:cdk().stringToCloudFormation(properties.vectorField)}):properties}function CfnKnowledgeBaseRdsFieldMappingPropertyFromCloudFormation(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("customMetadataField","CustomMetadataField",properties.CustomMetadataField!=null?cfn_parse().FromCloudFormation.getString(properties.CustomMetadataField):void 0),ret.addPropertyResult("metadataField","MetadataField",properties.MetadataField!=null?cfn_parse().FromCloudFormation.getString(properties.MetadataField):void 0),ret.addPropertyResult("primaryKeyField","PrimaryKeyField",properties.PrimaryKeyField!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryKeyField):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?cfn_parse().FromCloudFormation.getString(properties.TextField):void 0),ret.addPropertyResult("vectorField","VectorField",properties.VectorField!=null?cfn_parse().FromCloudFormation.getString(properties.VectorField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseRdsConfigurationPropertyValidator(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("credentialsSecretArn",cdk().requiredValidator)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("credentialsSecretArn",cdk().validateString)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("databaseName",cdk().requiredValidator)(properties.databaseName)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("fieldMapping",cdk().requiredValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("fieldMapping",CfnKnowledgeBaseRdsFieldMappingPropertyValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("resourceArn",cdk().requiredValidator)(properties.resourceArn)),errors.collect(cdk().propertyValidator("resourceArn",cdk().validateString)(properties.resourceArn)),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 "RdsConfigurationProperty"')}function convertCfnKnowledgeBaseRdsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseRdsConfigurationPropertyValidator(properties).assertSuccess(),{CredentialsSecretArn:cdk().stringToCloudFormation(properties.credentialsSecretArn),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),FieldMapping:convertCfnKnowledgeBaseRdsFieldMappingPropertyToCloudFormation(properties.fieldMapping),ResourceArn:cdk().stringToCloudFormation(properties.resourceArn),TableName:cdk().stringToCloudFormation(properties.tableName)}):properties}function CfnKnowledgeBaseRdsConfigurationPropertyFromCloudFormation(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("credentialsSecretArn","CredentialsSecretArn",properties.CredentialsSecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.CredentialsSecretArn):void 0),ret.addPropertyResult("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("fieldMapping","FieldMapping",properties.FieldMapping!=null?CfnKnowledgeBaseRdsFieldMappingPropertyFromCloudFormation(properties.FieldMapping):void 0),ret.addPropertyResult("resourceArn","ResourceArn",properties.ResourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceArn):void 0),ret.addPropertyResult("tableName","TableName",properties.TableName!=null?cfn_parse().FromCloudFormation.getString(properties.TableName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseMongoDbAtlasFieldMappingPropertyValidator(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("metadataField",cdk().requiredValidator)(properties.metadataField)),errors.collect(cdk().propertyValidator("metadataField",cdk().validateString)(properties.metadataField)),errors.collect(cdk().propertyValidator("textField",cdk().requiredValidator)(properties.textField)),errors.collect(cdk().propertyValidator("textField",cdk().validateString)(properties.textField)),errors.collect(cdk().propertyValidator("vectorField",cdk().requiredValidator)(properties.vectorField)),errors.collect(cdk().propertyValidator("vectorField",cdk().validateString)(properties.vectorField)),errors.wrap('supplied properties not correct for "MongoDbAtlasFieldMappingProperty"')}function convertCfnKnowledgeBaseMongoDbAtlasFieldMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseMongoDbAtlasFieldMappingPropertyValidator(properties).assertSuccess(),{MetadataField:cdk().stringToCloudFormation(properties.metadataField),TextField:cdk().stringToCloudFormation(properties.textField),VectorField:cdk().stringToCloudFormation(properties.vectorField)}):properties}function CfnKnowledgeBaseMongoDbAtlasFieldMappingPropertyFromCloudFormation(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("metadataField","MetadataField",properties.MetadataField!=null?cfn_parse().FromCloudFormation.getString(properties.MetadataField):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?cfn_parse().FromCloudFormation.getString(properties.TextField):void 0),ret.addPropertyResult("vectorField","VectorField",properties.VectorField!=null?cfn_parse().FromCloudFormation.getString(properties.VectorField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseMongoDbAtlasConfigurationPropertyValidator(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("collectionName",cdk().requiredValidator)(properties.collectionName)),errors.collect(cdk().propertyValidator("collectionName",cdk().validateString)(properties.collectionName)),errors.collect(cdk().propertyValidator("credentialsSecretArn",cdk().requiredValidator)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("credentialsSecretArn",cdk().validateString)(properties.credentialsSecretArn)),errors.collect(cdk().propertyValidator("databaseName",cdk().requiredValidator)(properties.databaseName)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("endpoint",cdk().requiredValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpointServiceName",cdk().validateString)(properties.endpointServiceName)),errors.collect(cdk().propertyValidator("fieldMapping",cdk().requiredValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("fieldMapping",CfnKnowledgeBaseMongoDbAtlasFieldMappingPropertyValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("textIndexName",cdk().validateString)(properties.textIndexName)),errors.collect(cdk().propertyValidator("vectorIndexName",cdk().requiredValidator)(properties.vectorIndexName)),errors.collect(cdk().propertyValidator("vectorIndexName",cdk().validateString)(properties.vectorIndexName)),errors.wrap('supplied properties not correct for "MongoDbAtlasConfigurationProperty"')}function convertCfnKnowledgeBaseMongoDbAtlasConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseMongoDbAtlasConfigurationPropertyValidator(properties).assertSuccess(),{CollectionName:cdk().stringToCloudFormation(properties.collectionName),CredentialsSecretArn:cdk().stringToCloudFormation(properties.credentialsSecretArn),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),Endpoint:cdk().stringToCloudFormation(properties.endpoint),EndpointServiceName:cdk().stringToCloudFormation(properties.endpointServiceName),FieldMapping:convertCfnKnowledgeBaseMongoDbAtlasFieldMappingPropertyToCloudFormation(properties.fieldMapping),TextIndexName:cdk().stringToCloudFormation(properties.textIndexName),VectorIndexName:cdk().stringToCloudFormation(properties.vectorIndexName)}):properties}function CfnKnowledgeBaseMongoDbAtlasConfigurationPropertyFromCloudFormation(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("collectionName","CollectionName",properties.CollectionName!=null?cfn_parse().FromCloudFormation.getString(properties.CollectionName):void 0),ret.addPropertyResult("credentialsSecretArn","CredentialsSecretArn",properties.CredentialsSecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.CredentialsSecretArn):void 0),ret.addPropertyResult("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addPropertyResult("endpointServiceName","EndpointServiceName",properties.EndpointServiceName!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointServiceName):void 0),ret.addPropertyResult("fieldMapping","FieldMapping",properties.FieldMapping!=null?CfnKnowledgeBaseMongoDbAtlasFieldMappingPropertyFromCloudFormation(properties.FieldMapping):void 0),ret.addPropertyResult("textIndexName","TextIndexName",properties.TextIndexName!=null?cfn_parse().FromCloudFormation.getString(properties.TextIndexName):void 0),ret.addPropertyResult("vectorIndexName","VectorIndexName",properties.VectorIndexName!=null?cfn_parse().FromCloudFormation.getString(properties.VectorIndexName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseNeptuneAnalyticsFieldMappingPropertyValidator(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("metadataField",cdk().requiredValidator)(properties.metadataField)),errors.collect(cdk().propertyValidator("metadataField",cdk().validateString)(properties.metadataField)),errors.collect(cdk().propertyValidator("textField",cdk().requiredValidator)(properties.textField)),errors.collect(cdk().propertyValidator("textField",cdk().validateString)(properties.textField)),errors.wrap('supplied properties not correct for "NeptuneAnalyticsFieldMappingProperty"')}function convertCfnKnowledgeBaseNeptuneAnalyticsFieldMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseNeptuneAnalyticsFieldMappingPropertyValidator(properties).assertSuccess(),{MetadataField:cdk().stringToCloudFormation(properties.metadataField),TextField:cdk().stringToCloudFormation(properties.textField)}):properties}function CfnKnowledgeBaseNeptuneAnalyticsFieldMappingPropertyFromCloudFormation(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("metadataField","MetadataField",properties.MetadataField!=null?cfn_parse().FromCloudFormation.getString(properties.MetadataField):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?cfn_parse().FromCloudFormation.getString(properties.TextField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseNeptuneAnalyticsConfigurationPropertyValidator(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("fieldMapping",cdk().requiredValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("fieldMapping",CfnKnowledgeBaseNeptuneAnalyticsFieldMappingPropertyValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("graphArn",cdk().requiredValidator)(properties.graphArn)),errors.collect(cdk().propertyValidator("graphArn",cdk().validateString)(properties.graphArn)),errors.wrap('supplied properties not correct for "NeptuneAnalyticsConfigurationProperty"')}function convertCfnKnowledgeBaseNeptuneAnalyticsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseNeptuneAnalyticsConfigurationPropertyValidator(properties).assertSuccess(),{FieldMapping:convertCfnKnowledgeBaseNeptuneAnalyticsFieldMappingPropertyToCloudFormation(properties.fieldMapping),GraphArn:cdk().stringToCloudFormation(properties.graphArn)}):properties}function CfnKnowledgeBaseNeptuneAnalyticsConfigurationPropertyFromCloudFormation(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("fieldMapping","FieldMapping",properties.FieldMapping!=null?CfnKnowledgeBaseNeptuneAnalyticsFieldMappingPropertyFromCloudFormation(properties.FieldMapping):void 0),ret.addPropertyResult("graphArn","GraphArn",properties.GraphArn!=null?cfn_parse().FromCloudFormation.getString(properties.GraphArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseS3VectorsConfigurationPropertyValidator(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("indexArn",cdk().validateString)(properties.indexArn)),errors.collect(cdk().propertyValidator("indexName",cdk().validateString)(properties.indexName)),errors.collect(cdk().propertyValidator("vectorBucketArn",cdk().validateString)(properties.vectorBucketArn)),errors.wrap('supplied properties not correct for "S3VectorsConfigurationProperty"')}function convertCfnKnowledgeBaseS3VectorsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseS3VectorsConfigurationPropertyValidator(properties).assertSuccess(),{IndexArn:cdk().stringToCloudFormation(properties.indexArn),IndexName:cdk().stringToCloudFormation(properties.indexName),VectorBucketArn:cdk().stringToCloudFormation(properties.vectorBucketArn)}):properties}function CfnKnowledgeBaseS3VectorsConfigurationPropertyFromCloudFormation(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("indexArn","IndexArn",properties.IndexArn!=null?cfn_parse().FromCloudFormation.getString(properties.IndexArn):void 0),ret.addPropertyResult("indexName","IndexName",properties.IndexName!=null?cfn_parse().FromCloudFormation.getString(properties.IndexName):void 0),ret.addPropertyResult("vectorBucketArn","VectorBucketArn",properties.VectorBucketArn!=null?cfn_parse().FromCloudFormation.getString(properties.VectorBucketArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseOpenSearchManagedClusterFieldMappingPropertyValidator(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("metadataField",cdk().requiredValidator)(properties.metadataField)),errors.collect(cdk().propertyValidator("metadataField",cdk().validateString)(properties.metadataField)),errors.collect(cdk().propertyValidator("textField",cdk().requiredValidator)(properties.textField)),errors.collect(cdk().propertyValidator("textField",cdk().validateString)(properties.textField)),errors.collect(cdk().propertyValidator("vectorField",cdk().requiredValidator)(properties.vectorField)),errors.collect(cdk().propertyValidator("vectorField",cdk().validateString)(properties.vectorField)),errors.wrap('supplied properties not correct for "OpenSearchManagedClusterFieldMappingProperty"')}function convertCfnKnowledgeBaseOpenSearchManagedClusterFieldMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseOpenSearchManagedClusterFieldMappingPropertyValidator(properties).assertSuccess(),{MetadataField:cdk().stringToCloudFormation(properties.metadataField),TextField:cdk().stringToCloudFormation(properties.textField),VectorField:cdk().stringToCloudFormation(properties.vectorField)}):properties}function CfnKnowledgeBaseOpenSearchManagedClusterFieldMappingPropertyFromCloudFormation(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("metadataField","MetadataField",properties.MetadataField!=null?cfn_parse().FromCloudFormation.getString(properties.MetadataField):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?cfn_parse().FromCloudFormation.getString(properties.TextField):void 0),ret.addPropertyResult("vectorField","VectorField",properties.VectorField!=null?cfn_parse().FromCloudFormation.getString(properties.VectorField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseOpenSearchManagedClusterConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("domainArn",cdk().requiredValidator)(properties.domainArn)),errors.collect(cdk().propertyValidator("domainArn",cdk().validateString)(properties.domainArn)),errors.collect(cdk().propertyValidator("domainEndpoint",cdk().requiredValidator)(properties.domainEndpoint)),errors.collect(cdk().propertyValidator("domainEndpoint",cdk().validateString)(properties.domainEndpoint)),errors.collect(cdk().propertyValidator("fieldMapping",cdk().requiredValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("fieldMapping",CfnKnowledgeBaseOpenSearchManagedClusterFieldMappingPropertyValidator)(properties.fieldMapping)),errors.collect(cdk().propertyValidator("vectorIndexName",cdk().requiredValidator)(properties.vectorIndexName)),errors.collect(cdk().propertyValidator("vectorIndexName",cdk().validateString)(properties.vectorIndexName)),errors.wrap('supplied properties not correct for "OpenSearchManagedClusterConfigurationProperty"')}function convertCfnKnowledgeBaseOpenSearchManagedClusterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseOpenSearchManagedClusterConfigurationPropertyValidator(properties).assertSuccess(),{DomainArn:cdk().stringToCloudFormation(properties.domainArn),DomainEndpoint:cdk().stringToCloudFormation(properties.domainEndpoint),FieldMapping:convertCfnKnowledgeBaseOpenSearchManagedClusterFieldMappingPropertyToCloudFormation(properties.fieldMapping),VectorIndexName:cdk().stringToCloudFormation(properties.vectorIndexName)}):properties}function CfnKnowledgeBaseOpenSearchManagedClusterConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("domainArn","DomainArn",properties.DomainArn!=null?cfn_parse().FromCloudFormation.getString(properties.DomainArn):void 0),ret.addPropertyResult("domainEndpoint","DomainEndpoint",properties.DomainEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.DomainEndpoint):void 0),ret.addPropertyResult("fieldMapping","FieldMapping",properties.FieldMapping!=null?CfnKnowledgeBaseOpenSearchManagedClusterFieldMappingPropertyFromCloudFormation(properties.FieldMapping):void 0),ret.addPropertyResult("vectorIndexName","VectorIndexName",properties.VectorIndexName!=null?cfn_parse().FromCloudFormation.getString(properties.VectorIndexName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBaseStorageConfigurationPropertyValidator(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("mongoDbAtlasConfiguration",CfnKnowledgeBaseMongoDbAtlasConfigurationPropertyValidator)(properties.mongoDbAtlasConfiguration)),errors.collect(cdk().propertyValidator("neptuneAnalyticsConfiguration",CfnKnowledgeBaseNeptuneAnalyticsConfigurationPropertyValidator)(properties.neptuneAnalyticsConfiguration)),errors.collect(cdk().propertyValidator("opensearchManagedClusterConfiguration",CfnKnowledgeBaseOpenSearchManagedClusterConfigurationPropertyValidator)(properties.opensearchManagedClusterConfiguration)),errors.collect(cdk().propertyValidator("opensearchServerlessConfiguration",CfnKnowledgeBaseOpenSearchServerlessConfigurationPropertyValidator)(properties.opensearchServerlessConfiguration)),errors.collect(cdk().propertyValidator("pineconeConfiguration",CfnKnowledgeBasePineconeConfigurationPropertyValidator)(properties.pineconeConfiguration)),errors.collect(cdk().propertyValidator("rdsConfiguration",CfnKnowledgeBaseRdsConfigurationPropertyValidator)(properties.rdsConfiguration)),errors.collect(cdk().propertyValidator("s3VectorsConfiguration",CfnKnowledgeBaseS3VectorsConfigurationPropertyValidator)(properties.s3VectorsConfiguration)),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 "StorageConfigurationProperty"')}function convertCfnKnowledgeBaseStorageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBaseStorageConfigurationPropertyValidator(properties).assertSuccess(),{MongoDbAtlasConfiguration:convertCfnKnowledgeBaseMongoDbAtlasConfigurationPropertyToCloudFormation(properties.mongoDbAtlasConfiguration),NeptuneAnalyticsConfiguration:convertCfnKnowledgeBaseNeptuneAnalyticsConfigurationPropertyToCloudFormation(properties.neptuneAnalyticsConfiguration),OpensearchManagedClusterConfiguration:convertCfnKnowledgeBaseOpenSearchManagedClusterConfigurationPropertyToCloudFormation(properties.opensearchManagedClusterConfiguration),OpensearchServerlessConfiguration:convertCfnKnowledgeBaseOpenSearchServerlessConfigurationPropertyToCloudFormation(properties.opensearchServerlessConfiguration),PineconeConfiguration:convertCfnKnowledgeBasePineconeConfigurationPropertyToCloudFormation(properties.pineconeConfiguration),RdsConfiguration:convertCfnKnowledgeBaseRdsConfigurationPropertyToCloudFormation(properties.rdsConfiguration),S3VectorsConfiguration:convertCfnKnowledgeBaseS3VectorsConfigurationPropertyToCloudFormation(properties.s3VectorsConfiguration),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnKnowledgeBaseStorageConfigurationPropertyFromCloudFormation(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("mongoDbAtlasConfiguration","MongoDbAtlasConfiguration",properties.MongoDbAtlasConfiguration!=null?CfnKnowledgeBaseMongoDbAtlasConfigurationPropertyFromCloudFormation(properties.MongoDbAtlasConfiguration):void 0),ret.addPropertyResult("neptuneAnalyticsConfiguration","NeptuneAnalyticsConfiguration",properties.NeptuneAnalyticsConfiguration!=null?CfnKnowledgeBaseNeptuneAnalyticsConfigurationPropertyFromCloudFormation(properties.NeptuneAnalyticsConfiguration):void 0),ret.addPropertyResult("opensearchManagedClusterConfiguration","OpensearchManagedClusterConfiguration",properties.OpensearchManagedClusterConfiguration!=null?CfnKnowledgeBaseOpenSearchManagedClusterConfigurationPropertyFromCloudFormation(properties.OpensearchManagedClusterConfiguration):void 0),ret.addPropertyResult("opensearchServerlessConfiguration","OpensearchServerlessConfiguration",properties.OpensearchServerlessConfiguration!=null?CfnKnowledgeBaseOpenSearchServerlessConfigurationPropertyFromCloudFormation(properties.OpensearchServerlessConfiguration):void 0),ret.addPropertyResult("pineconeConfiguration","PineconeConfiguration",properties.PineconeConfiguration!=null?CfnKnowledgeBasePineconeConfigurationPropertyFromCloudFormation(properties.PineconeConfiguration):void 0),ret.addPropertyResult("rdsConfiguration","RdsConfiguration",properties.RdsConfiguration!=null?CfnKnowledgeBaseRdsConfigurationPropertyFromCloudFormation(properties.RdsConfiguration):void 0),ret.addPropertyResult("s3VectorsConfiguration","S3VectorsConfiguration",properties.S3VectorsConfiguration!=null?CfnKnowledgeBaseS3VectorsConfigurationPropertyFromCloudFormation(properties.S3VectorsConfiguration):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnKnowledgeBasePropsValidator(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("knowledgeBaseConfiguration",cdk().requiredValidator)(properties.knowledgeBaseConfiguration)),errors.collect(cdk().propertyValidator("knowledgeBaseConfiguration",CfnKnowledgeBaseKnowledgeBaseConfigurationPropertyValidator)(properties.knowledgeBaseConfiguration)),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("storageConfiguration",CfnKnowledgeBaseStorageConfigurationPropertyValidator)(properties.storageConfiguration)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnKnowledgeBaseProps"')}function convertCfnKnowledgeBasePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnKnowledgeBasePropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),KnowledgeBaseConfiguration:convertCfnKnowledgeBaseKnowledgeBaseConfigurationPropertyToCloudFormation(properties.knowledgeBaseConfiguration),Name:cdk().stringToCloudFormation(properties.name),RoleArn:cdk().stringToCloudFormation(properties.roleArn),StorageConfiguration:convertCfnKnowledgeBaseStorageConfigurationPropertyToCloudFormation(properties.storageConfiguration),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnKnowledgeBasePropsFromCloudFormation(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("knowledgeBaseConfiguration","KnowledgeBaseConfiguration",properties.KnowledgeBaseConfiguration!=null?CfnKnowledgeBaseKnowledgeBaseConfigurationPropertyFromCloudFormation(properties.KnowledgeBaseConfiguration):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("storageConfiguration","StorageConfiguration",properties.StorageConfiguration!=null?CfnKnowledgeBaseStorageConfigurationPropertyFromCloudFormation(properties.StorageConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPrompt extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnPrompt",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::Prompt";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPromptPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPrompt(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 isCfnPrompt(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPrompt.CFN_RESOURCE_TYPE_NAME}static arnForPrompt(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_bedrock_IPromptRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPrompt),error}return resource.promptRef.promptArn}cdkTagManager;_customerEncryptionKeyArn;_defaultVariant;_description;_name;_tags;_variants;cfnPropertyNames={tags:"Tags",customerEncryptionKeyArn:"CustomerEncryptionKeyArn",defaultVariant:"DefaultVariant",description:"Description",name:"Name",variants:"Variants"};constructor(scope,id,props){super(scope,id,{type:CfnPrompt.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnPromptProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPrompt),error}cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Bedrock::Prompt",void 0,{tagPropertyName:"tags"}),this._customerEncryptionKeyArn=props.customerEncryptionKeyArn,this._defaultVariant=props.defaultVariant,this._description=props.description,this._name=props.name,this._tags=props.tags,this._variants=props.variants}get promptRef(){return{promptArn:this.ref}}get customerEncryptionKeyArn(){return this._customerEncryptionKeyArn}set customerEncryptionKeyArn(value){cdk().traceProperty(this.node,"CustomerEncryptionKeyArn"),this._customerEncryptionKeyArn=value}get defaultVariant(){return this._defaultVariant}set defaultVariant(value){cdk().traceProperty(this.node,"DefaultVariant"),this._defaultVariant=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get variants(){return this._variants}set variants(value){cdk().traceProperty(this.node,"Variants"),this._variants=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return cdk().Token.asString(this.getAtt("Version",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),customerEncryptionKeyArn:this._customerEncryptionKeyArn,defaultVariant:this._defaultVariant,description:this._description,name:this._name,variants:this._variants}}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",CfnPrompt.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPromptPropsToCloudFormation(props)}}exports.CfnPrompt=CfnPrompt;function CfnPromptTextS3LocationPropertyValidator(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.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "TextS3LocationProperty"')}function convertCfnPromptTextS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptTextS3LocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnPromptTextS3LocationPropertyFromCloudFormation(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.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptPromptInputVariablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "PromptInputVariableProperty"')}function convertCfnPromptPromptInputVariablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptPromptInputVariablePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnPromptPromptInputVariablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptCachePointBlockPropertyValidator(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("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CachePointBlockProperty"')}function convertCfnPromptCachePointBlockPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptCachePointBlockPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnPromptCachePointBlockPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptTextPromptTemplateConfigurationPropertyValidator(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("cachePoint",CfnPromptCachePointBlockPropertyValidator)(properties.cachePoint)),errors.collect(cdk().propertyValidator("inputVariables",cdk().listValidator(CfnPromptPromptInputVariablePropertyValidator))(properties.inputVariables)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.collect(cdk().propertyValidator("textS3Location",CfnPromptTextS3LocationPropertyValidator)(properties.textS3Location)),errors.wrap('supplied properties not correct for "TextPromptTemplateConfigurationProperty"')}function convertCfnPromptTextPromptTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptTextPromptTemplateConfigurationPropertyValidator(properties).assertSuccess(),{CachePoint:convertCfnPromptCachePointBlockPropertyToCloudFormation(properties.cachePoint),InputVariables:cdk().listMapper(convertCfnPromptPromptInputVariablePropertyToCloudFormation)(properties.inputVariables),Text:cdk().stringToCloudFormation(properties.text),TextS3Location:convertCfnPromptTextS3LocationPropertyToCloudFormation(properties.textS3Location)}):properties}function CfnPromptTextPromptTemplateConfigurationPropertyFromCloudFormation(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("cachePoint","CachePoint",properties.CachePoint!=null?CfnPromptCachePointBlockPropertyFromCloudFormation(properties.CachePoint):void 0),ret.addPropertyResult("inputVariables","InputVariables",properties.InputVariables!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptPromptInputVariablePropertyFromCloudFormation)(properties.InputVariables):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addPropertyResult("textS3Location","TextS3Location",properties.TextS3Location!=null?CfnPromptTextS3LocationPropertyFromCloudFormation(properties.TextS3Location):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptContentBlockPropertyValidator(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("cachePoint",CfnPromptCachePointBlockPropertyValidator)(properties.cachePoint)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.wrap('supplied properties not correct for "ContentBlockProperty"')}function convertCfnPromptContentBlockPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptContentBlockPropertyValidator(properties).assertSuccess(),{CachePoint:convertCfnPromptCachePointBlockPropertyToCloudFormation(properties.cachePoint),Text:cdk().stringToCloudFormation(properties.text)}):properties}function CfnPromptContentBlockPropertyFromCloudFormation(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("cachePoint","CachePoint",properties.CachePoint!=null?CfnPromptCachePointBlockPropertyFromCloudFormation(properties.CachePoint):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptMessagePropertyValidator(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("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",cdk().listValidator(CfnPromptContentBlockPropertyValidator))(properties.content)),errors.collect(cdk().propertyValidator("role",cdk().requiredValidator)(properties.role)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.wrap('supplied properties not correct for "MessageProperty"')}function convertCfnPromptMessagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptMessagePropertyValidator(properties).assertSuccess(),{Content:cdk().listMapper(convertCfnPromptContentBlockPropertyToCloudFormation)(properties.content),Role:cdk().stringToCloudFormation(properties.role)}):properties}function CfnPromptMessagePropertyFromCloudFormation(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("content","Content",properties.Content!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptContentBlockPropertyFromCloudFormation)(properties.Content):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptSystemContentBlockPropertyValidator(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("cachePoint",CfnPromptCachePointBlockPropertyValidator)(properties.cachePoint)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.wrap('supplied properties not correct for "SystemContentBlockProperty"')}function convertCfnPromptSystemContentBlockPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptSystemContentBlockPropertyValidator(properties).assertSuccess(),{CachePoint:convertCfnPromptCachePointBlockPropertyToCloudFormation(properties.cachePoint),Text:cdk().stringToCloudFormation(properties.text)}):properties}function CfnPromptSystemContentBlockPropertyFromCloudFormation(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("cachePoint","CachePoint",properties.CachePoint!=null?CfnPromptCachePointBlockPropertyFromCloudFormation(properties.CachePoint):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptToolInputSchemaPropertyValidator(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("json",cdk().requiredValidator)(properties.json)),errors.collect(cdk().propertyValidator("json",cdk().validateObject)(properties.json)),errors.wrap('supplied properties not correct for "ToolInputSchemaProperty"')}function convertCfnPromptToolInputSchemaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptToolInputSchemaPropertyValidator(properties).assertSuccess(),{Json:cdk().objectToCloudFormation(properties.json)}):properties}function CfnPromptToolInputSchemaPropertyFromCloudFormation(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("json","Json",properties.Json!=null?cfn_parse().FromCloudFormation.getAny(properties.Json):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptToolSpecificationPropertyValidator(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("inputSchema",cdk().requiredValidator)(properties.inputSchema)),errors.collect(cdk().propertyValidator("inputSchema",CfnPromptToolInputSchemaPropertyValidator)(properties.inputSchema)),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 "ToolSpecificationProperty"')}function convertCfnPromptToolSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptToolSpecificationPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),InputSchema:convertCfnPromptToolInputSchemaPropertyToCloudFormation(properties.inputSchema),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnPromptToolSpecificationPropertyFromCloudFormation(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("inputSchema","InputSchema",properties.InputSchema!=null?CfnPromptToolInputSchemaPropertyFromCloudFormation(properties.InputSchema):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptToolPropertyValidator(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("cachePoint",CfnPromptCachePointBlockPropertyValidator)(properties.cachePoint)),errors.collect(cdk().propertyValidator("toolSpec",CfnPromptToolSpecificationPropertyValidator)(properties.toolSpec)),errors.wrap('supplied properties not correct for "ToolProperty"')}function convertCfnPromptToolPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptToolPropertyValidator(properties).assertSuccess(),{CachePoint:convertCfnPromptCachePointBlockPropertyToCloudFormation(properties.cachePoint),ToolSpec:convertCfnPromptToolSpecificationPropertyToCloudFormation(properties.toolSpec)}):properties}function CfnPromptToolPropertyFromCloudFormation(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("cachePoint","CachePoint",properties.CachePoint!=null?CfnPromptCachePointBlockPropertyFromCloudFormation(properties.CachePoint):void 0),ret.addPropertyResult("toolSpec","ToolSpec",properties.ToolSpec!=null?CfnPromptToolSpecificationPropertyFromCloudFormation(properties.ToolSpec):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptSpecificToolChoicePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "SpecificToolChoiceProperty"')}function convertCfnPromptSpecificToolChoicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptSpecificToolChoicePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnPromptSpecificToolChoicePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptToolChoicePropertyValidator(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("any",cdk().validateObject)(properties.any)),errors.collect(cdk().propertyValidator("auto",cdk().validateObject)(properties.auto)),errors.collect(cdk().propertyValidator("tool",CfnPromptSpecificToolChoicePropertyValidator)(properties.tool)),errors.wrap('supplied properties not correct for "ToolChoiceProperty"')}function convertCfnPromptToolChoicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptToolChoicePropertyValidator(properties).assertSuccess(),{Any:cdk().objectToCloudFormation(properties.any),Auto:cdk().objectToCloudFormation(properties.auto),Tool:convertCfnPromptSpecificToolChoicePropertyToCloudFormation(properties.tool)}):properties}function CfnPromptToolChoicePropertyFromCloudFormation(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("any","Any",properties.Any!=null?cfn_parse().FromCloudFormation.getAny(properties.Any):void 0),ret.addPropertyResult("auto","Auto",properties.Auto!=null?cfn_parse().FromCloudFormation.getAny(properties.Auto):void 0),ret.addPropertyResult("tool","Tool",properties.Tool!=null?CfnPromptSpecificToolChoicePropertyFromCloudFormation(properties.Tool):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptToolConfigurationPropertyValidator(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("toolChoice",CfnPromptToolChoicePropertyValidator)(properties.toolChoice)),errors.collect(cdk().propertyValidator("tools",cdk().requiredValidator)(properties.tools)),errors.collect(cdk().propertyValidator("tools",cdk().listValidator(CfnPromptToolPropertyValidator))(properties.tools)),errors.wrap('supplied properties not correct for "ToolConfigurationProperty"')}function convertCfnPromptToolConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptToolConfigurationPropertyValidator(properties).assertSuccess(),{ToolChoice:convertCfnPromptToolChoicePropertyToCloudFormation(properties.toolChoice),Tools:cdk().listMapper(convertCfnPromptToolPropertyToCloudFormation)(properties.tools)}):properties}function CfnPromptToolConfigurationPropertyFromCloudFormation(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("toolChoice","ToolChoice",properties.ToolChoice!=null?CfnPromptToolChoicePropertyFromCloudFormation(properties.ToolChoice):void 0),ret.addPropertyResult("tools","Tools",properties.Tools!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptToolPropertyFromCloudFormation)(properties.Tools):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptChatPromptTemplateConfigurationPropertyValidator(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("inputVariables",cdk().listValidator(CfnPromptPromptInputVariablePropertyValidator))(properties.inputVariables)),errors.collect(cdk().propertyValidator("messages",cdk().requiredValidator)(properties.messages)),errors.collect(cdk().propertyValidator("messages",cdk().listValidator(CfnPromptMessagePropertyValidator))(properties.messages)),errors.collect(cdk().propertyValidator("system",cdk().listValidator(CfnPromptSystemContentBlockPropertyValidator))(properties.system)),errors.collect(cdk().propertyValidator("toolConfiguration",CfnPromptToolConfigurationPropertyValidator)(properties.toolConfiguration)),errors.wrap('supplied properties not correct for "ChatPromptTemplateConfigurationProperty"')}function convertCfnPromptChatPromptTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptChatPromptTemplateConfigurationPropertyValidator(properties).assertSuccess(),{InputVariables:cdk().listMapper(convertCfnPromptPromptInputVariablePropertyToCloudFormation)(properties.inputVariables),Messages:cdk().listMapper(convertCfnPromptMessagePropertyToCloudFormation)(properties.messages),System:cdk().listMapper(convertCfnPromptSystemContentBlockPropertyToCloudFormation)(properties.system),ToolConfiguration:convertCfnPromptToolConfigurationPropertyToCloudFormation(properties.toolConfiguration)}):properties}function CfnPromptChatPromptTemplateConfigurationPropertyFromCloudFormation(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("inputVariables","InputVariables",properties.InputVariables!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptPromptInputVariablePropertyFromCloudFormation)(properties.InputVariables):void 0),ret.addPropertyResult("messages","Messages",properties.Messages!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptMessagePropertyFromCloudFormation)(properties.Messages):void 0),ret.addPropertyResult("system","System",properties.System!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptSystemContentBlockPropertyFromCloudFormation)(properties.System):void 0),ret.addPropertyResult("toolConfiguration","ToolConfiguration",properties.ToolConfiguration!=null?CfnPromptToolConfigurationPropertyFromCloudFormation(properties.ToolConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptPromptTemplateConfigurationPropertyValidator(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("chat",CfnPromptChatPromptTemplateConfigurationPropertyValidator)(properties.chat)),errors.collect(cdk().propertyValidator("text",CfnPromptTextPromptTemplateConfigurationPropertyValidator)(properties.text)),errors.wrap('supplied properties not correct for "PromptTemplateConfigurationProperty"')}function convertCfnPromptPromptTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptPromptTemplateConfigurationPropertyValidator(properties).assertSuccess(),{Chat:convertCfnPromptChatPromptTemplateConfigurationPropertyToCloudFormation(properties.chat),Text:convertCfnPromptTextPromptTemplateConfigurationPropertyToCloudFormation(properties.text)}):properties}function CfnPromptPromptTemplateConfigurationPropertyFromCloudFormation(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("chat","Chat",properties.Chat!=null?CfnPromptChatPromptTemplateConfigurationPropertyFromCloudFormation(properties.Chat):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?CfnPromptTextPromptTemplateConfigurationPropertyFromCloudFormation(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptPromptModelInferenceConfigurationPropertyValidator(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("maxTokens",cdk().validateNumber)(properties.maxTokens)),errors.collect(cdk().propertyValidator("stopSequences",cdk().listValidator(cdk().validateString))(properties.stopSequences)),errors.collect(cdk().propertyValidator("temperature",cdk().validateNumber)(properties.temperature)),errors.collect(cdk().propertyValidator("topP",cdk().validateNumber)(properties.topP)),errors.wrap('supplied properties not correct for "PromptModelInferenceConfigurationProperty"')}function convertCfnPromptPromptModelInferenceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptPromptModelInferenceConfigurationPropertyValidator(properties).assertSuccess(),{MaxTokens:cdk().numberToCloudFormation(properties.maxTokens),StopSequences:cdk().listMapper(cdk().stringToCloudFormation)(properties.stopSequences),Temperature:cdk().numberToCloudFormation(properties.temperature),TopP:cdk().numberToCloudFormation(properties.topP)}):properties}function CfnPromptPromptModelInferenceConfigurationPropertyFromCloudFormation(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("maxTokens","MaxTokens",properties.MaxTokens!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxTokens):void 0),ret.addPropertyResult("stopSequences","StopSequences",properties.StopSequences!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StopSequences):void 0),ret.addPropertyResult("temperature","Temperature",properties.Temperature!=null?cfn_parse().FromCloudFormation.getNumber(properties.Temperature):void 0),ret.addPropertyResult("topP","TopP",properties.TopP!=null?cfn_parse().FromCloudFormation.getNumber(properties.TopP):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptPromptInferenceConfigurationPropertyValidator(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("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",CfnPromptPromptModelInferenceConfigurationPropertyValidator)(properties.text)),errors.wrap('supplied properties not correct for "PromptInferenceConfigurationProperty"')}function convertCfnPromptPromptInferenceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptPromptInferenceConfigurationPropertyValidator(properties).assertSuccess(),{Text:convertCfnPromptPromptModelInferenceConfigurationPropertyToCloudFormation(properties.text)}):properties}function CfnPromptPromptInferenceConfigurationPropertyFromCloudFormation(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("text","Text",properties.Text!=null?CfnPromptPromptModelInferenceConfigurationPropertyFromCloudFormation(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptPromptAgentResourcePropertyValidator(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("agentIdentifier",cdk().requiredValidator)(properties.agentIdentifier)),errors.collect(cdk().propertyValidator("agentIdentifier",cdk().validateString)(properties.agentIdentifier)),errors.wrap('supplied properties not correct for "PromptAgentResourceProperty"')}function convertCfnPromptPromptAgentResourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptPromptAgentResourcePropertyValidator(properties).assertSuccess(),{AgentIdentifier:cdk().stringToCloudFormation(properties.agentIdentifier)}):properties}function CfnPromptPromptAgentResourcePropertyFromCloudFormation(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("agentIdentifier","AgentIdentifier",properties.AgentIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.AgentIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptPromptGenAiResourcePropertyValidator(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("agent",cdk().requiredValidator)(properties.agent)),errors.collect(cdk().propertyValidator("agent",CfnPromptPromptAgentResourcePropertyValidator)(properties.agent)),errors.wrap('supplied properties not correct for "PromptGenAiResourceProperty"')}function convertCfnPromptPromptGenAiResourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptPromptGenAiResourcePropertyValidator(properties).assertSuccess(),{Agent:convertCfnPromptPromptAgentResourcePropertyToCloudFormation(properties.agent)}):properties}function CfnPromptPromptGenAiResourcePropertyFromCloudFormation(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("agent","Agent",properties.Agent!=null?CfnPromptPromptAgentResourcePropertyFromCloudFormation(properties.Agent):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptPromptMetadataEntryPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "PromptMetadataEntryProperty"')}function convertCfnPromptPromptMetadataEntryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptPromptMetadataEntryPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnPromptPromptMetadataEntryPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptPromptVariantPropertyValidator(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("additionalModelRequestFields",cdk().validateObject)(properties.additionalModelRequestFields)),errors.collect(cdk().propertyValidator("genAiResource",CfnPromptPromptGenAiResourcePropertyValidator)(properties.genAiResource)),errors.collect(cdk().propertyValidator("inferenceConfiguration",CfnPromptPromptInferenceConfigurationPropertyValidator)(properties.inferenceConfiguration)),errors.collect(cdk().propertyValidator("metadata",cdk().listValidator(CfnPromptPromptMetadataEntryPropertyValidator))(properties.metadata)),errors.collect(cdk().propertyValidator("modelId",cdk().validateString)(properties.modelId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("templateConfiguration",cdk().requiredValidator)(properties.templateConfiguration)),errors.collect(cdk().propertyValidator("templateConfiguration",CfnPromptPromptTemplateConfigurationPropertyValidator)(properties.templateConfiguration)),errors.collect(cdk().propertyValidator("templateType",cdk().requiredValidator)(properties.templateType)),errors.collect(cdk().propertyValidator("templateType",cdk().validateString)(properties.templateType)),errors.wrap('supplied properties not correct for "PromptVariantProperty"')}function convertCfnPromptPromptVariantPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptPromptVariantPropertyValidator(properties).assertSuccess(),{AdditionalModelRequestFields:cdk().objectToCloudFormation(properties.additionalModelRequestFields),GenAiResource:convertCfnPromptPromptGenAiResourcePropertyToCloudFormation(properties.genAiResource),InferenceConfiguration:convertCfnPromptPromptInferenceConfigurationPropertyToCloudFormation(properties.inferenceConfiguration),Metadata:cdk().listMapper(convertCfnPromptPromptMetadataEntryPropertyToCloudFormation)(properties.metadata),ModelId:cdk().stringToCloudFormation(properties.modelId),Name:cdk().stringToCloudFormation(properties.name),TemplateConfiguration:convertCfnPromptPromptTemplateConfigurationPropertyToCloudFormation(properties.templateConfiguration),TemplateType:cdk().stringToCloudFormation(properties.templateType)}):properties}function CfnPromptPromptVariantPropertyFromCloudFormation(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("additionalModelRequestFields","AdditionalModelRequestFields",properties.AdditionalModelRequestFields!=null?cfn_parse().FromCloudFormation.getAny(properties.AdditionalModelRequestFields):void 0),ret.addPropertyResult("genAiResource","GenAiResource",properties.GenAiResource!=null?CfnPromptPromptGenAiResourcePropertyFromCloudFormation(properties.GenAiResource):void 0),ret.addPropertyResult("inferenceConfiguration","InferenceConfiguration",properties.InferenceConfiguration!=null?CfnPromptPromptInferenceConfigurationPropertyFromCloudFormation(properties.InferenceConfiguration):void 0),ret.addPropertyResult("metadata","Metadata",properties.Metadata!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptPromptMetadataEntryPropertyFromCloudFormation)(properties.Metadata):void 0),ret.addPropertyResult("modelId","ModelId",properties.ModelId!=null?cfn_parse().FromCloudFormation.getString(properties.ModelId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("templateConfiguration","TemplateConfiguration",properties.TemplateConfiguration!=null?CfnPromptPromptTemplateConfigurationPropertyFromCloudFormation(properties.TemplateConfiguration):void 0),ret.addPropertyResult("templateType","TemplateType",properties.TemplateType!=null?cfn_parse().FromCloudFormation.getString(properties.TemplateType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptPropsValidator(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("customerEncryptionKeyArn",cdk().validateString)(properties.customerEncryptionKeyArn)),errors.collect(cdk().propertyValidator("defaultVariant",cdk().validateString)(properties.defaultVariant)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("variants",cdk().listValidator(CfnPromptPromptVariantPropertyValidator))(properties.variants)),errors.wrap('supplied properties not correct for "CfnPromptProps"')}function convertCfnPromptPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptPropsValidator(properties).assertSuccess(),{CustomerEncryptionKeyArn:cdk().stringToCloudFormation(properties.customerEncryptionKeyArn),DefaultVariant:cdk().stringToCloudFormation(properties.defaultVariant),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),Variants:cdk().listMapper(convertCfnPromptPromptVariantPropertyToCloudFormation)(properties.variants)}):properties}function CfnPromptPropsFromCloudFormation(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("customerEncryptionKeyArn","CustomerEncryptionKeyArn",properties.CustomerEncryptionKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.CustomerEncryptionKeyArn):void 0),ret.addPropertyResult("defaultVariant","DefaultVariant",properties.DefaultVariant!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultVariant):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("variants","Variants",properties.Variants!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptPromptVariantPropertyFromCloudFormation)(properties.Variants):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPromptVersion extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnPromptVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::PromptVersion";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPromptVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPromptVersion(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 isCfnPromptVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPromptVersion.CFN_RESOURCE_TYPE_NAME}static arnForPromptVersion(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_bedrock_IPromptVersionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPromptVersion),error}return resource.promptVersionRef.promptVersionArn}cdkTagManager;_description;_promptArn;_tags;cfnPropertyNames={tags:"Tags",description:"Description",promptArn:"PromptArn"};constructor(scope,id,props){super(scope,id,{type:CfnPromptVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnPromptVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPromptVersion),error}cdk().requireProperty(props,"promptArn",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Bedrock::PromptVersion",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._promptArn=props.promptArn,this._tags=props.tags}get promptVersionRef(){return{promptVersionArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get promptArn(){return this._promptArn}set promptArn(value){cdk().traceProperty(this.node,"PromptArn"),this._promptArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrCustomerEncryptionKeyArn(){return cdk().Token.asString(this.getAtt("CustomerEncryptionKeyArn",cdk().ResolutionTypeHint.STRING))}get attrDefaultVariant(){return cdk().Token.asString(this.getAtt("DefaultVariant",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}get attrPromptId(){return cdk().Token.asString(this.getAtt("PromptId",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrVariants(){return this.getAtt("Variants")}get attrVersion(){return cdk().Token.asString(this.getAtt("Version",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,promptArn:this._promptArn}}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",CfnPromptVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPromptVersionPropsToCloudFormation(props)}}exports.CfnPromptVersion=CfnPromptVersion;function CfnPromptVersionPromptInputVariablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "PromptInputVariableProperty"')}function convertCfnPromptVersionPromptInputVariablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionPromptInputVariablePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnPromptVersionPromptInputVariablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionCachePointBlockPropertyValidator(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("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CachePointBlockProperty"')}function convertCfnPromptVersionCachePointBlockPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionCachePointBlockPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnPromptVersionCachePointBlockPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionTextPromptTemplateConfigurationPropertyValidator(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("cachePoint",CfnPromptVersionCachePointBlockPropertyValidator)(properties.cachePoint)),errors.collect(cdk().propertyValidator("inputVariables",cdk().listValidator(CfnPromptVersionPromptInputVariablePropertyValidator))(properties.inputVariables)),errors.collect(cdk().propertyValidator("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.wrap('supplied properties not correct for "TextPromptTemplateConfigurationProperty"')}function convertCfnPromptVersionTextPromptTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionTextPromptTemplateConfigurationPropertyValidator(properties).assertSuccess(),{CachePoint:convertCfnPromptVersionCachePointBlockPropertyToCloudFormation(properties.cachePoint),InputVariables:cdk().listMapper(convertCfnPromptVersionPromptInputVariablePropertyToCloudFormation)(properties.inputVariables),Text:cdk().stringToCloudFormation(properties.text)}):properties}function CfnPromptVersionTextPromptTemplateConfigurationPropertyFromCloudFormation(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("cachePoint","CachePoint",properties.CachePoint!=null?CfnPromptVersionCachePointBlockPropertyFromCloudFormation(properties.CachePoint):void 0),ret.addPropertyResult("inputVariables","InputVariables",properties.InputVariables!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptVersionPromptInputVariablePropertyFromCloudFormation)(properties.InputVariables):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionContentBlockPropertyValidator(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("cachePoint",CfnPromptVersionCachePointBlockPropertyValidator)(properties.cachePoint)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.wrap('supplied properties not correct for "ContentBlockProperty"')}function convertCfnPromptVersionContentBlockPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionContentBlockPropertyValidator(properties).assertSuccess(),{CachePoint:convertCfnPromptVersionCachePointBlockPropertyToCloudFormation(properties.cachePoint),Text:cdk().stringToCloudFormation(properties.text)}):properties}function CfnPromptVersionContentBlockPropertyFromCloudFormation(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("cachePoint","CachePoint",properties.CachePoint!=null?CfnPromptVersionCachePointBlockPropertyFromCloudFormation(properties.CachePoint):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionMessagePropertyValidator(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("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",cdk().listValidator(CfnPromptVersionContentBlockPropertyValidator))(properties.content)),errors.collect(cdk().propertyValidator("role",cdk().requiredValidator)(properties.role)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.wrap('supplied properties not correct for "MessageProperty"')}function convertCfnPromptVersionMessagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionMessagePropertyValidator(properties).assertSuccess(),{Content:cdk().listMapper(convertCfnPromptVersionContentBlockPropertyToCloudFormation)(properties.content),Role:cdk().stringToCloudFormation(properties.role)}):properties}function CfnPromptVersionMessagePropertyFromCloudFormation(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("content","Content",properties.Content!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptVersionContentBlockPropertyFromCloudFormation)(properties.Content):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionSystemContentBlockPropertyValidator(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("cachePoint",CfnPromptVersionCachePointBlockPropertyValidator)(properties.cachePoint)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.wrap('supplied properties not correct for "SystemContentBlockProperty"')}function convertCfnPromptVersionSystemContentBlockPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionSystemContentBlockPropertyValidator(properties).assertSuccess(),{CachePoint:convertCfnPromptVersionCachePointBlockPropertyToCloudFormation(properties.cachePoint),Text:cdk().stringToCloudFormation(properties.text)}):properties}function CfnPromptVersionSystemContentBlockPropertyFromCloudFormation(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("cachePoint","CachePoint",properties.CachePoint!=null?CfnPromptVersionCachePointBlockPropertyFromCloudFormation(properties.CachePoint):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionToolInputSchemaPropertyValidator(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("json",cdk().requiredValidator)(properties.json)),errors.collect(cdk().propertyValidator("json",cdk().validateObject)(properties.json)),errors.wrap('supplied properties not correct for "ToolInputSchemaProperty"')}function convertCfnPromptVersionToolInputSchemaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionToolInputSchemaPropertyValidator(properties).assertSuccess(),{Json:cdk().objectToCloudFormation(properties.json)}):properties}function CfnPromptVersionToolInputSchemaPropertyFromCloudFormation(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("json","Json",properties.Json!=null?cfn_parse().FromCloudFormation.getAny(properties.Json):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionToolSpecificationPropertyValidator(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("inputSchema",cdk().requiredValidator)(properties.inputSchema)),errors.collect(cdk().propertyValidator("inputSchema",CfnPromptVersionToolInputSchemaPropertyValidator)(properties.inputSchema)),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 "ToolSpecificationProperty"')}function convertCfnPromptVersionToolSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionToolSpecificationPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),InputSchema:convertCfnPromptVersionToolInputSchemaPropertyToCloudFormation(properties.inputSchema),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnPromptVersionToolSpecificationPropertyFromCloudFormation(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("inputSchema","InputSchema",properties.InputSchema!=null?CfnPromptVersionToolInputSchemaPropertyFromCloudFormation(properties.InputSchema):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionToolPropertyValidator(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("cachePoint",CfnPromptVersionCachePointBlockPropertyValidator)(properties.cachePoint)),errors.collect(cdk().propertyValidator("toolSpec",CfnPromptVersionToolSpecificationPropertyValidator)(properties.toolSpec)),errors.wrap('supplied properties not correct for "ToolProperty"')}function convertCfnPromptVersionToolPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionToolPropertyValidator(properties).assertSuccess(),{CachePoint:convertCfnPromptVersionCachePointBlockPropertyToCloudFormation(properties.cachePoint),ToolSpec:convertCfnPromptVersionToolSpecificationPropertyToCloudFormation(properties.toolSpec)}):properties}function CfnPromptVersionToolPropertyFromCloudFormation(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("cachePoint","CachePoint",properties.CachePoint!=null?CfnPromptVersionCachePointBlockPropertyFromCloudFormation(properties.CachePoint):void 0),ret.addPropertyResult("toolSpec","ToolSpec",properties.ToolSpec!=null?CfnPromptVersionToolSpecificationPropertyFromCloudFormation(properties.ToolSpec):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionSpecificToolChoicePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "SpecificToolChoiceProperty"')}function convertCfnPromptVersionSpecificToolChoicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionSpecificToolChoicePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnPromptVersionSpecificToolChoicePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionToolChoicePropertyValidator(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("any",cdk().validateObject)(properties.any)),errors.collect(cdk().propertyValidator("auto",cdk().validateObject)(properties.auto)),errors.collect(cdk().propertyValidator("tool",CfnPromptVersionSpecificToolChoicePropertyValidator)(properties.tool)),errors.wrap('supplied properties not correct for "ToolChoiceProperty"')}function convertCfnPromptVersionToolChoicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionToolChoicePropertyValidator(properties).assertSuccess(),{Any:cdk().objectToCloudFormation(properties.any),Auto:cdk().objectToCloudFormation(properties.auto),Tool:convertCfnPromptVersionSpecificToolChoicePropertyToCloudFormation(properties.tool)}):properties}function CfnPromptVersionToolChoicePropertyFromCloudFormation(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("any","Any",properties.Any!=null?cfn_parse().FromCloudFormation.getAny(properties.Any):void 0),ret.addPropertyResult("auto","Auto",properties.Auto!=null?cfn_parse().FromCloudFormation.getAny(properties.Auto):void 0),ret.addPropertyResult("tool","Tool",properties.Tool!=null?CfnPromptVersionSpecificToolChoicePropertyFromCloudFormation(properties.Tool):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionToolConfigurationPropertyValidator(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("toolChoice",CfnPromptVersionToolChoicePropertyValidator)(properties.toolChoice)),errors.collect(cdk().propertyValidator("tools",cdk().requiredValidator)(properties.tools)),errors.collect(cdk().propertyValidator("tools",cdk().listValidator(CfnPromptVersionToolPropertyValidator))(properties.tools)),errors.wrap('supplied properties not correct for "ToolConfigurationProperty"')}function convertCfnPromptVersionToolConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionToolConfigurationPropertyValidator(properties).assertSuccess(),{ToolChoice:convertCfnPromptVersionToolChoicePropertyToCloudFormation(properties.toolChoice),Tools:cdk().listMapper(convertCfnPromptVersionToolPropertyToCloudFormation)(properties.tools)}):properties}function CfnPromptVersionToolConfigurationPropertyFromCloudFormation(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("toolChoice","ToolChoice",properties.ToolChoice!=null?CfnPromptVersionToolChoicePropertyFromCloudFormation(properties.ToolChoice):void 0),ret.addPropertyResult("tools","Tools",properties.Tools!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptVersionToolPropertyFromCloudFormation)(properties.Tools):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionChatPromptTemplateConfigurationPropertyValidator(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("inputVariables",cdk().listValidator(CfnPromptVersionPromptInputVariablePropertyValidator))(properties.inputVariables)),errors.collect(cdk().propertyValidator("messages",cdk().requiredValidator)(properties.messages)),errors.collect(cdk().propertyValidator("messages",cdk().listValidator(CfnPromptVersionMessagePropertyValidator))(properties.messages)),errors.collect(cdk().propertyValidator("system",cdk().listValidator(CfnPromptVersionSystemContentBlockPropertyValidator))(properties.system)),errors.collect(cdk().propertyValidator("toolConfiguration",CfnPromptVersionToolConfigurationPropertyValidator)(properties.toolConfiguration)),errors.wrap('supplied properties not correct for "ChatPromptTemplateConfigurationProperty"')}function convertCfnPromptVersionChatPromptTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionChatPromptTemplateConfigurationPropertyValidator(properties).assertSuccess(),{InputVariables:cdk().listMapper(convertCfnPromptVersionPromptInputVariablePropertyToCloudFormation)(properties.inputVariables),Messages:cdk().listMapper(convertCfnPromptVersionMessagePropertyToCloudFormation)(properties.messages),System:cdk().listMapper(convertCfnPromptVersionSystemContentBlockPropertyToCloudFormation)(properties.system),ToolConfiguration:convertCfnPromptVersionToolConfigurationPropertyToCloudFormation(properties.toolConfiguration)}):properties}function CfnPromptVersionChatPromptTemplateConfigurationPropertyFromCloudFormation(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("inputVariables","InputVariables",properties.InputVariables!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptVersionPromptInputVariablePropertyFromCloudFormation)(properties.InputVariables):void 0),ret.addPropertyResult("messages","Messages",properties.Messages!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptVersionMessagePropertyFromCloudFormation)(properties.Messages):void 0),ret.addPropertyResult("system","System",properties.System!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptVersionSystemContentBlockPropertyFromCloudFormation)(properties.System):void 0),ret.addPropertyResult("toolConfiguration","ToolConfiguration",properties.ToolConfiguration!=null?CfnPromptVersionToolConfigurationPropertyFromCloudFormation(properties.ToolConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionPromptTemplateConfigurationPropertyValidator(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("chat",CfnPromptVersionChatPromptTemplateConfigurationPropertyValidator)(properties.chat)),errors.collect(cdk().propertyValidator("text",CfnPromptVersionTextPromptTemplateConfigurationPropertyValidator)(properties.text)),errors.wrap('supplied properties not correct for "PromptTemplateConfigurationProperty"')}function convertCfnPromptVersionPromptTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionPromptTemplateConfigurationPropertyValidator(properties).assertSuccess(),{Chat:convertCfnPromptVersionChatPromptTemplateConfigurationPropertyToCloudFormation(properties.chat),Text:convertCfnPromptVersionTextPromptTemplateConfigurationPropertyToCloudFormation(properties.text)}):properties}function CfnPromptVersionPromptTemplateConfigurationPropertyFromCloudFormation(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("chat","Chat",properties.Chat!=null?CfnPromptVersionChatPromptTemplateConfigurationPropertyFromCloudFormation(properties.Chat):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?CfnPromptVersionTextPromptTemplateConfigurationPropertyFromCloudFormation(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionPromptModelInferenceConfigurationPropertyValidator(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("maxTokens",cdk().validateNumber)(properties.maxTokens)),errors.collect(cdk().propertyValidator("stopSequences",cdk().listValidator(cdk().validateString))(properties.stopSequences)),errors.collect(cdk().propertyValidator("temperature",cdk().validateNumber)(properties.temperature)),errors.collect(cdk().propertyValidator("topP",cdk().validateNumber)(properties.topP)),errors.wrap('supplied properties not correct for "PromptModelInferenceConfigurationProperty"')}function convertCfnPromptVersionPromptModelInferenceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionPromptModelInferenceConfigurationPropertyValidator(properties).assertSuccess(),{MaxTokens:cdk().numberToCloudFormation(properties.maxTokens),StopSequences:cdk().listMapper(cdk().stringToCloudFormation)(properties.stopSequences),Temperature:cdk().numberToCloudFormation(properties.temperature),TopP:cdk().numberToCloudFormation(properties.topP)}):properties}function CfnPromptVersionPromptModelInferenceConfigurationPropertyFromCloudFormation(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("maxTokens","MaxTokens",properties.MaxTokens!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxTokens):void 0),ret.addPropertyResult("stopSequences","StopSequences",properties.StopSequences!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StopSequences):void 0),ret.addPropertyResult("temperature","Temperature",properties.Temperature!=null?cfn_parse().FromCloudFormation.getNumber(properties.Temperature):void 0),ret.addPropertyResult("topP","TopP",properties.TopP!=null?cfn_parse().FromCloudFormation.getNumber(properties.TopP):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionPromptInferenceConfigurationPropertyValidator(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("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",CfnPromptVersionPromptModelInferenceConfigurationPropertyValidator)(properties.text)),errors.wrap('supplied properties not correct for "PromptInferenceConfigurationProperty"')}function convertCfnPromptVersionPromptInferenceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionPromptInferenceConfigurationPropertyValidator(properties).assertSuccess(),{Text:convertCfnPromptVersionPromptModelInferenceConfigurationPropertyToCloudFormation(properties.text)}):properties}function CfnPromptVersionPromptInferenceConfigurationPropertyFromCloudFormation(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("text","Text",properties.Text!=null?CfnPromptVersionPromptModelInferenceConfigurationPropertyFromCloudFormation(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionPromptAgentResourcePropertyValidator(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("agentIdentifier",cdk().requiredValidator)(properties.agentIdentifier)),errors.collect(cdk().propertyValidator("agentIdentifier",cdk().validateString)(properties.agentIdentifier)),errors.wrap('supplied properties not correct for "PromptAgentResourceProperty"')}function convertCfnPromptVersionPromptAgentResourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionPromptAgentResourcePropertyValidator(properties).assertSuccess(),{AgentIdentifier:cdk().stringToCloudFormation(properties.agentIdentifier)}):properties}function CfnPromptVersionPromptAgentResourcePropertyFromCloudFormation(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("agentIdentifier","AgentIdentifier",properties.AgentIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.AgentIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionPromptGenAiResourcePropertyValidator(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("agent",cdk().requiredValidator)(properties.agent)),errors.collect(cdk().propertyValidator("agent",CfnPromptVersionPromptAgentResourcePropertyValidator)(properties.agent)),errors.wrap('supplied properties not correct for "PromptGenAiResourceProperty"')}function convertCfnPromptVersionPromptGenAiResourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionPromptGenAiResourcePropertyValidator(properties).assertSuccess(),{Agent:convertCfnPromptVersionPromptAgentResourcePropertyToCloudFormation(properties.agent)}):properties}function CfnPromptVersionPromptGenAiResourcePropertyFromCloudFormation(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("agent","Agent",properties.Agent!=null?CfnPromptVersionPromptAgentResourcePropertyFromCloudFormation(properties.Agent):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionPromptMetadataEntryPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "PromptMetadataEntryProperty"')}function convertCfnPromptVersionPromptMetadataEntryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionPromptMetadataEntryPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnPromptVersionPromptMetadataEntryPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionPromptVariantPropertyValidator(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("additionalModelRequestFields",cdk().validateObject)(properties.additionalModelRequestFields)),errors.collect(cdk().propertyValidator("genAiResource",CfnPromptVersionPromptGenAiResourcePropertyValidator)(properties.genAiResource)),errors.collect(cdk().propertyValidator("inferenceConfiguration",CfnPromptVersionPromptInferenceConfigurationPropertyValidator)(properties.inferenceConfiguration)),errors.collect(cdk().propertyValidator("metadata",cdk().listValidator(CfnPromptVersionPromptMetadataEntryPropertyValidator))(properties.metadata)),errors.collect(cdk().propertyValidator("modelId",cdk().validateString)(properties.modelId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("templateConfiguration",cdk().requiredValidator)(properties.templateConfiguration)),errors.collect(cdk().propertyValidator("templateConfiguration",CfnPromptVersionPromptTemplateConfigurationPropertyValidator)(properties.templateConfiguration)),errors.collect(cdk().propertyValidator("templateType",cdk().requiredValidator)(properties.templateType)),errors.collect(cdk().propertyValidator("templateType",cdk().validateString)(properties.templateType)),errors.wrap('supplied properties not correct for "PromptVariantProperty"')}function convertCfnPromptVersionPromptVariantPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionPromptVariantPropertyValidator(properties).assertSuccess(),{AdditionalModelRequestFields:cdk().objectToCloudFormation(properties.additionalModelRequestFields),GenAiResource:convertCfnPromptVersionPromptGenAiResourcePropertyToCloudFormation(properties.genAiResource),InferenceConfiguration:convertCfnPromptVersionPromptInferenceConfigurationPropertyToCloudFormation(properties.inferenceConfiguration),Metadata:cdk().listMapper(convertCfnPromptVersionPromptMetadataEntryPropertyToCloudFormation)(properties.metadata),ModelId:cdk().stringToCloudFormation(properties.modelId),Name:cdk().stringToCloudFormation(properties.name),TemplateConfiguration:convertCfnPromptVersionPromptTemplateConfigurationPropertyToCloudFormation(properties.templateConfiguration),TemplateType:cdk().stringToCloudFormation(properties.templateType)}):properties}function CfnPromptVersionPromptVariantPropertyFromCloudFormation(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("additionalModelRequestFields","AdditionalModelRequestFields",properties.AdditionalModelRequestFields!=null?cfn_parse().FromCloudFormation.getAny(properties.AdditionalModelRequestFields):void 0),ret.addPropertyResult("genAiResource","GenAiResource",properties.GenAiResource!=null?CfnPromptVersionPromptGenAiResourcePropertyFromCloudFormation(properties.GenAiResource):void 0),ret.addPropertyResult("inferenceConfiguration","InferenceConfiguration",properties.InferenceConfiguration!=null?CfnPromptVersionPromptInferenceConfigurationPropertyFromCloudFormation(properties.InferenceConfiguration):void 0),ret.addPropertyResult("metadata","Metadata",properties.Metadata!=null?cfn_parse().FromCloudFormation.getArray(CfnPromptVersionPromptMetadataEntryPropertyFromCloudFormation)(properties.Metadata):void 0),ret.addPropertyResult("modelId","ModelId",properties.ModelId!=null?cfn_parse().FromCloudFormation.getString(properties.ModelId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("templateConfiguration","TemplateConfiguration",properties.TemplateConfiguration!=null?CfnPromptVersionPromptTemplateConfigurationPropertyFromCloudFormation(properties.TemplateConfiguration):void 0),ret.addPropertyResult("templateType","TemplateType",properties.TemplateType!=null?cfn_parse().FromCloudFormation.getString(properties.TemplateType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPromptVersionPropsValidator(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("promptArn",cdk().requiredValidator)(properties.promptArn)),errors.collect(cdk().propertyValidator("promptArn",cdk().validateString)(properties.promptArn)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnPromptVersionProps"')}function convertCfnPromptVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptVersionPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),PromptArn:cdk().stringToCloudFormation(properties.promptArn),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnPromptVersionPropsFromCloudFormation(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("promptArn","PromptArn",properties.PromptArn!=null?cfn_parse().FromCloudFormation.getString(properties.PromptArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResourcePolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_bedrock.CfnResourcePolicy",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Bedrock::ResourcePolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResourcePolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResourcePolicy(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 isCfnResourcePolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResourcePolicy.CFN_RESOURCE_TYPE_NAME}_policyDocument;_resourceArn;cfnPropertyNames={policyDocument:"PolicyDocument",resourceArn:"ResourceArn"};constructor(scope,id,props){super(scope,id,{type:CfnResourcePolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_bedrock_CfnResourcePolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResourcePolicy),error}cdk().requireProperty(props,"policyDocument",this),cdk().requireProperty(props,"resourceArn",this),this._policyDocument=props.policyDocument,this._resourceArn=props.resourceArn}get resourcePolicyRef(){return{resourceArn:this.ref}}get policyDocument(){return this._policyDocument}set policyDocument(value){cdk().traceProperty(this.node,"PolicyDocument"),this._policyDocument=value}get resourceArn(){return this._resourceArn}set resourceArn(value){cdk().traceProperty(this.node,"ResourceArn"),this._resourceArn=value}get cfnProperties(){return{policyDocument:this._policyDocument,resourceArn:this._resourceArn}}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",CfnResourcePolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResourcePolicyPropsToCloudFormation(props)}}exports.CfnResourcePolicy=CfnResourcePolicy;function CfnResourcePolicyPropsValidator(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("policyDocument",cdk().requiredValidator)(properties.policyDocument)),errors.collect(cdk().propertyValidator("policyDocument",cdk().validateObject)(properties.policyDocument)),errors.collect(cdk().propertyValidator("resourceArn",cdk().requiredValidator)(properties.resourceArn)),errors.collect(cdk().propertyValidator("resourceArn",cdk().validateString)(properties.resourceArn)),errors.wrap('supplied properties not correct for "CfnResourcePolicyProps"')}function convertCfnResourcePolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourcePolicyPropsValidator(properties).assertSuccess(),{PolicyDocument:cdk().objectToCloudFormation(properties.policyDocument),ResourceArn:cdk().stringToCloudFormation(properties.resourceArn)}):properties}function CfnResourcePolicyPropsFromCloudFormation(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("policyDocument","PolicyDocument",properties.PolicyDocument!=null?cfn_parse().FromCloudFormation.getAny(properties.PolicyDocument):void 0),ret.addPropertyResult("resourceArn","ResourceArn",properties.ResourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}