UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

2 lines 154 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnRoutingRule=exports.CfnVpcLink=exports.CfnStage=exports.CfnRouteResponse=exports.CfnRoute=exports.CfnModel=exports.CfnIntegrationResponse=exports.CfnIntegration=exports.CfnDomainName=exports.CfnDeployment=exports.CfnAuthorizer=exports.CfnApiMapping=exports.CfnApiGatewayManagedOverrides=exports.CfnApi=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 CfnApi extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnApi",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::Api";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("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}static fromApiId(scope,id,apiId){class Import extends cdk().Resource{apiRef;constructor(scope2,id2,apiId2){super(scope2,id2),this.apiRef={apiId:apiId2}}}return new Import(scope,id,apiId)}static arnForApi(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_apigatewayv2_IApiRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForApi),error}return new(cfn_parse()).TemplateString("arn:${Partition}:apigateway:${Region}::/apis/${ApiId}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:cdk().Stack.of(resource).region,Account:cdk().Stack.of(resource).account,ApiId:resource.apiRef.apiId})}attrApiEndpoint;attrApiId;apiKeySelectionExpression;basePath;body;bodyS3Location;corsConfiguration;credentialsArn;description;disableExecuteApiEndpoint;disableSchemaValidation;failOnWarnings;ipAddressType;name;protocolType;routeKey;routeSelectionExpression;tags;tagsRaw;target;version;constructor(scope,id,props={}){super(scope,id,{type:CfnApi.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnApiProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnApi),error}this.attrApiEndpoint=cdk().Token.asString(this.getAtt("ApiEndpoint",cdk().ResolutionTypeHint.STRING)),this.attrApiId=cdk().Token.asString(this.getAtt("ApiId",cdk().ResolutionTypeHint.STRING)),this.apiKeySelectionExpression=props.apiKeySelectionExpression,this.basePath=props.basePath,this.body=props.body,this.bodyS3Location=props.bodyS3Location,this.corsConfiguration=props.corsConfiguration,this.credentialsArn=props.credentialsArn,this.description=props.description,this.disableExecuteApiEndpoint=props.disableExecuteApiEndpoint,this.disableSchemaValidation=props.disableSchemaValidation,this.failOnWarnings=props.failOnWarnings,this.ipAddressType=props.ipAddressType,this.name=props.name,this.protocolType=props.protocolType,this.routeKey=props.routeKey,this.routeSelectionExpression=props.routeSelectionExpression,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::ApiGatewayV2::Api",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.target=props.target?.functionRef?.functionArn??cdk().ensureStringOrUndefined(props.target,"target","lambda.IFunctionRef | string"),this.version=props.version}get apiRef(){return{apiId:this.ref}}get cfnProperties(){return{apiKeySelectionExpression:this.apiKeySelectionExpression,basePath:this.basePath,body:this.body,bodyS3Location:this.bodyS3Location,corsConfiguration:this.corsConfiguration,credentialsArn:this.credentialsArn,description:this.description,disableExecuteApiEndpoint:this.disableExecuteApiEndpoint,disableSchemaValidation:this.disableSchemaValidation,failOnWarnings:this.failOnWarnings,ipAddressType:this.ipAddressType,name:this.name,protocolType:this.protocolType,routeKey:this.routeKey,routeSelectionExpression:this.routeSelectionExpression,tags:this.tags.renderTags(),target:this.target,version:this.version}}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)}renderProperties(props){return convertCfnApiPropsToCloudFormation(props)}}exports.CfnApi=CfnApi;function CfnApiBodyS3LocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("etag",cdk().validateString)(properties.etag)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "BodyS3LocationProperty"')}function convertCfnApiBodyS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiBodyS3LocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Etag:cdk().stringToCloudFormation(properties.etag),Key:cdk().stringToCloudFormation(properties.key),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnApiBodyS3LocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("etag","Etag",properties.Etag!=null?cfn_parse().FromCloudFormation.getString(properties.Etag):void 0),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiCorsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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 "CorsProperty"')}function convertCfnApiCorsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiCorsPropertyValidator(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 CfnApiCorsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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 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("apiKeySelectionExpression",cdk().validateString)(properties.apiKeySelectionExpression)),errors.collect(cdk().propertyValidator("basePath",cdk().validateString)(properties.basePath)),errors.collect(cdk().propertyValidator("body",cdk().validateObject)(properties.body)),errors.collect(cdk().propertyValidator("bodyS3Location",CfnApiBodyS3LocationPropertyValidator)(properties.bodyS3Location)),errors.collect(cdk().propertyValidator("corsConfiguration",CfnApiCorsPropertyValidator)(properties.corsConfiguration)),errors.collect(cdk().propertyValidator("credentialsArn",cdk().validateString)(properties.credentialsArn)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("disableExecuteApiEndpoint",cdk().validateBoolean)(properties.disableExecuteApiEndpoint)),errors.collect(cdk().propertyValidator("disableSchemaValidation",cdk().validateBoolean)(properties.disableSchemaValidation)),errors.collect(cdk().propertyValidator("failOnWarnings",cdk().validateBoolean)(properties.failOnWarnings)),errors.collect(cdk().propertyValidator("ipAddressType",cdk().validateString)(properties.ipAddressType)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("protocolType",cdk().validateString)(properties.protocolType)),errors.collect(cdk().propertyValidator("routeKey",cdk().validateString)(properties.routeKey)),errors.collect(cdk().propertyValidator("routeSelectionExpression",cdk().validateString)(properties.routeSelectionExpression)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "CfnApiProps"')}function convertCfnApiPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiPropsValidator(properties).assertSuccess(),{ApiKeySelectionExpression:cdk().stringToCloudFormation(properties.apiKeySelectionExpression),BasePath:cdk().stringToCloudFormation(properties.basePath),Body:cdk().objectToCloudFormation(properties.body),BodyS3Location:convertCfnApiBodyS3LocationPropertyToCloudFormation(properties.bodyS3Location),CorsConfiguration:convertCfnApiCorsPropertyToCloudFormation(properties.corsConfiguration),CredentialsArn:cdk().stringToCloudFormation(properties.credentialsArn),Description:cdk().stringToCloudFormation(properties.description),DisableExecuteApiEndpoint:cdk().booleanToCloudFormation(properties.disableExecuteApiEndpoint),DisableSchemaValidation:cdk().booleanToCloudFormation(properties.disableSchemaValidation),FailOnWarnings:cdk().booleanToCloudFormation(properties.failOnWarnings),IpAddressType:cdk().stringToCloudFormation(properties.ipAddressType),Name:cdk().stringToCloudFormation(properties.name),ProtocolType:cdk().stringToCloudFormation(properties.protocolType),RouteKey:cdk().stringToCloudFormation(properties.routeKey),RouteSelectionExpression:cdk().stringToCloudFormation(properties.routeSelectionExpression),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),Target:cdk().stringToCloudFormation(properties.target),Version:cdk().stringToCloudFormation(properties.version)}):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("apiKeySelectionExpression","ApiKeySelectionExpression",properties.ApiKeySelectionExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ApiKeySelectionExpression):void 0),ret.addPropertyResult("basePath","BasePath",properties.BasePath!=null?cfn_parse().FromCloudFormation.getString(properties.BasePath):void 0),ret.addPropertyResult("body","Body",properties.Body!=null?cfn_parse().FromCloudFormation.getAny(properties.Body):void 0),ret.addPropertyResult("bodyS3Location","BodyS3Location",properties.BodyS3Location!=null?CfnApiBodyS3LocationPropertyFromCloudFormation(properties.BodyS3Location):void 0),ret.addPropertyResult("corsConfiguration","CorsConfiguration",properties.CorsConfiguration!=null?CfnApiCorsPropertyFromCloudFormation(properties.CorsConfiguration):void 0),ret.addPropertyResult("credentialsArn","CredentialsArn",properties.CredentialsArn!=null?cfn_parse().FromCloudFormation.getString(properties.CredentialsArn):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("disableSchemaValidation","DisableSchemaValidation",properties.DisableSchemaValidation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableSchemaValidation):void 0),ret.addPropertyResult("failOnWarnings","FailOnWarnings",properties.FailOnWarnings!=null?cfn_parse().FromCloudFormation.getBoolean(properties.FailOnWarnings):void 0),ret.addPropertyResult("ipAddressType","IpAddressType",properties.IpAddressType!=null?cfn_parse().FromCloudFormation.getString(properties.IpAddressType):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("protocolType","ProtocolType",properties.ProtocolType!=null?cfn_parse().FromCloudFormation.getString(properties.ProtocolType):void 0),ret.addPropertyResult("routeKey","RouteKey",properties.RouteKey!=null?cfn_parse().FromCloudFormation.getString(properties.RouteKey):void 0),ret.addPropertyResult("routeSelectionExpression","RouteSelectionExpression",properties.RouteSelectionExpression!=null?cfn_parse().FromCloudFormation.getString(properties.RouteSelectionExpression):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnApiGatewayManagedOverrides extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnApiGatewayManagedOverrides",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::ApiGatewayManagedOverrides";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnApiGatewayManagedOverridesPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnApiGatewayManagedOverrides(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 isCfnApiGatewayManagedOverrides(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnApiGatewayManagedOverrides.CFN_RESOURCE_TYPE_NAME}attrId;apiId;integration;route;stage;constructor(scope,id,props){super(scope,id,{type:CfnApiGatewayManagedOverrides.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnApiGatewayManagedOverridesProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnApiGatewayManagedOverrides),error}cdk().requireProperty(props,"apiId",this),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.apiId=props.apiId,this.integration=props.integration,this.route=props.route,this.stage=props.stage}get apiGatewayManagedOverridesRef(){return{apiGatewayManagedOverridesId:this.ref}}get cfnProperties(){return{apiId:this.apiId,integration:this.integration,route:this.route,stage:this.stage}}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",CfnApiGatewayManagedOverrides.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnApiGatewayManagedOverridesPropsToCloudFormation(props)}}exports.CfnApiGatewayManagedOverrides=CfnApiGatewayManagedOverrides;function CfnApiGatewayManagedOverridesIntegrationOverridesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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("integrationMethod",cdk().validateString)(properties.integrationMethod)),errors.collect(cdk().propertyValidator("payloadFormatVersion",cdk().validateString)(properties.payloadFormatVersion)),errors.collect(cdk().propertyValidator("timeoutInMillis",cdk().validateNumber)(properties.timeoutInMillis)),errors.wrap('supplied properties not correct for "IntegrationOverridesProperty"')}function convertCfnApiGatewayManagedOverridesIntegrationOverridesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiGatewayManagedOverridesIntegrationOverridesPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),IntegrationMethod:cdk().stringToCloudFormation(properties.integrationMethod),PayloadFormatVersion:cdk().stringToCloudFormation(properties.payloadFormatVersion),TimeoutInMillis:cdk().numberToCloudFormation(properties.timeoutInMillis)}):properties}function CfnApiGatewayManagedOverridesIntegrationOverridesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("integrationMethod","IntegrationMethod",properties.IntegrationMethod!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationMethod):void 0),ret.addPropertyResult("payloadFormatVersion","PayloadFormatVersion",properties.PayloadFormatVersion!=null?cfn_parse().FromCloudFormation.getString(properties.PayloadFormatVersion):void 0),ret.addPropertyResult("timeoutInMillis","TimeoutInMillis",properties.TimeoutInMillis!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutInMillis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiGatewayManagedOverridesAccessLogSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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 "AccessLogSettingsProperty"')}function convertCfnApiGatewayManagedOverridesAccessLogSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiGatewayManagedOverridesAccessLogSettingsPropertyValidator(properties).assertSuccess(),{DestinationArn:cdk().stringToCloudFormation(properties.destinationArn),Format:cdk().stringToCloudFormation(properties.format)}):properties}function CfnApiGatewayManagedOverridesAccessLogSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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 CfnApiGatewayManagedOverridesRouteSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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 convertCfnApiGatewayManagedOverridesRouteSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiGatewayManagedOverridesRouteSettingsPropertyValidator(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 CfnApiGatewayManagedOverridesRouteSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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 CfnApiGatewayManagedOverridesStageOverridesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("accessLogSettings",CfnApiGatewayManagedOverridesAccessLogSettingsPropertyValidator)(properties.accessLogSettings)),errors.collect(cdk().propertyValidator("autoDeploy",cdk().validateBoolean)(properties.autoDeploy)),errors.collect(cdk().propertyValidator("defaultRouteSettings",CfnApiGatewayManagedOverridesRouteSettingsPropertyValidator)(properties.defaultRouteSettings)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("routeSettings",cdk().validateObject)(properties.routeSettings)),errors.collect(cdk().propertyValidator("stageVariables",cdk().validateObject)(properties.stageVariables)),errors.wrap('supplied properties not correct for "StageOverridesProperty"')}function convertCfnApiGatewayManagedOverridesStageOverridesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiGatewayManagedOverridesStageOverridesPropertyValidator(properties).assertSuccess(),{AccessLogSettings:convertCfnApiGatewayManagedOverridesAccessLogSettingsPropertyToCloudFormation(properties.accessLogSettings),AutoDeploy:cdk().booleanToCloudFormation(properties.autoDeploy),DefaultRouteSettings:convertCfnApiGatewayManagedOverridesRouteSettingsPropertyToCloudFormation(properties.defaultRouteSettings),Description:cdk().stringToCloudFormation(properties.description),RouteSettings:cdk().objectToCloudFormation(properties.routeSettings),StageVariables:cdk().objectToCloudFormation(properties.stageVariables)}):properties}function CfnApiGatewayManagedOverridesStageOverridesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("accessLogSettings","AccessLogSettings",properties.AccessLogSettings!=null?CfnApiGatewayManagedOverridesAccessLogSettingsPropertyFromCloudFormation(properties.AccessLogSettings):void 0),ret.addPropertyResult("autoDeploy","AutoDeploy",properties.AutoDeploy!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoDeploy):void 0),ret.addPropertyResult("defaultRouteSettings","DefaultRouteSettings",properties.DefaultRouteSettings!=null?CfnApiGatewayManagedOverridesRouteSettingsPropertyFromCloudFormation(properties.DefaultRouteSettings):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("routeSettings","RouteSettings",properties.RouteSettings!=null?cfn_parse().FromCloudFormation.getAny(properties.RouteSettings):void 0),ret.addPropertyResult("stageVariables","StageVariables",properties.StageVariables!=null?cfn_parse().FromCloudFormation.getAny(properties.StageVariables):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiGatewayManagedOverridesRouteOverridesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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("authorizationType",cdk().validateString)(properties.authorizationType)),errors.collect(cdk().propertyValidator("authorizerId",cdk().validateString)(properties.authorizerId)),errors.collect(cdk().propertyValidator("operationName",cdk().validateString)(properties.operationName)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),errors.wrap('supplied properties not correct for "RouteOverridesProperty"')}function convertCfnApiGatewayManagedOverridesRouteOverridesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiGatewayManagedOverridesRouteOverridesPropertyValidator(properties).assertSuccess(),{AuthorizationScopes:cdk().listMapper(cdk().stringToCloudFormation)(properties.authorizationScopes),AuthorizationType:cdk().stringToCloudFormation(properties.authorizationType),AuthorizerId:cdk().stringToCloudFormation(properties.authorizerId),OperationName:cdk().stringToCloudFormation(properties.operationName),Target:cdk().stringToCloudFormation(properties.target)}):properties}function CfnApiGatewayManagedOverridesRouteOverridesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("authorizationType","AuthorizationType",properties.AuthorizationType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizationType):void 0),ret.addPropertyResult("authorizerId","AuthorizerId",properties.AuthorizerId!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizerId):void 0),ret.addPropertyResult("operationName","OperationName",properties.OperationName!=null?cfn_parse().FromCloudFormation.getString(properties.OperationName):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApiGatewayManagedOverridesPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.apiId)),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("integration",CfnApiGatewayManagedOverridesIntegrationOverridesPropertyValidator)(properties.integration)),errors.collect(cdk().propertyValidator("route",CfnApiGatewayManagedOverridesRouteOverridesPropertyValidator)(properties.route)),errors.collect(cdk().propertyValidator("stage",CfnApiGatewayManagedOverridesStageOverridesPropertyValidator)(properties.stage)),errors.wrap('supplied properties not correct for "CfnApiGatewayManagedOverridesProps"')}function convertCfnApiGatewayManagedOverridesPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiGatewayManagedOverridesPropsValidator(properties).assertSuccess(),{ApiId:cdk().stringToCloudFormation(properties.apiId),Integration:convertCfnApiGatewayManagedOverridesIntegrationOverridesPropertyToCloudFormation(properties.integration),Route:convertCfnApiGatewayManagedOverridesRouteOverridesPropertyToCloudFormation(properties.route),Stage:convertCfnApiGatewayManagedOverridesStageOverridesPropertyToCloudFormation(properties.stage)}):properties}function CfnApiGatewayManagedOverridesPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("integration","Integration",properties.Integration!=null?CfnApiGatewayManagedOverridesIntegrationOverridesPropertyFromCloudFormation(properties.Integration):void 0),ret.addPropertyResult("route","Route",properties.Route!=null?CfnApiGatewayManagedOverridesRouteOverridesPropertyFromCloudFormation(properties.Route):void 0),ret.addPropertyResult("stage","Stage",properties.Stage!=null?CfnApiGatewayManagedOverridesStageOverridesPropertyFromCloudFormation(properties.Stage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnApiMapping extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnApiMapping",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::ApiMapping";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnApiMappingPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnApiMapping(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 isCfnApiMapping(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnApiMapping.CFN_RESOURCE_TYPE_NAME}attrApiMappingId;apiId;apiMappingKey;domainName;stage;constructor(scope,id,props){super(scope,id,{type:CfnApiMapping.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnApiMappingProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnApiMapping),error}cdk().requireProperty(props,"apiId",this),cdk().requireProperty(props,"domainName",this),cdk().requireProperty(props,"stage",this),this.attrApiMappingId=cdk().Token.asString(this.getAtt("ApiMappingId",cdk().ResolutionTypeHint.STRING)),this.apiId=props.apiId?.apiRef?.apiId??props.apiId?.restApiRef?.restApiId??cdk().ensureStringOrUndefined(props.apiId,"apiId","apigatewayv2.IApiRef | apigateway.IRestApiRef | string"),this.apiMappingKey=props.apiMappingKey,this.domainName=props.domainName?.domainNameRef?.domainName??props.domainName?.domainNameRef?.domainName??cdk().ensureStringOrUndefined(props.domainName,"domainName","apigatewayv2.IDomainNameRef | apigateway.IDomainNameRef | string"),this.stage=props.stage}get apiMappingRef(){return{apiMappingId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),domainName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get cfnProperties(){return{apiId:this.apiId,apiMappingKey:this.apiMappingKey,domainName:this.domainName,stage:this.stage}}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",CfnApiMapping.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnApiMappingPropsToCloudFormation(props)}}exports.CfnApiMapping=CfnApiMapping;function CfnApiMappingPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.apiId)),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("apiMappingKey",cdk().validateString)(properties.apiMappingKey)),errors.collect(cdk().propertyValidator("domainName",cdk().requiredValidator)(properties.domainName)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("stage",cdk().requiredValidator)(properties.stage)),errors.collect(cdk().propertyValidator("stage",cdk().validateString)(properties.stage)),errors.wrap('supplied properties not correct for "CfnApiMappingProps"')}function convertCfnApiMappingPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApiMappingPropsValidator(properties).assertSuccess(),{ApiId:cdk().stringToCloudFormation(properties.apiId),ApiMappingKey:cdk().stringToCloudFormation(properties.apiMappingKey),DomainName:cdk().stringToCloudFormation(properties.domainName),Stage:cdk().stringToCloudFormation(properties.stage)}):properties}function CfnApiMappingPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("apiMappingKey","ApiMappingKey",properties.ApiMappingKey!=null?cfn_parse().FromCloudFormation.getString(properties.ApiMappingKey):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("stage","Stage",properties.Stage!=null?cfn_parse().FromCloudFormation.getString(properties.Stage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAuthorizer extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnAuthorizer",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::Authorizer";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAuthorizerPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnAuthorizer(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 isCfnAuthorizer(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAuthorizer.CFN_RESOURCE_TYPE_NAME}attrAuthorizerId;apiId;authorizerCredentialsArn;authorizerPayloadFormatVersion;authorizerResultTtlInSeconds;authorizerType;authorizerUri;enableSimpleResponses;identitySource;identityValidationExpression;jwtConfiguration;name;constructor(scope,id,props){super(scope,id,{type:CfnAuthorizer.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnAuthorizerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAuthorizer),error}cdk().requireProperty(props,"apiId",this),cdk().requireProperty(props,"authorizerType",this),cdk().requireProperty(props,"name",this),this.attrAuthorizerId=cdk().Token.asString(this.getAtt("AuthorizerId",cdk().ResolutionTypeHint.STRING)),this.apiId=props.apiId?.apiRef?.apiId??cdk().ensureStringOrUndefined(props.apiId,"apiId","apigatewayv2.IApiRef | string"),this.authorizerCredentialsArn=props.authorizerCredentialsArn,this.authorizerPayloadFormatVersion=props.authorizerPayloadFormatVersion,this.authorizerResultTtlInSeconds=props.authorizerResultTtlInSeconds,this.authorizerType=props.authorizerType,this.authorizerUri=props.authorizerUri,this.enableSimpleResponses=props.enableSimpleResponses,this.identitySource=props.identitySource,this.identityValidationExpression=props.identityValidationExpression,this.jwtConfiguration=props.jwtConfiguration,this.name=props.name}get authorizerRef(){return{authorizerId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),apiId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get cfnProperties(){return{apiId:this.apiId,authorizerCredentialsArn:this.authorizerCredentialsArn,authorizerPayloadFormatVersion:this.authorizerPayloadFormatVersion,authorizerResultTtlInSeconds:this.authorizerResultTtlInSeconds,authorizerType:this.authorizerType,authorizerUri:this.authorizerUri,enableSimpleResponses:this.enableSimpleResponses,identitySource:this.identitySource,identityValidationExpression:this.identityValidationExpression,jwtConfiguration:this.jwtConfiguration,name:this.name}}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",CfnAuthorizer.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAuthorizerPropsToCloudFormation(props)}}exports.CfnAuthorizer=CfnAuthorizer;function CfnAuthorizerJWTConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("audience",cdk().listValidator(cdk().validateString))(properties.audience)),errors.collect(cdk().propertyValidator("issuer",cdk().validateString)(properties.issuer)),errors.wrap('supplied properties not correct for "JWTConfigurationProperty"')}function convertCfnAuthorizerJWTConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAuthorizerJWTConfigurationPropertyValidator(properties).assertSuccess(),{Audience:cdk().listMapper(cdk().stringToCloudFormation)(properties.audience),Issuer:cdk().stringToCloudFormation(properties.issuer)}):properties}function CfnAuthorizerJWTConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("audience","Audience",properties.Audience!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Audience):void 0),ret.addPropertyResult("issuer","Issuer",properties.Issuer!=null?cfn_parse().FromCloudFormation.getString(properties.Issuer):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAuthorizerPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.apiId)),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("authorizerCredentialsArn",cdk().validateString)(properties.authorizerCredentialsArn)),errors.collect(cdk().propertyValidator("authorizerPayloadFormatVersion",cdk().validateString)(properties.authorizerPayloadFormatVersion)),errors.collect(cdk().propertyValidator("authorizerResultTtlInSeconds",cdk().validateNumber)(properties.authorizerResultTtlInSeconds)),errors.collect(cdk().propertyValidator("authorizerType",cdk().requiredValidator)(properties.authorizerType)),errors.collect(cdk().propertyValidator("authorizerType",cdk().validateString)(properties.authorizerType)),errors.collect(cdk().propertyValidator("authorizerUri",cdk().validateString)(properties.authorizerUri)),errors.collect(cdk().propertyValidator("enableSimpleResponses",cdk().validateBoolean)(properties.enableSimpleResponses)),errors.collect(cdk().propertyValidator("identitySource",cdk().listValidator(cdk().validateString))(properties.identitySource)),errors.collect(cdk().propertyValidator("identityValidationExpression",cdk().validateString)(properties.identityValidationExpression)),errors.collect(cdk().propertyValidator("jwtConfiguration",CfnAuthorizerJWTConfigurationPropertyValidator)(properties.jwtConfiguration)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "CfnAuthorizerProps"')}function convertCfnAuthorizerPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAuthorizerPropsValidator(properties).assertSuccess(),{ApiId:cdk().stringToCloudFormation(properties.apiId),AuthorizerCredentialsArn:cdk().stringToCloudFormation(properties.authorizerCredentialsArn),AuthorizerPayloadFormatVersion:cdk().stringToCloudFormation(properties.authorizerPayloadFormatVersion),AuthorizerResultTtlInSeconds:cdk().numberToCloudFormation(properties.authorizerResultTtlInSeconds),AuthorizerType:cdk().stringToCloudFormation(properties.authorizerType),AuthorizerUri:cdk().stringToCloudFormation(properties.authorizerUri),EnableSimpleResponses:cdk().booleanToCloudFormation(properties.enableSimpleResponses),IdentitySource:cdk().listMapper(cdk().stringToCloudFormation)(properties.identitySource),IdentityValidationExpression:cdk().stringToCloudFormation(properties.identityValidationExpression),JwtConfiguration:convertCfnAuthorizerJWTConfigurationPropertyToCloudFormation(properties.jwtConfiguration),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnAuthorizerPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("authorizerCredentialsArn","AuthorizerCredentialsArn",properties.AuthorizerCredentialsArn!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizerCredentialsArn):void 0),ret.addPropertyResult("authorizerPayloadFormatVersion","AuthorizerPayloadFormatVersion",properties.AuthorizerPayloadFormatVersion!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizerPayloadFormatVersion):void 0),ret.addPropertyResult("authorizerResultTtlInSeconds","AuthorizerResultTtlInSeconds",properties.AuthorizerResultTtlInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.AuthorizerResultTtlInSeconds):void 0),ret.addPropertyResult("authorizerType","AuthorizerType",properties.AuthorizerType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizerType):void 0),ret.addPropertyResult("authorizerUri","AuthorizerUri",properties.AuthorizerUri!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizerUri):void 0),ret.addPropertyResult("enableSimpleResponses","EnableSimpleResponses",properties.EnableSimpleResponses!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableSimpleResponses):void 0),ret.addPropertyResult("identitySource","IdentitySource",properties.IdentitySource!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IdentitySource):void 0),ret.addPropertyResult("identityValidationExpression","IdentityValidationExpression",properties.IdentityValidationExpression!=null?cfn_parse().FromCloudFormation.getString(properties.IdentityValidationExpression):void 0),ret.addPropertyResult("jwtConfiguration","JwtConfiguration",properties.JwtConfiguration!=null?CfnAuthorizerJWTConfigurationPropertyFromCloudFormation(properties.JwtConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDeployment extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnDeployment",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::Deployment";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDeploymentPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnDeployment(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 isCfnDeployment(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDeployment.CFN_RESOURCE_TYPE_NAME}attrDeploymentId;apiId;description;stageName;constructor(scope,id,props){super(scope,id,{type:CfnDeployment.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnDeploymentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDeployment),error}cdk().requireProperty(props,"apiId",this),this.attrDeploymentId=cdk().Token.asString(this.getAtt("DeploymentId",cdk().ResolutionTypeHint.STRING)),this.apiId=props.apiId?.apiRef?.apiId??cdk().ensureStringOrUndefined(props.apiId,"apiId","apigatewayv2.IApiRef | string"),this.description=props.description,this.stageName=props.stageName}get deploymentRef(){return{apiId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),deploymentId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get cfnProperties(){return{apiId:this.apiId,description:this.description,stageName:this.stageName}}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",CfnDeployment.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDeploymentPropsToCloudFormation(props)}}exports.CfnDeployment=CfnDeployment;function CfnDeploymentPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.apiId)),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("stageName",cdk().validateString)(properties.stageName)),errors.wrap('supplied properties not correct for "CfnDeploymentProps"')}function convertCfnDeploymentPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDeploymentPropsValidator(properties).assertSuccess(),{ApiId:cdk().stringToCloudFormation(properties.apiId),Description:cdk().stringToCloudFormation(properties.description),StageName:cdk().stringToCloudFormation(properties.stageName)}):properties}function CfnDeploymentPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("stageName","StageName",properties.StageName!=null?cfn_parse().FromCloudFormation.getString(properties.StageName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDomainName extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnDomainName",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::DomainName";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDomainNamePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnDomainName(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 isCfnDomainName(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDomainName.CFN_RESOURCE_TYPE_NAME}static arnForDomainName(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_apigatewayv2_IDomainNameRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDomainName),error}return resource.domainNameRef.domainNameArn}attrDomainNameArn;attrRegionalDomainName;attrRegionalHostedZoneId;domainName;domainNameConfigurations;mutualTlsAuthentication;routingMode;tags;tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnDomainName.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnDomainNameProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDomainName),error}cdk().requireProperty(props,"domainName",this),this.attrDomainNameArn=cdk().Token.asString(this.getAtt("DomainNameArn",cdk().ResolutionTypeHint.STRING)),this.attrRegionalDomainName=cdk().Token.asString(this.getAtt("RegionalDomainName",cdk().ResolutionTypeHint.STRING)),this.attrRegionalHostedZoneId=cdk().Token.asString(this.getAtt("RegionalHostedZoneId",cdk().ResolutionTypeHint.STRING)),this.domainName=props.domainName,this.domainNameConfigurations=props.domainNameConfigurations,this.mutualTlsAuthentication=props.mutualTlsAuthentication,this.routingMode=props.routingMode,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::ApiGatewayV2::DomainName",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get domainNameRef(){return{domainName:this.ref,domainNameArn:this.attrDomainNameArn}}get cfnProperties(){return{domainName:this.domainName,domainNameConfigurations:this.domainNameConfigurations,mutualTlsAuthentication:this.mutualTlsAuthentication,routingMode:this.routingMode,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",CfnDomainName.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDomainNamePropsToCloudFormation(props)}}exports.CfnDomainName=CfnDomainName;function CfnDomainNameMutualTlsAuthenticationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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 convertCfnDomainNameMutualTlsAuthenticationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainNameMutualTlsAuthenticationPropertyValidator(properties).assertSuccess(),{TruststoreUri:cdk().stringToCloudFormation(properties.truststoreUri),TruststoreVersion:cdk().stringToCloudFormation(properties.truststoreVersion)}):properties}function CfnDomainNameMutualTlsAuthenticationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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 CfnDomainNameDomainNameConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("certificateArn",cdk().validateString)(properties.certificateArn)),errors.collect(cdk().propertyValidator("certificateName",cdk().validateString)(properties.certificateName)),errors.collect(cdk().propertyValidator("endpointType",cdk().validateString)(properties.endpointType)),errors.collect(cdk().propertyValidator("ipAddressType",cdk().validateString)(properties.ipAddressType)),errors.collect(cdk().propertyValidator("ownershipVerificationCertificateArn",cdk().validateString)(properties.ownershipVerificationCertificateArn)),errors.collect(cdk().propertyValidator("securityPolicy",cdk().validateString)(properties.securityPolicy)),errors.wrap('supplied properties not correct for "DomainNameConfigurationProperty"')}function convertCfnDomainNameDomainNameConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainNameDomainNameConfigurationPropertyValidator(properties).assertSuccess(),{CertificateArn:cdk().stringToCloudFormation(properties.certificateArn),CertificateName:cdk().stringToCloudFormation(properties.certificateName),EndpointType:cdk().stringToCloudFormation(properties.endpointType),IpAddressType:cdk().stringToCloudFormation(properties.ipAddressType),OwnershipVerificationCertificateArn:cdk().stringToCloudFormation(properties.ownershipVerificationCertificateArn),SecurityPolicy:cdk().stringToCloudFormation(properties.securityPolicy)}):properties}function CfnDomainNameDomainNameConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("certificateArn","CertificateArn",properties.CertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateArn):void 0),ret.addPropertyResult("certificateName","CertificateName",properties.CertificateName!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateName):void 0),ret.addPropertyResult("endpointType","EndpointType",properties.EndpointType!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointType):void 0),ret.addPropertyResult("ipAddressType","IpAddressType",properties.IpAddressType!=null?cfn_parse().FromCloudFormation.getString(properties.IpAddressType):void 0),ret.addPropertyResult("ownershipVerificationCertificateArn","OwnershipVerificationCertificateArn",properties.OwnershipVerificationCertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.OwnershipVerificationCertificateArn):void 0),ret.addPropertyResult("securityPolicy","SecurityPolicy",properties.SecurityPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.SecurityPolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainNamePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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.collect(cdk().propertyValidator("domainNameConfigurations",cdk().listValidator(CfnDomainNameDomainNameConfigurationPropertyValidator))(properties.domainNameConfigurations)),errors.collect(cdk().propertyValidator("mutualTlsAuthentication",CfnDomainNameMutualTlsAuthenticationPropertyValidator)(properties.mutualTlsAuthentication)),errors.collect(cdk().propertyValidator("routingMode",cdk().validateString)(properties.routingMode)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDomainNameProps"')}function convertCfnDomainNamePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainNamePropsValidator(properties).assertSuccess(),{DomainName:cdk().stringToCloudFormation(properties.domainName),DomainNameConfigurations:cdk().listMapper(convertCfnDomainNameDomainNameConfigurationPropertyToCloudFormation)(properties.domainNameConfigurations),MutualTlsAuthentication:convertCfnDomainNameMutualTlsAuthenticationPropertyToCloudFormation(properties.mutualTlsAuthentication),RoutingMode:cdk().stringToCloudFormation(properties.routingMode),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnDomainNamePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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.addPropertyResult("domainNameConfigurations","DomainNameConfigurations",properties.DomainNameConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDomainNameDomainNameConfigurationPropertyFromCloudFormation)(properties.DomainNameConfigurations):void 0),ret.addPropertyResult("mutualTlsAuthentication","MutualTlsAuthentication",properties.MutualTlsAuthentication!=null?CfnDomainNameMutualTlsAuthenticationPropertyFromCloudFormation(properties.MutualTlsAuthentication):void 0),ret.addPropertyResult("routingMode","RoutingMode",properties.RoutingMode!=null?cfn_parse().FromCloudFormation.getString(properties.RoutingMode):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 CfnIntegration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnIntegration",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::Integration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIntegrationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnIntegration(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 isCfnIntegration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIntegration.CFN_RESOURCE_TYPE_NAME}attrIntegrationId;apiId;connectionId;connectionType;contentHandlingStrategy;credentialsArn;description;integrationMethod;integrationSubtype;integrationType;integrationUri;passthroughBehavior;payloadFormatVersion;requestParameters;requestTemplates;responseParameters;templateSelectionExpression;timeoutInMillis;tlsConfig;constructor(scope,id,props){super(scope,id,{type:CfnIntegration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnIntegrationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIntegration),error}cdk().requireProperty(props,"apiId",this),cdk().requireProperty(props,"integrationType",this),this.attrIntegrationId=cdk().Token.asString(this.getAtt("IntegrationId",cdk().ResolutionTypeHint.STRING)),this.apiId=props.apiId?.apiRef?.apiId??cdk().ensureStringOrUndefined(props.apiId,"apiId","apigatewayv2.IApiRef | string"),this.connectionId=props.connectionId,this.connectionType=props.connectionType,this.contentHandlingStrategy=props.contentHandlingStrategy,this.credentialsArn=props.credentialsArn,this.description=props.description,this.integrationMethod=props.integrationMethod,this.integrationSubtype=props.integrationSubtype,this.integrationType=props.integrationType,this.integrationUri=props.integrationUri?.functionRef?.functionArn??cdk().ensureStringOrUndefined(props.integrationUri,"integrationUri","lambda.IFunctionRef | string"),this.passthroughBehavior=props.passthroughBehavior,this.payloadFormatVersion=props.payloadFormatVersion,this.requestParameters=props.requestParameters,this.requestTemplates=props.requestTemplates,this.responseParameters=props.responseParameters,this.templateSelectionExpression=props.templateSelectionExpression,this.timeoutInMillis=props.timeoutInMillis,this.tlsConfig=props.tlsConfig}get integrationRef(){return{apiId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),integrationId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get cfnProperties(){return{apiId:this.apiId,connectionId:this.connectionId,connectionType:this.connectionType,contentHandlingStrategy:this.contentHandlingStrategy,credentialsArn:this.credentialsArn,description:this.description,integrationMethod:this.integrationMethod,integrationSubtype:this.integrationSubtype,integrationType:this.integrationType,integrationUri:this.integrationUri,passthroughBehavior:this.passthroughBehavior,payloadFormatVersion:this.payloadFormatVersion,requestParameters:this.requestParameters,requestTemplates:this.requestTemplates,responseParameters:this.responseParameters,templateSelectionExpression:this.templateSelectionExpression,timeoutInMillis:this.timeoutInMillis,tlsConfig:this.tlsConfig}}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",CfnIntegration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIntegrationPropsToCloudFormation(props)}}exports.CfnIntegration=CfnIntegration;function CfnIntegrationResponseParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().validateString)(properties.destination)),errors.collect(cdk().propertyValidator("source",cdk().validateString)(properties.source)),errors.wrap('supplied properties not correct for "ResponseParameterProperty"')}function convertCfnIntegrationResponseParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationResponseParameterPropertyValidator(properties).assertSuccess(),{Destination:cdk().stringToCloudFormation(properties.destination),Source:cdk().stringToCloudFormation(properties.source)}):properties}function CfnIntegrationResponseParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("source","Source",properties.Source!=null?cfn_parse().FromCloudFormation.getString(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationResponseParameterMapPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("responseParameters",cdk().listValidator(CfnIntegrationResponseParameterPropertyValidator))(properties.responseParameters)),errors.wrap('supplied properties not correct for "ResponseParameterMapProperty"')}function convertCfnIntegrationResponseParameterMapPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationResponseParameterMapPropertyValidator(properties).assertSuccess(),{ResponseParameters:cdk().listMapper(convertCfnIntegrationResponseParameterPropertyToCloudFormation)(properties.responseParameters)}):properties}function CfnIntegrationResponseParameterMapPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("responseParameters","ResponseParameters",properties.ResponseParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnIntegrationResponseParameterPropertyFromCloudFormation)(properties.ResponseParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationTlsConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("serverNameToVerify",cdk().validateString)(properties.serverNameToVerify)),errors.wrap('supplied properties not correct for "TlsConfigProperty"')}function convertCfnIntegrationTlsConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationTlsConfigPropertyValidator(properties).assertSuccess(),{ServerNameToVerify:cdk().stringToCloudFormation(properties.serverNameToVerify)}):properties}function CfnIntegrationTlsConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("serverNameToVerify","ServerNameToVerify",properties.ServerNameToVerify!=null?cfn_parse().FromCloudFormation.getString(properties.ServerNameToVerify):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.apiId)),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("connectionId",cdk().validateString)(properties.connectionId)),errors.collect(cdk().propertyValidator("connectionType",cdk().validateString)(properties.connectionType)),errors.collect(cdk().propertyValidator("contentHandlingStrategy",cdk().validateString)(properties.contentHandlingStrategy)),errors.collect(cdk().propertyValidator("credentialsArn",cdk().validateString)(properties.credentialsArn)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("integrationMethod",cdk().validateString)(properties.integrationMethod)),errors.collect(cdk().propertyValidator("integrationSubtype",cdk().validateString)(properties.integrationSubtype)),errors.collect(cdk().propertyValidator("integrationType",cdk().requiredValidator)(properties.integrationType)),errors.collect(cdk().propertyValidator("integrationType",cdk().validateString)(properties.integrationType)),errors.collect(cdk().propertyValidator("integrationUri",cdk().validateString)(properties.integrationUri)),errors.collect(cdk().propertyValidator("passthroughBehavior",cdk().validateString)(properties.passthroughBehavior)),errors.collect(cdk().propertyValidator("payloadFormatVersion",cdk().validateString)(properties.payloadFormatVersion)),errors.collect(cdk().propertyValidator("requestParameters",cdk().validateObject)(properties.requestParameters)),errors.collect(cdk().propertyValidator("requestTemplates",cdk().validateObject)(properties.requestTemplates)),errors.collect(cdk().propertyValidator("responseParameters",cdk().validateObject)(properties.responseParameters)),errors.collect(cdk().propertyValidator("templateSelectionExpression",cdk().validateString)(properties.templateSelectionExpression)),errors.collect(cdk().propertyValidator("timeoutInMillis",cdk().validateNumber)(properties.timeoutInMillis)),errors.collect(cdk().propertyValidator("tlsConfig",CfnIntegrationTlsConfigPropertyValidator)(properties.tlsConfig)),errors.wrap('supplied properties not correct for "CfnIntegrationProps"')}function convertCfnIntegrationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationPropsValidator(properties).assertSuccess(),{ApiId:cdk().stringToCloudFormation(properties.apiId),ConnectionId:cdk().stringToCloudFormation(properties.connectionId),ConnectionType:cdk().stringToCloudFormation(properties.connectionType),ContentHandlingStrategy:cdk().stringToCloudFormation(properties.contentHandlingStrategy),CredentialsArn:cdk().stringToCloudFormation(properties.credentialsArn),Description:cdk().stringToCloudFormation(properties.description),IntegrationMethod:cdk().stringToCloudFormation(properties.integrationMethod),IntegrationSubtype:cdk().stringToCloudFormation(properties.integrationSubtype),IntegrationType:cdk().stringToCloudFormation(properties.integrationType),IntegrationUri:cdk().stringToCloudFormation(properties.integrationUri),PassthroughBehavior:cdk().stringToCloudFormation(properties.passthroughBehavior),PayloadFormatVersion:cdk().stringToCloudFormation(properties.payloadFormatVersion),RequestParameters:cdk().objectToCloudFormation(properties.requestParameters),RequestTemplates:cdk().objectToCloudFormation(properties.requestTemplates),ResponseParameters:cdk().objectToCloudFormation(properties.responseParameters),TemplateSelectionExpression:cdk().stringToCloudFormation(properties.templateSelectionExpression),TimeoutInMillis:cdk().numberToCloudFormation(properties.timeoutInMillis),TlsConfig:convertCfnIntegrationTlsConfigPropertyToCloudFormation(properties.tlsConfig)}):properties}function CfnIntegrationPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("connectionId","ConnectionId",properties.ConnectionId!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionId):void 0),ret.addPropertyResult("connectionType","ConnectionType",properties.ConnectionType!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionType):void 0),ret.addPropertyResult("contentHandlingStrategy","ContentHandlingStrategy",properties.ContentHandlingStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.ContentHandlingStrategy):void 0),ret.addPropertyResult("credentialsArn","CredentialsArn",properties.CredentialsArn!=null?cfn_parse().FromCloudFormation.getString(properties.CredentialsArn):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("integrationMethod","IntegrationMethod",properties.IntegrationMethod!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationMethod):void 0),ret.addPropertyResult("integrationSubtype","IntegrationSubtype",properties.IntegrationSubtype!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationSubtype):void 0),ret.addPropertyResult("integrationType","IntegrationType",properties.IntegrationType!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationType):void 0),ret.addPropertyResult("integrationUri","IntegrationUri",properties.IntegrationUri!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationUri):void 0),ret.addPropertyResult("passthroughBehavior","PassthroughBehavior",properties.PassthroughBehavior!=null?cfn_parse().FromCloudFormation.getString(properties.PassthroughBehavior):void 0),ret.addPropertyResult("payloadFormatVersion","PayloadFormatVersion",properties.PayloadFormatVersion!=null?cfn_parse().FromCloudFormation.getString(properties.PayloadFormatVersion):void 0),ret.addPropertyResult("requestParameters","RequestParameters",properties.RequestParameters!=null?cfn_parse().FromCloudFormation.getAny(properties.RequestParameters):void 0),ret.addPropertyResult("requestTemplates","RequestTemplates",properties.RequestTemplates!=null?cfn_parse().FromCloudFormation.getAny(properties.RequestTemplates):void 0),ret.addPropertyResult("responseParameters","ResponseParameters",properties.ResponseParameters!=null?cfn_parse().FromCloudFormation.getAny(properties.ResponseParameters):void 0),ret.addPropertyResult("templateSelectionExpression","TemplateSelectionExpression",properties.TemplateSelectionExpression!=null?cfn_parse().FromCloudFormation.getString(properties.TemplateSelectionExpression):void 0),ret.addPropertyResult("timeoutInMillis","TimeoutInMillis",properties.TimeoutInMillis!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutInMillis):void 0),ret.addPropertyResult("tlsConfig","TlsConfig",properties.TlsConfig!=null?CfnIntegrationTlsConfigPropertyFromCloudFormation(properties.TlsConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationResponseParameterListPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("responseParameters",cdk().listValidator(CfnIntegrationResponseParameterPropertyValidator))(properties.responseParameters)),errors.wrap('supplied properties not correct for "ResponseParameterListProperty"')}function convertCfnIntegrationResponseParameterListPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationResponseParameterListPropertyValidator(properties).assertSuccess(),{ResponseParameters:cdk().listMapper(convertCfnIntegrationResponseParameterPropertyToCloudFormation)(properties.responseParameters)}):properties}function CfnIntegrationResponseParameterListPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("responseParameters","ResponseParameters",properties.ResponseParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnIntegrationResponseParameterPropertyFromCloudFormation)(properties.ResponseParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnIntegrationResponse extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnIntegrationResponse",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::IntegrationResponse";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIntegrationResponsePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnIntegrationResponse(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 isCfnIntegrationResponse(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIntegrationResponse.CFN_RESOURCE_TYPE_NAME}attrIntegrationResponseId;apiId;contentHandlingStrategy;integrationId;integrationResponseKey;responseParameters;responseTemplates;templateSelectionExpression;constructor(scope,id,props){super(scope,id,{type:CfnIntegrationResponse.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnIntegrationResponseProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIntegrationResponse),error}cdk().requireProperty(props,"apiId",this),cdk().requireProperty(props,"integrationId",this),cdk().requireProperty(props,"integrationResponseKey",this),this.attrIntegrationResponseId=cdk().Token.asString(this.getAtt("IntegrationResponseId",cdk().ResolutionTypeHint.STRING)),this.apiId=props.apiId?.apiRef?.apiId??cdk().ensureStringOrUndefined(props.apiId,"apiId","apigatewayv2.IApiRef | string"),this.contentHandlingStrategy=props.contentHandlingStrategy,this.integrationId=props.integrationId?.integrationRef?.integrationId??cdk().ensureStringOrUndefined(props.integrationId,"integrationId","apigatewayv2.IIntegrationRef | string"),this.integrationResponseKey=props.integrationResponseKey,this.responseParameters=props.responseParameters,this.responseTemplates=props.responseTemplates,this.templateSelectionExpression=props.templateSelectionExpression}get integrationResponseRef(){return{apiId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),integrationId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),integrationResponseId:cdk().Fn.select(2,cdk().Fn.split("|",this.ref))}}get cfnProperties(){return{apiId:this.apiId,contentHandlingStrategy:this.contentHandlingStrategy,integrationId:this.integrationId,integrationResponseKey:this.integrationResponseKey,responseParameters:this.responseParameters,responseTemplates:this.responseTemplates,templateSelectionExpression:this.templateSelectionExpression}}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",CfnIntegrationResponse.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIntegrationResponsePropsToCloudFormation(props)}}exports.CfnIntegrationResponse=CfnIntegrationResponse;function CfnIntegrationResponsePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.apiId)),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("contentHandlingStrategy",cdk().validateString)(properties.contentHandlingStrategy)),errors.collect(cdk().propertyValidator("integrationId",cdk().requiredValidator)(properties.integrationId)),errors.collect(cdk().propertyValidator("integrationId",cdk().validateString)(properties.integrationId)),errors.collect(cdk().propertyValidator("integrationResponseKey",cdk().requiredValidator)(properties.integrationResponseKey)),errors.collect(cdk().propertyValidator("integrationResponseKey",cdk().validateString)(properties.integrationResponseKey)),errors.collect(cdk().propertyValidator("responseParameters",cdk().validateObject)(properties.responseParameters)),errors.collect(cdk().propertyValidator("responseTemplates",cdk().validateObject)(properties.responseTemplates)),errors.collect(cdk().propertyValidator("templateSelectionExpression",cdk().validateString)(properties.templateSelectionExpression)),errors.wrap('supplied properties not correct for "CfnIntegrationResponseProps"')}function convertCfnIntegrationResponsePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationResponsePropsValidator(properties).assertSuccess(),{ApiId:cdk().stringToCloudFormation(properties.apiId),ContentHandlingStrategy:cdk().stringToCloudFormation(properties.contentHandlingStrategy),IntegrationId:cdk().stringToCloudFormation(properties.integrationId),IntegrationResponseKey:cdk().stringToCloudFormation(properties.integrationResponseKey),ResponseParameters:cdk().objectToCloudFormation(properties.responseParameters),ResponseTemplates:cdk().objectToCloudFormation(properties.responseTemplates),TemplateSelectionExpression:cdk().stringToCloudFormation(properties.templateSelectionExpression)}):properties}function CfnIntegrationResponsePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("contentHandlingStrategy","ContentHandlingStrategy",properties.ContentHandlingStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.ContentHandlingStrategy):void 0),ret.addPropertyResult("integrationId","IntegrationId",properties.IntegrationId!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationId):void 0),ret.addPropertyResult("integrationResponseKey","IntegrationResponseKey",properties.IntegrationResponseKey!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationResponseKey):void 0),ret.addPropertyResult("responseParameters","ResponseParameters",properties.ResponseParameters!=null?cfn_parse().FromCloudFormation.getAny(properties.ResponseParameters):void 0),ret.addPropertyResult("responseTemplates","ResponseTemplates",properties.ResponseTemplates!=null?cfn_parse().FromCloudFormation.getAny(properties.ResponseTemplates):void 0),ret.addPropertyResult("templateSelectionExpression","TemplateSelectionExpression",properties.TemplateSelectionExpression!=null?cfn_parse().FromCloudFormation.getString(properties.TemplateSelectionExpression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnModel extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnModel",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::Model";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnModelPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnModel(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 isCfnModel(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnModel.CFN_RESOURCE_TYPE_NAME}attrModelId;apiId;contentType;description;name;schema;constructor(scope,id,props){super(scope,id,{type:CfnModel.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnModelProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnModel),error}cdk().requireProperty(props,"apiId",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"schema",this),this.attrModelId=cdk().Token.asString(this.getAtt("ModelId",cdk().ResolutionTypeHint.STRING)),this.apiId=props.apiId?.apiRef?.apiId??cdk().ensureStringOrUndefined(props.apiId,"apiId","apigatewayv2.IApiRef | string"),this.contentType=props.contentType,this.description=props.description,this.name=props.name,this.schema=props.schema}get modelRef(){return{apiId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),modelId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get cfnProperties(){return{apiId:this.apiId,contentType:this.contentType,description:this.description,name:this.name,schema:this.schema}}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",CfnModel.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnModelPropsToCloudFormation(props)}}exports.CfnModel=CfnModel;function CfnModelPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.apiId)),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("contentType",cdk().validateString)(properties.contentType)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("schema",cdk().requiredValidator)(properties.schema)),errors.collect(cdk().propertyValidator("schema",cdk().validateObject)(properties.schema)),errors.wrap('supplied properties not correct for "CfnModelProps"')}function convertCfnModelPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnModelPropsValidator(properties).assertSuccess(),{ApiId:cdk().stringToCloudFormation(properties.apiId),ContentType:cdk().stringToCloudFormation(properties.contentType),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Schema:cdk().objectToCloudFormation(properties.schema)}):properties}function CfnModelPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("contentType","ContentType",properties.ContentType!=null?cfn_parse().FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("schema","Schema",properties.Schema!=null?cfn_parse().FromCloudFormation.getAny(properties.Schema):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRoute extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnRoute",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::Route";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRoutePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnRoute(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 isCfnRoute(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRoute.CFN_RESOURCE_TYPE_NAME}attrRouteId;apiId;apiKeyRequired;authorizationScopes;authorizationType;authorizerId;modelSelectionExpression;operationName;requestModels;requestParameters;routeKey;routeResponseSelectionExpression;target;constructor(scope,id,props){super(scope,id,{type:CfnRoute.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnRouteProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRoute),error}cdk().requireProperty(props,"apiId",this),cdk().requireProperty(props,"routeKey",this),this.attrRouteId=cdk().Token.asString(this.getAtt("RouteId",cdk().ResolutionTypeHint.STRING)),this.apiId=props.apiId?.apiRef?.apiId??cdk().ensureStringOrUndefined(props.apiId,"apiId","apigatewayv2.IApiRef | string"),this.apiKeyRequired=props.apiKeyRequired,this.authorizationScopes=props.authorizationScopes,this.authorizationType=props.authorizationType,this.authorizerId=props.authorizerId?.authorizerRef?.authorizerId??cdk().ensureStringOrUndefined(props.authorizerId,"authorizerId","apigatewayv2.IAuthorizerRef | string"),this.modelSelectionExpression=props.modelSelectionExpression,this.operationName=props.operationName,this.requestModels=props.requestModels,this.requestParameters=props.requestParameters,this.routeKey=props.routeKey,this.routeResponseSelectionExpression=props.routeResponseSelectionExpression,this.target=props.target?.integrationRef?.integrationId??cdk().ensureStringOrUndefined(props.target,"target","apigatewayv2.IIntegrationRef | string")}get routeRef(){return{apiId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),routeId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get cfnProperties(){return{apiId:this.apiId,apiKeyRequired:this.apiKeyRequired,authorizationScopes:this.authorizationScopes,authorizationType:this.authorizationType,authorizerId:this.authorizerId,modelSelectionExpression:this.modelSelectionExpression,operationName:this.operationName,requestModels:this.requestModels,requestParameters:this.requestParameters,routeKey:this.routeKey,routeResponseSelectionExpression:this.routeResponseSelectionExpression,target:this.target}}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",CfnRoute.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRoutePropsToCloudFormation(props)}}exports.CfnRoute=CfnRoute;function CfnRoutePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.apiId)),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("apiKeyRequired",cdk().validateBoolean)(properties.apiKeyRequired)),errors.collect(cdk().propertyValidator("authorizationScopes",cdk().listValidator(cdk().validateString))(properties.authorizationScopes)),errors.collect(cdk().propertyValidator("authorizationType",cdk().validateString)(properties.authorizationType)),errors.collect(cdk().propertyValidator("authorizerId",cdk().validateString)(properties.authorizerId)),errors.collect(cdk().propertyValidator("modelSelectionExpression",cdk().validateString)(properties.modelSelectionExpression)),errors.collect(cdk().propertyValidator("operationName",cdk().validateString)(properties.operationName)),errors.collect(cdk().propertyValidator("requestModels",cdk().validateObject)(properties.requestModels)),errors.collect(cdk().propertyValidator("requestParameters",cdk().validateObject)(properties.requestParameters)),errors.collect(cdk().propertyValidator("routeKey",cdk().requiredValidator)(properties.routeKey)),errors.collect(cdk().propertyValidator("routeKey",cdk().validateString)(properties.routeKey)),errors.collect(cdk().propertyValidator("routeResponseSelectionExpression",cdk().validateString)(properties.routeResponseSelectionExpression)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),errors.wrap('supplied properties not correct for "CfnRouteProps"')}function convertCfnRoutePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutePropsValidator(properties).assertSuccess(),{ApiId:cdk().stringToCloudFormation(properties.apiId),ApiKeyRequired:cdk().booleanToCloudFormation(properties.apiKeyRequired),AuthorizationScopes:cdk().listMapper(cdk().stringToCloudFormation)(properties.authorizationScopes),AuthorizationType:cdk().stringToCloudFormation(properties.authorizationType),AuthorizerId:cdk().stringToCloudFormation(properties.authorizerId),ModelSelectionExpression:cdk().stringToCloudFormation(properties.modelSelectionExpression),OperationName:cdk().stringToCloudFormation(properties.operationName),RequestModels:cdk().objectToCloudFormation(properties.requestModels),RequestParameters:cdk().objectToCloudFormation(properties.requestParameters),RouteKey:cdk().stringToCloudFormation(properties.routeKey),RouteResponseSelectionExpression:cdk().stringToCloudFormation(properties.routeResponseSelectionExpression),Target:cdk().stringToCloudFormation(properties.target)}):properties}function CfnRoutePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("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("authorizationType","AuthorizationType",properties.AuthorizationType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizationType):void 0),ret.addPropertyResult("authorizerId","AuthorizerId",properties.AuthorizerId!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizerId):void 0),ret.addPropertyResult("modelSelectionExpression","ModelSelectionExpression",properties.ModelSelectionExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ModelSelectionExpression):void 0),ret.addPropertyResult("operationName","OperationName",properties.OperationName!=null?cfn_parse().FromCloudFormation.getString(properties.OperationName):void 0),ret.addPropertyResult("requestModels","RequestModels",properties.RequestModels!=null?cfn_parse().FromCloudFormation.getAny(properties.RequestModels):void 0),ret.addPropertyResult("requestParameters","RequestParameters",properties.RequestParameters!=null?cfn_parse().FromCloudFormation.getAny(properties.RequestParameters):void 0),ret.addPropertyResult("routeKey","RouteKey",properties.RouteKey!=null?cfn_parse().FromCloudFormation.getString(properties.RouteKey):void 0),ret.addPropertyResult("routeResponseSelectionExpression","RouteResponseSelectionExpression",properties.RouteResponseSelectionExpression!=null?cfn_parse().FromCloudFormation.getString(properties.RouteResponseSelectionExpression):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRouteParameterConstraintsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("required",cdk().requiredValidator)(properties.required)),errors.collect(cdk().propertyValidator("required",cdk().validateBoolean)(properties.required)),errors.wrap('supplied properties not correct for "ParameterConstraintsProperty"')}function convertCfnRouteParameterConstraintsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRouteParameterConstraintsPropertyValidator(properties).assertSuccess(),{Required:cdk().booleanToCloudFormation(properties.required)}):properties}function CfnRouteParameterConstraintsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("required","Required",properties.Required!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Required):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRouteResponse extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnRouteResponse",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::RouteResponse";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRouteResponsePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnRouteResponse(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 isCfnRouteResponse(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRouteResponse.CFN_RESOURCE_TYPE_NAME}attrRouteResponseId;apiId;modelSelectionExpression;responseModels;responseParameters;routeId;routeResponseKey;constructor(scope,id,props){super(scope,id,{type:CfnRouteResponse.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnRouteResponseProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRouteResponse),error}cdk().requireProperty(props,"apiId",this),cdk().requireProperty(props,"routeId",this),cdk().requireProperty(props,"routeResponseKey",this),this.attrRouteResponseId=cdk().Token.asString(this.getAtt("RouteResponseId",cdk().ResolutionTypeHint.STRING)),this.apiId=props.apiId?.apiRef?.apiId??cdk().ensureStringOrUndefined(props.apiId,"apiId","apigatewayv2.IApiRef | string"),this.modelSelectionExpression=props.modelSelectionExpression,this.responseModels=props.responseModels,this.responseParameters=props.responseParameters,this.routeId=props.routeId?.routeRef?.routeId??cdk().ensureStringOrUndefined(props.routeId,"routeId","apigatewayv2.IRouteRef | string"),this.routeResponseKey=props.routeResponseKey}get routeResponseRef(){return{apiId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),routeId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),routeResponseId:cdk().Fn.select(2,cdk().Fn.split("|",this.ref))}}get cfnProperties(){return{apiId:this.apiId,modelSelectionExpression:this.modelSelectionExpression,responseModels:this.responseModels,responseParameters:this.responseParameters,routeId:this.routeId,routeResponseKey:this.routeResponseKey}}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",CfnRouteResponse.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRouteResponsePropsToCloudFormation(props)}}exports.CfnRouteResponse=CfnRouteResponse;function CfnRouteResponseParameterConstraintsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("required",cdk().requiredValidator)(properties.required)),errors.collect(cdk().propertyValidator("required",cdk().validateBoolean)(properties.required)),errors.wrap('supplied properties not correct for "ParameterConstraintsProperty"')}function convertCfnRouteResponseParameterConstraintsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRouteResponseParameterConstraintsPropertyValidator(properties).assertSuccess(),{Required:cdk().booleanToCloudFormation(properties.required)}):properties}function CfnRouteResponseParameterConstraintsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("required","Required",properties.Required!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Required):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRouteResponsePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.apiId)),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("modelSelectionExpression",cdk().validateString)(properties.modelSelectionExpression)),errors.collect(cdk().propertyValidator("responseModels",cdk().validateObject)(properties.responseModels)),errors.collect(cdk().propertyValidator("responseParameters",cdk().hashValidator(CfnRouteResponseParameterConstraintsPropertyValidator))(properties.responseParameters)),errors.collect(cdk().propertyValidator("routeId",cdk().requiredValidator)(properties.routeId)),errors.collect(cdk().propertyValidator("routeId",cdk().validateString)(properties.routeId)),errors.collect(cdk().propertyValidator("routeResponseKey",cdk().requiredValidator)(properties.routeResponseKey)),errors.collect(cdk().propertyValidator("routeResponseKey",cdk().validateString)(properties.routeResponseKey)),errors.wrap('supplied properties not correct for "CfnRouteResponseProps"')}function convertCfnRouteResponsePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRouteResponsePropsValidator(properties).assertSuccess(),{ApiId:cdk().stringToCloudFormation(properties.apiId),ModelSelectionExpression:cdk().stringToCloudFormation(properties.modelSelectionExpression),ResponseModels:cdk().objectToCloudFormation(properties.responseModels),ResponseParameters:cdk().hashMapper(convertCfnRouteResponseParameterConstraintsPropertyToCloudFormation)(properties.responseParameters),RouteId:cdk().stringToCloudFormation(properties.routeId),RouteResponseKey:cdk().stringToCloudFormation(properties.routeResponseKey)}):properties}function CfnRouteResponsePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("modelSelectionExpression","ModelSelectionExpression",properties.ModelSelectionExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ModelSelectionExpression):void 0),ret.addPropertyResult("responseModels","ResponseModels",properties.ResponseModels!=null?cfn_parse().FromCloudFormation.getAny(properties.ResponseModels):void 0),ret.addPropertyResult("responseParameters","ResponseParameters",properties.ResponseParameters!=null?cfn_parse().FromCloudFormation.getMap(CfnRouteResponseParameterConstraintsPropertyFromCloudFormation)(properties.ResponseParameters):void 0),ret.addPropertyResult("routeId","RouteId",properties.RouteId!=null?cfn_parse().FromCloudFormation.getString(properties.RouteId):void 0),ret.addPropertyResult("routeResponseKey","RouteResponseKey",properties.RouteResponseKey!=null?cfn_parse().FromCloudFormation.getString(properties.RouteResponseKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStage extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnStage",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::Stage";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStagePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnStage(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 isCfnStage(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnStage.CFN_RESOURCE_TYPE_NAME}attrId;accessLogSettings;accessPolicyId;apiId;autoDeploy;clientCertificateId;defaultRouteSettings;deploymentId;description;routeSettings;stageName;stageVariables;tags;tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnStage.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnStageProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStage),error}cdk().requireProperty(props,"apiId",this),cdk().requireProperty(props,"stageName",this),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.accessLogSettings=props.accessLogSettings,this.accessPolicyId=props.accessPolicyId,this.apiId=props.apiId,this.autoDeploy=props.autoDeploy,this.clientCertificateId=props.clientCertificateId,this.defaultRouteSettings=props.defaultRouteSettings,this.deploymentId=props.deploymentId,this.description=props.description,this.routeSettings=props.routeSettings,this.stageName=props.stageName,this.stageVariables=props.stageVariables,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::ApiGatewayV2::Stage",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get stageRef(){return{stageId:this.ref}}get cfnProperties(){return{accessLogSettings:this.accessLogSettings,accessPolicyId:this.accessPolicyId,apiId:this.apiId,autoDeploy:this.autoDeploy,clientCertificateId:this.clientCertificateId,defaultRouteSettings:this.defaultRouteSettings,deploymentId:this.deploymentId,description:this.description,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",CfnStage.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnStagePropsToCloudFormation(props)}}exports.CfnStage=CfnStage;function CfnStageAccessLogSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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 "AccessLogSettingsProperty"')}function convertCfnStageAccessLogSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStageAccessLogSettingsPropertyValidator(properties).assertSuccess(),{DestinationArn:cdk().stringToCloudFormation(properties.destinationArn),Format:cdk().stringToCloudFormation(properties.format)}):properties}function CfnStageAccessLogSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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 CfnStageRouteSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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 convertCfnStageRouteSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStageRouteSettingsPropertyValidator(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 CfnStageRouteSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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 CfnStagePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("accessLogSettings",CfnStageAccessLogSettingsPropertyValidator)(properties.accessLogSettings)),errors.collect(cdk().propertyValidator("accessPolicyId",cdk().validateString)(properties.accessPolicyId)),errors.collect(cdk().propertyValidator("apiId",cdk().requiredValidator)(properties.apiId)),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("autoDeploy",cdk().validateBoolean)(properties.autoDeploy)),errors.collect(cdk().propertyValidator("clientCertificateId",cdk().validateString)(properties.clientCertificateId)),errors.collect(cdk().propertyValidator("defaultRouteSettings",CfnStageRouteSettingsPropertyValidator)(properties.defaultRouteSettings)),errors.collect(cdk().propertyValidator("deploymentId",cdk().validateString)(properties.deploymentId)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("routeSettings",cdk().validateObject)(properties.routeSettings)),errors.collect(cdk().propertyValidator("stageName",cdk().requiredValidator)(properties.stageName)),errors.collect(cdk().propertyValidator("stageName",cdk().validateString)(properties.stageName)),errors.collect(cdk().propertyValidator("stageVariables",cdk().validateObject)(properties.stageVariables)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnStageProps"')}function convertCfnStagePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStagePropsValidator(properties).assertSuccess(),{AccessLogSettings:convertCfnStageAccessLogSettingsPropertyToCloudFormation(properties.accessLogSettings),AccessPolicyId:cdk().stringToCloudFormation(properties.accessPolicyId),ApiId:cdk().stringToCloudFormation(properties.apiId),AutoDeploy:cdk().booleanToCloudFormation(properties.autoDeploy),ClientCertificateId:cdk().stringToCloudFormation(properties.clientCertificateId),DefaultRouteSettings:convertCfnStageRouteSettingsPropertyToCloudFormation(properties.defaultRouteSettings),DeploymentId:cdk().stringToCloudFormation(properties.deploymentId),Description:cdk().stringToCloudFormation(properties.description),RouteSettings:cdk().objectToCloudFormation(properties.routeSettings),StageName:cdk().stringToCloudFormation(properties.stageName),StageVariables:cdk().objectToCloudFormation(properties.stageVariables),Tags:cdk().objectToCloudFormation(properties.tags)}):properties}function CfnStagePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("accessLogSettings","AccessLogSettings",properties.AccessLogSettings!=null?CfnStageAccessLogSettingsPropertyFromCloudFormation(properties.AccessLogSettings):void 0),ret.addPropertyResult("accessPolicyId","AccessPolicyId",properties.AccessPolicyId!=null?cfn_parse().FromCloudFormation.getString(properties.AccessPolicyId):void 0),ret.addPropertyResult("apiId","ApiId",properties.ApiId!=null?cfn_parse().FromCloudFormation.getString(properties.ApiId):void 0),ret.addPropertyResult("autoDeploy","AutoDeploy",properties.AutoDeploy!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoDeploy):void 0),ret.addPropertyResult("clientCertificateId","ClientCertificateId",properties.ClientCertificateId!=null?cfn_parse().FromCloudFormation.getString(properties.ClientCertificateId):void 0),ret.addPropertyResult("defaultRouteSettings","DefaultRouteSettings",properties.DefaultRouteSettings!=null?CfnStageRouteSettingsPropertyFromCloudFormation(properties.DefaultRouteSettings):void 0),ret.addPropertyResult("deploymentId","DeploymentId",properties.DeploymentId!=null?cfn_parse().FromCloudFormation.getString(properties.DeploymentId):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("routeSettings","RouteSettings",properties.RouteSettings!=null?cfn_parse().FromCloudFormation.getAny(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.getAny(properties.StageVariables):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnVpcLink extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnVpcLink",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::VpcLink";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnVpcLinkPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnVpcLink(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 isCfnVpcLink(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnVpcLink.CFN_RESOURCE_TYPE_NAME}static fromVpcLinkId(scope,id,vpcLinkId){class Import extends cdk().Resource{vpcLinkRef;constructor(scope2,id2,vpcLinkId2){super(scope2,id2),this.vpcLinkRef={vpcLinkId:vpcLinkId2}}}return new Import(scope,id,vpcLinkId)}static arnForVpcLink(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_apigatewayv2_IVpcLinkRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForVpcLink),error}return new(cfn_parse()).TemplateString("arn:${Partition}:apigateway:${Region}::/vpclinks/${VpcLinkId}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:cdk().Stack.of(resource).region,Account:cdk().Stack.of(resource).account,VpcLinkId:resource.vpcLinkRef.vpcLinkId})}attrVpcLinkId;name;securityGroupIds;subnetIds;tags;tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnVpcLink.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnVpcLinkProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnVpcLink),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"subnetIds",this),this.attrVpcLinkId=cdk().Token.asString(this.getAtt("VpcLinkId",cdk().ResolutionTypeHint.STRING)),this.name=props.name,this.securityGroupIds=cdk().mapArrayInPlace(props.securityGroupIds,item=>item?.securityGroupRef?.securityGroupId??cdk().ensureStringOrUndefined(item,"securityGroupIds","ec2.ISecurityGroupRef | string")),this.subnetIds=cdk().mapArrayInPlace(props.subnetIds,item=>item?.subnetRef?.subnetId??cdk().ensureStringOrUndefined(item,"subnetIds","ec2.ISubnetRef | string")),this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::ApiGatewayV2::VpcLink",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get vpcLinkRef(){return{vpcLinkId:this.ref}}get cfnProperties(){return{name:this.name,securityGroupIds:this.securityGroupIds,subnetIds:this.subnetIds,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",CfnVpcLink.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnVpcLinkPropsToCloudFormation(props)}}exports.CfnVpcLink=CfnVpcLink;function CfnVpcLinkPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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("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.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnVpcLinkProps"')}function convertCfnVpcLinkPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVpcLinkPropsValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnVpcLinkPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("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.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRoutingRule extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.CfnRoutingRule",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ApiGatewayV2::RoutingRule";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRoutingRulePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnRoutingRule(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 isCfnRoutingRule(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRoutingRule.CFN_RESOURCE_TYPE_NAME}static arnForRoutingRule(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_apigatewayv2_IRoutingRuleRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForRoutingRule),error}return resource.routingRuleRef.routingRuleArn}attrRoutingRuleArn;attrRoutingRuleId;actions;conditions;domainNameArn;priority;constructor(scope,id,props){super(scope,id,{type:CfnRoutingRule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_CfnRoutingRuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRoutingRule),error}cdk().requireProperty(props,"actions",this),cdk().requireProperty(props,"conditions",this),cdk().requireProperty(props,"domainNameArn",this),cdk().requireProperty(props,"priority",this),this.attrRoutingRuleArn=cdk().Token.asString(this.getAtt("RoutingRuleArn",cdk().ResolutionTypeHint.STRING)),this.attrRoutingRuleId=cdk().Token.asString(this.getAtt("RoutingRuleId",cdk().ResolutionTypeHint.STRING)),this.actions=props.actions,this.conditions=props.conditions,this.domainNameArn=props.domainNameArn,this.priority=props.priority}get routingRuleRef(){return{routingRuleArn:this.ref}}get cfnProperties(){return{actions:this.actions,conditions:this.conditions,domainNameArn:this.domainNameArn,priority:this.priority}}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",CfnRoutingRule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRoutingRulePropsToCloudFormation(props)}}exports.CfnRoutingRule=CfnRoutingRule;function CfnRoutingRuleMatchHeaderValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("header",cdk().requiredValidator)(properties.header)),errors.collect(cdk().propertyValidator("header",cdk().validateString)(properties.header)),errors.collect(cdk().propertyValidator("valueGlob",cdk().requiredValidator)(properties.valueGlob)),errors.collect(cdk().propertyValidator("valueGlob",cdk().validateString)(properties.valueGlob)),errors.wrap('supplied properties not correct for "MatchHeaderValueProperty"')}function convertCfnRoutingRuleMatchHeaderValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingRuleMatchHeaderValuePropertyValidator(properties).assertSuccess(),{Header:cdk().stringToCloudFormation(properties.header),ValueGlob:cdk().stringToCloudFormation(properties.valueGlob)}):properties}function CfnRoutingRuleMatchHeaderValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("header","Header",properties.Header!=null?cfn_parse().FromCloudFormation.getString(properties.Header):void 0),ret.addPropertyResult("valueGlob","ValueGlob",properties.ValueGlob!=null?cfn_parse().FromCloudFormation.getString(properties.ValueGlob):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRoutingRuleMatchHeadersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("anyOf",cdk().requiredValidator)(properties.anyOf)),errors.collect(cdk().propertyValidator("anyOf",cdk().listValidator(CfnRoutingRuleMatchHeaderValuePropertyValidator))(properties.anyOf)),errors.wrap('supplied properties not correct for "MatchHeadersProperty"')}function convertCfnRoutingRuleMatchHeadersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingRuleMatchHeadersPropertyValidator(properties).assertSuccess(),{AnyOf:cdk().listMapper(convertCfnRoutingRuleMatchHeaderValuePropertyToCloudFormation)(properties.anyOf)}):properties}function CfnRoutingRuleMatchHeadersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("anyOf","AnyOf",properties.AnyOf!=null?cfn_parse().FromCloudFormation.getArray(CfnRoutingRuleMatchHeaderValuePropertyFromCloudFormation)(properties.AnyOf):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRoutingRuleMatchBasePathsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("anyOf",cdk().requiredValidator)(properties.anyOf)),errors.collect(cdk().propertyValidator("anyOf",cdk().listValidator(cdk().validateString))(properties.anyOf)),errors.wrap('supplied properties not correct for "MatchBasePathsProperty"')}function convertCfnRoutingRuleMatchBasePathsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingRuleMatchBasePathsPropertyValidator(properties).assertSuccess(),{AnyOf:cdk().listMapper(cdk().stringToCloudFormation)(properties.anyOf)}):properties}function CfnRoutingRuleMatchBasePathsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("anyOf","AnyOf",properties.AnyOf!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AnyOf):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRoutingRuleConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("matchBasePaths",CfnRoutingRuleMatchBasePathsPropertyValidator)(properties.matchBasePaths)),errors.collect(cdk().propertyValidator("matchHeaders",CfnRoutingRuleMatchHeadersPropertyValidator)(properties.matchHeaders)),errors.wrap('supplied properties not correct for "ConditionProperty"')}function convertCfnRoutingRuleConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingRuleConditionPropertyValidator(properties).assertSuccess(),{MatchBasePaths:convertCfnRoutingRuleMatchBasePathsPropertyToCloudFormation(properties.matchBasePaths),MatchHeaders:convertCfnRoutingRuleMatchHeadersPropertyToCloudFormation(properties.matchHeaders)}):properties}function CfnRoutingRuleConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("matchBasePaths","MatchBasePaths",properties.MatchBasePaths!=null?CfnRoutingRuleMatchBasePathsPropertyFromCloudFormation(properties.MatchBasePaths):void 0),ret.addPropertyResult("matchHeaders","MatchHeaders",properties.MatchHeaders!=null?CfnRoutingRuleMatchHeadersPropertyFromCloudFormation(properties.MatchHeaders):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRoutingRuleActionInvokeApiPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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().requiredValidator)(properties.apiId)),errors.collect(cdk().propertyValidator("apiId",cdk().validateString)(properties.apiId)),errors.collect(cdk().propertyValidator("stage",cdk().requiredValidator)(properties.stage)),errors.collect(cdk().propertyValidator("stage",cdk().validateString)(properties.stage)),errors.collect(cdk().propertyValidator("stripBasePath",cdk().validateBoolean)(properties.stripBasePath)),errors.wrap('supplied properties not correct for "ActionInvokeApiProperty"')}function convertCfnRoutingRuleActionInvokeApiPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingRuleActionInvokeApiPropertyValidator(properties).assertSuccess(),{ApiId:cdk().stringToCloudFormation(properties.apiId),Stage:cdk().stringToCloudFormation(properties.stage),StripBasePath:cdk().booleanToCloudFormation(properties.stripBasePath)}):properties}function CfnRoutingRuleActionInvokeApiPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("stage","Stage",properties.Stage!=null?cfn_parse().FromCloudFormation.getString(properties.Stage):void 0),ret.addPropertyResult("stripBasePath","StripBasePath",properties.StripBasePath!=null?cfn_parse().FromCloudFormation.getBoolean(properties.StripBasePath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRoutingRuleActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("invokeApi",cdk().requiredValidator)(properties.invokeApi)),errors.collect(cdk().propertyValidator("invokeApi",CfnRoutingRuleActionInvokeApiPropertyValidator)(properties.invokeApi)),errors.wrap('supplied properties not correct for "ActionProperty"')}function convertCfnRoutingRuleActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingRuleActionPropertyValidator(properties).assertSuccess(),{InvokeApi:convertCfnRoutingRuleActionInvokeApiPropertyToCloudFormation(properties.invokeApi)}):properties}function CfnRoutingRuleActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("invokeApi","InvokeApi",properties.InvokeApi!=null?CfnRoutingRuleActionInvokeApiPropertyFromCloudFormation(properties.InvokeApi):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRoutingRulePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnRoutingRuleActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("conditions",cdk().requiredValidator)(properties.conditions)),errors.collect(cdk().propertyValidator("conditions",cdk().listValidator(CfnRoutingRuleConditionPropertyValidator))(properties.conditions)),errors.collect(cdk().propertyValidator("domainNameArn",cdk().requiredValidator)(properties.domainNameArn)),errors.collect(cdk().propertyValidator("domainNameArn",cdk().validateString)(properties.domainNameArn)),errors.collect(cdk().propertyValidator("priority",cdk().requiredValidator)(properties.priority)),errors.collect(cdk().propertyValidator("priority",cdk().validateNumber)(properties.priority)),errors.wrap('supplied properties not correct for "CfnRoutingRuleProps"')}function convertCfnRoutingRulePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingRulePropsValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnRoutingRuleActionPropertyToCloudFormation)(properties.actions),Conditions:cdk().listMapper(convertCfnRoutingRuleConditionPropertyToCloudFormation)(properties.conditions),DomainNameArn:cdk().stringToCloudFormation(properties.domainNameArn),Priority:cdk().numberToCloudFormation(properties.priority)}):properties}function CfnRoutingRulePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnRoutingRuleActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("conditions","Conditions",properties.Conditions!=null?cfn_parse().FromCloudFormation.getArray(CfnRoutingRuleConditionPropertyFromCloudFormation)(properties.Conditions):void 0),ret.addPropertyResult("domainNameArn","DomainNameArn",properties.DomainNameArn!=null?cfn_parse().FromCloudFormation.getString(properties.DomainNameArn):void 0),ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse().FromCloudFormation.getNumber(properties.Priority):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}