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

2 lines
301 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnStateMachine=exports.CfnLayerVersion=exports.CfnSimpleTable=exports.CfnApplication=exports.CfnHttpApi=exports.CfnApi=exports.CfnFunction=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 CfnFunction extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sam.CfnFunction",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Serverless::Function";static REQUIRED_TRANSFORM="AWS::Serverless-2016-10-31";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFunctionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFunction(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 isCfnFunction(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFunction.CFN_RESOURCE_TYPE_NAME}_architectures;_assumeRolePolicyDocument;_autoPublishAlias;_autoPublishCodeSha256;_codeSigningConfigArn;_codeUri;_deadLetterQueue;_deploymentPreference;_description;_environment;_ephemeralStorage;_eventInvokeConfig;_events;_fileSystemConfigs;_functionName;_functionUrlConfig;_handler;_imageConfig;_imageUri;_inlineCode;_kmsKeyArn;_layers;_memorySize;_packageType;_permissionsBoundary;_policies;_provisionedConcurrencyConfig;_reservedConcurrentExecutions;_role;_runtime;tags;_tagsRaw;_timeout;_tracing;_versionDescription;_vpcConfig;cfnPropertyNames={architectures:"Architectures",assumeRolePolicyDocument:"AssumeRolePolicyDocument",autoPublishAlias:"AutoPublishAlias",autoPublishCodeSha256:"AutoPublishCodeSha256",codeSigningConfigArn:"CodeSigningConfigArn",codeUri:"CodeUri",deadLetterQueue:"DeadLetterQueue",deploymentPreference:"DeploymentPreference",description:"Description",environment:"Environment",ephemeralStorage:"EphemeralStorage",eventInvokeConfig:"EventInvokeConfig",events:"Events",fileSystemConfigs:"FileSystemConfigs",functionName:"FunctionName",functionUrlConfig:"FunctionUrlConfig",handler:"Handler",imageConfig:"ImageConfig",imageUri:"ImageUri",inlineCode:"InlineCode",kmsKeyArn:"KmsKeyArn",layers:"Layers",memorySize:"MemorySize",packageType:"PackageType",permissionsBoundary:"PermissionsBoundary",policies:"Policies",provisionedConcurrencyConfig:"ProvisionedConcurrencyConfig",reservedConcurrentExecutions:"ReservedConcurrentExecutions",role:"Role",runtime:"Runtime",tags:"Tags",timeout:"Timeout",tracing:"Tracing",versionDescription:"VersionDescription",vpcConfig:"VpcConfig"};constructor(scope,id,props={}){super(scope,id,{type:CfnFunction.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sam_CfnFunctionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFunction),error}this.stack.addTransform(CfnFunction.REQUIRED_TRANSFORM),this._architectures=props.architectures,this._assumeRolePolicyDocument=props.assumeRolePolicyDocument,this._autoPublishAlias=props.autoPublishAlias,this._autoPublishCodeSha256=props.autoPublishCodeSha256,this._codeSigningConfigArn=props.codeSigningConfigArn,this._codeUri=props.codeUri,this._deadLetterQueue=props.deadLetterQueue,this._deploymentPreference=props.deploymentPreference,this._description=props.description,this._environment=props.environment,this._ephemeralStorage=props.ephemeralStorage,this._eventInvokeConfig=props.eventInvokeConfig,this._events=props.events,this._fileSystemConfigs=props.fileSystemConfigs,this._functionName=props.functionName,this._functionUrlConfig=props.functionUrlConfig,this._handler=props.handler,this._imageConfig=props.imageConfig,this._imageUri=props.imageUri,this._inlineCode=props.inlineCode,this._kmsKeyArn=props.kmsKeyArn,this._layers=props.layers,this._memorySize=props.memorySize,this._packageType=props.packageType,this._permissionsBoundary=props.permissionsBoundary,this._policies=props.policies,this._provisionedConcurrencyConfig=props.provisionedConcurrencyConfig,this._reservedConcurrentExecutions=props.reservedConcurrentExecutions,this._role=props.role,this._runtime=props.runtime,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Serverless::Function",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._timeout=props.timeout,this._tracing=props.tracing,this._versionDescription=props.versionDescription,this._vpcConfig=props.vpcConfig}get functionRef(){return{}}get architectures(){return this._architectures}set architectures(value){cdk().traceProperty(this.node,"Architectures"),this._architectures=value}get assumeRolePolicyDocument(){return this._assumeRolePolicyDocument}set assumeRolePolicyDocument(value){cdk().traceProperty(this.node,"AssumeRolePolicyDocument"),this._assumeRolePolicyDocument=value}get autoPublishAlias(){return this._autoPublishAlias}set autoPublishAlias(value){cdk().traceProperty(this.node,"AutoPublishAlias"),this._autoPublishAlias=value}get autoPublishCodeSha256(){return this._autoPublishCodeSha256}set autoPublishCodeSha256(value){cdk().traceProperty(this.node,"AutoPublishCodeSha256"),this._autoPublishCodeSha256=value}get codeSigningConfigArn(){return this._codeSigningConfigArn}set codeSigningConfigArn(value){cdk().traceProperty(this.node,"CodeSigningConfigArn"),this._codeSigningConfigArn=value}get codeUri(){return this._codeUri}set codeUri(value){cdk().traceProperty(this.node,"CodeUri"),this._codeUri=value}get deadLetterQueue(){return this._deadLetterQueue}set deadLetterQueue(value){cdk().traceProperty(this.node,"DeadLetterQueue"),this._deadLetterQueue=value}get deploymentPreference(){return this._deploymentPreference}set deploymentPreference(value){cdk().traceProperty(this.node,"DeploymentPreference"),this._deploymentPreference=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get environment(){return this._environment}set environment(value){cdk().traceProperty(this.node,"Environment"),this._environment=value}get ephemeralStorage(){return this._ephemeralStorage}set ephemeralStorage(value){cdk().traceProperty(this.node,"EphemeralStorage"),this._ephemeralStorage=value}get eventInvokeConfig(){return this._eventInvokeConfig}set eventInvokeConfig(value){cdk().traceProperty(this.node,"EventInvokeConfig"),this._eventInvokeConfig=value}get events(){return this._events}set events(value){cdk().traceProperty(this.node,"Events"),this._events=value}get fileSystemConfigs(){return this._fileSystemConfigs}set fileSystemConfigs(value){cdk().traceProperty(this.node,"FileSystemConfigs"),this._fileSystemConfigs=value}get functionName(){return this._functionName}set functionName(value){cdk().traceProperty(this.node,"FunctionName"),this._functionName=value}get functionUrlConfig(){return this._functionUrlConfig}set functionUrlConfig(value){cdk().traceProperty(this.node,"FunctionUrlConfig"),this._functionUrlConfig=value}get handler(){return this._handler}set handler(value){cdk().traceProperty(this.node,"Handler"),this._handler=value}get imageConfig(){return this._imageConfig}set imageConfig(value){cdk().traceProperty(this.node,"ImageConfig"),this._imageConfig=value}get imageUri(){return this._imageUri}set imageUri(value){cdk().traceProperty(this.node,"ImageUri"),this._imageUri=value}get inlineCode(){return this._inlineCode}set inlineCode(value){cdk().traceProperty(this.node,"InlineCode"),this._inlineCode=value}get kmsKeyArn(){return this._kmsKeyArn}set kmsKeyArn(value){cdk().traceProperty(this.node,"KmsKeyArn"),this._kmsKeyArn=value}get layers(){return this._layers}set layers(value){cdk().traceProperty(this.node,"Layers"),this._layers=value}get memorySize(){return this._memorySize}set memorySize(value){cdk().traceProperty(this.node,"MemorySize"),this._memorySize=value}get packageType(){return this._packageType}set packageType(value){cdk().traceProperty(this.node,"PackageType"),this._packageType=value}get permissionsBoundary(){return this._permissionsBoundary}set permissionsBoundary(value){cdk().traceProperty(this.node,"PermissionsBoundary"),this._permissionsBoundary=value}get policies(){return this._policies}set policies(value){cdk().traceProperty(this.node,"Policies"),this._policies=value}get provisionedConcurrencyConfig(){return this._provisionedConcurrencyConfig}set provisionedConcurrencyConfig(value){cdk().traceProperty(this.node,"ProvisionedConcurrencyConfig"),this._provisionedConcurrencyConfig=value}get reservedConcurrentExecutions(){return this._reservedConcurrentExecutions}set reservedConcurrentExecutions(value){cdk().traceProperty(this.node,"ReservedConcurrentExecutions"),this._reservedConcurrentExecutions=value}get role(){return this._role}set role(value){cdk().traceProperty(this.node,"Role"),this._role=value}get runtime(){return this._runtime}set runtime(value){cdk().traceProperty(this.node,"Runtime"),this._runtime=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get timeout(){return this._timeout}set timeout(value){cdk().traceProperty(this.node,"Timeout"),this._timeout=value}get tracing(){return this._tracing}set tracing(value){cdk().traceProperty(this.node,"Tracing"),this._tracing=value}get versionDescription(){return this._versionDescription}set versionDescription(value){cdk().traceProperty(this.node,"VersionDescription"),this._versionDescription=value}get vpcConfig(){return this._vpcConfig}set vpcConfig(value){cdk().traceProperty(this.node,"VpcConfig"),this._vpcConfig=value}get cfnProperties(){return{architectures:this._architectures,assumeRolePolicyDocument:this._assumeRolePolicyDocument,autoPublishAlias:this._autoPublishAlias,autoPublishCodeSha256:this._autoPublishCodeSha256,codeSigningConfigArn:this._codeSigningConfigArn,codeUri:this._codeUri,deadLetterQueue:this._deadLetterQueue,deploymentPreference:this._deploymentPreference,description:this._description,environment:this._environment,ephemeralStorage:this._ephemeralStorage,eventInvokeConfig:this._eventInvokeConfig,events:this._events,fileSystemConfigs:this._fileSystemConfigs,functionName:this._functionName,functionUrlConfig:this._functionUrlConfig,handler:this._handler,imageConfig:this._imageConfig,imageUri:this._imageUri,inlineCode:this._inlineCode,kmsKeyArn:this._kmsKeyArn,layers:this._layers,memorySize:this._memorySize,packageType:this._packageType,permissionsBoundary:this._permissionsBoundary,policies:this._policies,provisionedConcurrencyConfig:this._provisionedConcurrencyConfig,reservedConcurrentExecutions:this._reservedConcurrentExecutions,role:this._role,runtime:this._runtime,tags:this.tags.renderTags(),timeout:this._timeout,tracing:this._tracing,versionDescription:this._versionDescription,vpcConfig:this._vpcConfig}}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",CfnFunction.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFunctionPropsToCloudFormation(props)}}exports.CfnFunction=CfnFunction;function CfnFunctionS3LocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().validateNumber)(properties.version)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnFunctionS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionS3LocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key),Version:cdk().numberToCloudFormation(properties.version)}):properties}function CfnFunctionS3LocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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.getNumber(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionFileSystemConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("localMountPath",cdk().validateString)(properties.localMountPath)),errors.wrap('supplied properties not correct for "FileSystemConfigProperty"')}function convertCfnFunctionFileSystemConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionFileSystemConfigPropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),LocalMountPath:cdk().stringToCloudFormation(properties.localMountPath)}):properties}function CfnFunctionFileSystemConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("localMountPath","LocalMountPath",properties.LocalMountPath!=null?cfn_parse().FromCloudFormation.getString(properties.LocalMountPath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionIAMPolicyDocumentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("statement",cdk().requiredValidator)(properties.statement)),errors.collect(cdk().propertyValidator("statement",cdk().validateObject)(properties.statement)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "IAMPolicyDocumentProperty"')}function convertCfnFunctionIAMPolicyDocumentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionIAMPolicyDocumentPropertyValidator(properties).assertSuccess(),{Statement:cdk().objectToCloudFormation(properties.statement),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnFunctionIAMPolicyDocumentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("statement","Statement",properties.Statement!=null?cfn_parse().FromCloudFormation.getAny(properties.Statement):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionEmptySAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.wrap('supplied properties not correct for "EmptySAMPTProperty"')}function convertCfnFunctionEmptySAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionEmptySAMPTPropertyValidator(properties).assertSuccess(),{}):properties}function CfnFunctionEmptySAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionQueueSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("queueName",cdk().requiredValidator)(properties.queueName)),errors.collect(cdk().propertyValidator("queueName",cdk().validateString)(properties.queueName)),errors.wrap('supplied properties not correct for "QueueSAMPTProperty"')}function convertCfnFunctionQueueSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionQueueSAMPTPropertyValidator(properties).assertSuccess(),{QueueName:cdk().stringToCloudFormation(properties.queueName)}):properties}function CfnFunctionQueueSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("queueName","QueueName",properties.QueueName!=null?cfn_parse().FromCloudFormation.getString(properties.QueueName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionFunctionSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("functionName",cdk().requiredValidator)(properties.functionName)),errors.collect(cdk().propertyValidator("functionName",cdk().validateString)(properties.functionName)),errors.wrap('supplied properties not correct for "FunctionSAMPTProperty"')}function convertCfnFunctionFunctionSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionFunctionSAMPTPropertyValidator(properties).assertSuccess(),{FunctionName:cdk().stringToCloudFormation(properties.functionName)}):properties}function CfnFunctionFunctionSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("functionName","FunctionName",properties.FunctionName!=null?cfn_parse().FromCloudFormation.getString(properties.FunctionName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionTableSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),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 "TableSAMPTProperty"')}function convertCfnFunctionTableSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionTableSAMPTPropertyValidator(properties).assertSuccess(),{TableName:cdk().stringToCloudFormation(properties.tableName)}):properties}function CfnFunctionTableSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tableName","TableName",properties.TableName!=null?cfn_parse().FromCloudFormation.getString(properties.TableName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionTableStreamSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("streamName",cdk().requiredValidator)(properties.streamName)),errors.collect(cdk().propertyValidator("streamName",cdk().validateString)(properties.streamName)),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 "TableStreamSAMPTProperty"')}function convertCfnFunctionTableStreamSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionTableStreamSAMPTPropertyValidator(properties).assertSuccess(),{StreamName:cdk().stringToCloudFormation(properties.streamName),TableName:cdk().stringToCloudFormation(properties.tableName)}):properties}function CfnFunctionTableStreamSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("streamName","StreamName",properties.StreamName!=null?cfn_parse().FromCloudFormation.getString(properties.StreamName):void 0),ret.addPropertyResult("tableName","TableName",properties.TableName!=null?cfn_parse().FromCloudFormation.getString(properties.TableName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionIdentitySAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("identityName",cdk().requiredValidator)(properties.identityName)),errors.collect(cdk().propertyValidator("identityName",cdk().validateString)(properties.identityName)),errors.wrap('supplied properties not correct for "IdentitySAMPTProperty"')}function convertCfnFunctionIdentitySAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionIdentitySAMPTPropertyValidator(properties).assertSuccess(),{IdentityName:cdk().stringToCloudFormation(properties.identityName)}):properties}function CfnFunctionIdentitySAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("identityName","IdentityName",properties.IdentityName!=null?cfn_parse().FromCloudFormation.getString(properties.IdentityName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDomainSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.wrap('supplied properties not correct for "DomainSAMPTProperty"')}function convertCfnFunctionDomainSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDomainSAMPTPropertyValidator(properties).assertSuccess(),{DomainName:cdk().stringToCloudFormation(properties.domainName)}):properties}function CfnFunctionDomainSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionBucketSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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 "BucketSAMPTProperty"')}function convertCfnFunctionBucketSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionBucketSAMPTPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName)}):properties}function CfnFunctionBucketSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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 CfnFunctionCollectionSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("collectionId",cdk().requiredValidator)(properties.collectionId)),errors.collect(cdk().propertyValidator("collectionId",cdk().validateString)(properties.collectionId)),errors.wrap('supplied properties not correct for "CollectionSAMPTProperty"')}function convertCfnFunctionCollectionSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionCollectionSAMPTPropertyValidator(properties).assertSuccess(),{CollectionId:cdk().stringToCloudFormation(properties.collectionId)}):properties}function CfnFunctionCollectionSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("collectionId","CollectionId",properties.CollectionId!=null?cfn_parse().FromCloudFormation.getString(properties.CollectionId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionTopicSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("topicName",cdk().requiredValidator)(properties.topicName)),errors.collect(cdk().propertyValidator("topicName",cdk().validateString)(properties.topicName)),errors.wrap('supplied properties not correct for "TopicSAMPTProperty"')}function convertCfnFunctionTopicSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionTopicSAMPTPropertyValidator(properties).assertSuccess(),{TopicName:cdk().stringToCloudFormation(properties.topicName)}):properties}function CfnFunctionTopicSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("topicName","TopicName",properties.TopicName!=null?cfn_parse().FromCloudFormation.getString(properties.TopicName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionStreamSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("streamName",cdk().requiredValidator)(properties.streamName)),errors.collect(cdk().propertyValidator("streamName",cdk().validateString)(properties.streamName)),errors.wrap('supplied properties not correct for "StreamSAMPTProperty"')}function convertCfnFunctionStreamSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionStreamSAMPTPropertyValidator(properties).assertSuccess(),{StreamName:cdk().stringToCloudFormation(properties.streamName)}):properties}function CfnFunctionStreamSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("streamName","StreamName",properties.StreamName!=null?cfn_parse().FromCloudFormation.getString(properties.StreamName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionKeySAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("keyId",cdk().requiredValidator)(properties.keyId)),errors.collect(cdk().propertyValidator("keyId",cdk().validateString)(properties.keyId)),errors.wrap('supplied properties not correct for "KeySAMPTProperty"')}function convertCfnFunctionKeySAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionKeySAMPTPropertyValidator(properties).assertSuccess(),{KeyId:cdk().stringToCloudFormation(properties.keyId)}):properties}function CfnFunctionKeySAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("keyId","KeyId",properties.KeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KeyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionLogGroupSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("logGroupName",cdk().requiredValidator)(properties.logGroupName)),errors.collect(cdk().propertyValidator("logGroupName",cdk().validateString)(properties.logGroupName)),errors.wrap('supplied properties not correct for "LogGroupSAMPTProperty"')}function convertCfnFunctionLogGroupSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionLogGroupSAMPTPropertyValidator(properties).assertSuccess(),{LogGroupName:cdk().stringToCloudFormation(properties.logGroupName)}):properties}function CfnFunctionLogGroupSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("logGroupName","LogGroupName",properties.LogGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.LogGroupName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionStateMachineSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("stateMachineName",cdk().requiredValidator)(properties.stateMachineName)),errors.collect(cdk().propertyValidator("stateMachineName",cdk().validateString)(properties.stateMachineName)),errors.wrap('supplied properties not correct for "StateMachineSAMPTProperty"')}function convertCfnFunctionStateMachineSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionStateMachineSAMPTPropertyValidator(properties).assertSuccess(),{StateMachineName:cdk().stringToCloudFormation(properties.stateMachineName)}):properties}function CfnFunctionStateMachineSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("stateMachineName","StateMachineName",properties.StateMachineName!=null?cfn_parse().FromCloudFormation.getString(properties.StateMachineName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionParameterNameSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("parameterName",cdk().requiredValidator)(properties.parameterName)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.wrap('supplied properties not correct for "ParameterNameSAMPTProperty"')}function convertCfnFunctionParameterNameSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionParameterNameSAMPTPropertyValidator(properties).assertSuccess(),{ParameterName:cdk().stringToCloudFormation(properties.parameterName)}):properties}function CfnFunctionParameterNameSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionSecretArnSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "SecretArnSAMPTProperty"')}function convertCfnFunctionSecretArnSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionSecretArnSAMPTPropertyValidator(properties).assertSuccess(),{SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnFunctionSecretArnSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionSAMPolicyTemplatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("amiDescribePolicy",CfnFunctionEmptySAMPTPropertyValidator)(properties.amiDescribePolicy)),errors.collect(cdk().propertyValidator("awsSecretsManagerGetSecretValuePolicy",CfnFunctionSecretArnSAMPTPropertyValidator)(properties.awsSecretsManagerGetSecretValuePolicy)),errors.collect(cdk().propertyValidator("cloudFormationDescribeStacksPolicy",CfnFunctionEmptySAMPTPropertyValidator)(properties.cloudFormationDescribeStacksPolicy)),errors.collect(cdk().propertyValidator("cloudWatchPutMetricPolicy",CfnFunctionEmptySAMPTPropertyValidator)(properties.cloudWatchPutMetricPolicy)),errors.collect(cdk().propertyValidator("dynamoDbCrudPolicy",CfnFunctionTableSAMPTPropertyValidator)(properties.dynamoDbCrudPolicy)),errors.collect(cdk().propertyValidator("dynamoDbReadPolicy",CfnFunctionTableSAMPTPropertyValidator)(properties.dynamoDbReadPolicy)),errors.collect(cdk().propertyValidator("dynamoDbStreamReadPolicy",CfnFunctionTableStreamSAMPTPropertyValidator)(properties.dynamoDbStreamReadPolicy)),errors.collect(cdk().propertyValidator("dynamoDbWritePolicy",CfnFunctionTableSAMPTPropertyValidator)(properties.dynamoDbWritePolicy)),errors.collect(cdk().propertyValidator("ec2DescribePolicy",CfnFunctionEmptySAMPTPropertyValidator)(properties.ec2DescribePolicy)),errors.collect(cdk().propertyValidator("elasticsearchHttpPostPolicy",CfnFunctionDomainSAMPTPropertyValidator)(properties.elasticsearchHttpPostPolicy)),errors.collect(cdk().propertyValidator("filterLogEventsPolicy",CfnFunctionLogGroupSAMPTPropertyValidator)(properties.filterLogEventsPolicy)),errors.collect(cdk().propertyValidator("kmsDecryptPolicy",CfnFunctionKeySAMPTPropertyValidator)(properties.kmsDecryptPolicy)),errors.collect(cdk().propertyValidator("kinesisCrudPolicy",CfnFunctionStreamSAMPTPropertyValidator)(properties.kinesisCrudPolicy)),errors.collect(cdk().propertyValidator("kinesisStreamReadPolicy",CfnFunctionStreamSAMPTPropertyValidator)(properties.kinesisStreamReadPolicy)),errors.collect(cdk().propertyValidator("lambdaInvokePolicy",CfnFunctionFunctionSAMPTPropertyValidator)(properties.lambdaInvokePolicy)),errors.collect(cdk().propertyValidator("rekognitionDetectOnlyPolicy",CfnFunctionEmptySAMPTPropertyValidator)(properties.rekognitionDetectOnlyPolicy)),errors.collect(cdk().propertyValidator("rekognitionLabelsPolicy",CfnFunctionEmptySAMPTPropertyValidator)(properties.rekognitionLabelsPolicy)),errors.collect(cdk().propertyValidator("rekognitionNoDataAccessPolicy",CfnFunctionCollectionSAMPTPropertyValidator)(properties.rekognitionNoDataAccessPolicy)),errors.collect(cdk().propertyValidator("rekognitionReadPolicy",CfnFunctionCollectionSAMPTPropertyValidator)(properties.rekognitionReadPolicy)),errors.collect(cdk().propertyValidator("rekognitionWriteOnlyAccessPolicy",CfnFunctionCollectionSAMPTPropertyValidator)(properties.rekognitionWriteOnlyAccessPolicy)),errors.collect(cdk().propertyValidator("s3CrudPolicy",CfnFunctionBucketSAMPTPropertyValidator)(properties.s3CrudPolicy)),errors.collect(cdk().propertyValidator("s3ReadPolicy",CfnFunctionBucketSAMPTPropertyValidator)(properties.s3ReadPolicy)),errors.collect(cdk().propertyValidator("s3WritePolicy",CfnFunctionBucketSAMPTPropertyValidator)(properties.s3WritePolicy)),errors.collect(cdk().propertyValidator("sesBulkTemplatedCrudPolicy",CfnFunctionIdentitySAMPTPropertyValidator)(properties.sesBulkTemplatedCrudPolicy)),errors.collect(cdk().propertyValidator("sesCrudPolicy",CfnFunctionIdentitySAMPTPropertyValidator)(properties.sesCrudPolicy)),errors.collect(cdk().propertyValidator("sesEmailTemplateCrudPolicy",CfnFunctionEmptySAMPTPropertyValidator)(properties.sesEmailTemplateCrudPolicy)),errors.collect(cdk().propertyValidator("sesSendBouncePolicy",CfnFunctionIdentitySAMPTPropertyValidator)(properties.sesSendBouncePolicy)),errors.collect(cdk().propertyValidator("snsCrudPolicy",CfnFunctionTopicSAMPTPropertyValidator)(properties.snsCrudPolicy)),errors.collect(cdk().propertyValidator("snsPublishMessagePolicy",CfnFunctionTopicSAMPTPropertyValidator)(properties.snsPublishMessagePolicy)),errors.collect(cdk().propertyValidator("sqsPollerPolicy",CfnFunctionQueueSAMPTPropertyValidator)(properties.sqsPollerPolicy)),errors.collect(cdk().propertyValidator("sqsSendMessagePolicy",CfnFunctionQueueSAMPTPropertyValidator)(properties.sqsSendMessagePolicy)),errors.collect(cdk().propertyValidator("ssmParameterReadPolicy",CfnFunctionParameterNameSAMPTPropertyValidator)(properties.ssmParameterReadPolicy)),errors.collect(cdk().propertyValidator("stepFunctionsExecutionPolicy",CfnFunctionStateMachineSAMPTPropertyValidator)(properties.stepFunctionsExecutionPolicy)),errors.collect(cdk().propertyValidator("vpcAccessPolicy",CfnFunctionEmptySAMPTPropertyValidator)(properties.vpcAccessPolicy)),errors.wrap('supplied properties not correct for "SAMPolicyTemplateProperty"')}function convertCfnFunctionSAMPolicyTemplatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionSAMPolicyTemplatePropertyValidator(properties).assertSuccess(),{AMIDescribePolicy:convertCfnFunctionEmptySAMPTPropertyToCloudFormation(properties.amiDescribePolicy),AWSSecretsManagerGetSecretValuePolicy:convertCfnFunctionSecretArnSAMPTPropertyToCloudFormation(properties.awsSecretsManagerGetSecretValuePolicy),CloudFormationDescribeStacksPolicy:convertCfnFunctionEmptySAMPTPropertyToCloudFormation(properties.cloudFormationDescribeStacksPolicy),CloudWatchPutMetricPolicy:convertCfnFunctionEmptySAMPTPropertyToCloudFormation(properties.cloudWatchPutMetricPolicy),DynamoDBCrudPolicy:convertCfnFunctionTableSAMPTPropertyToCloudFormation(properties.dynamoDbCrudPolicy),DynamoDBReadPolicy:convertCfnFunctionTableSAMPTPropertyToCloudFormation(properties.dynamoDbReadPolicy),DynamoDBStreamReadPolicy:convertCfnFunctionTableStreamSAMPTPropertyToCloudFormation(properties.dynamoDbStreamReadPolicy),DynamoDBWritePolicy:convertCfnFunctionTableSAMPTPropertyToCloudFormation(properties.dynamoDbWritePolicy),EC2DescribePolicy:convertCfnFunctionEmptySAMPTPropertyToCloudFormation(properties.ec2DescribePolicy),ElasticsearchHttpPostPolicy:convertCfnFunctionDomainSAMPTPropertyToCloudFormation(properties.elasticsearchHttpPostPolicy),FilterLogEventsPolicy:convertCfnFunctionLogGroupSAMPTPropertyToCloudFormation(properties.filterLogEventsPolicy),KMSDecryptPolicy:convertCfnFunctionKeySAMPTPropertyToCloudFormation(properties.kmsDecryptPolicy),KinesisCrudPolicy:convertCfnFunctionStreamSAMPTPropertyToCloudFormation(properties.kinesisCrudPolicy),KinesisStreamReadPolicy:convertCfnFunctionStreamSAMPTPropertyToCloudFormation(properties.kinesisStreamReadPolicy),LambdaInvokePolicy:convertCfnFunctionFunctionSAMPTPropertyToCloudFormation(properties.lambdaInvokePolicy),RekognitionDetectOnlyPolicy:convertCfnFunctionEmptySAMPTPropertyToCloudFormation(properties.rekognitionDetectOnlyPolicy),RekognitionLabelsPolicy:convertCfnFunctionEmptySAMPTPropertyToCloudFormation(properties.rekognitionLabelsPolicy),RekognitionNoDataAccessPolicy:convertCfnFunctionCollectionSAMPTPropertyToCloudFormation(properties.rekognitionNoDataAccessPolicy),RekognitionReadPolicy:convertCfnFunctionCollectionSAMPTPropertyToCloudFormation(properties.rekognitionReadPolicy),RekognitionWriteOnlyAccessPolicy:convertCfnFunctionCollectionSAMPTPropertyToCloudFormation(properties.rekognitionWriteOnlyAccessPolicy),S3CrudPolicy:convertCfnFunctionBucketSAMPTPropertyToCloudFormation(properties.s3CrudPolicy),S3ReadPolicy:convertCfnFunctionBucketSAMPTPropertyToCloudFormation(properties.s3ReadPolicy),S3WritePolicy:convertCfnFunctionBucketSAMPTPropertyToCloudFormation(properties.s3WritePolicy),SESBulkTemplatedCrudPolicy:convertCfnFunctionIdentitySAMPTPropertyToCloudFormation(properties.sesBulkTemplatedCrudPolicy),SESCrudPolicy:convertCfnFunctionIdentitySAMPTPropertyToCloudFormation(properties.sesCrudPolicy),SESEmailTemplateCrudPolicy:convertCfnFunctionEmptySAMPTPropertyToCloudFormation(properties.sesEmailTemplateCrudPolicy),SESSendBouncePolicy:convertCfnFunctionIdentitySAMPTPropertyToCloudFormation(properties.sesSendBouncePolicy),SNSCrudPolicy:convertCfnFunctionTopicSAMPTPropertyToCloudFormation(properties.snsCrudPolicy),SNSPublishMessagePolicy:convertCfnFunctionTopicSAMPTPropertyToCloudFormation(properties.snsPublishMessagePolicy),SQSPollerPolicy:convertCfnFunctionQueueSAMPTPropertyToCloudFormation(properties.sqsPollerPolicy),SQSSendMessagePolicy:convertCfnFunctionQueueSAMPTPropertyToCloudFormation(properties.sqsSendMessagePolicy),SSMParameterReadPolicy:convertCfnFunctionParameterNameSAMPTPropertyToCloudFormation(properties.ssmParameterReadPolicy),StepFunctionsExecutionPolicy:convertCfnFunctionStateMachineSAMPTPropertyToCloudFormation(properties.stepFunctionsExecutionPolicy),VPCAccessPolicy:convertCfnFunctionEmptySAMPTPropertyToCloudFormation(properties.vpcAccessPolicy)}):properties}function CfnFunctionSAMPolicyTemplatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("amiDescribePolicy","AMIDescribePolicy",properties.AMIDescribePolicy!=null?CfnFunctionEmptySAMPTPropertyFromCloudFormation(properties.AMIDescribePolicy):void 0),ret.addPropertyResult("awsSecretsManagerGetSecretValuePolicy","AWSSecretsManagerGetSecretValuePolicy",properties.AWSSecretsManagerGetSecretValuePolicy!=null?CfnFunctionSecretArnSAMPTPropertyFromCloudFormation(properties.AWSSecretsManagerGetSecretValuePolicy):void 0),ret.addPropertyResult("cloudFormationDescribeStacksPolicy","CloudFormationDescribeStacksPolicy",properties.CloudFormationDescribeStacksPolicy!=null?CfnFunctionEmptySAMPTPropertyFromCloudFormation(properties.CloudFormationDescribeStacksPolicy):void 0),ret.addPropertyResult("cloudWatchPutMetricPolicy","CloudWatchPutMetricPolicy",properties.CloudWatchPutMetricPolicy!=null?CfnFunctionEmptySAMPTPropertyFromCloudFormation(properties.CloudWatchPutMetricPolicy):void 0),ret.addPropertyResult("dynamoDbCrudPolicy","DynamoDBCrudPolicy",properties.DynamoDBCrudPolicy!=null?CfnFunctionTableSAMPTPropertyFromCloudFormation(properties.DynamoDBCrudPolicy):void 0),ret.addPropertyResult("dynamoDbReadPolicy","DynamoDBReadPolicy",properties.DynamoDBReadPolicy!=null?CfnFunctionTableSAMPTPropertyFromCloudFormation(properties.DynamoDBReadPolicy):void 0),ret.addPropertyResult("dynamoDbStreamReadPolicy","DynamoDBStreamReadPolicy",properties.DynamoDBStreamReadPolicy!=null?CfnFunctionTableStreamSAMPTPropertyFromCloudFormation(properties.DynamoDBStreamReadPolicy):void 0),ret.addPropertyResult("dynamoDbWritePolicy","DynamoDBWritePolicy",properties.DynamoDBWritePolicy!=null?CfnFunctionTableSAMPTPropertyFromCloudFormation(properties.DynamoDBWritePolicy):void 0),ret.addPropertyResult("ec2DescribePolicy","EC2DescribePolicy",properties.EC2DescribePolicy!=null?CfnFunctionEmptySAMPTPropertyFromCloudFormation(properties.EC2DescribePolicy):void 0),ret.addPropertyResult("elasticsearchHttpPostPolicy","ElasticsearchHttpPostPolicy",properties.ElasticsearchHttpPostPolicy!=null?CfnFunctionDomainSAMPTPropertyFromCloudFormation(properties.ElasticsearchHttpPostPolicy):void 0),ret.addPropertyResult("filterLogEventsPolicy","FilterLogEventsPolicy",properties.FilterLogEventsPolicy!=null?CfnFunctionLogGroupSAMPTPropertyFromCloudFormation(properties.FilterLogEventsPolicy):void 0),ret.addPropertyResult("kinesisCrudPolicy","KinesisCrudPolicy",properties.KinesisCrudPolicy!=null?CfnFunctionStreamSAMPTPropertyFromCloudFormation(properties.KinesisCrudPolicy):void 0),ret.addPropertyResult("kinesisStreamReadPolicy","KinesisStreamReadPolicy",properties.KinesisStreamReadPolicy!=null?CfnFunctionStreamSAMPTPropertyFromCloudFormation(properties.KinesisStreamReadPolicy):void 0),ret.addPropertyResult("kmsDecryptPolicy","KMSDecryptPolicy",properties.KMSDecryptPolicy!=null?CfnFunctionKeySAMPTPropertyFromCloudFormation(properties.KMSDecryptPolicy):void 0),ret.addPropertyResult("lambdaInvokePolicy","LambdaInvokePolicy",properties.LambdaInvokePolicy!=null?CfnFunctionFunctionSAMPTPropertyFromCloudFormation(properties.LambdaInvokePolicy):void 0),ret.addPropertyResult("rekognitionDetectOnlyPolicy","RekognitionDetectOnlyPolicy",properties.RekognitionDetectOnlyPolicy!=null?CfnFunctionEmptySAMPTPropertyFromCloudFormation(properties.RekognitionDetectOnlyPolicy):void 0),ret.addPropertyResult("rekognitionLabelsPolicy","RekognitionLabelsPolicy",properties.RekognitionLabelsPolicy!=null?CfnFunctionEmptySAMPTPropertyFromCloudFormation(properties.RekognitionLabelsPolicy):void 0),ret.addPropertyResult("rekognitionNoDataAccessPolicy","RekognitionNoDataAccessPolicy",properties.RekognitionNoDataAccessPolicy!=null?CfnFunctionCollectionSAMPTPropertyFromCloudFormation(properties.RekognitionNoDataAccessPolicy):void 0),ret.addPropertyResult("rekognitionReadPolicy","RekognitionReadPolicy",properties.RekognitionReadPolicy!=null?CfnFunctionCollectionSAMPTPropertyFromCloudFormation(properties.RekognitionReadPolicy):void 0),ret.addPropertyResult("rekognitionWriteOnlyAccessPolicy","RekognitionWriteOnlyAccessPolicy",properties.RekognitionWriteOnlyAccessPolicy!=null?CfnFunctionCollectionSAMPTPropertyFromCloudFormation(properties.RekognitionWriteOnlyAccessPolicy):void 0),ret.addPropertyResult("s3CrudPolicy","S3CrudPolicy",properties.S3CrudPolicy!=null?CfnFunctionBucketSAMPTPropertyFromCloudFormation(properties.S3CrudPolicy):void 0),ret.addPropertyResult("s3ReadPolicy","S3ReadPolicy",properties.S3ReadPolicy!=null?CfnFunctionBucketSAMPTPropertyFromCloudFormation(properties.S3ReadPolicy):void 0),ret.addPropertyResult("s3WritePolicy","S3WritePolicy",properties.S3WritePolicy!=null?CfnFunctionBucketSAMPTPropertyFromCloudFormation(properties.S3WritePolicy):void 0),ret.addPropertyResult("sesBulkTemplatedCrudPolicy","SESBulkTemplatedCrudPolicy",properties.SESBulkTemplatedCrudPolicy!=null?CfnFunctionIdentitySAMPTPropertyFromCloudFormation(properties.SESBulkTemplatedCrudPolicy):void 0),ret.addPropertyResult("sesCrudPolicy","SESCrudPolicy",properties.SESCrudPolicy!=null?CfnFunctionIdentitySAMPTPropertyFromCloudFormation(properties.SESCrudPolicy):void 0),ret.addPropertyResult("sesEmailTemplateCrudPolicy","SESEmailTemplateCrudPolicy",properties.SESEmailTemplateCrudPolicy!=null?CfnFunctionEmptySAMPTPropertyFromCloudFormation(properties.SESEmailTemplateCrudPolicy):void 0),ret.addPropertyResult("sesSendBouncePolicy","SESSendBouncePolicy",properties.SESSendBouncePolicy!=null?CfnFunctionIdentitySAMPTPropertyFromCloudFormation(properties.SESSendBouncePolicy):void 0),ret.addPropertyResult("snsCrudPolicy","SNSCrudPolicy",properties.SNSCrudPolicy!=null?CfnFunctionTopicSAMPTPropertyFromCloudFormation(properties.SNSCrudPolicy):void 0),ret.addPropertyResult("snsPublishMessagePolicy","SNSPublishMessagePolicy",properties.SNSPublishMessagePolicy!=null?CfnFunctionTopicSAMPTPropertyFromCloudFormation(properties.SNSPublishMessagePolicy):void 0),ret.addPropertyResult("sqsPollerPolicy","SQSPollerPolicy",properties.SQSPollerPolicy!=null?CfnFunctionQueueSAMPTPropertyFromCloudFormation(properties.SQSPollerPolicy):void 0),ret.addPropertyResult("sqsSendMessagePolicy","SQSSendMessagePolicy",properties.SQSSendMessagePolicy!=null?CfnFunctionQueueSAMPTPropertyFromCloudFormation(properties.SQSSendMessagePolicy):void 0),ret.addPropertyResult("ssmParameterReadPolicy","SSMParameterReadPolicy",properties.SSMParameterReadPolicy!=null?CfnFunctionParameterNameSAMPTPropertyFromCloudFormation(properties.SSMParameterReadPolicy):void 0),ret.addPropertyResult("stepFunctionsExecutionPolicy","StepFunctionsExecutionPolicy",properties.StepFunctionsExecutionPolicy!=null?CfnFunctionStateMachineSAMPTPropertyFromCloudFormation(properties.StepFunctionsExecutionPolicy):void 0),ret.addPropertyResult("vpcAccessPolicy","VPCAccessPolicy",properties.VPCAccessPolicy!=null?CfnFunctionEmptySAMPTPropertyFromCloudFormation(properties.VPCAccessPolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionFunctionEnvironmentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("variables",cdk().requiredValidator)(properties.variables)),errors.collect(cdk().propertyValidator("variables",cdk().hashValidator(cdk().validateString))(properties.variables)),errors.wrap('supplied properties not correct for "FunctionEnvironmentProperty"')}function convertCfnFunctionFunctionEnvironmentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionFunctionEnvironmentPropertyValidator(properties).assertSuccess(),{Variables:cdk().hashMapper(cdk().stringToCloudFormation)(properties.variables)}):properties}function CfnFunctionFunctionEnvironmentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("variables","Variables",properties.Variables!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Variables):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionVpcConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().requiredValidator)(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().requiredValidator)(properties.subnetIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.wrap('supplied properties not correct for "VpcConfigProperty"')}function convertCfnFunctionVpcConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionVpcConfigPropertyValidator(properties).assertSuccess(),{SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds)}):properties}function CfnFunctionVpcConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionS3KeyFilterRulePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "S3KeyFilterRuleProperty"')}function convertCfnFunctionS3KeyFilterRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionS3KeyFilterRulePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnFunctionS3KeyFilterRulePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionS3KeyFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("rules",cdk().requiredValidator)(properties.rules)),errors.collect(cdk().propertyValidator("rules",cdk().listValidator(CfnFunctionS3KeyFilterRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "S3KeyFilterProperty"')}function convertCfnFunctionS3KeyFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionS3KeyFilterPropertyValidator(properties).assertSuccess(),{Rules:cdk().listMapper(convertCfnFunctionS3KeyFilterRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnFunctionS3KeyFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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(CfnFunctionS3KeyFilterRulePropertyFromCloudFormation)(properties.Rules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionS3NotificationFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("s3Key",cdk().requiredValidator)(properties.s3Key)),errors.collect(cdk().propertyValidator("s3Key",CfnFunctionS3KeyFilterPropertyValidator)(properties.s3Key)),errors.wrap('supplied properties not correct for "S3NotificationFilterProperty"')}function convertCfnFunctionS3NotificationFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionS3NotificationFilterPropertyValidator(properties).assertSuccess(),{S3Key:convertCfnFunctionS3KeyFilterPropertyToCloudFormation(properties.s3Key)}):properties}function CfnFunctionS3NotificationFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("s3Key","S3Key",properties.S3Key!=null?CfnFunctionS3KeyFilterPropertyFromCloudFormation(properties.S3Key):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionS3EventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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("events",cdk().requiredValidator)(properties.events)),errors.collect(cdk().propertyValidator("events",cdk().validateString)(properties.events)),errors.collect(cdk().propertyValidator("filter",CfnFunctionS3NotificationFilterPropertyValidator)(properties.filter)),errors.wrap('supplied properties not correct for "S3EventProperty"')}function convertCfnFunctionS3EventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionS3EventPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Events:cdk().stringToCloudFormation(properties.events),Filter:convertCfnFunctionS3NotificationFilterPropertyToCloudFormation(properties.filter)}):properties}function CfnFunctionS3EventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("events","Events",properties.Events!=null?cfn_parse().FromCloudFormation.getString(properties.Events):void 0),ret.addPropertyResult("filter","Filter",properties.Filter!=null?CfnFunctionS3NotificationFilterPropertyFromCloudFormation(properties.Filter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionSNSEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("topic",cdk().requiredValidator)(properties.topic)),errors.collect(cdk().propertyValidator("topic",cdk().validateString)(properties.topic)),errors.wrap('supplied properties not correct for "SNSEventProperty"')}function convertCfnFunctionSNSEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionSNSEventPropertyValidator(properties).assertSuccess(),{Topic:cdk().stringToCloudFormation(properties.topic)}):properties}function CfnFunctionSNSEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("topic","Topic",properties.Topic!=null?cfn_parse().FromCloudFormation.getString(properties.Topic):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionSQSEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("batchSize",cdk().validateNumber)(properties.batchSize)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("queue",cdk().requiredValidator)(properties.queue)),errors.collect(cdk().propertyValidator("queue",cdk().validateString)(properties.queue)),errors.wrap('supplied properties not correct for "SQSEventProperty"')}function convertCfnFunctionSQSEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionSQSEventPropertyValidator(properties).assertSuccess(),{BatchSize:cdk().numberToCloudFormation(properties.batchSize),Enabled:cdk().booleanToCloudFormation(properties.enabled),Queue:cdk().stringToCloudFormation(properties.queue)}):properties}function CfnFunctionSQSEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("batchSize","BatchSize",properties.BatchSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.BatchSize):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("queue","Queue",properties.Queue!=null?cfn_parse().FromCloudFormation.getString(properties.Queue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionKinesisEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("batchSize",cdk().validateNumber)(properties.batchSize)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("functionResponseTypes",cdk().listValidator(cdk().validateString))(properties.functionResponseTypes)),errors.collect(cdk().propertyValidator("startingPosition",cdk().requiredValidator)(properties.startingPosition)),errors.collect(cdk().propertyValidator("startingPosition",cdk().validateString)(properties.startingPosition)),errors.collect(cdk().propertyValidator("stream",cdk().requiredValidator)(properties.stream)),errors.collect(cdk().propertyValidator("stream",cdk().validateString)(properties.stream)),errors.wrap('supplied properties not correct for "KinesisEventProperty"')}function convertCfnFunctionKinesisEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionKinesisEventPropertyValidator(properties).assertSuccess(),{BatchSize:cdk().numberToCloudFormation(properties.batchSize),Enabled:cdk().booleanToCloudFormation(properties.enabled),FunctionResponseTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.functionResponseTypes),StartingPosition:cdk().stringToCloudFormation(properties.startingPosition),Stream:cdk().stringToCloudFormation(properties.stream)}):properties}function CfnFunctionKinesisEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("batchSize","BatchSize",properties.BatchSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.BatchSize):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("functionResponseTypes","FunctionResponseTypes",properties.FunctionResponseTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.FunctionResponseTypes):void 0),ret.addPropertyResult("startingPosition","StartingPosition",properties.StartingPosition!=null?cfn_parse().FromCloudFormation.getString(properties.StartingPosition):void 0),ret.addPropertyResult("stream","Stream",properties.Stream!=null?cfn_parse().FromCloudFormation.getString(properties.Stream):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destination",cdk().requiredValidator)(properties.destination)),errors.collect(cdk().propertyValidator("destination",cdk().validateString)(properties.destination)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DestinationProperty"')}function convertCfnFunctionDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDestinationPropertyValidator(properties).assertSuccess(),{Destination:cdk().stringToCloudFormation(properties.destination),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFunctionDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",properties.Destination!=null?cfn_parse().FromCloudFormation.getString(properties.Destination):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDestinationConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("onFailure",cdk().requiredValidator)(properties.onFailure)),errors.collect(cdk().propertyValidator("onFailure",CfnFunctionDestinationPropertyValidator)(properties.onFailure)),errors.wrap('supplied properties not correct for "DestinationConfigProperty"')}function convertCfnFunctionDestinationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDestinationConfigPropertyValidator(properties).assertSuccess(),{OnFailure:convertCfnFunctionDestinationPropertyToCloudFormation(properties.onFailure)}):properties}function CfnFunctionDestinationConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("onFailure","OnFailure",properties.OnFailure!=null?CfnFunctionDestinationPropertyFromCloudFormation(properties.OnFailure):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDynamoDBEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("batchSize",cdk().validateNumber)(properties.batchSize)),errors.collect(cdk().propertyValidator("bisectBatchOnFunctionError",cdk().validateBoolean)(properties.bisectBatchOnFunctionError)),errors.collect(cdk().propertyValidator("destinationConfig",CfnFunctionDestinationConfigPropertyValidator)(properties.destinationConfig)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("maximumBatchingWindowInSeconds",cdk().validateNumber)(properties.maximumBatchingWindowInSeconds)),errors.collect(cdk().propertyValidator("maximumRecordAgeInSeconds",cdk().validateNumber)(properties.maximumRecordAgeInSeconds)),errors.collect(cdk().propertyValidator("maximumRetryAttempts",cdk().validateNumber)(properties.maximumRetryAttempts)),errors.collect(cdk().propertyValidator("parallelizationFactor",cdk().validateNumber)(properties.parallelizationFactor)),errors.collect(cdk().propertyValidator("startingPosition",cdk().requiredValidator)(properties.startingPosition)),errors.collect(cdk().propertyValidator("startingPosition",cdk().validateString)(properties.startingPosition)),errors.collect(cdk().propertyValidator("stream",cdk().requiredValidator)(properties.stream)),errors.collect(cdk().propertyValidator("stream",cdk().validateString)(properties.stream)),errors.wrap('supplied properties not correct for "DynamoDBEventProperty"')}function convertCfnFunctionDynamoDBEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDynamoDBEventPropertyValidator(properties).assertSuccess(),{BatchSize:cdk().numberToCloudFormation(properties.batchSize),BisectBatchOnFunctionError:cdk().booleanToCloudFormation(properties.bisectBatchOnFunctionError),DestinationConfig:convertCfnFunctionDestinationConfigPropertyToCloudFormation(properties.destinationConfig),Enabled:cdk().booleanToCloudFormation(properties.enabled),MaximumBatchingWindowInSeconds:cdk().numberToCloudFormation(properties.maximumBatchingWindowInSeconds),MaximumRecordAgeInSeconds:cdk().numberToCloudFormation(properties.maximumRecordAgeInSeconds),MaximumRetryAttempts:cdk().numberToCloudFormation(properties.maximumRetryAttempts),ParallelizationFactor:cdk().numberToCloudFormation(properties.parallelizationFactor),StartingPosition:cdk().stringToCloudFormation(properties.startingPosition),Stream:cdk().stringToCloudFormation(properties.stream)}):properties}function CfnFunctionDynamoDBEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("batchSize","BatchSize",properties.BatchSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.BatchSize):void 0),ret.addPropertyResult("bisectBatchOnFunctionError","BisectBatchOnFunctionError",properties.BisectBatchOnFunctionError!=null?cfn_parse().FromCloudFormation.getBoolean(properties.BisectBatchOnFunctionError):void 0),ret.addPropertyResult("destinationConfig","DestinationConfig",properties.DestinationConfig!=null?CfnFunctionDestinationConfigPropertyFromCloudFormation(properties.DestinationConfig):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("maximumBatchingWindowInSeconds","MaximumBatchingWindowInSeconds",properties.MaximumBatchingWindowInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumBatchingWindowInSeconds):void 0),ret.addPropertyResult("maximumRecordAgeInSeconds","MaximumRecordAgeInSeconds",properties.MaximumRecordAgeInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumRecordAgeInSeconds):void 0),ret.addPropertyResult("maximumRetryAttempts","MaximumRetryAttempts",properties.MaximumRetryAttempts!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumRetryAttempts):void 0),ret.addPropertyResult("parallelizationFactor","ParallelizationFactor",properties.ParallelizationFactor!=null?cfn_parse().FromCloudFormation.getNumber(properties.ParallelizationFactor):void 0),ret.addPropertyResult("startingPosition","StartingPosition",properties.StartingPosition!=null?cfn_parse().FromCloudFormation.getString(properties.StartingPosition):void 0),ret.addPropertyResult("stream","Stream",properties.Stream!=null?cfn_parse().FromCloudFormation.getString(properties.Stream):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionAuthResourcePolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("awsAccountBlacklist",cdk().listValidator(cdk().validateString))(properties.awsAccountBlacklist)),errors.collect(cdk().propertyValidator("awsAccountWhitelist",cdk().listValidator(cdk().validateString))(properties.awsAccountWhitelist)),errors.collect(cdk().propertyValidator("customStatements",cdk().listValidator(cdk().validateObject))(properties.customStatements)),errors.collect(cdk().propertyValidator("intrinsicVpcBlacklist",cdk().listValidator(cdk().validateString))(properties.intrinsicVpcBlacklist)),errors.collect(cdk().propertyValidator("intrinsicVpcWhitelist",cdk().listValidator(cdk().validateString))(properties.intrinsicVpcWhitelist)),errors.collect(cdk().propertyValidator("intrinsicVpceBlacklist",cdk().listValidator(cdk().validateString))(properties.intrinsicVpceBlacklist)),errors.collect(cdk().propertyValidator("intrinsicVpceWhitelist",cdk().listValidator(cdk().validateString))(properties.intrinsicVpceWhitelist)),errors.collect(cdk().propertyValidator("ipRangeBlacklist",cdk().listValidator(cdk().validateString))(properties.ipRangeBlacklist)),errors.collect(cdk().propertyValidator("ipRangeWhitelist",cdk().listValidator(cdk().validateString))(properties.ipRangeWhitelist)),errors.collect(cdk().propertyValidator("sourceVpcBlacklist",cdk().listValidator(cdk().validateString))(properties.sourceVpcBlacklist)),errors.collect(cdk().propertyValidator("sourceVpcWhitelist",cdk().listValidator(cdk().validateString))(properties.sourceVpcWhitelist)),errors.wrap('supplied properties not correct for "AuthResourcePolicyProperty"')}function convertCfnFunctionAuthResourcePolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionAuthResourcePolicyPropertyValidator(properties).assertSuccess(),{AwsAccountBlacklist:cdk().listMapper(cdk().stringToCloudFormation)(properties.awsAccountBlacklist),AwsAccountWhitelist:cdk().listMapper(cdk().stringToCloudFormation)(properties.awsAccountWhitelist),CustomStatements:cdk().listMapper(cdk().objectToCloudFormation)(properties.customStatements),IntrinsicVpcBlacklist:cdk().listMapper(cdk().stringToCloudFormation)(properties.intrinsicVpcBlacklist),IntrinsicVpcWhitelist:cdk().listMapper(cdk().stringToCloudFormation)(properties.intrinsicVpcWhitelist),IntrinsicVpceBlacklist:cdk().listMapper(cdk().stringToCloudFormation)(properties.intrinsicVpceBlacklist),IntrinsicVpceWhitelist:cdk().listMapper(cdk().stringToCloudFormation)(properties.intrinsicVpceWhitelist),IpRangeBlacklist:cdk().listMapper(cdk().stringToCloudFormation)(properties.ipRangeBlacklist),IpRangeWhitelist:cdk().listMapper(cdk().stringToCloudFormation)(properties.ipRangeWhitelist),SourceVpcBlacklist:cdk().listMapper(cdk().stringToCloudFormation)(properties.sourceVpcBlacklist),SourceVpcWhitelist:cdk().listMapper(cdk().stringToCloudFormation)(properties.sourceVpcWhitelist)}):properties}function CfnFunctionAuthResourcePolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("awsAccountBlacklist","AwsAccountBlacklist",properties.AwsAccountBlacklist!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AwsAccountBlacklist):void 0),ret.addPropertyResult("awsAccountWhitelist","AwsAccountWhitelist",properties.AwsAccountWhitelist!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AwsAccountWhitelist):void 0),ret.addPropertyResult("customStatements","CustomStatements",properties.CustomStatements!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getAny)(properties.CustomStatements):void 0),ret.addPropertyResult("intrinsicVpcBlacklist","IntrinsicVpcBlacklist",properties.IntrinsicVpcBlacklist!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IntrinsicVpcBlacklist):void 0),ret.addPropertyResult("intrinsicVpceBlacklist","IntrinsicVpceBlacklist",properties.IntrinsicVpceBlacklist!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IntrinsicVpceBlacklist):void 0),ret.addPropertyResult("intrinsicVpceWhitelist","IntrinsicVpceWhitelist",properties.IntrinsicVpceWhitelist!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IntrinsicVpceWhitelist):void 0),ret.addPropertyResult("intrinsicVpcWhitelist","IntrinsicVpcWhitelist",properties.IntrinsicVpcWhitelist!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IntrinsicVpcWhitelist):void 0),ret.addPropertyResult("ipRangeBlacklist","IpRangeBlacklist",properties.IpRangeBlacklist!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IpRangeBlacklist):void 0),ret.addPropertyResult("ipRangeWhitelist","IpRangeWhitelist",properties.IpRangeWhitelist!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IpRangeWhitelist):void 0),ret.addPropertyResult("sourceVpcBlacklist","SourceVpcBlacklist",properties.SourceVpcBlacklist!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SourceVpcBlacklist):void 0),ret.addPropertyResult("sourceVpcWhitelist","SourceVpcWhitelist",properties.SourceVpcWhitelist!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SourceVpcWhitelist):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionAuthPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("apiKeyRequired",cdk().validateBoolean)(properties.apiKeyRequired)),errors.collect(cdk().propertyValidator("authorizationScopes",cdk().listValidator(cdk().validateString))(properties.authorizationScopes)),errors.collect(cdk().propertyValidator("authorizer",cdk().validateString)(properties.authorizer)),errors.collect(cdk().propertyValidator("resourcePolicy",CfnFunctionAuthResourcePolicyPropertyValidator)(properties.resourcePolicy)),errors.wrap('supplied properties not correct for "AuthProperty"')}function convertCfnFunctionAuthPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionAuthPropertyValidator(properties).assertSuccess(),{ApiKeyRequired:cdk().booleanToCloudFormation(properties.apiKeyRequired),AuthorizationScopes:cdk().listMapper(cdk().stringToCloudFormation)(properties.authorizationScopes),Authorizer:cdk().stringToCloudFormation(properties.authorizer),ResourcePolicy:convertCfnFunctionAuthResourcePolicyPropertyToCloudFormation(properties.resourcePolicy)}):properties}function CfnFunctionAuthPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("apiKeyRequired","ApiKeyRequired",properties.ApiKeyRequired!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ApiKeyRequired):void 0),ret.addPropertyResult("authorizationScopes","AuthorizationScopes",properties.AuthorizationScopes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AuthorizationScopes):void 0),ret.addPropertyResult("authorizer","Authorizer",properties.Authorizer!=null?cfn_parse().FromCloudFormation.getString(properties.Authorizer):void 0),ret.addPropertyResult("resourcePolicy","ResourcePolicy",properties.ResourcePolicy!=null?CfnFunctionAuthResourcePolicyPropertyFromCloudFormation(properties.ResourcePolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionRequestModelPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("model",cdk().requiredValidator)(properties.model)),errors.collect(cdk().propertyValidator("model",cdk().validateString)(properties.model)),errors.collect(cdk().propertyValidator("required",cdk().validateBoolean)(properties.required)),errors.collect(cdk().propertyValidator("validateBody",cdk().validateBoolean)(properties.validateBody)),errors.collect(cdk().propertyValidator("validateParameters",cdk().validateBoolean)(properties.validateParameters)),errors.wrap('supplied properties not correct for "RequestModelProperty"')}function convertCfnFunctionRequestModelPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionRequestModelPropertyValidator(properties).assertSuccess(),{Model:cdk().stringToCloudFormation(properties.model),Required:cdk().booleanToCloudFormation(properties.required),ValidateBody:cdk().booleanToCloudFormation(properties.validateBody),ValidateParameters:cdk().booleanToCloudFormation(properties.validateParameters)}):properties}function CfnFunctionRequestModelPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("model","Model",properties.Model!=null?cfn_parse().FromCloudFormation.getString(properties.Model):void 0),ret.addPropertyResult("required","Required",properties.Required!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Required):void 0),ret.addPropertyResult("validateBody","ValidateBody",properties.ValidateBody!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ValidateBody):void 0),ret.addPropertyResult("validateParameters","ValidateParameters",properties.ValidateParameters!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ValidateParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionRequestParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("caching",cdk().validateBoolean)(properties.caching)),errors.collect(cdk().propertyValidator("required",cdk().validateBoolean)(properties.required)),errors.wrap('supplied properties not correct for "RequestParameterProperty"')}function convertCfnFunctionRequestParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionRequestParameterPropertyValidator(properties).assertSuccess(),{Caching:cdk().booleanToCloudFormation(properties.caching),Required:cdk().booleanToCloudFormation(properties.required)}):properties}function CfnFunctionRequestParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("caching","Caching",properties.Caching!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Caching):void 0),ret.addPropertyResult("required","Required",properties.Required!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Required):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionApiEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("auth",CfnFunctionAuthPropertyValidator)(properties.auth)),errors.collect(cdk().propertyValidator("method",cdk().requiredValidator)(properties.method)),errors.collect(cdk().propertyValidator("method",cdk().validateString)(properties.method)),errors.collect(cdk().propertyValidator("path",cdk().requiredValidator)(properties.path)),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.collect(cdk().propertyValidator("requestModel",CfnFunctionRequestModelPropertyValidator)(properties.requestModel)),errors.collect(cdk().propertyValidator("requestParameters",cdk().listValidator(cdk().unionValidator(cdk().validateString,CfnFunctionRequestParameterPropertyValidator)))(properties.requestParameters)),errors.collect(cdk().propertyValidator("restApiId",cdk().validateString)(properties.restApiId)),errors.wrap('supplied properties not correct for "ApiEventProperty"')}function convertCfnFunctionApiEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionApiEventPropertyValidator(properties).assertSuccess(),{Auth:convertCfnFunctionAuthPropertyToCloudFormation(properties.auth),Method:cdk().stringToCloudFormation(properties.method),Path:cdk().stringToCloudFormation(properties.path),RequestModel:convertCfnFunctionRequestModelPropertyToCloudFormation(properties.requestModel),RequestParameters:cdk().listMapper(cdk().unionMapper([cdk().validateString,CfnFunctionRequestParameterPropertyValidator],[cdk().stringToCloudFormation,convertCfnFunctionRequestParameterPropertyToCloudFormation]))(properties.requestParameters),RestApiId:cdk().stringToCloudFormation(properties.restApiId)}):properties}function CfnFunctionApiEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("auth","Auth",properties.Auth!=null?CfnFunctionAuthPropertyFromCloudFormation(properties.Auth):void 0),ret.addPropertyResult("method","Method",properties.Method!=null?cfn_parse().FromCloudFormation.getString(properties.Method):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("requestModel","RequestModel",properties.RequestModel!=null?CfnFunctionRequestModelPropertyFromCloudFormation(properties.RequestModel):void 0),ret.addPropertyResult("requestParameters","RequestParameters",properties.RequestParameters!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnFunctionRequestParameterPropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnFunctionRequestParameterPropertyFromCloudFormation]))(properties.RequestParameters):void 0),ret.addPropertyResult("restApiId","RestApiId",properties.RestApiId!=null?cfn_parse().FromCloudFormation.getString(properties.RestApiId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionScheduleEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("input",cdk().validateString)(properties.input)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("schedule",cdk().requiredValidator)(properties.schedule)),errors.collect(cdk().propertyValidator("schedule",cdk().validateString)(properties.schedule)),errors.wrap('supplied properties not correct for "ScheduleEventProperty"')}function convertCfnFunctionScheduleEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionScheduleEventPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Enabled:cdk().booleanToCloudFormation(properties.enabled),Input:cdk().stringToCloudFormation(properties.input),Name:cdk().stringToCloudFormation(properties.name),Schedule:cdk().stringToCloudFormation(properties.schedule)}):properties}function CfnFunctionScheduleEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("input","Input",properties.Input!=null?cfn_parse().FromCloudFormation.getString(properties.Input):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("schedule","Schedule",properties.Schedule!=null?cfn_parse().FromCloudFormation.getString(properties.Schedule):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionCloudWatchEventEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("input",cdk().validateString)(properties.input)),errors.collect(cdk().propertyValidator("inputPath",cdk().validateString)(properties.inputPath)),errors.collect(cdk().propertyValidator("pattern",cdk().requiredValidator)(properties.pattern)),errors.collect(cdk().propertyValidator("pattern",cdk().validateObject)(properties.pattern)),errors.wrap('supplied properties not correct for "CloudWatchEventEventProperty"')}function convertCfnFunctionCloudWatchEventEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionCloudWatchEventEventPropertyValidator(properties).assertSuccess(),{Input:cdk().stringToCloudFormation(properties.input),InputPath:cdk().stringToCloudFormation(properties.inputPath),Pattern:cdk().objectToCloudFormation(properties.pattern)}):properties}function CfnFunctionCloudWatchEventEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("input","Input",properties.Input!=null?cfn_parse().FromCloudFormation.getString(properties.Input):void 0),ret.addPropertyResult("inputPath","InputPath",properties.InputPath!=null?cfn_parse().FromCloudFormation.getString(properties.InputPath):void 0),ret.addPropertyResult("pattern","Pattern",properties.Pattern!=null?cfn_parse().FromCloudFormation.getAny(properties.Pattern):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionCloudWatchLogsEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("filterPattern",cdk().requiredValidator)(properties.filterPattern)),errors.collect(cdk().propertyValidator("filterPattern",cdk().validateString)(properties.filterPattern)),errors.collect(cdk().propertyValidator("logGroupName",cdk().requiredValidator)(properties.logGroupName)),errors.collect(cdk().propertyValidator("logGroupName",cdk().validateString)(properties.logGroupName)),errors.wrap('supplied properties not correct for "CloudWatchLogsEventProperty"')}function convertCfnFunctionCloudWatchLogsEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionCloudWatchLogsEventPropertyValidator(properties).assertSuccess(),{FilterPattern:cdk().stringToCloudFormation(properties.filterPattern),LogGroupName:cdk().stringToCloudFormation(properties.logGroupName)}):properties}function CfnFunctionCloudWatchLogsEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("filterPattern","FilterPattern",properties.FilterPattern!=null?cfn_parse().FromCloudFormation.getString(properties.FilterPattern):void 0),ret.addPropertyResult("logGroupName","LogGroupName",properties.LogGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.LogGroupName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionIoTRuleEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("awsIotSqlVersion",cdk().validateString)(properties.awsIotSqlVersion)),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 "IoTRuleEventProperty"')}function convertCfnFunctionIoTRuleEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionIoTRuleEventPropertyValidator(properties).assertSuccess(),{AwsIotSqlVersion:cdk().stringToCloudFormation(properties.awsIotSqlVersion),Sql:cdk().stringToCloudFormation(properties.sql)}):properties}function CfnFunctionIoTRuleEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("awsIotSqlVersion","AwsIotSqlVersion",properties.AwsIotSqlVersion!=null?cfn_parse().FromCloudFormation.getString(properties.AwsIotSqlVersion):void 0),ret.addPropertyResult("sql","Sql",properties.Sql!=null?cfn_parse().FromCloudFormation.getString(properties.Sql):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionAlexaSkillEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("skillId",cdk().requiredValidator)(properties.skillId)),errors.collect(cdk().propertyValidator("skillId",cdk().validateString)(properties.skillId)),errors.wrap('supplied properties not correct for "AlexaSkillEventProperty"')}function convertCfnFunctionAlexaSkillEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionAlexaSkillEventPropertyValidator(properties).assertSuccess(),{SkillId:cdk().stringToCloudFormation(properties.skillId)}):properties}function CfnFunctionAlexaSkillEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("skillId","SkillId",properties.SkillId!=null?cfn_parse().FromCloudFormation.getString(properties.SkillId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionEventBridgeRuleEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("eventBusName",cdk().validateString)(properties.eventBusName)),errors.collect(cdk().propertyValidator("input",cdk().validateString)(properties.input)),errors.collect(cdk().propertyValidator("inputPath",cdk().validateString)(properties.inputPath)),errors.collect(cdk().propertyValidator("pattern",cdk().requiredValidator)(properties.pattern)),errors.collect(cdk().propertyValidator("pattern",cdk().validateObject)(properties.pattern)),errors.wrap('supplied properties not correct for "EventBridgeRuleEventProperty"')}function convertCfnFunctionEventBridgeRuleEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionEventBridgeRuleEventPropertyValidator(properties).assertSuccess(),{EventBusName:cdk().stringToCloudFormation(properties.eventBusName),Input:cdk().stringToCloudFormation(properties.input),InputPath:cdk().stringToCloudFormation(properties.inputPath),Pattern:cdk().objectToCloudFormation(properties.pattern)}):properties}function CfnFunctionEventBridgeRuleEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("eventBusName","EventBusName",properties.EventBusName!=null?cfn_parse().FromCloudFormation.getString(properties.EventBusName):void 0),ret.addPropertyResult("input","Input",properties.Input!=null?cfn_parse().FromCloudFormation.getString(properties.Input):void 0),ret.addPropertyResult("inputPath","InputPath",properties.InputPath!=null?cfn_parse().FromCloudFormation.getString(properties.InputPath):void 0),ret.addPropertyResult("pattern","Pattern",properties.Pattern!=null?cfn_parse().FromCloudFormation.getAny(properties.Pattern):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionHttpApiFunctionAuthPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("authorizationScopes",cdk().listValidator(cdk().validateString))(properties.authorizationScopes)),errors.collect(cdk().propertyValidator("authorizer",cdk().validateString)(properties.authorizer)),errors.wrap('supplied properties not correct for "HttpApiFunctionAuthProperty"')}function convertCfnFunctionHttpApiFunctionAuthPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionHttpApiFunctionAuthPropertyValidator(properties).assertSuccess(),{AuthorizationScopes:cdk().listMapper(cdk().stringToCloudFormation)(properties.authorizationScopes),Authorizer:cdk().stringToCloudFormation(properties.authorizer)}):properties}function CfnFunctionHttpApiFunctionAuthPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("authorizationScopes","AuthorizationScopes",properties.AuthorizationScopes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AuthorizationScopes):void 0),ret.addPropertyResult("authorizer","Authorizer",properties.Authorizer!=null?cfn_parse().FromCloudFormation.getString(properties.Authorizer):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionRouteSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataTraceEnabled",cdk().validateBoolean)(properties.dataTraceEnabled)),errors.collect(cdk().propertyValidator("detailedMetricsEnabled",cdk().validateBoolean)(properties.detailedMetricsEnabled)),errors.collect(cdk().propertyValidator("loggingLevel",cdk().validateString)(properties.loggingLevel)),errors.collect(cdk().propertyValidator("throttlingBurstLimit",cdk().validateNumber)(properties.throttlingBurstLimit)),errors.collect(cdk().propertyValidator("throttlingRateLimit",cdk().validateNumber)(properties.throttlingRateLimit)),errors.wrap('supplied properties not correct for "RouteSettingsProperty"')}function convertCfnFunctionRouteSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionRouteSettingsPropertyValidator(properties).assertSuccess(),{DataTraceEnabled:cdk().booleanToCloudFormation(properties.dataTraceEnabled),DetailedMetricsEnabled:cdk().booleanToCloudFormation(properties.detailedMetricsEnabled),LoggingLevel:cdk().stringToCloudFormation(properties.loggingLevel),ThrottlingBurstLimit:cdk().numberToCloudFormation(properties.throttlingBurstLimit),ThrottlingRateLimit:cdk().numberToCloudFormation(properties.throttlingRateLimit)}):properties}function CfnFunctionRouteSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataTraceEnabled","DataTraceEnabled",properties.DataTraceEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DataTraceEnabled):void 0),ret.addPropertyResult("detailedMetricsEnabled","DetailedMetricsEnabled",properties.DetailedMetricsEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DetailedMetricsEnabled):void 0),ret.addPropertyResult("loggingLevel","LoggingLevel",properties.LoggingLevel!=null?cfn_parse().FromCloudFormation.getString(properties.LoggingLevel):void 0),ret.addPropertyResult("throttlingBurstLimit","ThrottlingBurstLimit",properties.ThrottlingBurstLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.ThrottlingBurstLimit):void 0),ret.addPropertyResult("throttlingRateLimit","ThrottlingRateLimit",properties.ThrottlingRateLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.ThrottlingRateLimit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionHttpApiEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("auth",CfnFunctionHttpApiFunctionAuthPropertyValidator)(properties.auth)),errors.collect(cdk().propertyValidator("method",cdk().validateString)(properties.method)),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.collect(cdk().propertyValidator("payloadFormatVersion",cdk().validateString)(properties.payloadFormatVersion)),errors.collect(cdk().propertyValidator("routeSettings",CfnFunctionRouteSettingsPropertyValidator)(properties.routeSettings)),errors.collect(cdk().propertyValidator("timeoutInMillis",cdk().validateNumber)(properties.timeoutInMillis)),errors.wrap('supplied properties not correct for "HttpApiEventProperty"')}function convertCfnFunctionHttpApiEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionHttpApiEventPropertyValidator(properties).assertSuccess(),{ApiId:cdk().stringToCloudFormation(properties.apiId),Auth:convertCfnFunctionHttpApiFunctionAuthPropertyToCloudFormation(properties.auth),Method:cdk().stringToCloudFormation(properties.method),Path:cdk().stringToCloudFormation(properties.path),PayloadFormatVersion:cdk().stringToCloudFormation(properties.payloadFormatVersion),RouteSettings:convertCfnFunctionRouteSettingsPropertyToCloudFormation(properties.routeSettings),TimeoutInMillis:cdk().numberToCloudFormation(properties.timeoutInMillis)}):properties}function CfnFunctionHttpApiEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("apiId","ApiId",properties.ApiId!=null?cfn_parse().FromCloudFormation.getString(properties.ApiId):void 0),ret.addPropertyResult("auth","Auth",properties.Auth!=null?CfnFunctionHttpApiFunctionAuthPropertyFromCloudFormation(properties.Auth):void 0),ret.addPropertyResult("method","Method",properties.Method!=null?cfn_parse().FromCloudFormation.getString(properties.Method):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("payloadFormatVersion","PayloadFormatVersion",properties.PayloadFormatVersion!=null?cfn_parse().FromCloudFormation.getString(properties.PayloadFormatVersion):void 0),ret.addPropertyResult("routeSettings","RouteSettings",properties.RouteSettings!=null?CfnFunctionRouteSettingsPropertyFromCloudFormation(properties.RouteSettings):void 0),ret.addPropertyResult("timeoutInMillis","TimeoutInMillis",properties.TimeoutInMillis!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutInMillis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionCognitoEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("trigger",cdk().requiredValidator)(properties.trigger)),errors.collect(cdk().propertyValidator("trigger",cdk().validateString)(properties.trigger)),errors.collect(cdk().propertyValidator("userPool",cdk().requiredValidator)(properties.userPool)),errors.collect(cdk().propertyValidator("userPool",cdk().validateString)(properties.userPool)),errors.wrap('supplied properties not correct for "CognitoEventProperty"')}function convertCfnFunctionCognitoEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionCognitoEventPropertyValidator(properties).assertSuccess(),{Trigger:cdk().stringToCloudFormation(properties.trigger),UserPool:cdk().stringToCloudFormation(properties.userPool)}):properties}function CfnFunctionCognitoEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("trigger","Trigger",properties.Trigger!=null?cfn_parse().FromCloudFormation.getString(properties.Trigger):void 0),ret.addPropertyResult("userPool","UserPool",properties.UserPool!=null?cfn_parse().FromCloudFormation.getString(properties.UserPool):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionEventSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("properties",cdk().requiredValidator)(properties.properties)),errors.collect(cdk().propertyValidator("properties",cdk().unionValidator(CfnFunctionDynamoDBEventPropertyValidator,CfnFunctionApiEventPropertyValidator,CfnFunctionKinesisEventPropertyValidator,CfnFunctionS3EventPropertyValidator,CfnFunctionCloudWatchLogsEventPropertyValidator,CfnFunctionCognitoEventPropertyValidator,CfnFunctionScheduleEventPropertyValidator,CfnFunctionEventBridgeRuleEventPropertyValidator,CfnFunctionCloudWatchEventEventPropertyValidator,CfnFunctionSQSEventPropertyValidator,CfnFunctionIoTRuleEventPropertyValidator,CfnFunctionAlexaSkillEventPropertyValidator,CfnFunctionSNSEventPropertyValidator,CfnFunctionHttpApiEventPropertyValidator))(properties.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 "EventSourceProperty"')}function convertCfnFunctionEventSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionEventSourcePropertyValidator(properties).assertSuccess(),{Properties:cdk().unionMapper([CfnFunctionDynamoDBEventPropertyValidator,CfnFunctionApiEventPropertyValidator,CfnFunctionKinesisEventPropertyValidator,CfnFunctionS3EventPropertyValidator,CfnFunctionCloudWatchLogsEventPropertyValidator,CfnFunctionCognitoEventPropertyValidator,CfnFunctionScheduleEventPropertyValidator,CfnFunctionEventBridgeRuleEventPropertyValidator,CfnFunctionCloudWatchEventEventPropertyValidator,CfnFunctionSQSEventPropertyValidator,CfnFunctionIoTRuleEventPropertyValidator,CfnFunctionAlexaSkillEventPropertyValidator,CfnFunctionSNSEventPropertyValidator,CfnFunctionHttpApiEventPropertyValidator],[convertCfnFunctionDynamoDBEventPropertyToCloudFormation,convertCfnFunctionApiEventPropertyToCloudFormation,convertCfnFunctionKinesisEventPropertyToCloudFormation,convertCfnFunctionS3EventPropertyToCloudFormation,convertCfnFunctionCloudWatchLogsEventPropertyToCloudFormation,convertCfnFunctionCognitoEventPropertyToCloudFormation,convertCfnFunctionScheduleEventPropertyToCloudFormation,convertCfnFunctionEventBridgeRuleEventPropertyToCloudFormation,convertCfnFunctionCloudWatchEventEventPropertyToCloudFormation,convertCfnFunctionSQSEventPropertyToCloudFormation,convertCfnFunctionIoTRuleEventPropertyToCloudFormation,convertCfnFunctionAlexaSkillEventPropertyToCloudFormation,convertCfnFunctionSNSEventPropertyToCloudFormation,convertCfnFunctionHttpApiEventPropertyToCloudFormation])(properties.properties),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFunctionEventSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("properties","Properties",properties.Properties!=null?cfn_parse().FromCloudFormation.getTypeUnion([CfnFunctionDynamoDBEventPropertyValidator,CfnFunctionApiEventPropertyValidator,CfnFunctionKinesisEventPropertyValidator,CfnFunctionS3EventPropertyValidator,CfnFunctionCloudWatchLogsEventPropertyValidator,CfnFunctionCognitoEventPropertyValidator,CfnFunctionScheduleEventPropertyValidator,CfnFunctionEventBridgeRuleEventPropertyValidator,CfnFunctionCloudWatchEventEventPropertyValidator,CfnFunctionSQSEventPropertyValidator,CfnFunctionIoTRuleEventPropertyValidator,CfnFunctionAlexaSkillEventPropertyValidator,CfnFunctionSNSEventPropertyValidator,CfnFunctionHttpApiEventPropertyValidator],[CfnFunctionDynamoDBEventPropertyFromCloudFormation,CfnFunctionApiEventPropertyFromCloudFormation,CfnFunctionKinesisEventPropertyFromCloudFormation,CfnFunctionS3EventPropertyFromCloudFormation,CfnFunctionCloudWatchLogsEventPropertyFromCloudFormation,CfnFunctionCognitoEventPropertyFromCloudFormation,CfnFunctionScheduleEventPropertyFromCloudFormation,CfnFunctionEventBridgeRuleEventPropertyFromCloudFormation,CfnFunctionCloudWatchEventEventPropertyFromCloudFormation,CfnFunctionSQSEventPropertyFromCloudFormation,CfnFunctionIoTRuleEventPropertyFromCloudFormation,CfnFunctionAlexaSkillEventPropertyFromCloudFormation,CfnFunctionSNSEventPropertyFromCloudFormation,CfnFunctionHttpApiEventPropertyFromCloudFormation])(properties.Properties):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDeadLetterQueuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetArn",cdk().requiredValidator)(properties.targetArn)),errors.collect(cdk().propertyValidator("targetArn",cdk().validateString)(properties.targetArn)),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 "DeadLetterQueueProperty"')}function convertCfnFunctionDeadLetterQueuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDeadLetterQueuePropertyValidator(properties).assertSuccess(),{TargetArn:cdk().stringToCloudFormation(properties.targetArn),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFunctionDeadLetterQueuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetArn","TargetArn",properties.TargetArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetArn):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionHooksPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("postTraffic",cdk().validateString)(properties.postTraffic)),errors.collect(cdk().propertyValidator("preTraffic",cdk().validateString)(properties.preTraffic)),errors.wrap('supplied properties not correct for "HooksProperty"')}function convertCfnFunctionHooksPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionHooksPropertyValidator(properties).assertSuccess(),{PostTraffic:cdk().stringToCloudFormation(properties.postTraffic),PreTraffic:cdk().stringToCloudFormation(properties.preTraffic)}):properties}function CfnFunctionHooksPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("postTraffic","PostTraffic",properties.PostTraffic!=null?cfn_parse().FromCloudFormation.getString(properties.PostTraffic):void 0),ret.addPropertyResult("preTraffic","PreTraffic",properties.PreTraffic!=null?cfn_parse().FromCloudFormation.getString(properties.PreTraffic):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDeploymentPreferencePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alarms",cdk().listValidator(cdk().validateString))(properties.alarms)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("hooks",CfnFunctionHooksPropertyValidator)(properties.hooks)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DeploymentPreferenceProperty"')}function convertCfnFunctionDeploymentPreferencePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDeploymentPreferencePropertyValidator(properties).assertSuccess(),{Alarms:cdk().listMapper(cdk().stringToCloudFormation)(properties.alarms),Enabled:cdk().booleanToCloudFormation(properties.enabled),Hooks:convertCfnFunctionHooksPropertyToCloudFormation(properties.hooks),Role:cdk().stringToCloudFormation(properties.role),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFunctionDeploymentPreferencePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alarms","Alarms",properties.Alarms!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Alarms):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("hooks","Hooks",properties.Hooks!=null?CfnFunctionHooksPropertyFromCloudFormation(properties.Hooks):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionProvisionedConcurrencyConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("provisionedConcurrentExecutions",cdk().requiredValidator)(properties.provisionedConcurrentExecutions)),errors.collect(cdk().propertyValidator("provisionedConcurrentExecutions",cdk().validateString)(properties.provisionedConcurrentExecutions)),errors.wrap('supplied properties not correct for "ProvisionedConcurrencyConfigProperty"')}function convertCfnFunctionProvisionedConcurrencyConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionProvisionedConcurrencyConfigPropertyValidator(properties).assertSuccess(),{ProvisionedConcurrentExecutions:cdk().stringToCloudFormation(properties.provisionedConcurrentExecutions)}):properties}function CfnFunctionProvisionedConcurrencyConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("provisionedConcurrentExecutions","ProvisionedConcurrentExecutions",properties.ProvisionedConcurrentExecutions!=null?cfn_parse().FromCloudFormation.getString(properties.ProvisionedConcurrentExecutions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionEventInvokeDestinationConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("onFailure",cdk().requiredValidator)(properties.onFailure)),errors.collect(cdk().propertyValidator("onFailure",CfnFunctionDestinationPropertyValidator)(properties.onFailure)),errors.collect(cdk().propertyValidator("onSuccess",cdk().requiredValidator)(properties.onSuccess)),errors.collect(cdk().propertyValidator("onSuccess",CfnFunctionDestinationPropertyValidator)(properties.onSuccess)),errors.wrap('supplied properties not correct for "EventInvokeDestinationConfigProperty"')}function convertCfnFunctionEventInvokeDestinationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionEventInvokeDestinationConfigPropertyValidator(properties).assertSuccess(),{OnFailure:convertCfnFunctionDestinationPropertyToCloudFormation(properties.onFailure),OnSuccess:convertCfnFunctionDestinationPropertyToCloudFormation(properties.onSuccess)}):properties}function CfnFunctionEventInvokeDestinationConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("onFailure","OnFailure",properties.OnFailure!=null?CfnFunctionDestinationPropertyFromCloudFormation(properties.OnFailure):void 0),ret.addPropertyResult("onSuccess","OnSuccess",properties.OnSuccess!=null?CfnFunctionDestinationPropertyFromCloudFormation(properties.OnSuccess):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionEventInvokeConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationConfig",CfnFunctionEventInvokeDestinationConfigPropertyValidator)(properties.destinationConfig)),errors.collect(cdk().propertyValidator("maximumEventAgeInSeconds",cdk().validateNumber)(properties.maximumEventAgeInSeconds)),errors.collect(cdk().propertyValidator("maximumRetryAttempts",cdk().validateNumber)(properties.maximumRetryAttempts)),errors.wrap('supplied properties not correct for "EventInvokeConfigProperty"')}function convertCfnFunctionEventInvokeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionEventInvokeConfigPropertyValidator(properties).assertSuccess(),{DestinationConfig:convertCfnFunctionEventInvokeDestinationConfigPropertyToCloudFormation(properties.destinationConfig),MaximumEventAgeInSeconds:cdk().numberToCloudFormation(properties.maximumEventAgeInSeconds),MaximumRetryAttempts:cdk().numberToCloudFormation(properties.maximumRetryAttempts)}):properties}function CfnFunctionEventInvokeConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationConfig","DestinationConfig",properties.DestinationConfig!=null?CfnFunctionEventInvokeDestinationConfigPropertyFromCloudFormation(properties.DestinationConfig):void 0),ret.addPropertyResult("maximumEventAgeInSeconds","MaximumEventAgeInSeconds",properties.MaximumEventAgeInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumEventAgeInSeconds):void 0),ret.addPropertyResult("maximumRetryAttempts","MaximumRetryAttempts",properties.MaximumRetryAttempts!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumRetryAttempts):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionImageConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("command",cdk().listValidator(cdk().validateString))(properties.command)),errors.collect(cdk().propertyValidator("entryPoint",cdk().listValidator(cdk().validateString))(properties.entryPoint)),errors.collect(cdk().propertyValidator("workingDirectory",cdk().validateString)(properties.workingDirectory)),errors.wrap('supplied properties not correct for "ImageConfigProperty"')}function convertCfnFunctionImageConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionImageConfigPropertyValidator(properties).assertSuccess(),{Command:cdk().listMapper(cdk().stringToCloudFormation)(properties.command),EntryPoint:cdk().listMapper(cdk().stringToCloudFormation)(properties.entryPoint),WorkingDirectory:cdk().stringToCloudFormation(properties.workingDirectory)}):properties}function CfnFunctionImageConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("command","Command",properties.Command!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Command):void 0),ret.addPropertyResult("entryPoint","EntryPoint",properties.EntryPoint!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EntryPoint):void 0),ret.addPropertyResult("workingDirectory","WorkingDirectory",properties.WorkingDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.WorkingDirectory):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionCorsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowCredentials",cdk().validateBoolean)(properties.allowCredentials)),errors.collect(cdk().propertyValidator("allowHeaders",cdk().validateString)(properties.allowHeaders)),errors.collect(cdk().propertyValidator("allowMethods",cdk().validateString)(properties.allowMethods)),errors.collect(cdk().propertyValidator("allowOrigin",cdk().requiredValidator)(properties.allowOrigin)),errors.collect(cdk().propertyValidator("allowOrigin",cdk().validateString)(properties.allowOrigin)),errors.collect(cdk().propertyValidator("maxAge",cdk().validateString)(properties.maxAge)),errors.wrap('supplied properties not correct for "CorsConfigurationProperty"')}function convertCfnFunctionCorsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionCorsConfigurationPropertyValidator(properties).assertSuccess(),{AllowCredentials:cdk().booleanToCloudFormation(properties.allowCredentials),AllowHeaders:cdk().stringToCloudFormation(properties.allowHeaders),AllowMethods:cdk().stringToCloudFormation(properties.allowMethods),AllowOrigin:cdk().stringToCloudFormation(properties.allowOrigin),MaxAge:cdk().stringToCloudFormation(properties.maxAge)}):properties}function CfnFunctionCorsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowCredentials","AllowCredentials",properties.AllowCredentials!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowCredentials):void 0),ret.addPropertyResult("allowHeaders","AllowHeaders",properties.AllowHeaders!=null?cfn_parse().FromCloudFormation.getString(properties.AllowHeaders):void 0),ret.addPropertyResult("allowMethods","AllowMethods",properties.AllowMethods!=null?cfn_parse().FromCloudFormation.getString(properties.AllowMethods):void 0),ret.addPropertyResult("allowOrigin","AllowOrigin",properties.AllowOrigin!=null?cfn_parse().FromCloudFormation.getString(properties.AllowOrigin):void 0),ret.addPropertyResult("maxAge","MaxAge",properties.MaxAge!=null?cfn_parse().FromCloudFormation.getString(properties.MaxAge):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionFunctionUrlConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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("cors",cdk().unionValidator(cdk().validateString,CfnFunctionCorsConfigurationPropertyValidator))(properties.cors)),errors.collect(cdk().propertyValidator("invokeMode",cdk().validateString)(properties.invokeMode)),errors.wrap('supplied properties not correct for "FunctionUrlConfigProperty"')}function convertCfnFunctionFunctionUrlConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionFunctionUrlConfigPropertyValidator(properties).assertSuccess(),{AuthType:cdk().stringToCloudFormation(properties.authType),Cors:cdk().unionMapper([cdk().validateString,CfnFunctionCorsConfigurationPropertyValidator],[cdk().stringToCloudFormation,convertCfnFunctionCorsConfigurationPropertyToCloudFormation])(properties.cors),InvokeMode:cdk().stringToCloudFormation(properties.invokeMode)}):properties}function CfnFunctionFunctionUrlConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("cors","Cors",properties.Cors!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnFunctionCorsConfigurationPropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnFunctionCorsConfigurationPropertyFromCloudFormation])(properties.Cors):void 0),ret.addPropertyResult("invokeMode","InvokeMode",properties.InvokeMode!=null?cfn_parse().FromCloudFormation.getString(properties.InvokeMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionEphemeralStoragePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("size",cdk().requiredValidator)(properties.size)),errors.collect(cdk().propertyValidator("size",cdk().validateNumber)(properties.size)),errors.wrap('supplied properties not correct for "EphemeralStorageProperty"')}function convertCfnFunctionEphemeralStoragePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionEphemeralStoragePropertyValidator(properties).assertSuccess(),{Size:cdk().numberToCloudFormation(properties.size)}):properties}function CfnFunctionEphemeralStoragePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getNumber(properties.Size):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("architectures",cdk().listValidator(cdk().validateString))(properties.architectures)),errors.collect(cdk().propertyValidator("assumeRolePolicyDocument",cdk().validateObject)(properties.assumeRolePolicyDocument)),errors.collect(cdk().propertyValidator("autoPublishAlias",cdk().validateString)(properties.autoPublishAlias)),errors.collect(cdk().propertyValidator("autoPublishCodeSha256",cdk().validateString)(properties.autoPublishCodeSha256)),errors.collect(cdk().propertyValidator("codeSigningConfigArn",cdk().validateString)(properties.codeSigningConfigArn)),errors.collect(cdk().propertyValidator("codeUri",cdk().unionValidator(cdk().validateString,CfnFunctionS3LocationPropertyValidator))(properties.codeUri)),errors.collect(cdk().propertyValidator("deadLetterQueue",CfnFunctionDeadLetterQueuePropertyValidator)(properties.deadLetterQueue)),errors.collect(cdk().propertyValidator("deploymentPreference",CfnFunctionDeploymentPreferencePropertyValidator)(properties.deploymentPreference)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("environment",CfnFunctionFunctionEnvironmentPropertyValidator)(properties.environment)),errors.collect(cdk().propertyValidator("ephemeralStorage",CfnFunctionEphemeralStoragePropertyValidator)(properties.ephemeralStorage)),errors.collect(cdk().propertyValidator("eventInvokeConfig",CfnFunctionEventInvokeConfigPropertyValidator)(properties.eventInvokeConfig)),errors.collect(cdk().propertyValidator("events",cdk().hashValidator(CfnFunctionEventSourcePropertyValidator))(properties.events)),errors.collect(cdk().propertyValidator("fileSystemConfigs",cdk().listValidator(CfnFunctionFileSystemConfigPropertyValidator))(properties.fileSystemConfigs)),errors.collect(cdk().propertyValidator("functionName",cdk().validateString)(properties.functionName)),errors.collect(cdk().propertyValidator("functionUrlConfig",CfnFunctionFunctionUrlConfigPropertyValidator)(properties.functionUrlConfig)),errors.collect(cdk().propertyValidator("handler",cdk().validateString)(properties.handler)),errors.collect(cdk().propertyValidator("imageConfig",CfnFunctionImageConfigPropertyValidator)(properties.imageConfig)),errors.collect(cdk().propertyValidator("imageUri",cdk().validateString)(properties.imageUri)),errors.collect(cdk().propertyValidator("inlineCode",cdk().validateString)(properties.inlineCode)),errors.collect(cdk().propertyValidator("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("layers",cdk().listValidator(cdk().validateString))(properties.layers)),errors.collect(cdk().propertyValidator("memorySize",cdk().validateNumber)(properties.memorySize)),errors.collect(cdk().propertyValidator("packageType",cdk().validateString)(properties.packageType)),errors.collect(cdk().propertyValidator("permissionsBoundary",cdk().validateString)(properties.permissionsBoundary)),errors.collect(cdk().propertyValidator("policies",cdk().unionValidator(cdk().listValidator(cdk().unionValidator(cdk().validateString,CfnFunctionIAMPolicyDocumentPropertyValidator,CfnFunctionSAMPolicyTemplatePropertyValidator)),cdk().validateString,CfnFunctionIAMPolicyDocumentPropertyValidator))(properties.policies)),errors.collect(cdk().propertyValidator("provisionedConcurrencyConfig",CfnFunctionProvisionedConcurrencyConfigPropertyValidator)(properties.provisionedConcurrencyConfig)),errors.collect(cdk().propertyValidator("reservedConcurrentExecutions",cdk().validateNumber)(properties.reservedConcurrentExecutions)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.collect(cdk().propertyValidator("runtime",cdk().validateString)(properties.runtime)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("timeout",cdk().validateNumber)(properties.timeout)),errors.collect(cdk().propertyValidator("tracing",cdk().validateString)(properties.tracing)),errors.collect(cdk().propertyValidator("versionDescription",cdk().validateString)(properties.versionDescription)),errors.collect(cdk().propertyValidator("vpcConfig",CfnFunctionVpcConfigPropertyValidator)(properties.vpcConfig)),errors.wrap('supplied properties not correct for "CfnFunctionProps"')}function convertCfnFunctionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionPropsValidator(properties).assertSuccess(),{Architectures:cdk().listMapper(cdk().stringToCloudFormation)(properties.architectures),AssumeRolePolicyDocument:cdk().objectToCloudFormation(properties.assumeRolePolicyDocument),AutoPublishAlias:cdk().stringToCloudFormation(properties.autoPublishAlias),AutoPublishCodeSha256:cdk().stringToCloudFormation(properties.autoPublishCodeSha256),CodeSigningConfigArn:cdk().stringToCloudFormation(properties.codeSigningConfigArn),CodeUri:cdk().unionMapper([cdk().validateString,CfnFunctionS3LocationPropertyValidator],[cdk().stringToCloudFormation,convertCfnFunctionS3LocationPropertyToCloudFormation])(properties.codeUri),DeadLetterQueue:convertCfnFunctionDeadLetterQueuePropertyToCloudFormation(properties.deadLetterQueue),DeploymentPreference:convertCfnFunctionDeploymentPreferencePropertyToCloudFormation(properties.deploymentPreference),Description:cdk().stringToCloudFormation(properties.description),Environment:convertCfnFunctionFunctionEnvironmentPropertyToCloudFormation(properties.environment),EphemeralStorage:convertCfnFunctionEphemeralStoragePropertyToCloudFormation(properties.ephemeralStorage),EventInvokeConfig:convertCfnFunctionEventInvokeConfigPropertyToCloudFormation(properties.eventInvokeConfig),Events:cdk().hashMapper(convertCfnFunctionEventSourcePropertyToCloudFormation)(properties.events),FileSystemConfigs:cdk().listMapper(convertCfnFunctionFileSystemConfigPropertyToCloudFormation)(properties.fileSystemConfigs),FunctionName:cdk().stringToCloudFormation(properties.functionName),FunctionUrlConfig:convertCfnFunctionFunctionUrlConfigPropertyToCloudFormation(properties.functionUrlConfig),Handler:cdk().stringToCloudFormation(properties.handler),ImageConfig:convertCfnFunctionImageConfigPropertyToCloudFormation(properties.imageConfig),ImageUri:cdk().stringToCloudFormation(properties.imageUri),InlineCode:cdk().stringToCloudFormation(properties.inlineCode),KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),Layers:cdk().listMapper(cdk().stringToCloudFormation)(properties.layers),MemorySize:cdk().numberToCloudFormation(properties.memorySize),PackageType:cdk().stringToCloudFormation(properties.packageType),PermissionsBoundary:cdk().stringToCloudFormation(properties.permissionsBoundary),Policies:cdk().unionMapper([cdk().listValidator(cdk().unionValidator(cdk().validateString,CfnFunctionIAMPolicyDocumentPropertyValidator,CfnFunctionSAMPolicyTemplatePropertyValidator)),cdk().validateString,CfnFunctionIAMPolicyDocumentPropertyValidator],[cdk().listMapper(cdk().unionMapper([cdk().validateString,CfnFunctionIAMPolicyDocumentPropertyValidator,CfnFunctionSAMPolicyTemplatePropertyValidator],[cdk().stringToCloudFormation,convertCfnFunctionIAMPolicyDocumentPropertyToCloudFormation,convertCfnFunctionSAMPolicyTemplatePropertyToCloudFormation])),cdk().stringToCloudFormation,convertCfnFunctionIAMPolicyDocumentPropertyToCloudFormation])(properties.policies),ProvisionedConcurrencyConfig:convertCfnFunctionProvisionedConcurrencyConfigPropertyToCloudFormation(properties.provisionedConcurrencyConfig),ReservedConcurrentExecutions:cdk().numberToCloudFormation(properties.reservedConcurrentExecutions),Role:cdk().stringToCloudFormation(properties.role),Runtime:cdk().stringToCloudFormation(properties.runtime),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),Timeout:cdk().numberToCloudFormation(properties.timeout),Tracing:cdk().stringToCloudFormation(properties.tracing),VersionDescription:cdk().stringToCloudFormation(properties.versionDescription),VpcConfig:convertCfnFunctionVpcConfigPropertyToCloudFormation(properties.vpcConfig)}):properties}function CfnFunctionPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("architectures","Architectures",properties.Architectures!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Architectures):void 0),ret.addPropertyResult("assumeRolePolicyDocument","AssumeRolePolicyDocument",properties.AssumeRolePolicyDocument!=null?cfn_parse().FromCloudFormation.getAny(properties.AssumeRolePolicyDocument):void 0),ret.addPropertyResult("autoPublishAlias","AutoPublishAlias",properties.AutoPublishAlias!=null?cfn_parse().FromCloudFormation.getString(properties.AutoPublishAlias):void 0),ret.addPropertyResult("autoPublishCodeSha256","AutoPublishCodeSha256",properties.AutoPublishCodeSha256!=null?cfn_parse().FromCloudFormation.getString(properties.AutoPublishCodeSha256):void 0),ret.addPropertyResult("codeSigningConfigArn","CodeSigningConfigArn",properties.CodeSigningConfigArn!=null?cfn_parse().FromCloudFormation.getString(properties.CodeSigningConfigArn):void 0),ret.addPropertyResult("codeUri","CodeUri",properties.CodeUri!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnFunctionS3LocationPropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnFunctionS3LocationPropertyFromCloudFormation])(properties.CodeUri):void 0),ret.addPropertyResult("deadLetterQueue","DeadLetterQueue",properties.DeadLetterQueue!=null?CfnFunctionDeadLetterQueuePropertyFromCloudFormation(properties.DeadLetterQueue):void 0),ret.addPropertyResult("deploymentPreference","DeploymentPreference",properties.DeploymentPreference!=null?CfnFunctionDeploymentPreferencePropertyFromCloudFormation(properties.DeploymentPreference):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("environment","Environment",properties.Environment!=null?CfnFunctionFunctionEnvironmentPropertyFromCloudFormation(properties.Environment):void 0),ret.addPropertyResult("ephemeralStorage","EphemeralStorage",properties.EphemeralStorage!=null?CfnFunctionEphemeralStoragePropertyFromCloudFormation(properties.EphemeralStorage):void 0),ret.addPropertyResult("eventInvokeConfig","EventInvokeConfig",properties.EventInvokeConfig!=null?CfnFunctionEventInvokeConfigPropertyFromCloudFormation(properties.EventInvokeConfig):void 0),ret.addPropertyResult("events","Events",properties.Events!=null?cfn_parse().FromCloudFormation.getMap(CfnFunctionEventSourcePropertyFromCloudFormation)(properties.Events):void 0),ret.addPropertyResult("fileSystemConfigs","FileSystemConfigs",properties.FileSystemConfigs!=null?cfn_parse().FromCloudFormation.getArray(CfnFunctionFileSystemConfigPropertyFromCloudFormation)(properties.FileSystemConfigs):void 0),ret.addPropertyResult("functionName","FunctionName",properties.FunctionName!=null?cfn_parse().FromCloudFormation.getString(properties.FunctionName):void 0),ret.addPropertyResult("functionUrlConfig","FunctionUrlConfig",properties.FunctionUrlConfig!=null?CfnFunctionFunctionUrlConfigPropertyFromCloudFormation(properties.FunctionUrlConfig):void 0),ret.addPropertyResult("handler","Handler",properties.Handler!=null?cfn_parse().FromCloudFormation.getString(properties.Handler):void 0),ret.addPropertyResult("imageConfig","ImageConfig",properties.ImageConfig!=null?CfnFunctionImageConfigPropertyFromCloudFormation(properties.ImageConfig):void 0),ret.addPropertyResult("imageUri","ImageUri",properties.ImageUri!=null?cfn_parse().FromCloudFormation.getString(properties.ImageUri):void 0),ret.addPropertyResult("inlineCode","InlineCode",properties.InlineCode!=null?cfn_parse().FromCloudFormation.getString(properties.InlineCode):void 0),ret.addPropertyResult("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("layers","Layers",properties.Layers!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Layers):void 0),ret.addPropertyResult("memorySize","MemorySize",properties.MemorySize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MemorySize):void 0),ret.addPropertyResult("packageType","PackageType",properties.PackageType!=null?cfn_parse().FromCloudFormation.getString(properties.PackageType):void 0),ret.addPropertyResult("permissionsBoundary","PermissionsBoundary",properties.PermissionsBoundary!=null?cfn_parse().FromCloudFormation.getString(properties.PermissionsBoundary):void 0),ret.addPropertyResult("policies","Policies",properties.Policies!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().listValidator(cdk().unionValidator(cdk().validateString,CfnFunctionIAMPolicyDocumentPropertyValidator,CfnFunctionSAMPolicyTemplatePropertyValidator)),cdk().validateString,CfnFunctionIAMPolicyDocumentPropertyValidator],[cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnFunctionIAMPolicyDocumentPropertyValidator,CfnFunctionSAMPolicyTemplatePropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnFunctionIAMPolicyDocumentPropertyFromCloudFormation,CfnFunctionSAMPolicyTemplatePropertyFromCloudFormation])),cfn_parse().FromCloudFormation.getString,CfnFunctionIAMPolicyDocumentPropertyFromCloudFormation])(properties.Policies):void 0),ret.addPropertyResult("provisionedConcurrencyConfig","ProvisionedConcurrencyConfig",properties.ProvisionedConcurrencyConfig!=null?CfnFunctionProvisionedConcurrencyConfigPropertyFromCloudFormation(properties.ProvisionedConcurrencyConfig):void 0),ret.addPropertyResult("reservedConcurrentExecutions","ReservedConcurrentExecutions",properties.ReservedConcurrentExecutions!=null?cfn_parse().FromCloudFormation.getNumber(properties.ReservedConcurrentExecutions):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addPropertyResult("runtime","Runtime",properties.Runtime!=null?cfn_parse().FromCloudFormation.getString(properties.Runtime):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("timeout","Timeout",properties.Timeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.Timeout):void 0),ret.addPropertyResult("tracing","Tracing",properties.Tracing!=null?cfn_parse().FromCloudFormation.getString(properties.Tracing):void 0),ret.addPropertyResult("versionDescription","VersionDescription",properties.VersionDescription!=null?cfn_parse().FromCloudFormation.getString(properties.VersionDescription):void 0),ret.addPropertyResult("vpcConfig","VpcConfig",properties.VpcConfig!=null?CfnFunctionVpcConfigPropertyFromCloudFormation(properties.VpcConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnApi extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sam.CfnApi",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Serverless::Api";static REQUIRED_TRANSFORM="AWS::Serverless-2016-10-31";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnApiPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnApi(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 isCfnApi(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnApi.CFN_RESOURCE_TYPE_NAME}_accessLogSetting;_alwaysDeploy;_auth;_binaryMediaTypes;_cacheClusterEnabled;_cacheClusterSize;_canarySetting;_cors;_definitionBody;_definitionUri;_description;_disableExecuteApiEndpoint;_domain;_endpointConfiguration;_gatewayResponses;_methodSettings;_minimumCompressionSize;_models;_name;_openApiVersion;_stageName;tags;_tagsRaw;_tracingEnabled;_variables;cfnPropertyNames={accessLogSetting:"AccessLogSetting",alwaysDeploy:"AlwaysDeploy",auth:"Auth",binaryMediaTypes:"BinaryMediaTypes",cacheClusterEnabled:"CacheClusterEnabled",cacheClusterSize:"CacheClusterSize",canarySetting:"CanarySetting",cors:"Cors",definitionBody:"DefinitionBody",definitionUri:"DefinitionUri",description:"Description",disableExecuteApiEndpoint:"DisableExecuteApiEndpoint",domain:"Domain",endpointConfiguration:"EndpointConfiguration",gatewayResponses:"GatewayResponses",methodSettings:"MethodSettings",minimumCompressionSize:"MinimumCompressionSize",models:"Models",name:"Name",openApiVersion:"OpenApiVersion",stageName:"StageName",tags:"Tags",tracingEnabled:"TracingEnabled",variables:"Variables"};constructor(scope,id,props){super(scope,id,{type:CfnApi.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sam_CfnApiProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnApi),error}cdk().requireProperty(props,"stageName",this),this.stack.addTransform(CfnApi.REQUIRED_TRANSFORM),this._accessLogSetting=props.accessLogSetting,this._alwaysDeploy=props.alwaysDeploy,this._auth=props.auth,this._binaryMediaTypes=props.binaryMediaTypes,this._cacheClusterEnabled=props.cacheClusterEnabled,this._cacheClusterSize=props.cacheClusterSize,this._canarySetting=props.canarySetting,this._cors=props.cors,this._definitionBody=props.definitionBody,this._definitionUri=props.definitionUri,this._description=props.description,this._disableExecuteApiEndpoint=props.disableExecuteApiEndpoint,this._domain=props.domain,this._endpointConfiguration=props.endpointConfiguration,this._gatewayResponses=props.gatewayResponses,this._methodSettings=props.methodSettings,this._minimumCompressionSize=props.minimumCompressionSize,this._models=props.models,this._name=props.name,this._openApiVersion=props.openApiVersion,this._stageName=props.stageName,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Serverless::Api",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._tracingEnabled=props.tracingEnabled,this._variables=props.variables}get apiRef(){return{}}get accessLogSetting(){return this._accessLogSetting}set accessLogSetting(value){cdk().traceProperty(this.node,"AccessLogSetting"),this._accessLogSetting=value}get alwaysDeploy(){return this._alwaysDeploy}set alwaysDeploy(value){cdk().traceProperty(this.node,"AlwaysDeploy"),this._alwaysDeploy=value}get auth(){return this._auth}set auth(value){cdk().traceProperty(this.node,"Auth"),this._auth=value}get binaryMediaTypes(){return this._binaryMediaTypes}set binaryMediaTypes(value){cdk().traceProperty(this.node,"BinaryMediaTypes"),this._binaryMediaTypes=value}get cacheClusterEnabled(){return this._cacheClusterEnabled}set cacheClusterEnabled(value){cdk().traceProperty(this.node,"CacheClusterEnabled"),this._cacheClusterEnabled=value}get cacheClusterSize(){return this._cacheClusterSize}set cacheClusterSize(value){cdk().traceProperty(this.node,"CacheClusterSize"),this._cacheClusterSize=value}get canarySetting(){return this._canarySetting}set canarySetting(value){cdk().traceProperty(this.node,"CanarySetting"),this._canarySetting=value}get cors(){return this._cors}set cors(value){cdk().traceProperty(this.node,"Cors"),this._cors=value}get definitionBody(){return this._definitionBody}set definitionBody(value){cdk().traceProperty(this.node,"DefinitionBody"),this._definitionBody=value}get definitionUri(){return this._definitionUri}set definitionUri(value){cdk().traceProperty(this.node,"DefinitionUri"),this._definitionUri=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get disableExecuteApiEndpoint(){return this._disableExecuteApiEndpoint}set disableExecuteApiEndpoint(value){cdk().traceProperty(this.node,"DisableExecuteApiEndpoint"),this._disableExecuteApiEndpoint=value}get domain(){return this._domain}set domain(value){cdk().traceProperty(this.node,"Domain"),this._domain=value}get endpointConfiguration(){return this._endpointConfiguration}set endpointConfiguration(value){cdk().traceProperty(this.node,"EndpointConfiguration"),this._endpointConfiguration=value}get gatewayResponses(){return this._gatewayResponses}set gatewayResponses(value){cdk().traceProperty(this.node,"GatewayResponses"),this._gatewayResponses=value}get methodSettings(){return this._methodSettings}set methodSettings(value){cdk().traceProperty(this.node,"MethodSettings"),this._methodSettings=value}get minimumCompressionSize(){return this._minimumCompressionSize}set minimumCompressionSize(value){cdk().traceProperty(this.node,"MinimumCompressionSize"),this._minimumCompressionSize=value}get models(){return this._models}set models(value){cdk().traceProperty(this.node,"Models"),this._models=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get openApiVersion(){return this._openApiVersion}set openApiVersion(value){cdk().traceProperty(this.node,"OpenApiVersion"),this._openApiVersion=value}get stageName(){return this._stageName}set stageName(value){cdk().traceProperty(this.node,"StageName"),this._stageName=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get tracingEnabled(){return this._tracingEnabled}set tracingEnabled(value){cdk().traceProperty(this.node,"TracingEnabled"),this._tracingEnabled=value}get variables(){return this._variables}set variables(value){cdk().traceProperty(this.node,"Variables"),this._variables=value}get cfnProperties(){return{accessLogSetting:this._accessLogSetting,alwaysDeploy:this._alwaysDeploy,auth:this._auth,binaryMediaTypes:this._binaryMediaTypes,cacheClusterEnabled:this._cacheClusterEnabled,cacheClusterSize:this._cacheClusterSize,canarySetting:this._canarySetting,cors:this._cors,definitionBody:this._definitionBody,definitionUri:this._definitionUri,description:this._description,disableExecuteApiEndpoint:this._disableExecuteApiEndpoint,domain:this._domain,endpointConfiguration:this._endpointConfiguration,gatewayResponses:this._gatewayResponses,methodSettings:this._methodSettings,minimumCompressionSize:this._minimumCompressionSize,models:this._models,name:this._name,openApiVersion:this._openApiVersion,stageName:this._stageName,tags:this.tags.renderTags(),tracingEnabled:this._tracingEnabled,variables:this._variables}}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",CfnApi.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnApiPropsToCloudFormation(props)}}exports.CfnApi=CfnApi;function CfnApiS3LocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.version)),errors.collect(cdk().propertyValidator("version",cdk().validateNumber)(properties.version)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnApiS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiS3LocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key),Version:cdk().numberToCloudFormation(properties.version)}):properties}function CfnApiS3LocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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.getNumber(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiEndpointConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().validateString)(properties.type)),errors.collect(cdk().propertyValidator("vpcEndpointIds",cdk().listValidator(cdk().validateString))(properties.vpcEndpointIds)),errors.wrap('supplied properties not correct for "EndpointConfigurationProperty"')}function convertCfnApiEndpointConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiEndpointConfigurationPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type),VpcEndpointIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcEndpointIds)}):properties}function CfnApiEndpointConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("vpcEndpointIds","VpcEndpointIds",properties.VpcEndpointIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcEndpointIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiCorsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowCredentials",cdk().validateBoolean)(properties.allowCredentials)),errors.collect(cdk().propertyValidator("allowHeaders",cdk().validateString)(properties.allowHeaders)),errors.collect(cdk().propertyValidator("allowMethods",cdk().validateString)(properties.allowMethods)),errors.collect(cdk().propertyValidator("allowOrigin",cdk().requiredValidator)(properties.allowOrigin)),errors.collect(cdk().propertyValidator("allowOrigin",cdk().validateString)(properties.allowOrigin)),errors.collect(cdk().propertyValidator("maxAge",cdk().validateString)(properties.maxAge)),errors.wrap('supplied properties not correct for "CorsConfigurationProperty"')}function convertCfnApiCorsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiCorsConfigurationPropertyValidator(properties).assertSuccess(),{AllowCredentials:cdk().booleanToCloudFormation(properties.allowCredentials),AllowHeaders:cdk().stringToCloudFormation(properties.allowHeaders),AllowMethods:cdk().stringToCloudFormation(properties.allowMethods),AllowOrigin:cdk().stringToCloudFormation(properties.allowOrigin),MaxAge:cdk().stringToCloudFormation(properties.maxAge)}):properties}function CfnApiCorsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowCredentials","AllowCredentials",properties.AllowCredentials!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowCredentials):void 0),ret.addPropertyResult("allowHeaders","AllowHeaders",properties.AllowHeaders!=null?cfn_parse().FromCloudFormation.getString(properties.AllowHeaders):void 0),ret.addPropertyResult("allowMethods","AllowMethods",properties.AllowMethods!=null?cfn_parse().FromCloudFormation.getString(properties.AllowMethods):void 0),ret.addPropertyResult("allowOrigin","AllowOrigin",properties.AllowOrigin!=null?cfn_parse().FromCloudFormation.getString(properties.AllowOrigin):void 0),ret.addPropertyResult("maxAge","MaxAge",properties.MaxAge!=null?cfn_parse().FromCloudFormation.getString(properties.MaxAge):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiAuthPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("addDefaultAuthorizerToCorsPreflight",cdk().validateBoolean)(properties.addDefaultAuthorizerToCorsPreflight)),errors.collect(cdk().propertyValidator("authorizers",cdk().validateObject)(properties.authorizers)),errors.collect(cdk().propertyValidator("defaultAuthorizer",cdk().validateString)(properties.defaultAuthorizer)),errors.wrap('supplied properties not correct for "AuthProperty"')}function convertCfnApiAuthPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiAuthPropertyValidator(properties).assertSuccess(),{AddDefaultAuthorizerToCorsPreflight:cdk().booleanToCloudFormation(properties.addDefaultAuthorizerToCorsPreflight),Authorizers:cdk().objectToCloudFormation(properties.authorizers),DefaultAuthorizer:cdk().stringToCloudFormation(properties.defaultAuthorizer)}):properties}function CfnApiAuthPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("addDefaultAuthorizerToCorsPreflight","AddDefaultAuthorizerToCorsPreflight",properties.AddDefaultAuthorizerToCorsPreflight!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AddDefaultAuthorizerToCorsPreflight):void 0),ret.addPropertyResult("authorizers","Authorizers",properties.Authorizers!=null?cfn_parse().FromCloudFormation.getAny(properties.Authorizers):void 0),ret.addPropertyResult("defaultAuthorizer","DefaultAuthorizer",properties.DefaultAuthorizer!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultAuthorizer):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiAccessLogSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationArn",cdk().validateString)(properties.destinationArn)),errors.collect(cdk().propertyValidator("format",cdk().validateString)(properties.format)),errors.wrap('supplied properties not correct for "AccessLogSettingProperty"')}function convertCfnApiAccessLogSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiAccessLogSettingPropertyValidator(properties).assertSuccess(),{DestinationArn:cdk().stringToCloudFormation(properties.destinationArn),Format:cdk().stringToCloudFormation(properties.format)}):properties}function CfnApiAccessLogSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationArn","DestinationArn",properties.DestinationArn!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationArn):void 0),ret.addPropertyResult("format","Format",properties.Format!=null?cfn_parse().FromCloudFormation.getString(properties.Format):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiCanarySettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("deploymentId",cdk().validateString)(properties.deploymentId)),errors.collect(cdk().propertyValidator("percentTraffic",cdk().validateNumber)(properties.percentTraffic)),errors.collect(cdk().propertyValidator("stageVariableOverrides",cdk().hashValidator(cdk().validateString))(properties.stageVariableOverrides)),errors.collect(cdk().propertyValidator("useStageCache",cdk().validateBoolean)(properties.useStageCache)),errors.wrap('supplied properties not correct for "CanarySettingProperty"')}function convertCfnApiCanarySettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiCanarySettingPropertyValidator(properties).assertSuccess(),{DeploymentId:cdk().stringToCloudFormation(properties.deploymentId),PercentTraffic:cdk().numberToCloudFormation(properties.percentTraffic),StageVariableOverrides:cdk().hashMapper(cdk().stringToCloudFormation)(properties.stageVariableOverrides),UseStageCache:cdk().booleanToCloudFormation(properties.useStageCache)}):properties}function CfnApiCanarySettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("deploymentId","DeploymentId",properties.DeploymentId!=null?cfn_parse().FromCloudFormation.getString(properties.DeploymentId):void 0),ret.addPropertyResult("percentTraffic","PercentTraffic",properties.PercentTraffic!=null?cfn_parse().FromCloudFormation.getNumber(properties.PercentTraffic):void 0),ret.addPropertyResult("stageVariableOverrides","StageVariableOverrides",properties.StageVariableOverrides!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.StageVariableOverrides):void 0),ret.addPropertyResult("useStageCache","UseStageCache",properties.UseStageCache!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseStageCache):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiMutualTlsAuthenticationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("truststoreUri",cdk().validateString)(properties.truststoreUri)),errors.collect(cdk().propertyValidator("truststoreVersion",cdk().validateString)(properties.truststoreVersion)),errors.wrap('supplied properties not correct for "MutualTlsAuthenticationProperty"')}function convertCfnApiMutualTlsAuthenticationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiMutualTlsAuthenticationPropertyValidator(properties).assertSuccess(),{TruststoreUri:cdk().stringToCloudFormation(properties.truststoreUri),TruststoreVersion:cdk().stringToCloudFormation(properties.truststoreVersion)}):properties}function CfnApiMutualTlsAuthenticationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("truststoreUri","TruststoreUri",properties.TruststoreUri!=null?cfn_parse().FromCloudFormation.getString(properties.TruststoreUri):void 0),ret.addPropertyResult("truststoreVersion","TruststoreVersion",properties.TruststoreVersion!=null?cfn_parse().FromCloudFormation.getString(properties.TruststoreVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiRoute53ConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("distributedDomainName",cdk().validateString)(properties.distributedDomainName)),errors.collect(cdk().propertyValidator("evaluateTargetHealth",cdk().validateBoolean)(properties.evaluateTargetHealth)),errors.collect(cdk().propertyValidator("hostedZoneId",cdk().validateString)(properties.hostedZoneId)),errors.collect(cdk().propertyValidator("hostedZoneName",cdk().validateString)(properties.hostedZoneName)),errors.collect(cdk().propertyValidator("ipV6",cdk().validateBoolean)(properties.ipV6)),errors.wrap('supplied properties not correct for "Route53ConfigurationProperty"')}function convertCfnApiRoute53ConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiRoute53ConfigurationPropertyValidator(properties).assertSuccess(),{DistributedDomainName:cdk().stringToCloudFormation(properties.distributedDomainName),EvaluateTargetHealth:cdk().booleanToCloudFormation(properties.evaluateTargetHealth),HostedZoneId:cdk().stringToCloudFormation(properties.hostedZoneId),HostedZoneName:cdk().stringToCloudFormation(properties.hostedZoneName),IpV6:cdk().booleanToCloudFormation(properties.ipV6)}):properties}function CfnApiRoute53ConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("distributedDomainName","DistributedDomainName",properties.DistributedDomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DistributedDomainName):void 0),ret.addPropertyResult("evaluateTargetHealth","EvaluateTargetHealth",properties.EvaluateTargetHealth!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EvaluateTargetHealth):void 0),ret.addPropertyResult("hostedZoneId","HostedZoneId",properties.HostedZoneId!=null?cfn_parse().FromCloudFormation.getString(properties.HostedZoneId):void 0),ret.addPropertyResult("hostedZoneName","HostedZoneName",properties.HostedZoneName!=null?cfn_parse().FromCloudFormation.getString(properties.HostedZoneName):void 0),ret.addPropertyResult("ipV6","IpV6",properties.IpV6!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IpV6):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiDomainConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("basePath",cdk().listValidator(cdk().validateString))(properties.basePath)),errors.collect(cdk().propertyValidator("certificateArn",cdk().requiredValidator)(properties.certificateArn)),errors.collect(cdk().propertyValidator("certificateArn",cdk().validateString)(properties.certificateArn)),errors.collect(cdk().propertyValidator("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("endpointConfiguration",cdk().validateString)(properties.endpointConfiguration)),errors.collect(cdk().propertyValidator("mutualTlsAuthentication",CfnApiMutualTlsAuthenticationPropertyValidator)(properties.mutualTlsAuthentication)),errors.collect(cdk().propertyValidator("ownershipVerificationCertificateArn",cdk().validateString)(properties.ownershipVerificationCertificateArn)),errors.collect(cdk().propertyValidator("route53",CfnApiRoute53ConfigurationPropertyValidator)(properties.route53)),errors.collect(cdk().propertyValidator("securityPolicy",cdk().validateString)(properties.securityPolicy)),errors.wrap('supplied properties not correct for "DomainConfigurationProperty"')}function convertCfnApiDomainConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiDomainConfigurationPropertyValidator(properties).assertSuccess(),{BasePath:cdk().listMapper(cdk().stringToCloudFormation)(properties.basePath),CertificateArn:cdk().stringToCloudFormation(properties.certificateArn),DomainName:cdk().stringToCloudFormation(properties.domainName),EndpointConfiguration:cdk().stringToCloudFormation(properties.endpointConfiguration),MutualTlsAuthentication:convertCfnApiMutualTlsAuthenticationPropertyToCloudFormation(properties.mutualTlsAuthentication),OwnershipVerificationCertificateArn:cdk().stringToCloudFormation(properties.ownershipVerificationCertificateArn),Route53:convertCfnApiRoute53ConfigurationPropertyToCloudFormation(properties.route53),SecurityPolicy:cdk().stringToCloudFormation(properties.securityPolicy)}):properties}function CfnApiDomainConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("basePath","BasePath",properties.BasePath!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.BasePath):void 0),ret.addPropertyResult("certificateArn","CertificateArn",properties.CertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateArn):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("endpointConfiguration","EndpointConfiguration",properties.EndpointConfiguration!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointConfiguration):void 0),ret.addPropertyResult("mutualTlsAuthentication","MutualTlsAuthentication",properties.MutualTlsAuthentication!=null?CfnApiMutualTlsAuthenticationPropertyFromCloudFormation(properties.MutualTlsAuthentication):void 0),ret.addPropertyResult("ownershipVerificationCertificateArn","OwnershipVerificationCertificateArn",properties.OwnershipVerificationCertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.OwnershipVerificationCertificateArn):void 0),ret.addPropertyResult("route53","Route53",properties.Route53!=null?CfnApiRoute53ConfigurationPropertyFromCloudFormation(properties.Route53):void 0),ret.addPropertyResult("securityPolicy","SecurityPolicy",properties.SecurityPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.SecurityPolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("accessLogSetting",CfnApiAccessLogSettingPropertyValidator)(properties.accessLogSetting)),errors.collect(cdk().propertyValidator("alwaysDeploy",cdk().validateBoolean)(properties.alwaysDeploy)),errors.collect(cdk().propertyValidator("auth",CfnApiAuthPropertyValidator)(properties.auth)),errors.collect(cdk().propertyValidator("binaryMediaTypes",cdk().listValidator(cdk().validateString))(properties.binaryMediaTypes)),errors.collect(cdk().propertyValidator("cacheClusterEnabled",cdk().validateBoolean)(properties.cacheClusterEnabled)),errors.collect(cdk().propertyValidator("cacheClusterSize",cdk().validateString)(properties.cacheClusterSize)),errors.collect(cdk().propertyValidator("canarySetting",CfnApiCanarySettingPropertyValidator)(properties.canarySetting)),errors.collect(cdk().propertyValidator("cors",cdk().unionValidator(cdk().validateString,CfnApiCorsConfigurationPropertyValidator))(properties.cors)),errors.collect(cdk().propertyValidator("definitionBody",cdk().validateObject)(properties.definitionBody)),errors.collect(cdk().propertyValidator("definitionUri",cdk().unionValidator(cdk().validateString,CfnApiS3LocationPropertyValidator))(properties.definitionUri)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("disableExecuteApiEndpoint",cdk().validateBoolean)(properties.disableExecuteApiEndpoint)),errors.collect(cdk().propertyValidator("domain",CfnApiDomainConfigurationPropertyValidator)(properties.domain)),errors.collect(cdk().propertyValidator("endpointConfiguration",cdk().unionValidator(cdk().validateString,CfnApiEndpointConfigurationPropertyValidator))(properties.endpointConfiguration)),errors.collect(cdk().propertyValidator("gatewayResponses",cdk().validateObject)(properties.gatewayResponses)),errors.collect(cdk().propertyValidator("methodSettings",cdk().listValidator(cdk().validateObject))(properties.methodSettings)),errors.collect(cdk().propertyValidator("minimumCompressionSize",cdk().validateNumber)(properties.minimumCompressionSize)),errors.collect(cdk().propertyValidator("models",cdk().validateObject)(properties.models)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("openApiVersion",cdk().validateString)(properties.openApiVersion)),errors.collect(cdk().propertyValidator("stageName",cdk().requiredValidator)(properties.stageName)),errors.collect(cdk().propertyValidator("stageName",cdk().validateString)(properties.stageName)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("tracingEnabled",cdk().validateBoolean)(properties.tracingEnabled)),errors.collect(cdk().propertyValidator("variables",cdk().hashValidator(cdk().validateString))(properties.variables)),errors.wrap('supplied properties not correct for "CfnApiProps"')}function convertCfnApiPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiPropsValidator(properties).assertSuccess(),{AccessLogSetting:convertCfnApiAccessLogSettingPropertyToCloudFormation(properties.accessLogSetting),AlwaysDeploy:cdk().booleanToCloudFormation(properties.alwaysDeploy),Auth:convertCfnApiAuthPropertyToCloudFormation(properties.auth),BinaryMediaTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.binaryMediaTypes),CacheClusterEnabled:cdk().booleanToCloudFormation(properties.cacheClusterEnabled),CacheClusterSize:cdk().stringToCloudFormation(properties.cacheClusterSize),CanarySetting:convertCfnApiCanarySettingPropertyToCloudFormation(properties.canarySetting),Cors:cdk().unionMapper([cdk().validateString,CfnApiCorsConfigurationPropertyValidator],[cdk().stringToCloudFormation,convertCfnApiCorsConfigurationPropertyToCloudFormation])(properties.cors),DefinitionBody:cdk().objectToCloudFormation(properties.definitionBody),DefinitionUri:cdk().unionMapper([cdk().validateString,CfnApiS3LocationPropertyValidator],[cdk().stringToCloudFormation,convertCfnApiS3LocationPropertyToCloudFormation])(properties.definitionUri),Description:cdk().stringToCloudFormation(properties.description),DisableExecuteApiEndpoint:cdk().booleanToCloudFormation(properties.disableExecuteApiEndpoint),Domain:convertCfnApiDomainConfigurationPropertyToCloudFormation(properties.domain),EndpointConfiguration:cdk().unionMapper([cdk().validateString,CfnApiEndpointConfigurationPropertyValidator],[cdk().stringToCloudFormation,convertCfnApiEndpointConfigurationPropertyToCloudFormation])(properties.endpointConfiguration),GatewayResponses:cdk().objectToCloudFormation(properties.gatewayResponses),MethodSettings:cdk().listMapper(cdk().objectToCloudFormation)(properties.methodSettings),MinimumCompressionSize:cdk().numberToCloudFormation(properties.minimumCompressionSize),Models:cdk().objectToCloudFormation(properties.models),Name:cdk().stringToCloudFormation(properties.name),OpenApiVersion:cdk().stringToCloudFormation(properties.openApiVersion),StageName:cdk().stringToCloudFormation(properties.stageName),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),TracingEnabled:cdk().booleanToCloudFormation(properties.tracingEnabled),Variables:cdk().hashMapper(cdk().stringToCloudFormation)(properties.variables)}):properties}function CfnApiPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("accessLogSetting","AccessLogSetting",properties.AccessLogSetting!=null?CfnApiAccessLogSettingPropertyFromCloudFormation(properties.AccessLogSetting):void 0),ret.addPropertyResult("alwaysDeploy","AlwaysDeploy",properties.AlwaysDeploy!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AlwaysDeploy):void 0),ret.addPropertyResult("auth","Auth",properties.Auth!=null?CfnApiAuthPropertyFromCloudFormation(properties.Auth):void 0),ret.addPropertyResult("binaryMediaTypes","BinaryMediaTypes",properties.BinaryMediaTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.BinaryMediaTypes):void 0),ret.addPropertyResult("cacheClusterEnabled","CacheClusterEnabled",properties.CacheClusterEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CacheClusterEnabled):void 0),ret.addPropertyResult("cacheClusterSize","CacheClusterSize",properties.CacheClusterSize!=null?cfn_parse().FromCloudFormation.getString(properties.CacheClusterSize):void 0),ret.addPropertyResult("canarySetting","CanarySetting",properties.CanarySetting!=null?CfnApiCanarySettingPropertyFromCloudFormation(properties.CanarySetting):void 0),ret.addPropertyResult("cors","Cors",properties.Cors!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnApiCorsConfigurationPropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnApiCorsConfigurationPropertyFromCloudFormation])(properties.Cors):void 0),ret.addPropertyResult("definitionBody","DefinitionBody",properties.DefinitionBody!=null?cfn_parse().FromCloudFormation.getAny(properties.DefinitionBody):void 0),ret.addPropertyResult("definitionUri","DefinitionUri",properties.DefinitionUri!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnApiS3LocationPropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnApiS3LocationPropertyFromCloudFormation])(properties.DefinitionUri):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("disableExecuteApiEndpoint","DisableExecuteApiEndpoint",properties.DisableExecuteApiEndpoint!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableExecuteApiEndpoint):void 0),ret.addPropertyResult("domain","Domain",properties.Domain!=null?CfnApiDomainConfigurationPropertyFromCloudFormation(properties.Domain):void 0),ret.addPropertyResult("endpointConfiguration","EndpointConfiguration",properties.EndpointConfiguration!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnApiEndpointConfigurationPropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnApiEndpointConfigurationPropertyFromCloudFormation])(properties.EndpointConfiguration):void 0),ret.addPropertyResult("gatewayResponses","GatewayResponses",properties.GatewayResponses!=null?cfn_parse().FromCloudFormation.getAny(properties.GatewayResponses):void 0),ret.addPropertyResult("methodSettings","MethodSettings",properties.MethodSettings!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getAny)(properties.MethodSettings):void 0),ret.addPropertyResult("minimumCompressionSize","MinimumCompressionSize",properties.MinimumCompressionSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumCompressionSize):void 0),ret.addPropertyResult("models","Models",properties.Models!=null?cfn_parse().FromCloudFormation.getAny(properties.Models):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("openApiVersion","OpenApiVersion",properties.OpenApiVersion!=null?cfn_parse().FromCloudFormation.getString(properties.OpenApiVersion):void 0),ret.addPropertyResult("stageName","StageName",properties.StageName!=null?cfn_parse().FromCloudFormation.getString(properties.StageName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("tracingEnabled","TracingEnabled",properties.TracingEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.TracingEnabled):void 0),ret.addPropertyResult("variables","Variables",properties.Variables!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Variables):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnHttpApi extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sam.CfnHttpApi",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Serverless::HttpApi";static REQUIRED_TRANSFORM="AWS::Serverless-2016-10-31";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnHttpApiPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnHttpApi(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 isCfnHttpApi(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnHttpApi.CFN_RESOURCE_TYPE_NAME}_accessLogSetting;_auth;_corsConfiguration;_defaultRouteSettings;_definitionBody;_definitionUri;_description;_disableExecuteApiEndpoint;_domain;_failOnWarnings;_routeSettings;_stageName;_stageVariables;tags;_tagsRaw;cfnPropertyNames={accessLogSetting:"AccessLogSetting",auth:"Auth",corsConfiguration:"CorsConfiguration",defaultRouteSettings:"DefaultRouteSettings",definitionBody:"DefinitionBody",definitionUri:"DefinitionUri",description:"Description",disableExecuteApiEndpoint:"DisableExecuteApiEndpoint",domain:"Domain",failOnWarnings:"FailOnWarnings",routeSettings:"RouteSettings",stageName:"StageName",stageVariables:"StageVariables",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnHttpApi.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sam_CfnHttpApiProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnHttpApi),error}this.stack.addTransform(CfnHttpApi.REQUIRED_TRANSFORM),this._accessLogSetting=props.accessLogSetting,this._auth=props.auth,this._corsConfiguration=props.corsConfiguration,this._defaultRouteSettings=props.defaultRouteSettings,this._definitionBody=props.definitionBody,this._definitionUri=props.definitionUri,this._description=props.description,this._disableExecuteApiEndpoint=props.disableExecuteApiEndpoint,this._domain=props.domain,this._failOnWarnings=props.failOnWarnings,this._routeSettings=props.routeSettings,this._stageName=props.stageName,this._stageVariables=props.stageVariables,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Serverless::HttpApi",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get httpApiRef(){return{}}get accessLogSetting(){return this._accessLogSetting}set accessLogSetting(value){cdk().traceProperty(this.node,"AccessLogSetting"),this._accessLogSetting=value}get auth(){return this._auth}set auth(value){cdk().traceProperty(this.node,"Auth"),this._auth=value}get corsConfiguration(){return this._corsConfiguration}set corsConfiguration(value){cdk().traceProperty(this.node,"CorsConfiguration"),this._corsConfiguration=value}get defaultRouteSettings(){return this._defaultRouteSettings}set defaultRouteSettings(value){cdk().traceProperty(this.node,"DefaultRouteSettings"),this._defaultRouteSettings=value}get definitionBody(){return this._definitionBody}set definitionBody(value){cdk().traceProperty(this.node,"DefinitionBody"),this._definitionBody=value}get definitionUri(){return this._definitionUri}set definitionUri(value){cdk().traceProperty(this.node,"DefinitionUri"),this._definitionUri=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get disableExecuteApiEndpoint(){return this._disableExecuteApiEndpoint}set disableExecuteApiEndpoint(value){cdk().traceProperty(this.node,"DisableExecuteApiEndpoint"),this._disableExecuteApiEndpoint=value}get domain(){return this._domain}set domain(value){cdk().traceProperty(this.node,"Domain"),this._domain=value}get failOnWarnings(){return this._failOnWarnings}set failOnWarnings(value){cdk().traceProperty(this.node,"FailOnWarnings"),this._failOnWarnings=value}get routeSettings(){return this._routeSettings}set routeSettings(value){cdk().traceProperty(this.node,"RouteSettings"),this._routeSettings=value}get stageName(){return this._stageName}set stageName(value){cdk().traceProperty(this.node,"StageName"),this._stageName=value}get stageVariables(){return this._stageVariables}set stageVariables(value){cdk().traceProperty(this.node,"StageVariables"),this._stageVariables=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get cfnProperties(){return{accessLogSetting:this._accessLogSetting,auth:this._auth,corsConfiguration:this._corsConfiguration,defaultRouteSettings:this._defaultRouteSettings,definitionBody:this._definitionBody,definitionUri:this._definitionUri,description:this._description,disableExecuteApiEndpoint:this._disableExecuteApiEndpoint,domain:this._domain,failOnWarnings:this._failOnWarnings,routeSettings:this._routeSettings,stageName:this._stageName,stageVariables:this._stageVariables,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnHttpApi.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnHttpApiPropsToCloudFormation(props)}}exports.CfnHttpApi=CfnHttpApi;function CfnHttpApiS3LocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.version)),errors.collect(cdk().propertyValidator("version",cdk().validateNumber)(properties.version)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnHttpApiS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHttpApiS3LocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key),Version:cdk().numberToCloudFormation(properties.version)}):properties}function CfnHttpApiS3LocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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.getNumber(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHttpApiHttpApiAuthPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("authorizers",cdk().validateObject)(properties.authorizers)),errors.collect(cdk().propertyValidator("defaultAuthorizer",cdk().validateString)(properties.defaultAuthorizer)),errors.wrap('supplied properties not correct for "HttpApiAuthProperty"')}function convertCfnHttpApiHttpApiAuthPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHttpApiHttpApiAuthPropertyValidator(properties).assertSuccess(),{Authorizers:cdk().objectToCloudFormation(properties.authorizers),DefaultAuthorizer:cdk().stringToCloudFormation(properties.defaultAuthorizer)}):properties}function CfnHttpApiHttpApiAuthPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("authorizers","Authorizers",properties.Authorizers!=null?cfn_parse().FromCloudFormation.getAny(properties.Authorizers):void 0),ret.addPropertyResult("defaultAuthorizer","DefaultAuthorizer",properties.DefaultAuthorizer!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultAuthorizer):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHttpApiAccessLogSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationArn",cdk().validateString)(properties.destinationArn)),errors.collect(cdk().propertyValidator("format",cdk().validateString)(properties.format)),errors.wrap('supplied properties not correct for "AccessLogSettingProperty"')}function convertCfnHttpApiAccessLogSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHttpApiAccessLogSettingPropertyValidator(properties).assertSuccess(),{DestinationArn:cdk().stringToCloudFormation(properties.destinationArn),Format:cdk().stringToCloudFormation(properties.format)}):properties}function CfnHttpApiAccessLogSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationArn","DestinationArn",properties.DestinationArn!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationArn):void 0),ret.addPropertyResult("format","Format",properties.Format!=null?cfn_parse().FromCloudFormation.getString(properties.Format):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHttpApiCorsConfigurationObjectPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowCredentials",cdk().validateBoolean)(properties.allowCredentials)),errors.collect(cdk().propertyValidator("allowHeaders",cdk().listValidator(cdk().validateString))(properties.allowHeaders)),errors.collect(cdk().propertyValidator("allowMethods",cdk().listValidator(cdk().validateString))(properties.allowMethods)),errors.collect(cdk().propertyValidator("allowOrigins",cdk().listValidator(cdk().validateString))(properties.allowOrigins)),errors.collect(cdk().propertyValidator("exposeHeaders",cdk().listValidator(cdk().validateString))(properties.exposeHeaders)),errors.collect(cdk().propertyValidator("maxAge",cdk().validateNumber)(properties.maxAge)),errors.wrap('supplied properties not correct for "CorsConfigurationObjectProperty"')}function convertCfnHttpApiCorsConfigurationObjectPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHttpApiCorsConfigurationObjectPropertyValidator(properties).assertSuccess(),{AllowCredentials:cdk().booleanToCloudFormation(properties.allowCredentials),AllowHeaders:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowHeaders),AllowMethods:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowMethods),AllowOrigins:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowOrigins),ExposeHeaders:cdk().listMapper(cdk().stringToCloudFormation)(properties.exposeHeaders),MaxAge:cdk().numberToCloudFormation(properties.maxAge)}):properties}function CfnHttpApiCorsConfigurationObjectPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowCredentials","AllowCredentials",properties.AllowCredentials!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowCredentials):void 0),ret.addPropertyResult("allowHeaders","AllowHeaders",properties.AllowHeaders!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowHeaders):void 0),ret.addPropertyResult("allowMethods","AllowMethods",properties.AllowMethods!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowMethods):void 0),ret.addPropertyResult("allowOrigins","AllowOrigins",properties.AllowOrigins!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowOrigins):void 0),ret.addPropertyResult("exposeHeaders","ExposeHeaders",properties.ExposeHeaders!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExposeHeaders):void 0),ret.addPropertyResult("maxAge","MaxAge",properties.MaxAge!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxAge):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHttpApiRouteSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataTraceEnabled",cdk().validateBoolean)(properties.dataTraceEnabled)),errors.collect(cdk().propertyValidator("detailedMetricsEnabled",cdk().validateBoolean)(properties.detailedMetricsEnabled)),errors.collect(cdk().propertyValidator("loggingLevel",cdk().validateString)(properties.loggingLevel)),errors.collect(cdk().propertyValidator("throttlingBurstLimit",cdk().validateNumber)(properties.throttlingBurstLimit)),errors.collect(cdk().propertyValidator("throttlingRateLimit",cdk().validateNumber)(properties.throttlingRateLimit)),errors.wrap('supplied properties not correct for "RouteSettingsProperty"')}function convertCfnHttpApiRouteSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHttpApiRouteSettingsPropertyValidator(properties).assertSuccess(),{DataTraceEnabled:cdk().booleanToCloudFormation(properties.dataTraceEnabled),DetailedMetricsEnabled:cdk().booleanToCloudFormation(properties.detailedMetricsEnabled),LoggingLevel:cdk().stringToCloudFormation(properties.loggingLevel),ThrottlingBurstLimit:cdk().numberToCloudFormation(properties.throttlingBurstLimit),ThrottlingRateLimit:cdk().numberToCloudFormation(properties.throttlingRateLimit)}):properties}function CfnHttpApiRouteSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataTraceEnabled","DataTraceEnabled",properties.DataTraceEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DataTraceEnabled):void 0),ret.addPropertyResult("detailedMetricsEnabled","DetailedMetricsEnabled",properties.DetailedMetricsEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DetailedMetricsEnabled):void 0),ret.addPropertyResult("loggingLevel","LoggingLevel",properties.LoggingLevel!=null?cfn_parse().FromCloudFormation.getString(properties.LoggingLevel):void 0),ret.addPropertyResult("throttlingBurstLimit","ThrottlingBurstLimit",properties.ThrottlingBurstLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.ThrottlingBurstLimit):void 0),ret.addPropertyResult("throttlingRateLimit","ThrottlingRateLimit",properties.ThrottlingRateLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.ThrottlingRateLimit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHttpApiRoute53ConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("distributedDomainName",cdk().validateString)(properties.distributedDomainName)),errors.collect(cdk().propertyValidator("evaluateTargetHealth",cdk().validateBoolean)(properties.evaluateTargetHealth)),errors.collect(cdk().propertyValidator("hostedZoneId",cdk().validateString)(properties.hostedZoneId)),errors.collect(cdk().propertyValidator("hostedZoneName",cdk().validateString)(properties.hostedZoneName)),errors.collect(cdk().propertyValidator("ipV6",cdk().validateBoolean)(properties.ipV6)),errors.wrap('supplied properties not correct for "Route53ConfigurationProperty"')}function convertCfnHttpApiRoute53ConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHttpApiRoute53ConfigurationPropertyValidator(properties).assertSuccess(),{DistributedDomainName:cdk().stringToCloudFormation(properties.distributedDomainName),EvaluateTargetHealth:cdk().booleanToCloudFormation(properties.evaluateTargetHealth),HostedZoneId:cdk().stringToCloudFormation(properties.hostedZoneId),HostedZoneName:cdk().stringToCloudFormation(properties.hostedZoneName),IpV6:cdk().booleanToCloudFormation(properties.ipV6)}):properties}function CfnHttpApiRoute53ConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("distributedDomainName","DistributedDomainName",properties.DistributedDomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DistributedDomainName):void 0),ret.addPropertyResult("evaluateTargetHealth","EvaluateTargetHealth",properties.EvaluateTargetHealth!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EvaluateTargetHealth):void 0),ret.addPropertyResult("hostedZoneId","HostedZoneId",properties.HostedZoneId!=null?cfn_parse().FromCloudFormation.getString(properties.HostedZoneId):void 0),ret.addPropertyResult("hostedZoneName","HostedZoneName",properties.HostedZoneName!=null?cfn_parse().FromCloudFormation.getString(properties.HostedZoneName):void 0),ret.addPropertyResult("ipV6","IpV6",properties.IpV6!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IpV6):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHttpApiMutualTlsAuthenticationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("truststoreUri",cdk().validateString)(properties.truststoreUri)),errors.collect(cdk().propertyValidator("truststoreVersion",cdk().validateBoolean)(properties.truststoreVersion)),errors.wrap('supplied properties not correct for "MutualTlsAuthenticationProperty"')}function convertCfnHttpApiMutualTlsAuthenticationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHttpApiMutualTlsAuthenticationPropertyValidator(properties).assertSuccess(),{TruststoreUri:cdk().stringToCloudFormation(properties.truststoreUri),TruststoreVersion:cdk().booleanToCloudFormation(properties.truststoreVersion)}):properties}function CfnHttpApiMutualTlsAuthenticationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("truststoreUri","TruststoreUri",properties.TruststoreUri!=null?cfn_parse().FromCloudFormation.getString(properties.TruststoreUri):void 0),ret.addPropertyResult("truststoreVersion","TruststoreVersion",properties.TruststoreVersion!=null?cfn_parse().FromCloudFormation.getBoolean(properties.TruststoreVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHttpApiHttpApiDomainConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("basePath",cdk().validateString)(properties.basePath)),errors.collect(cdk().propertyValidator("certificateArn",cdk().requiredValidator)(properties.certificateArn)),errors.collect(cdk().propertyValidator("certificateArn",cdk().validateString)(properties.certificateArn)),errors.collect(cdk().propertyValidator("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("endpointConfiguration",cdk().validateString)(properties.endpointConfiguration)),errors.collect(cdk().propertyValidator("mutualTlsAuthentication",CfnHttpApiMutualTlsAuthenticationPropertyValidator)(properties.mutualTlsAuthentication)),errors.collect(cdk().propertyValidator("route53",CfnHttpApiRoute53ConfigurationPropertyValidator)(properties.route53)),errors.collect(cdk().propertyValidator("securityPolicy",cdk().validateString)(properties.securityPolicy)),errors.wrap('supplied properties not correct for "HttpApiDomainConfigurationProperty"')}function convertCfnHttpApiHttpApiDomainConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHttpApiHttpApiDomainConfigurationPropertyValidator(properties).assertSuccess(),{BasePath:cdk().stringToCloudFormation(properties.basePath),CertificateArn:cdk().stringToCloudFormation(properties.certificateArn),DomainName:cdk().stringToCloudFormation(properties.domainName),EndpointConfiguration:cdk().stringToCloudFormation(properties.endpointConfiguration),MutualTlsAuthentication:convertCfnHttpApiMutualTlsAuthenticationPropertyToCloudFormation(properties.mutualTlsAuthentication),Route53:convertCfnHttpApiRoute53ConfigurationPropertyToCloudFormation(properties.route53),SecurityPolicy:cdk().stringToCloudFormation(properties.securityPolicy)}):properties}function CfnHttpApiHttpApiDomainConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("basePath","BasePath",properties.BasePath!=null?cfn_parse().FromCloudFormation.getString(properties.BasePath):void 0),ret.addPropertyResult("certificateArn","CertificateArn",properties.CertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateArn):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("endpointConfiguration","EndpointConfiguration",properties.EndpointConfiguration!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointConfiguration):void 0),ret.addPropertyResult("mutualTlsAuthentication","MutualTlsAuthentication",properties.MutualTlsAuthentication!=null?CfnHttpApiMutualTlsAuthenticationPropertyFromCloudFormation(properties.MutualTlsAuthentication):void 0),ret.addPropertyResult("route53","Route53",properties.Route53!=null?CfnHttpApiRoute53ConfigurationPropertyFromCloudFormation(properties.Route53):void 0),ret.addPropertyResult("securityPolicy","SecurityPolicy",properties.SecurityPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.SecurityPolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHttpApiPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("accessLogSetting",CfnHttpApiAccessLogSettingPropertyValidator)(properties.accessLogSetting)),errors.collect(cdk().propertyValidator("auth",CfnHttpApiHttpApiAuthPropertyValidator)(properties.auth)),errors.collect(cdk().propertyValidator("corsConfiguration",cdk().unionValidator(cdk().validateBoolean,CfnHttpApiCorsConfigurationObjectPropertyValidator))(properties.corsConfiguration)),errors.collect(cdk().propertyValidator("defaultRouteSettings",CfnHttpApiRouteSettingsPropertyValidator)(properties.defaultRouteSettings)),errors.collect(cdk().propertyValidator("definitionBody",cdk().validateObject)(properties.definitionBody)),errors.collect(cdk().propertyValidator("definitionUri",cdk().unionValidator(cdk().validateString,CfnHttpApiS3LocationPropertyValidator))(properties.definitionUri)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("disableExecuteApiEndpoint",cdk().validateBoolean)(properties.disableExecuteApiEndpoint)),errors.collect(cdk().propertyValidator("domain",CfnHttpApiHttpApiDomainConfigurationPropertyValidator)(properties.domain)),errors.collect(cdk().propertyValidator("failOnWarnings",cdk().validateBoolean)(properties.failOnWarnings)),errors.collect(cdk().propertyValidator("routeSettings",CfnHttpApiRouteSettingsPropertyValidator)(properties.routeSettings)),errors.collect(cdk().propertyValidator("stageName",cdk().validateString)(properties.stageName)),errors.collect(cdk().propertyValidator("stageVariables",cdk().hashValidator(cdk().validateString))(properties.stageVariables)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnHttpApiProps"')}function convertCfnHttpApiPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHttpApiPropsValidator(properties).assertSuccess(),{AccessLogSetting:convertCfnHttpApiAccessLogSettingPropertyToCloudFormation(properties.accessLogSetting),Auth:convertCfnHttpApiHttpApiAuthPropertyToCloudFormation(properties.auth),CorsConfiguration:cdk().unionMapper([cdk().validateBoolean,CfnHttpApiCorsConfigurationObjectPropertyValidator],[cdk().booleanToCloudFormation,convertCfnHttpApiCorsConfigurationObjectPropertyToCloudFormation])(properties.corsConfiguration),DefaultRouteSettings:convertCfnHttpApiRouteSettingsPropertyToCloudFormation(properties.defaultRouteSettings),DefinitionBody:cdk().objectToCloudFormation(properties.definitionBody),DefinitionUri:cdk().unionMapper([cdk().validateString,CfnHttpApiS3LocationPropertyValidator],[cdk().stringToCloudFormation,convertCfnHttpApiS3LocationPropertyToCloudFormation])(properties.definitionUri),Description:cdk().stringToCloudFormation(properties.description),DisableExecuteApiEndpoint:cdk().booleanToCloudFormation(properties.disableExecuteApiEndpoint),Domain:convertCfnHttpApiHttpApiDomainConfigurationPropertyToCloudFormation(properties.domain),FailOnWarnings:cdk().booleanToCloudFormation(properties.failOnWarnings),RouteSettings:convertCfnHttpApiRouteSettingsPropertyToCloudFormation(properties.routeSettings),StageName:cdk().stringToCloudFormation(properties.stageName),StageVariables:cdk().hashMapper(cdk().stringToCloudFormation)(properties.stageVariables),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnHttpApiPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("accessLogSetting","AccessLogSetting",properties.AccessLogSetting!=null?CfnHttpApiAccessLogSettingPropertyFromCloudFormation(properties.AccessLogSetting):void 0),ret.addPropertyResult("auth","Auth",properties.Auth!=null?CfnHttpApiHttpApiAuthPropertyFromCloudFormation(properties.Auth):void 0),ret.addPropertyResult("corsConfiguration","CorsConfiguration",properties.CorsConfiguration!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateBoolean,CfnHttpApiCorsConfigurationObjectPropertyValidator],[cfn_parse().FromCloudFormation.getBoolean,CfnHttpApiCorsConfigurationObjectPropertyFromCloudFormation])(properties.CorsConfiguration):void 0),ret.addPropertyResult("defaultRouteSettings","DefaultRouteSettings",properties.DefaultRouteSettings!=null?CfnHttpApiRouteSettingsPropertyFromCloudFormation(properties.DefaultRouteSettings):void 0),ret.addPropertyResult("definitionBody","DefinitionBody",properties.DefinitionBody!=null?cfn_parse().FromCloudFormation.getAny(properties.DefinitionBody):void 0),ret.addPropertyResult("definitionUri","DefinitionUri",properties.DefinitionUri!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnHttpApiS3LocationPropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnHttpApiS3LocationPropertyFromCloudFormation])(properties.DefinitionUri):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("disableExecuteApiEndpoint","DisableExecuteApiEndpoint",properties.DisableExecuteApiEndpoint!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableExecuteApiEndpoint):void 0),ret.addPropertyResult("domain","Domain",properties.Domain!=null?CfnHttpApiHttpApiDomainConfigurationPropertyFromCloudFormation(properties.Domain):void 0),ret.addPropertyResult("failOnWarnings","FailOnWarnings",properties.FailOnWarnings!=null?cfn_parse().FromCloudFormation.getBoolean(properties.FailOnWarnings):void 0),ret.addPropertyResult("routeSettings","RouteSettings",properties.RouteSettings!=null?CfnHttpApiRouteSettingsPropertyFromCloudFormation(properties.RouteSettings):void 0),ret.addPropertyResult("stageName","StageName",properties.StageName!=null?cfn_parse().FromCloudFormation.getString(properties.StageName):void 0),ret.addPropertyResult("stageVariables","StageVariables",properties.StageVariables!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.StageVariables):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 CfnApplication extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sam.CfnApplication",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Serverless::Application";static REQUIRED_TRANSFORM="AWS::Serverless-2016-10-31";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnApplicationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnApplication(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 isCfnApplication(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnApplication.CFN_RESOURCE_TYPE_NAME}_location;_notificationArns;_parameters;tags;_tagsRaw;_timeoutInMinutes;cfnPropertyNames={location:"Location",notificationArns:"NotificationArns",parameters:"Parameters",tags:"Tags",timeoutInMinutes:"TimeoutInMinutes"};constructor(scope,id,props){super(scope,id,{type:CfnApplication.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sam_CfnApplicationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnApplication),error}cdk().requireProperty(props,"location",this),this.stack.addTransform(CfnApplication.REQUIRED_TRANSFORM),this._location=props.location,this._notificationArns=props.notificationArns,this._parameters=props.parameters,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Serverless::Application",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._timeoutInMinutes=props.timeoutInMinutes}get applicationRef(){return{}}get location(){return this._location}set location(value){cdk().traceProperty(this.node,"Location"),this._location=value}get notificationArns(){return this._notificationArns}set notificationArns(value){cdk().traceProperty(this.node,"NotificationArns"),this._notificationArns=value}get parameters(){return this._parameters}set parameters(value){cdk().traceProperty(this.node,"Parameters"),this._parameters=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get timeoutInMinutes(){return this._timeoutInMinutes}set timeoutInMinutes(value){cdk().traceProperty(this.node,"TimeoutInMinutes"),this._timeoutInMinutes=value}get cfnProperties(){return{location:this._location,notificationArns:this._notificationArns,parameters:this._parameters,tags:this.tags.renderTags(),timeoutInMinutes:this._timeoutInMinutes}}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",CfnApplication.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnApplicationPropsToCloudFormation(props)}}exports.CfnApplication=CfnApplication;function CfnApplicationApplicationLocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("applicationId",cdk().requiredValidator)(properties.applicationId)),errors.collect(cdk().propertyValidator("applicationId",cdk().validateString)(properties.applicationId)),errors.collect(cdk().propertyValidator("semanticVersion",cdk().requiredValidator)(properties.semanticVersion)),errors.collect(cdk().propertyValidator("semanticVersion",cdk().validateString)(properties.semanticVersion)),errors.wrap('supplied properties not correct for "ApplicationLocationProperty"')}function convertCfnApplicationApplicationLocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApplicationApplicationLocationPropertyValidator(properties).assertSuccess(),{ApplicationId:cdk().stringToCloudFormation(properties.applicationId),SemanticVersion:cdk().stringToCloudFormation(properties.semanticVersion)}):properties}function CfnApplicationApplicationLocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("applicationId","ApplicationId",properties.ApplicationId!=null?cfn_parse().FromCloudFormation.getString(properties.ApplicationId):void 0),ret.addPropertyResult("semanticVersion","SemanticVersion",properties.SemanticVersion!=null?cfn_parse().FromCloudFormation.getString(properties.SemanticVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApplicationPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("location",cdk().requiredValidator)(properties.location)),errors.collect(cdk().propertyValidator("location",cdk().unionValidator(cdk().validateString,CfnApplicationApplicationLocationPropertyValidator))(properties.location)),errors.collect(cdk().propertyValidator("notificationArns",cdk().listValidator(cdk().validateString))(properties.notificationArns)),errors.collect(cdk().propertyValidator("parameters",cdk().hashValidator(cdk().validateString))(properties.parameters)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("timeoutInMinutes",cdk().validateNumber)(properties.timeoutInMinutes)),errors.wrap('supplied properties not correct for "CfnApplicationProps"')}function convertCfnApplicationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApplicationPropsValidator(properties).assertSuccess(),{Location:cdk().unionMapper([cdk().validateString,CfnApplicationApplicationLocationPropertyValidator],[cdk().stringToCloudFormation,convertCfnApplicationApplicationLocationPropertyToCloudFormation])(properties.location),NotificationArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.notificationArns),Parameters:cdk().hashMapper(cdk().stringToCloudFormation)(properties.parameters),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),TimeoutInMinutes:cdk().numberToCloudFormation(properties.timeoutInMinutes)}):properties}function CfnApplicationPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("location","Location",properties.Location!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnApplicationApplicationLocationPropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnApplicationApplicationLocationPropertyFromCloudFormation])(properties.Location):void 0),ret.addPropertyResult("notificationArns","NotificationArns",properties.NotificationArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NotificationArns):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Parameters):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("timeoutInMinutes","TimeoutInMinutes",properties.TimeoutInMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutInMinutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSimpleTable extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sam.CfnSimpleTable",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Serverless::SimpleTable";static REQUIRED_TRANSFORM="AWS::Serverless-2016-10-31";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSimpleTablePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnSimpleTable(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 isCfnSimpleTable(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSimpleTable.CFN_RESOURCE_TYPE_NAME}_primaryKey;_provisionedThroughput;_sseSpecification;_tableName;tags;_tagsRaw;cfnPropertyNames={primaryKey:"PrimaryKey",provisionedThroughput:"ProvisionedThroughput",sseSpecification:"SSESpecification",tableName:"TableName",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnSimpleTable.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sam_CfnSimpleTableProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSimpleTable),error}this.stack.addTransform(CfnSimpleTable.REQUIRED_TRANSFORM),this._primaryKey=props.primaryKey,this._provisionedThroughput=props.provisionedThroughput,this._sseSpecification=props.sseSpecification,this._tableName=props.tableName,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Serverless::SimpleTable",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get simpleTableRef(){return{}}get primaryKey(){return this._primaryKey}set primaryKey(value){cdk().traceProperty(this.node,"PrimaryKey"),this._primaryKey=value}get provisionedThroughput(){return this._provisionedThroughput}set provisionedThroughput(value){cdk().traceProperty(this.node,"ProvisionedThroughput"),this._provisionedThroughput=value}get sseSpecification(){return this._sseSpecification}set sseSpecification(value){cdk().traceProperty(this.node,"SSESpecification"),this._sseSpecification=value}get tableName(){return this._tableName}set tableName(value){cdk().traceProperty(this.node,"TableName"),this._tableName=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get cfnProperties(){return{primaryKey:this._primaryKey,provisionedThroughput:this._provisionedThroughput,sseSpecification:this._sseSpecification,tableName:this._tableName,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnSimpleTable.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSimpleTablePropsToCloudFormation(props)}}exports.CfnSimpleTable=CfnSimpleTable;function CfnSimpleTablePrimaryKeyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "PrimaryKeyProperty"')}function convertCfnSimpleTablePrimaryKeyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSimpleTablePrimaryKeyPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnSimpleTablePrimaryKeyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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 CfnSimpleTableProvisionedThroughputPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("readCapacityUnits",cdk().validateNumber)(properties.readCapacityUnits)),errors.collect(cdk().propertyValidator("writeCapacityUnits",cdk().requiredValidator)(properties.writeCapacityUnits)),errors.collect(cdk().propertyValidator("writeCapacityUnits",cdk().validateNumber)(properties.writeCapacityUnits)),errors.wrap('supplied properties not correct for "ProvisionedThroughputProperty"')}function convertCfnSimpleTableProvisionedThroughputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSimpleTableProvisionedThroughputPropertyValidator(properties).assertSuccess(),{ReadCapacityUnits:cdk().numberToCloudFormation(properties.readCapacityUnits),WriteCapacityUnits:cdk().numberToCloudFormation(properties.writeCapacityUnits)}):properties}function CfnSimpleTableProvisionedThroughputPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("readCapacityUnits","ReadCapacityUnits",properties.ReadCapacityUnits!=null?cfn_parse().FromCloudFormation.getNumber(properties.ReadCapacityUnits):void 0),ret.addPropertyResult("writeCapacityUnits","WriteCapacityUnits",properties.WriteCapacityUnits!=null?cfn_parse().FromCloudFormation.getNumber(properties.WriteCapacityUnits):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSimpleTableSSESpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sseEnabled",cdk().validateBoolean)(properties.sseEnabled)),errors.wrap('supplied properties not correct for "SSESpecificationProperty"')}function convertCfnSimpleTableSSESpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSimpleTableSSESpecificationPropertyValidator(properties).assertSuccess(),{SSEEnabled:cdk().booleanToCloudFormation(properties.sseEnabled)}):properties}function CfnSimpleTableSSESpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sseEnabled","SSEEnabled",properties.SSEEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SSEEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSimpleTablePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("primaryKey",CfnSimpleTablePrimaryKeyPropertyValidator)(properties.primaryKey)),errors.collect(cdk().propertyValidator("provisionedThroughput",CfnSimpleTableProvisionedThroughputPropertyValidator)(properties.provisionedThroughput)),errors.collect(cdk().propertyValidator("sseSpecification",CfnSimpleTableSSESpecificationPropertyValidator)(properties.sseSpecification)),errors.collect(cdk().propertyValidator("tableName",cdk().validateString)(properties.tableName)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnSimpleTableProps"')}function convertCfnSimpleTablePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSimpleTablePropsValidator(properties).assertSuccess(),{PrimaryKey:convertCfnSimpleTablePrimaryKeyPropertyToCloudFormation(properties.primaryKey),ProvisionedThroughput:convertCfnSimpleTableProvisionedThroughputPropertyToCloudFormation(properties.provisionedThroughput),SSESpecification:convertCfnSimpleTableSSESpecificationPropertyToCloudFormation(properties.sseSpecification),TableName:cdk().stringToCloudFormation(properties.tableName),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnSimpleTablePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("primaryKey","PrimaryKey",properties.PrimaryKey!=null?CfnSimpleTablePrimaryKeyPropertyFromCloudFormation(properties.PrimaryKey):void 0),ret.addPropertyResult("provisionedThroughput","ProvisionedThroughput",properties.ProvisionedThroughput!=null?CfnSimpleTableProvisionedThroughputPropertyFromCloudFormation(properties.ProvisionedThroughput):void 0),ret.addPropertyResult("sseSpecification","SSESpecification",properties.SSESpecification!=null?CfnSimpleTableSSESpecificationPropertyFromCloudFormation(properties.SSESpecification):void 0),ret.addPropertyResult("tableName","TableName",properties.TableName!=null?cfn_parse().FromCloudFormation.getString(properties.TableName):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 CfnLayerVersion extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sam.CfnLayerVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Serverless::LayerVersion";static REQUIRED_TRANSFORM="AWS::Serverless-2016-10-31";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLayerVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLayerVersion(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 isCfnLayerVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLayerVersion.CFN_RESOURCE_TYPE_NAME}_compatibleRuntimes;_contentUri;_description;_layerName;_licenseInfo;_retentionPolicy;cfnPropertyNames={compatibleRuntimes:"CompatibleRuntimes",contentUri:"ContentUri",description:"Description",layerName:"LayerName",licenseInfo:"LicenseInfo",retentionPolicy:"RetentionPolicy"};constructor(scope,id,props={}){super(scope,id,{type:CfnLayerVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sam_CfnLayerVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLayerVersion),error}this.stack.addTransform(CfnLayerVersion.REQUIRED_TRANSFORM),this._compatibleRuntimes=props.compatibleRuntimes,this._contentUri=props.contentUri,this._description=props.description,this._layerName=props.layerName,this._licenseInfo=props.licenseInfo,this._retentionPolicy=props.retentionPolicy}get layerVersionRef(){return{}}get compatibleRuntimes(){return this._compatibleRuntimes}set compatibleRuntimes(value){cdk().traceProperty(this.node,"CompatibleRuntimes"),this._compatibleRuntimes=value}get contentUri(){return this._contentUri}set contentUri(value){cdk().traceProperty(this.node,"ContentUri"),this._contentUri=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get layerName(){return this._layerName}set layerName(value){cdk().traceProperty(this.node,"LayerName"),this._layerName=value}get licenseInfo(){return this._licenseInfo}set licenseInfo(value){cdk().traceProperty(this.node,"LicenseInfo"),this._licenseInfo=value}get retentionPolicy(){return this._retentionPolicy}set retentionPolicy(value){cdk().traceProperty(this.node,"RetentionPolicy"),this._retentionPolicy=value}get cfnProperties(){return{compatibleRuntimes:this._compatibleRuntimes,contentUri:this._contentUri,description:this._description,layerName:this._layerName,licenseInfo:this._licenseInfo,retentionPolicy:this._retentionPolicy}}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",CfnLayerVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLayerVersionPropsToCloudFormation(props)}}exports.CfnLayerVersion=CfnLayerVersion;function CfnLayerVersionS3LocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().validateNumber)(properties.version)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnLayerVersionS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLayerVersionS3LocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key),Version:cdk().numberToCloudFormation(properties.version)}):properties}function CfnLayerVersionS3LocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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.getNumber(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLayerVersionPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("compatibleRuntimes",cdk().listValidator(cdk().validateString))(properties.compatibleRuntimes)),errors.collect(cdk().propertyValidator("contentUri",cdk().unionValidator(cdk().validateString,CfnLayerVersionS3LocationPropertyValidator))(properties.contentUri)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("layerName",cdk().validateString)(properties.layerName)),errors.collect(cdk().propertyValidator("licenseInfo",cdk().validateString)(properties.licenseInfo)),errors.collect(cdk().propertyValidator("retentionPolicy",cdk().validateString)(properties.retentionPolicy)),errors.wrap('supplied properties not correct for "CfnLayerVersionProps"')}function convertCfnLayerVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLayerVersionPropsValidator(properties).assertSuccess(),{CompatibleRuntimes:cdk().listMapper(cdk().stringToCloudFormation)(properties.compatibleRuntimes),ContentUri:cdk().unionMapper([cdk().validateString,CfnLayerVersionS3LocationPropertyValidator],[cdk().stringToCloudFormation,convertCfnLayerVersionS3LocationPropertyToCloudFormation])(properties.contentUri),Description:cdk().stringToCloudFormation(properties.description),LayerName:cdk().stringToCloudFormation(properties.layerName),LicenseInfo:cdk().stringToCloudFormation(properties.licenseInfo),RetentionPolicy:cdk().stringToCloudFormation(properties.retentionPolicy)}):properties}function CfnLayerVersionPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("compatibleRuntimes","CompatibleRuntimes",properties.CompatibleRuntimes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CompatibleRuntimes):void 0),ret.addPropertyResult("contentUri","ContentUri",properties.ContentUri!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnLayerVersionS3LocationPropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnLayerVersionS3LocationPropertyFromCloudFormation])(properties.ContentUri):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("layerName","LayerName",properties.LayerName!=null?cfn_parse().FromCloudFormation.getString(properties.LayerName):void 0),ret.addPropertyResult("licenseInfo","LicenseInfo",properties.LicenseInfo!=null?cfn_parse().FromCloudFormation.getString(properties.LicenseInfo):void 0),ret.addPropertyResult("retentionPolicy","RetentionPolicy",properties.RetentionPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.RetentionPolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStateMachine extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sam.CfnStateMachine",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Serverless::StateMachine";static REQUIRED_TRANSFORM="AWS::Serverless-2016-10-31";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStateMachinePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnStateMachine(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 isCfnStateMachine(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnStateMachine.CFN_RESOURCE_TYPE_NAME}_definition;_definitionSubstitutions;_definitionUri;_events;_logging;_name;_permissionsBoundaries;_policies;_role;tags;_tagsRaw;_tracing;_type;cfnPropertyNames={definition:"Definition",definitionSubstitutions:"DefinitionSubstitutions",definitionUri:"DefinitionUri",events:"Events",logging:"Logging",name:"Name",permissionsBoundaries:"PermissionsBoundaries",policies:"Policies",role:"Role",tags:"Tags",tracing:"Tracing",type:"Type"};constructor(scope,id,props={}){super(scope,id,{type:CfnStateMachine.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sam_CfnStateMachineProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStateMachine),error}this.stack.addTransform(CfnStateMachine.REQUIRED_TRANSFORM),this._definition=props.definition,this._definitionSubstitutions=props.definitionSubstitutions,this._definitionUri=props.definitionUri,this._events=props.events,this._logging=props.logging,this._name=props.name,this._permissionsBoundaries=props.permissionsBoundaries,this._policies=props.policies,this._role=props.role,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Serverless::StateMachine",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._tracing=props.tracing,this._type=props.type}get stateMachineRef(){return{}}get definition(){return this._definition}set definition(value){cdk().traceProperty(this.node,"Definition"),this._definition=value}get definitionSubstitutions(){return this._definitionSubstitutions}set definitionSubstitutions(value){cdk().traceProperty(this.node,"DefinitionSubstitutions"),this._definitionSubstitutions=value}get definitionUri(){return this._definitionUri}set definitionUri(value){cdk().traceProperty(this.node,"DefinitionUri"),this._definitionUri=value}get events(){return this._events}set events(value){cdk().traceProperty(this.node,"Events"),this._events=value}get logging(){return this._logging}set logging(value){cdk().traceProperty(this.node,"Logging"),this._logging=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get permissionsBoundaries(){return this._permissionsBoundaries}set permissionsBoundaries(value){cdk().traceProperty(this.node,"PermissionsBoundaries"),this._permissionsBoundaries=value}get policies(){return this._policies}set policies(value){cdk().traceProperty(this.node,"Policies"),this._policies=value}get role(){return this._role}set role(value){cdk().traceProperty(this.node,"Role"),this._role=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get tracing(){return this._tracing}set tracing(value){cdk().traceProperty(this.node,"Tracing"),this._tracing=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get cfnProperties(){return{definition:this._definition,definitionSubstitutions:this._definitionSubstitutions,definitionUri:this._definitionUri,events:this._events,logging:this._logging,name:this._name,permissionsBoundaries:this._permissionsBoundaries,policies:this._policies,role:this._role,tags:this.tags.renderTags(),tracing:this._tracing,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",CfnStateMachine.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnStateMachinePropsToCloudFormation(props)}}exports.CfnStateMachine=CfnStateMachine;function CfnStateMachineS3LocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().validateNumber)(properties.version)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnStateMachineS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineS3LocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key),Version:cdk().numberToCloudFormation(properties.version)}):properties}function CfnStateMachineS3LocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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.getNumber(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineCloudWatchEventEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("eventBusName",cdk().validateString)(properties.eventBusName)),errors.collect(cdk().propertyValidator("input",cdk().validateString)(properties.input)),errors.collect(cdk().propertyValidator("inputPath",cdk().validateString)(properties.inputPath)),errors.collect(cdk().propertyValidator("pattern",cdk().requiredValidator)(properties.pattern)),errors.collect(cdk().propertyValidator("pattern",cdk().validateObject)(properties.pattern)),errors.wrap('supplied properties not correct for "CloudWatchEventEventProperty"')}function convertCfnStateMachineCloudWatchEventEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineCloudWatchEventEventPropertyValidator(properties).assertSuccess(),{EventBusName:cdk().stringToCloudFormation(properties.eventBusName),Input:cdk().stringToCloudFormation(properties.input),InputPath:cdk().stringToCloudFormation(properties.inputPath),Pattern:cdk().objectToCloudFormation(properties.pattern)}):properties}function CfnStateMachineCloudWatchEventEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("eventBusName","EventBusName",properties.EventBusName!=null?cfn_parse().FromCloudFormation.getString(properties.EventBusName):void 0),ret.addPropertyResult("input","Input",properties.Input!=null?cfn_parse().FromCloudFormation.getString(properties.Input):void 0),ret.addPropertyResult("inputPath","InputPath",properties.InputPath!=null?cfn_parse().FromCloudFormation.getString(properties.InputPath):void 0),ret.addPropertyResult("pattern","Pattern",properties.Pattern!=null?cfn_parse().FromCloudFormation.getAny(properties.Pattern):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineEventBridgeRuleEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("eventBusName",cdk().validateString)(properties.eventBusName)),errors.collect(cdk().propertyValidator("input",cdk().validateString)(properties.input)),errors.collect(cdk().propertyValidator("inputPath",cdk().validateString)(properties.inputPath)),errors.collect(cdk().propertyValidator("pattern",cdk().requiredValidator)(properties.pattern)),errors.collect(cdk().propertyValidator("pattern",cdk().validateObject)(properties.pattern)),errors.wrap('supplied properties not correct for "EventBridgeRuleEventProperty"')}function convertCfnStateMachineEventBridgeRuleEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineEventBridgeRuleEventPropertyValidator(properties).assertSuccess(),{EventBusName:cdk().stringToCloudFormation(properties.eventBusName),Input:cdk().stringToCloudFormation(properties.input),InputPath:cdk().stringToCloudFormation(properties.inputPath),Pattern:cdk().objectToCloudFormation(properties.pattern)}):properties}function CfnStateMachineEventBridgeRuleEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("eventBusName","EventBusName",properties.EventBusName!=null?cfn_parse().FromCloudFormation.getString(properties.EventBusName):void 0),ret.addPropertyResult("input","Input",properties.Input!=null?cfn_parse().FromCloudFormation.getString(properties.Input):void 0),ret.addPropertyResult("inputPath","InputPath",properties.InputPath!=null?cfn_parse().FromCloudFormation.getString(properties.InputPath):void 0),ret.addPropertyResult("pattern","Pattern",properties.Pattern!=null?cfn_parse().FromCloudFormation.getAny(properties.Pattern):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineScheduleEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("input",cdk().validateString)(properties.input)),errors.collect(cdk().propertyValidator("schedule",cdk().requiredValidator)(properties.schedule)),errors.collect(cdk().propertyValidator("schedule",cdk().validateString)(properties.schedule)),errors.wrap('supplied properties not correct for "ScheduleEventProperty"')}function convertCfnStateMachineScheduleEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineScheduleEventPropertyValidator(properties).assertSuccess(),{Input:cdk().stringToCloudFormation(properties.input),Schedule:cdk().stringToCloudFormation(properties.schedule)}):properties}function CfnStateMachineScheduleEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("input","Input",properties.Input!=null?cfn_parse().FromCloudFormation.getString(properties.Input):void 0),ret.addPropertyResult("schedule","Schedule",properties.Schedule!=null?cfn_parse().FromCloudFormation.getString(properties.Schedule):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineApiEventPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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.collect(cdk().propertyValidator("path",cdk().requiredValidator)(properties.path)),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.collect(cdk().propertyValidator("restApiId",cdk().validateString)(properties.restApiId)),errors.wrap('supplied properties not correct for "ApiEventProperty"')}function convertCfnStateMachineApiEventPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineApiEventPropertyValidator(properties).assertSuccess(),{Method:cdk().stringToCloudFormation(properties.method),Path:cdk().stringToCloudFormation(properties.path),RestApiId:cdk().stringToCloudFormation(properties.restApiId)}):properties}function CfnStateMachineApiEventPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("restApiId","RestApiId",properties.RestApiId!=null?cfn_parse().FromCloudFormation.getString(properties.RestApiId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineEventSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("properties",cdk().requiredValidator)(properties.properties)),errors.collect(cdk().propertyValidator("properties",cdk().unionValidator(CfnStateMachineApiEventPropertyValidator,CfnStateMachineCloudWatchEventEventPropertyValidator,CfnStateMachineEventBridgeRuleEventPropertyValidator,CfnStateMachineScheduleEventPropertyValidator))(properties.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 "EventSourceProperty"')}function convertCfnStateMachineEventSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineEventSourcePropertyValidator(properties).assertSuccess(),{Properties:cdk().unionMapper([CfnStateMachineApiEventPropertyValidator,CfnStateMachineCloudWatchEventEventPropertyValidator,CfnStateMachineEventBridgeRuleEventPropertyValidator,CfnStateMachineScheduleEventPropertyValidator],[convertCfnStateMachineApiEventPropertyToCloudFormation,convertCfnStateMachineCloudWatchEventEventPropertyToCloudFormation,convertCfnStateMachineEventBridgeRuleEventPropertyToCloudFormation,convertCfnStateMachineScheduleEventPropertyToCloudFormation])(properties.properties),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnStateMachineEventSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("properties","Properties",properties.Properties!=null?cfn_parse().FromCloudFormation.getTypeUnion([CfnStateMachineApiEventPropertyValidator,CfnStateMachineCloudWatchEventEventPropertyValidator,CfnStateMachineEventBridgeRuleEventPropertyValidator,CfnStateMachineScheduleEventPropertyValidator],[CfnStateMachineApiEventPropertyFromCloudFormation,CfnStateMachineCloudWatchEventEventPropertyFromCloudFormation,CfnStateMachineEventBridgeRuleEventPropertyFromCloudFormation,CfnStateMachineScheduleEventPropertyFromCloudFormation])(properties.Properties):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineCloudWatchLogsLogGroupPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("logGroupArn",cdk().requiredValidator)(properties.logGroupArn)),errors.collect(cdk().propertyValidator("logGroupArn",cdk().validateString)(properties.logGroupArn)),errors.wrap('supplied properties not correct for "CloudWatchLogsLogGroupProperty"')}function convertCfnStateMachineCloudWatchLogsLogGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineCloudWatchLogsLogGroupPropertyValidator(properties).assertSuccess(),{LogGroupArn:cdk().stringToCloudFormation(properties.logGroupArn)}):properties}function CfnStateMachineCloudWatchLogsLogGroupPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("logGroupArn","LogGroupArn",properties.LogGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.LogGroupArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineLogDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cloudWatchLogsLogGroup",cdk().requiredValidator)(properties.cloudWatchLogsLogGroup)),errors.collect(cdk().propertyValidator("cloudWatchLogsLogGroup",CfnStateMachineCloudWatchLogsLogGroupPropertyValidator)(properties.cloudWatchLogsLogGroup)),errors.wrap('supplied properties not correct for "LogDestinationProperty"')}function convertCfnStateMachineLogDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineLogDestinationPropertyValidator(properties).assertSuccess(),{CloudWatchLogsLogGroup:convertCfnStateMachineCloudWatchLogsLogGroupPropertyToCloudFormation(properties.cloudWatchLogsLogGroup)}):properties}function CfnStateMachineLogDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudWatchLogsLogGroup","CloudWatchLogsLogGroup",properties.CloudWatchLogsLogGroup!=null?CfnStateMachineCloudWatchLogsLogGroupPropertyFromCloudFormation(properties.CloudWatchLogsLogGroup):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineLoggingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinations",cdk().requiredValidator)(properties.destinations)),errors.collect(cdk().propertyValidator("destinations",cdk().listValidator(CfnStateMachineLogDestinationPropertyValidator))(properties.destinations)),errors.collect(cdk().propertyValidator("includeExecutionData",cdk().requiredValidator)(properties.includeExecutionData)),errors.collect(cdk().propertyValidator("includeExecutionData",cdk().validateBoolean)(properties.includeExecutionData)),errors.collect(cdk().propertyValidator("level",cdk().requiredValidator)(properties.level)),errors.collect(cdk().propertyValidator("level",cdk().validateString)(properties.level)),errors.wrap('supplied properties not correct for "LoggingConfigurationProperty"')}function convertCfnStateMachineLoggingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineLoggingConfigurationPropertyValidator(properties).assertSuccess(),{Destinations:cdk().listMapper(convertCfnStateMachineLogDestinationPropertyToCloudFormation)(properties.destinations),IncludeExecutionData:cdk().booleanToCloudFormation(properties.includeExecutionData),Level:cdk().stringToCloudFormation(properties.level)}):properties}function CfnStateMachineLoggingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinations","Destinations",properties.Destinations!=null?cfn_parse().FromCloudFormation.getArray(CfnStateMachineLogDestinationPropertyFromCloudFormation)(properties.Destinations):void 0),ret.addPropertyResult("includeExecutionData","IncludeExecutionData",properties.IncludeExecutionData!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeExecutionData):void 0),ret.addPropertyResult("level","Level",properties.Level!=null?cfn_parse().FromCloudFormation.getString(properties.Level):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineIAMPolicyDocumentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("statement",cdk().requiredValidator)(properties.statement)),errors.collect(cdk().propertyValidator("statement",cdk().validateObject)(properties.statement)),errors.collect(cdk().propertyValidator("version",cdk().requiredValidator)(properties.version)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "IAMPolicyDocumentProperty"')}function convertCfnStateMachineIAMPolicyDocumentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineIAMPolicyDocumentPropertyValidator(properties).assertSuccess(),{Statement:cdk().objectToCloudFormation(properties.statement),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnStateMachineIAMPolicyDocumentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("statement","Statement",properties.Statement!=null?cfn_parse().FromCloudFormation.getAny(properties.Statement):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineFunctionSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("functionName",cdk().requiredValidator)(properties.functionName)),errors.collect(cdk().propertyValidator("functionName",cdk().validateString)(properties.functionName)),errors.wrap('supplied properties not correct for "FunctionSAMPTProperty"')}function convertCfnStateMachineFunctionSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineFunctionSAMPTPropertyValidator(properties).assertSuccess(),{FunctionName:cdk().stringToCloudFormation(properties.functionName)}):properties}function CfnStateMachineFunctionSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("functionName","FunctionName",properties.FunctionName!=null?cfn_parse().FromCloudFormation.getString(properties.FunctionName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineStateMachineSAMPTPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("stateMachineName",cdk().requiredValidator)(properties.stateMachineName)),errors.collect(cdk().propertyValidator("stateMachineName",cdk().validateString)(properties.stateMachineName)),errors.wrap('supplied properties not correct for "StateMachineSAMPTProperty"')}function convertCfnStateMachineStateMachineSAMPTPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineStateMachineSAMPTPropertyValidator(properties).assertSuccess(),{StateMachineName:cdk().stringToCloudFormation(properties.stateMachineName)}):properties}function CfnStateMachineStateMachineSAMPTPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("stateMachineName","StateMachineName",properties.StateMachineName!=null?cfn_parse().FromCloudFormation.getString(properties.StateMachineName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineSAMPolicyTemplatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lambdaInvokePolicy",CfnStateMachineFunctionSAMPTPropertyValidator)(properties.lambdaInvokePolicy)),errors.collect(cdk().propertyValidator("stepFunctionsExecutionPolicy",CfnStateMachineStateMachineSAMPTPropertyValidator)(properties.stepFunctionsExecutionPolicy)),errors.wrap('supplied properties not correct for "SAMPolicyTemplateProperty"')}function convertCfnStateMachineSAMPolicyTemplatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineSAMPolicyTemplatePropertyValidator(properties).assertSuccess(),{LambdaInvokePolicy:convertCfnStateMachineFunctionSAMPTPropertyToCloudFormation(properties.lambdaInvokePolicy),StepFunctionsExecutionPolicy:convertCfnStateMachineStateMachineSAMPTPropertyToCloudFormation(properties.stepFunctionsExecutionPolicy)}):properties}function CfnStateMachineSAMPolicyTemplatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lambdaInvokePolicy","LambdaInvokePolicy",properties.LambdaInvokePolicy!=null?CfnStateMachineFunctionSAMPTPropertyFromCloudFormation(properties.LambdaInvokePolicy):void 0),ret.addPropertyResult("stepFunctionsExecutionPolicy","StepFunctionsExecutionPolicy",properties.StepFunctionsExecutionPolicy!=null?CfnStateMachineStateMachineSAMPTPropertyFromCloudFormation(properties.StepFunctionsExecutionPolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachineTracingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "TracingConfigurationProperty"')}function convertCfnStateMachineTracingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachineTracingConfigurationPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnStateMachineTracingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStateMachinePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().validateObject)(properties.definition)),errors.collect(cdk().propertyValidator("definitionSubstitutions",cdk().hashValidator(cdk().validateString))(properties.definitionSubstitutions)),errors.collect(cdk().propertyValidator("definitionUri",cdk().unionValidator(cdk().validateString,CfnStateMachineS3LocationPropertyValidator))(properties.definitionUri)),errors.collect(cdk().propertyValidator("events",cdk().hashValidator(CfnStateMachineEventSourcePropertyValidator))(properties.events)),errors.collect(cdk().propertyValidator("logging",CfnStateMachineLoggingConfigurationPropertyValidator)(properties.logging)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("permissionsBoundaries",cdk().validateString)(properties.permissionsBoundaries)),errors.collect(cdk().propertyValidator("policies",cdk().unionValidator(cdk().listValidator(cdk().unionValidator(cdk().validateString,CfnStateMachineIAMPolicyDocumentPropertyValidator,CfnStateMachineSAMPolicyTemplatePropertyValidator)),cdk().validateString,CfnStateMachineIAMPolicyDocumentPropertyValidator))(properties.policies)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("tracing",CfnStateMachineTracingConfigurationPropertyValidator)(properties.tracing)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnStateMachineProps"')}function convertCfnStateMachinePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStateMachinePropsValidator(properties).assertSuccess(),{Definition:cdk().objectToCloudFormation(properties.definition),DefinitionSubstitutions:cdk().hashMapper(cdk().stringToCloudFormation)(properties.definitionSubstitutions),DefinitionUri:cdk().unionMapper([cdk().validateString,CfnStateMachineS3LocationPropertyValidator],[cdk().stringToCloudFormation,convertCfnStateMachineS3LocationPropertyToCloudFormation])(properties.definitionUri),Events:cdk().hashMapper(convertCfnStateMachineEventSourcePropertyToCloudFormation)(properties.events),Logging:convertCfnStateMachineLoggingConfigurationPropertyToCloudFormation(properties.logging),Name:cdk().stringToCloudFormation(properties.name),PermissionsBoundaries:cdk().stringToCloudFormation(properties.permissionsBoundaries),Policies:cdk().unionMapper([cdk().listValidator(cdk().unionValidator(cdk().validateString,CfnStateMachineIAMPolicyDocumentPropertyValidator,CfnStateMachineSAMPolicyTemplatePropertyValidator)),cdk().validateString,CfnStateMachineIAMPolicyDocumentPropertyValidator],[cdk().listMapper(cdk().unionMapper([cdk().validateString,CfnStateMachineIAMPolicyDocumentPropertyValidator,CfnStateMachineSAMPolicyTemplatePropertyValidator],[cdk().stringToCloudFormation,convertCfnStateMachineIAMPolicyDocumentPropertyToCloudFormation,convertCfnStateMachineSAMPolicyTemplatePropertyToCloudFormation])),cdk().stringToCloudFormation,convertCfnStateMachineIAMPolicyDocumentPropertyToCloudFormation])(properties.policies),Role:cdk().stringToCloudFormation(properties.role),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),Tracing:convertCfnStateMachineTracingConfigurationPropertyToCloudFormation(properties.tracing),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnStateMachinePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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.getAny(properties.Definition):void 0),ret.addPropertyResult("definitionSubstitutions","DefinitionSubstitutions",properties.DefinitionSubstitutions!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.DefinitionSubstitutions):void 0),ret.addPropertyResult("definitionUri","DefinitionUri",properties.DefinitionUri!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnStateMachineS3LocationPropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnStateMachineS3LocationPropertyFromCloudFormation])(properties.DefinitionUri):void 0),ret.addPropertyResult("events","Events",properties.Events!=null?cfn_parse().FromCloudFormation.getMap(CfnStateMachineEventSourcePropertyFromCloudFormation)(properties.Events):void 0),ret.addPropertyResult("logging","Logging",properties.Logging!=null?CfnStateMachineLoggingConfigurationPropertyFromCloudFormation(properties.Logging):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("permissionsBoundaries","PermissionsBoundaries",properties.PermissionsBoundaries!=null?cfn_parse().FromCloudFormation.getString(properties.PermissionsBoundaries):void 0),ret.addPropertyResult("policies","Policies",properties.Policies!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().listValidator(cdk().unionValidator(cdk().validateString,CfnStateMachineIAMPolicyDocumentPropertyValidator,CfnStateMachineSAMPolicyTemplatePropertyValidator)),cdk().validateString,CfnStateMachineIAMPolicyDocumentPropertyValidator],[cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,CfnStateMachineIAMPolicyDocumentPropertyValidator,CfnStateMachineSAMPolicyTemplatePropertyValidator],[cfn_parse().FromCloudFormation.getString,CfnStateMachineIAMPolicyDocumentPropertyFromCloudFormation,CfnStateMachineSAMPolicyTemplatePropertyFromCloudFormation])),cfn_parse().FromCloudFormation.getString,CfnStateMachineIAMPolicyDocumentPropertyFromCloudFormation])(properties.Policies):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("tracing","Tracing",properties.Tracing!=null?CfnStateMachineTracingConfigurationPropertyFromCloudFormation(properties.Tracing):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}