UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 257 kB
"use strict";var _a,_b,_c,_d,_e,_f,_g;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnStateMachine=exports.CfnSimpleTable=exports.CfnLayerVersion=exports.CfnHttpApi=exports.CfnFunction=exports.CfnApplication=exports.CfnApi=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnApiPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accessLogSetting",CfnApi_AccessLogSettingPropertyValidator)(properties.accessLogSetting)),errors.collect(cdk.propertyValidator("auth",CfnApi_AuthPropertyValidator)(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",CfnApi_CanarySettingPropertyValidator)(properties.canarySetting)),errors.collect(cdk.propertyValidator("cors",cdk.unionValidator(CfnApi_CorsConfigurationPropertyValidator,cdk.validateString))(properties.cors)),errors.collect(cdk.propertyValidator("definitionBody",cdk.validateObject)(properties.definitionBody)),errors.collect(cdk.propertyValidator("definitionUri",cdk.unionValidator(CfnApi_S3LocationPropertyValidator,cdk.validateString))(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",CfnApi_DomainConfigurationPropertyValidator)(properties.domain)),errors.collect(cdk.propertyValidator("endpointConfiguration",cdk.unionValidator(CfnApi_EndpointConfigurationPropertyValidator,cdk.validateString))(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 cfnApiPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApiPropsValidator(properties).assertSuccess(),{StageName:cdk.stringToCloudFormation(properties.stageName),AccessLogSetting:cfnApiAccessLogSettingPropertyToCloudFormation(properties.accessLogSetting),Auth:cfnApiAuthPropertyToCloudFormation(properties.auth),BinaryMediaTypes:cdk.listMapper(cdk.stringToCloudFormation)(properties.binaryMediaTypes),CacheClusterEnabled:cdk.booleanToCloudFormation(properties.cacheClusterEnabled),CacheClusterSize:cdk.stringToCloudFormation(properties.cacheClusterSize),CanarySetting:cfnApiCanarySettingPropertyToCloudFormation(properties.canarySetting),Cors:cdk.unionMapper([CfnApi_CorsConfigurationPropertyValidator,cdk.validateString],[cfnApiCorsConfigurationPropertyToCloudFormation,cdk.stringToCloudFormation])(properties.cors),DefinitionBody:cdk.objectToCloudFormation(properties.definitionBody),DefinitionUri:cdk.unionMapper([CfnApi_S3LocationPropertyValidator,cdk.validateString],[cfnApiS3LocationPropertyToCloudFormation,cdk.stringToCloudFormation])(properties.definitionUri),Description:cdk.stringToCloudFormation(properties.description),DisableExecuteApiEndpoint:cdk.booleanToCloudFormation(properties.disableExecuteApiEndpoint),Domain:cfnApiDomainConfigurationPropertyToCloudFormation(properties.domain),EndpointConfiguration:cdk.unionMapper([CfnApi_EndpointConfigurationPropertyValidator,cdk.validateString],[cfnApiEndpointConfigurationPropertyToCloudFormation,cdk.stringToCloudFormation])(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),Tags:cdk.hashMapper(cdk.stringToCloudFormation)(properties.tags),TracingEnabled:cdk.booleanToCloudFormation(properties.tracingEnabled),Variables:cdk.hashMapper(cdk.stringToCloudFormation)(properties.variables)}):properties}function CfnApiPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("stageName","StageName",cfn_parse.FromCloudFormation.getString(properties.StageName)),ret.addPropertyResult("accessLogSetting","AccessLogSetting",properties.AccessLogSetting!=null?CfnApiAccessLogSettingPropertyFromCloudFormation(properties.AccessLogSetting):void 0),ret.addPropertyResult("auth","Auth",properties.Auth!=null?CfnApiAuthPropertyFromCloudFormation(properties.Auth):void 0),ret.addPropertyResult("binaryMediaTypes","BinaryMediaTypes",properties.BinaryMediaTypes!=null?cfn_parse.FromCloudFormation.getStringArray(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([CfnApi_CorsConfigurationPropertyValidator,cdk.validateString],[CfnApiCorsConfigurationPropertyFromCloudFormation,cfn_parse.FromCloudFormation.getString])(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([CfnApi_S3LocationPropertyValidator,cdk.validateString],[CfnApiS3LocationPropertyFromCloudFormation,cfn_parse.FromCloudFormation.getString])(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([CfnApi_EndpointConfigurationPropertyValidator,cdk.validateString],[CfnApiEndpointConfigurationPropertyFromCloudFormation,cfn_parse.FromCloudFormation.getString])(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("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 CfnApi extends cdk.CfnResource{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.stageName=props.stageName,this.accessLogSetting=props.accessLogSetting,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.tags=new cdk.TagManager(cdk.TagType.MAP,"AWS::Serverless::Api",props.tags,{tagPropertyName:"tags"}),this.tracingEnabled=props.tracingEnabled,this.variables=props.variables}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnApiPropsFromCloudFormation(resourceProperties),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}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:props",this.cfnProperties)}get cfnProperties(){return{stageName:this.stageName,accessLogSetting:this.accessLogSetting,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,tags:this.tags.renderTags(),tracingEnabled:this.tracingEnabled,variables:this.variables}}renderProperties(props){return cfnApiPropsToCloudFormation(props)}}exports.CfnApi=CfnApi,_a=JSII_RTTI_SYMBOL_1,CfnApi[_a]={fqn:"aws-cdk-lib.aws_sam.CfnApi",version:"2.70.0"},CfnApi.CFN_RESOURCE_TYPE_NAME="AWS::Serverless::Api",CfnApi.REQUIRED_TRANSFORM="AWS::Serverless-2016-10-31";function CfnApi_AccessLogSettingPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnApiAccessLogSettingPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApi_AccessLogSettingPropertyValidator(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??{},typeof properties!="object")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 CfnApi_AuthPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnApiAuthPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApi_AuthPropertyValidator(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??{},typeof properties!="object")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 CfnApi_CanarySettingPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnApiCanarySettingPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApi_CanarySettingPropertyValidator(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??{},typeof properties!="object")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 CfnApi_CorsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnApiCorsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApi_CorsConfigurationPropertyValidator(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??{},typeof properties!="object")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",cfn_parse.FromCloudFormation.getString(properties.AllowOrigin)),ret.addPropertyResult("maxAge","MaxAge",properties.MaxAge!=null?cfn_parse.FromCloudFormation.getString(properties.MaxAge):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApi_DomainConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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",CfnApi_MutualTlsAuthenticationPropertyValidator)(properties.mutualTlsAuthentication)),errors.collect(cdk.propertyValidator("ownershipVerificationCertificateArn",cdk.validateString)(properties.ownershipVerificationCertificateArn)),errors.collect(cdk.propertyValidator("route53",CfnApi_Route53ConfigurationPropertyValidator)(properties.route53)),errors.collect(cdk.propertyValidator("securityPolicy",cdk.validateString)(properties.securityPolicy)),errors.wrap('supplied properties not correct for "DomainConfigurationProperty"')}function cfnApiDomainConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApi_DomainConfigurationPropertyValidator(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:cfnApiMutualTlsAuthenticationPropertyToCloudFormation(properties.mutualTlsAuthentication),OwnershipVerificationCertificateArn:cdk.stringToCloudFormation(properties.ownershipVerificationCertificateArn),Route53:cfnApiRoute53ConfigurationPropertyToCloudFormation(properties.route53),SecurityPolicy:cdk.stringToCloudFormation(properties.securityPolicy)}):properties}function CfnApiDomainConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("basePath","BasePath",properties.BasePath!=null?cfn_parse.FromCloudFormation.getStringArray(properties.BasePath):void 0),ret.addPropertyResult("certificateArn","CertificateArn",cfn_parse.FromCloudFormation.getString(properties.CertificateArn)),ret.addPropertyResult("domainName","DomainName",cfn_parse.FromCloudFormation.getString(properties.DomainName)),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 CfnApi_EndpointConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnApiEndpointConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApi_EndpointConfigurationPropertyValidator(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??{},typeof properties!="object")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.getStringArray(properties.VpcEndpointIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApi_MutualTlsAuthenticationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnApiMutualTlsAuthenticationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApi_MutualTlsAuthenticationPropertyValidator(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??{},typeof properties!="object")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 CfnApi_Route53ConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnApiRoute53ConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApi_Route53ConfigurationPropertyValidator(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??{},typeof properties!="object")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 CfnApi_S3LocationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnApiS3LocationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApi_S3LocationPropertyValidator(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??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",cfn_parse.FromCloudFormation.getString(properties.Bucket)),ret.addPropertyResult("key","Key",cfn_parse.FromCloudFormation.getString(properties.Key)),ret.addPropertyResult("version","Version",cfn_parse.FromCloudFormation.getNumber(properties.Version)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApplicationPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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(CfnApplication_ApplicationLocationPropertyValidator,cdk.validateString))(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 cfnApplicationPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApplicationPropsValidator(properties).assertSuccess(),{Location:cdk.unionMapper([CfnApplication_ApplicationLocationPropertyValidator,cdk.validateString],[cfnApplicationApplicationLocationPropertyToCloudFormation,cdk.stringToCloudFormation])(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(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("location","Location",cfn_parse.FromCloudFormation.getTypeUnion([CfnApplication_ApplicationLocationPropertyValidator,cdk.validateString],[CfnApplicationApplicationLocationPropertyFromCloudFormation,cfn_parse.FromCloudFormation.getString])(properties.Location)),ret.addPropertyResult("notificationArns","NotificationArns",properties.NotificationArns!=null?cfn_parse.FromCloudFormation.getStringArray(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 CfnApplication extends cdk.CfnResource{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.timeoutInMinutes=props.timeoutInMinutes}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnApplicationPropsFromCloudFormation(resourceProperties),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}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:props",this.cfnProperties)}get cfnProperties(){return{location:this.location,notificationArns:this.notificationArns,parameters:this.parameters,tags:this.tags.renderTags(),timeoutInMinutes:this.timeoutInMinutes}}renderProperties(props){return cfnApplicationPropsToCloudFormation(props)}}exports.CfnApplication=CfnApplication,_b=JSII_RTTI_SYMBOL_1,CfnApplication[_b]={fqn:"aws-cdk-lib.aws_sam.CfnApplication",version:"2.70.0"},CfnApplication.CFN_RESOURCE_TYPE_NAME="AWS::Serverless::Application",CfnApplication.REQUIRED_TRANSFORM="AWS::Serverless-2016-10-31";function CfnApplication_ApplicationLocationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnApplicationApplicationLocationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnApplication_ApplicationLocationPropertyValidator(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??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("applicationId","ApplicationId",cfn_parse.FromCloudFormation.getString(properties.ApplicationId)),ret.addPropertyResult("semanticVersion","SemanticVersion",cfn_parse.FromCloudFormation.getString(properties.SemanticVersion)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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(CfnFunction_S3LocationPropertyValidator,cdk.validateString))(properties.codeUri)),errors.collect(cdk.propertyValidator("deadLetterQueue",CfnFunction_DeadLetterQueuePropertyValidator)(properties.deadLetterQueue)),errors.collect(cdk.propertyValidator("deploymentPreference",CfnFunction_DeploymentPreferencePropertyValidator)(properties.deploymentPreference)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("environment",CfnFunction_FunctionEnvironmentPropertyValidator)(properties.environment)),errors.collect(cdk.propertyValidator("eventInvokeConfig",CfnFunction_EventInvokeConfigPropertyValidator)(properties.eventInvokeConfig)),errors.collect(cdk.propertyValidator("events",cdk.hashValidator(CfnFunction_EventSourcePropertyValidator))(properties.events)),errors.collect(cdk.propertyValidator("fileSystemConfigs",cdk.listValidator(CfnFunction_FileSystemConfigPropertyValidator))(properties.fileSystemConfigs)),errors.collect(cdk.propertyValidator("functionName",cdk.validateString)(properties.functionName)),errors.collect(cdk.propertyValidator("handler",cdk.validateString)(properties.handler)),errors.collect(cdk.propertyValidator("imageConfig",CfnFunction_ImageConfigPropertyValidator)(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.unionValidator(CfnFunction_IAMPolicyDocumentPropertyValidator,cdk.validateString),cdk.listValidator(cdk.unionValidator(CfnFunction_IAMPolicyDocumentPropertyValidator,CfnFunction_SAMPolicyTemplatePropertyValidator,cdk.validateString))))(properties.policies)),errors.collect(cdk.propertyValidator("provisionedConcurrencyConfig",CfnFunction_ProvisionedConcurrencyConfigPropertyValidator)(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",CfnFunction_VpcConfigPropertyValidator)(properties.vpcConfig)),errors.wrap('supplied properties not correct for "CfnFunctionProps"')}function cfnFunctionPropsToCloudFormation(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([CfnFunction_S3LocationPropertyValidator,cdk.validateString],[cfnFunctionS3LocationPropertyToCloudFormation,cdk.stringToCloudFormation])(properties.codeUri),DeadLetterQueue:cfnFunctionDeadLetterQueuePropertyToCloudFormation(properties.deadLetterQueue),DeploymentPreference:cfnFunctionDeploymentPreferencePropertyToCloudFormation(properties.deploymentPreference),Description:cdk.stringToCloudFormation(properties.description),Environment:cfnFunctionFunctionEnvironmentPropertyToCloudFormation(properties.environment),EventInvokeConfig:cfnFunctionEventInvokeConfigPropertyToCloudFormation(properties.eventInvokeConfig),Events:cdk.hashMapper(cfnFunctionEventSourcePropertyToCloudFormation)(properties.events),FileSystemConfigs:cdk.listMapper(cfnFunctionFileSystemConfigPropertyToCloudFormation)(properties.fileSystemConfigs),FunctionName:cdk.stringToCloudFormation(properties.functionName),Handler:cdk.stringToCloudFormation(properties.handler),ImageConfig:cfnFunctionImageConfigPropertyToCloudFormation(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.unionValidator(CfnFunction_IAMPolicyDocumentPropertyValidator,cdk.validateString),cdk.listValidator(cdk.unionValidator(CfnFunction_IAMPolicyDocumentPropertyValidator,CfnFunction_SAMPolicyTemplatePropertyValidator,cdk.validateString))],[cdk.unionMapper([CfnFunction_IAMPolicyDocumentPropertyValidator,cdk.validateString],[cfnFunctionIAMPolicyDocumentPropertyToCloudFormation,cdk.stringToCloudFormation]),cdk.listMapper(cdk.unionMapper([CfnFunction_IAMPolicyDocumentPropertyValidator,CfnFunction_SAMPolicyTemplatePropertyValidator,cdk.validateString],[cfnFunctionIAMPolicyDocumentPropertyToCloudFormation,cfnFunctionSAMPolicyTemplatePropertyToCloudFormation,cdk.stringToCloudFormation]))])(properties.policies),ProvisionedConcurrencyConfig:cfnFunctionProvisionedConcurrencyConfigPropertyToCloudFormation(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:cfnFunctionVpcConfigPropertyToCloudFormation(properties.vpcConfig)}):properties}function CfnFunctionPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("architectures","Architectures",properties.Architectures!=null?cfn_parse.FromCloudFormation.getStringArray(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([Cfn