aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 309 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnVirtualService=exports.CfnVirtualRouter=exports.CfnVirtualNode=exports.CfnVirtualGateway=exports.CfnRoute=exports.CfnMesh=exports.CfnGatewayRoute=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnGatewayRoute extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGatewayRoutePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnGatewayRoute(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnGatewayRoute.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appmesh_CfnGatewayRouteProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGatewayRoute),error}cdk().requireProperty(props,"meshName",this),cdk().requireProperty(props,"spec",this),cdk().requireProperty(props,"virtualGatewayName",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrGatewayRouteName=cdk().Token.asString(this.getAtt("GatewayRouteName",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrMeshName=cdk().Token.asString(this.getAtt("MeshName",cdk().ResolutionTypeHint.STRING)),this.attrMeshOwner=cdk().Token.asString(this.getAtt("MeshOwner",cdk().ResolutionTypeHint.STRING)),this.attrResourceOwner=cdk().Token.asString(this.getAtt("ResourceOwner",cdk().ResolutionTypeHint.STRING)),this.attrUid=cdk().Token.asString(this.getAtt("Uid",cdk().ResolutionTypeHint.STRING)),this.attrVirtualGatewayName=cdk().Token.asString(this.getAtt("VirtualGatewayName",cdk().ResolutionTypeHint.STRING)),this.gatewayRouteName=props.gatewayRouteName,this.meshName=props.meshName,this.meshOwner=props.meshOwner,this.spec=props.spec,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::AppMesh::GatewayRoute",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.virtualGatewayName=props.virtualGatewayName}get cfnProperties(){return{gatewayRouteName:this.gatewayRouteName,meshName:this.meshName,meshOwner:this.meshOwner,spec:this.spec,tags:this.tags.renderTags(),virtualGatewayName:this.virtualGatewayName}}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",CfnGatewayRoute.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGatewayRoutePropsToCloudFormation(props)}}exports.CfnGatewayRoute=CfnGatewayRoute,_a=JSII_RTTI_SYMBOL_1,CfnGatewayRoute[_a]={fqn:"aws-cdk-lib.aws_appmesh.CfnGatewayRoute",version:"2.202.0"},CfnGatewayRoute.CFN_RESOURCE_TYPE_NAME="AWS::AppMesh::GatewayRoute";function CfnGatewayRouteGatewayRouteVirtualServicePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("virtualServiceName",cdk().requiredValidator)(properties.virtualServiceName)),errors.collect(cdk().propertyValidator("virtualServiceName",cdk().validateString)(properties.virtualServiceName)),errors.wrap('supplied properties not correct for "GatewayRouteVirtualServiceProperty"')}function convertCfnGatewayRouteGatewayRouteVirtualServicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGatewayRouteVirtualServicePropertyValidator(properties).assertSuccess(),{VirtualServiceName:cdk().stringToCloudFormation(properties.virtualServiceName)}):properties}function CfnGatewayRouteGatewayRouteVirtualServicePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("virtualServiceName","VirtualServiceName",properties.VirtualServiceName!=null?cfn_parse().FromCloudFormation.getString(properties.VirtualServiceName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteGatewayRouteTargetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("virtualService",cdk().requiredValidator)(properties.virtualService)),errors.collect(cdk().propertyValidator("virtualService",CfnGatewayRouteGatewayRouteVirtualServicePropertyValidator)(properties.virtualService)),errors.wrap('supplied properties not correct for "GatewayRouteTargetProperty"')}function convertCfnGatewayRouteGatewayRouteTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGatewayRouteTargetPropertyValidator(properties).assertSuccess(),{Port:cdk().numberToCloudFormation(properties.port),VirtualService:convertCfnGatewayRouteGatewayRouteVirtualServicePropertyToCloudFormation(properties.virtualService)}):properties}function CfnGatewayRouteGatewayRouteTargetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("virtualService","VirtualService",properties.VirtualService!=null?CfnGatewayRouteGatewayRouteVirtualServicePropertyFromCloudFormation(properties.VirtualService):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteHttpGatewayRoutePathRewritePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("exact",cdk().validateString)(properties.exact)),errors.wrap('supplied properties not correct for "HttpGatewayRoutePathRewriteProperty"')}function convertCfnGatewayRouteHttpGatewayRoutePathRewritePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteHttpGatewayRoutePathRewritePropertyValidator(properties).assertSuccess(),{Exact:cdk().stringToCloudFormation(properties.exact)}):properties}function CfnGatewayRouteHttpGatewayRoutePathRewritePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("exact","Exact",properties.Exact!=null?cfn_parse().FromCloudFormation.getString(properties.Exact):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteGatewayRouteHostnameRewritePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultTargetHostname",cdk().validateString)(properties.defaultTargetHostname)),errors.wrap('supplied properties not correct for "GatewayRouteHostnameRewriteProperty"')}function convertCfnGatewayRouteGatewayRouteHostnameRewritePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGatewayRouteHostnameRewritePropertyValidator(properties).assertSuccess(),{DefaultTargetHostname:cdk().stringToCloudFormation(properties.defaultTargetHostname)}):properties}function CfnGatewayRouteGatewayRouteHostnameRewritePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultTargetHostname","DefaultTargetHostname",properties.DefaultTargetHostname!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultTargetHostname):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteHttpGatewayRoutePrefixRewritePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultPrefix",cdk().validateString)(properties.defaultPrefix)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "HttpGatewayRoutePrefixRewriteProperty"')}function convertCfnGatewayRouteHttpGatewayRoutePrefixRewritePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteHttpGatewayRoutePrefixRewritePropertyValidator(properties).assertSuccess(),{DefaultPrefix:cdk().stringToCloudFormation(properties.defaultPrefix),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnGatewayRouteHttpGatewayRoutePrefixRewritePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultPrefix","DefaultPrefix",properties.DefaultPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultPrefix):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteHttpGatewayRouteRewritePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("hostname",CfnGatewayRouteGatewayRouteHostnameRewritePropertyValidator)(properties.hostname)),errors.collect(cdk().propertyValidator("path",CfnGatewayRouteHttpGatewayRoutePathRewritePropertyValidator)(properties.path)),errors.collect(cdk().propertyValidator("prefix",CfnGatewayRouteHttpGatewayRoutePrefixRewritePropertyValidator)(properties.prefix)),errors.wrap('supplied properties not correct for "HttpGatewayRouteRewriteProperty"')}function convertCfnGatewayRouteHttpGatewayRouteRewritePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteHttpGatewayRouteRewritePropertyValidator(properties).assertSuccess(),{Hostname:convertCfnGatewayRouteGatewayRouteHostnameRewritePropertyToCloudFormation(properties.hostname),Path:convertCfnGatewayRouteHttpGatewayRoutePathRewritePropertyToCloudFormation(properties.path),Prefix:convertCfnGatewayRouteHttpGatewayRoutePrefixRewritePropertyToCloudFormation(properties.prefix)}):properties}function CfnGatewayRouteHttpGatewayRouteRewritePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("hostname","Hostname",properties.Hostname!=null?CfnGatewayRouteGatewayRouteHostnameRewritePropertyFromCloudFormation(properties.Hostname):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?CfnGatewayRouteHttpGatewayRoutePathRewritePropertyFromCloudFormation(properties.Path):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?CfnGatewayRouteHttpGatewayRoutePrefixRewritePropertyFromCloudFormation(properties.Prefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteHttpGatewayRouteActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("rewrite",CfnGatewayRouteHttpGatewayRouteRewritePropertyValidator)(properties.rewrite)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",CfnGatewayRouteGatewayRouteTargetPropertyValidator)(properties.target)),errors.wrap('supplied properties not correct for "HttpGatewayRouteActionProperty"')}function convertCfnGatewayRouteHttpGatewayRouteActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteHttpGatewayRouteActionPropertyValidator(properties).assertSuccess(),{Rewrite:convertCfnGatewayRouteHttpGatewayRouteRewritePropertyToCloudFormation(properties.rewrite),Target:convertCfnGatewayRouteGatewayRouteTargetPropertyToCloudFormation(properties.target)}):properties}function CfnGatewayRouteHttpGatewayRouteActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("rewrite","Rewrite",properties.Rewrite!=null?CfnGatewayRouteHttpGatewayRouteRewritePropertyFromCloudFormation(properties.Rewrite):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?CfnGatewayRouteGatewayRouteTargetPropertyFromCloudFormation(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteHttpPathMatchPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("exact",cdk().validateString)(properties.exact)),errors.collect(cdk().propertyValidator("regex",cdk().validateString)(properties.regex)),errors.wrap('supplied properties not correct for "HttpPathMatchProperty"')}function convertCfnGatewayRouteHttpPathMatchPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteHttpPathMatchPropertyValidator(properties).assertSuccess(),{Exact:cdk().stringToCloudFormation(properties.exact),Regex:cdk().stringToCloudFormation(properties.regex)}):properties}function CfnGatewayRouteHttpPathMatchPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("exact","Exact",properties.Exact!=null?cfn_parse().FromCloudFormation.getString(properties.Exact):void 0),ret.addPropertyResult("regex","Regex",properties.Regex!=null?cfn_parse().FromCloudFormation.getString(properties.Regex):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteGatewayRouteRangeMatchPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("end",cdk().requiredValidator)(properties.end)),errors.collect(cdk().propertyValidator("end",cdk().validateNumber)(properties.end)),errors.collect(cdk().propertyValidator("start",cdk().requiredValidator)(properties.start)),errors.collect(cdk().propertyValidator("start",cdk().validateNumber)(properties.start)),errors.wrap('supplied properties not correct for "GatewayRouteRangeMatchProperty"')}function convertCfnGatewayRouteGatewayRouteRangeMatchPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGatewayRouteRangeMatchPropertyValidator(properties).assertSuccess(),{End:cdk().numberToCloudFormation(properties.end),Start:cdk().numberToCloudFormation(properties.start)}):properties}function CfnGatewayRouteGatewayRouteRangeMatchPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("end","End",properties.End!=null?cfn_parse().FromCloudFormation.getNumber(properties.End):void 0),ret.addPropertyResult("start","Start",properties.Start!=null?cfn_parse().FromCloudFormation.getNumber(properties.Start):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteHttpGatewayRouteHeaderMatchPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("exact",cdk().validateString)(properties.exact)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("range",CfnGatewayRouteGatewayRouteRangeMatchPropertyValidator)(properties.range)),errors.collect(cdk().propertyValidator("regex",cdk().validateString)(properties.regex)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.wrap('supplied properties not correct for "HttpGatewayRouteHeaderMatchProperty"')}function convertCfnGatewayRouteHttpGatewayRouteHeaderMatchPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteHttpGatewayRouteHeaderMatchPropertyValidator(properties).assertSuccess(),{Exact:cdk().stringToCloudFormation(properties.exact),Prefix:cdk().stringToCloudFormation(properties.prefix),Range:convertCfnGatewayRouteGatewayRouteRangeMatchPropertyToCloudFormation(properties.range),Regex:cdk().stringToCloudFormation(properties.regex),Suffix:cdk().stringToCloudFormation(properties.suffix)}):properties}function CfnGatewayRouteHttpGatewayRouteHeaderMatchPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("exact","Exact",properties.Exact!=null?cfn_parse().FromCloudFormation.getString(properties.Exact):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("range","Range",properties.Range!=null?CfnGatewayRouteGatewayRouteRangeMatchPropertyFromCloudFormation(properties.Range):void 0),ret.addPropertyResult("regex","Regex",properties.Regex!=null?cfn_parse().FromCloudFormation.getString(properties.Regex):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteHttpGatewayRouteHeaderPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("invert",cdk().validateBoolean)(properties.invert)),errors.collect(cdk().propertyValidator("match",CfnGatewayRouteHttpGatewayRouteHeaderMatchPropertyValidator)(properties.match)),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 "HttpGatewayRouteHeaderProperty"')}function convertCfnGatewayRouteHttpGatewayRouteHeaderPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteHttpGatewayRouteHeaderPropertyValidator(properties).assertSuccess(),{Invert:cdk().booleanToCloudFormation(properties.invert),Match:convertCfnGatewayRouteHttpGatewayRouteHeaderMatchPropertyToCloudFormation(properties.match),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnGatewayRouteHttpGatewayRouteHeaderPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("invert","Invert",properties.Invert!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Invert):void 0),ret.addPropertyResult("match","Match",properties.Match!=null?CfnGatewayRouteHttpGatewayRouteHeaderMatchPropertyFromCloudFormation(properties.Match):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteGatewayRouteHostnameMatchPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("exact",cdk().validateString)(properties.exact)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.wrap('supplied properties not correct for "GatewayRouteHostnameMatchProperty"')}function convertCfnGatewayRouteGatewayRouteHostnameMatchPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGatewayRouteHostnameMatchPropertyValidator(properties).assertSuccess(),{Exact:cdk().stringToCloudFormation(properties.exact),Suffix:cdk().stringToCloudFormation(properties.suffix)}):properties}function CfnGatewayRouteGatewayRouteHostnameMatchPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("exact","Exact",properties.Exact!=null?cfn_parse().FromCloudFormation.getString(properties.Exact):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteHttpQueryParameterMatchPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("exact",cdk().validateString)(properties.exact)),errors.wrap('supplied properties not correct for "HttpQueryParameterMatchProperty"')}function convertCfnGatewayRouteHttpQueryParameterMatchPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteHttpQueryParameterMatchPropertyValidator(properties).assertSuccess(),{Exact:cdk().stringToCloudFormation(properties.exact)}):properties}function CfnGatewayRouteHttpQueryParameterMatchPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("exact","Exact",properties.Exact!=null?cfn_parse().FromCloudFormation.getString(properties.Exact):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteQueryParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("match",CfnGatewayRouteHttpQueryParameterMatchPropertyValidator)(properties.match)),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 "QueryParameterProperty"')}function convertCfnGatewayRouteQueryParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteQueryParameterPropertyValidator(properties).assertSuccess(),{Match:convertCfnGatewayRouteHttpQueryParameterMatchPropertyToCloudFormation(properties.match),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnGatewayRouteQueryParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("match","Match",properties.Match!=null?CfnGatewayRouteHttpQueryParameterMatchPropertyFromCloudFormation(properties.Match):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteHttpGatewayRouteMatchPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("headers",cdk().listValidator(CfnGatewayRouteHttpGatewayRouteHeaderPropertyValidator))(properties.headers)),errors.collect(cdk().propertyValidator("hostname",CfnGatewayRouteGatewayRouteHostnameMatchPropertyValidator)(properties.hostname)),errors.collect(cdk().propertyValidator("method",cdk().validateString)(properties.method)),errors.collect(cdk().propertyValidator("path",CfnGatewayRouteHttpPathMatchPropertyValidator)(properties.path)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("queryParameters",cdk().listValidator(CfnGatewayRouteQueryParameterPropertyValidator))(properties.queryParameters)),errors.wrap('supplied properties not correct for "HttpGatewayRouteMatchProperty"')}function convertCfnGatewayRouteHttpGatewayRouteMatchPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteHttpGatewayRouteMatchPropertyValidator(properties).assertSuccess(),{Headers:cdk().listMapper(convertCfnGatewayRouteHttpGatewayRouteHeaderPropertyToCloudFormation)(properties.headers),Hostname:convertCfnGatewayRouteGatewayRouteHostnameMatchPropertyToCloudFormation(properties.hostname),Method:cdk().stringToCloudFormation(properties.method),Path:convertCfnGatewayRouteHttpPathMatchPropertyToCloudFormation(properties.path),Port:cdk().numberToCloudFormation(properties.port),Prefix:cdk().stringToCloudFormation(properties.prefix),QueryParameters:cdk().listMapper(convertCfnGatewayRouteQueryParameterPropertyToCloudFormation)(properties.queryParameters)}):properties}function CfnGatewayRouteHttpGatewayRouteMatchPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("headers","Headers",properties.Headers!=null?cfn_parse().FromCloudFormation.getArray(CfnGatewayRouteHttpGatewayRouteHeaderPropertyFromCloudFormation)(properties.Headers):void 0),ret.addPropertyResult("hostname","Hostname",properties.Hostname!=null?CfnGatewayRouteGatewayRouteHostnameMatchPropertyFromCloudFormation(properties.Hostname):void 0),ret.addPropertyResult("method","Method",properties.Method!=null?cfn_parse().FromCloudFormation.getString(properties.Method):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?CfnGatewayRouteHttpPathMatchPropertyFromCloudFormation(properties.Path):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("queryParameters","QueryParameters",properties.QueryParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnGatewayRouteQueryParameterPropertyFromCloudFormation)(properties.QueryParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteHttpGatewayRoutePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",CfnGatewayRouteHttpGatewayRouteActionPropertyValidator)(properties.action)),errors.collect(cdk().propertyValidator("match",cdk().requiredValidator)(properties.match)),errors.collect(cdk().propertyValidator("match",CfnGatewayRouteHttpGatewayRouteMatchPropertyValidator)(properties.match)),errors.wrap('supplied properties not correct for "HttpGatewayRouteProperty"')}function convertCfnGatewayRouteHttpGatewayRoutePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteHttpGatewayRoutePropertyValidator(properties).assertSuccess(),{Action:convertCfnGatewayRouteHttpGatewayRouteActionPropertyToCloudFormation(properties.action),Match:convertCfnGatewayRouteHttpGatewayRouteMatchPropertyToCloudFormation(properties.match)}):properties}function CfnGatewayRouteHttpGatewayRoutePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?CfnGatewayRouteHttpGatewayRouteActionPropertyFromCloudFormation(properties.Action):void 0),ret.addPropertyResult("match","Match",properties.Match!=null?CfnGatewayRouteHttpGatewayRouteMatchPropertyFromCloudFormation(properties.Match):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteGrpcGatewayRouteRewritePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("hostname",CfnGatewayRouteGatewayRouteHostnameRewritePropertyValidator)(properties.hostname)),errors.wrap('supplied properties not correct for "GrpcGatewayRouteRewriteProperty"')}function convertCfnGatewayRouteGrpcGatewayRouteRewritePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGrpcGatewayRouteRewritePropertyValidator(properties).assertSuccess(),{Hostname:convertCfnGatewayRouteGatewayRouteHostnameRewritePropertyToCloudFormation(properties.hostname)}):properties}function CfnGatewayRouteGrpcGatewayRouteRewritePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("hostname","Hostname",properties.Hostname!=null?CfnGatewayRouteGatewayRouteHostnameRewritePropertyFromCloudFormation(properties.Hostname):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteGrpcGatewayRouteActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("rewrite",CfnGatewayRouteGrpcGatewayRouteRewritePropertyValidator)(properties.rewrite)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",CfnGatewayRouteGatewayRouteTargetPropertyValidator)(properties.target)),errors.wrap('supplied properties not correct for "GrpcGatewayRouteActionProperty"')}function convertCfnGatewayRouteGrpcGatewayRouteActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGrpcGatewayRouteActionPropertyValidator(properties).assertSuccess(),{Rewrite:convertCfnGatewayRouteGrpcGatewayRouteRewritePropertyToCloudFormation(properties.rewrite),Target:convertCfnGatewayRouteGatewayRouteTargetPropertyToCloudFormation(properties.target)}):properties}function CfnGatewayRouteGrpcGatewayRouteActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("rewrite","Rewrite",properties.Rewrite!=null?CfnGatewayRouteGrpcGatewayRouteRewritePropertyFromCloudFormation(properties.Rewrite):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?CfnGatewayRouteGatewayRouteTargetPropertyFromCloudFormation(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteGatewayRouteMetadataMatchPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("exact",cdk().validateString)(properties.exact)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("range",CfnGatewayRouteGatewayRouteRangeMatchPropertyValidator)(properties.range)),errors.collect(cdk().propertyValidator("regex",cdk().validateString)(properties.regex)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.wrap('supplied properties not correct for "GatewayRouteMetadataMatchProperty"')}function convertCfnGatewayRouteGatewayRouteMetadataMatchPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGatewayRouteMetadataMatchPropertyValidator(properties).assertSuccess(),{Exact:cdk().stringToCloudFormation(properties.exact),Prefix:cdk().stringToCloudFormation(properties.prefix),Range:convertCfnGatewayRouteGatewayRouteRangeMatchPropertyToCloudFormation(properties.range),Regex:cdk().stringToCloudFormation(properties.regex),Suffix:cdk().stringToCloudFormation(properties.suffix)}):properties}function CfnGatewayRouteGatewayRouteMetadataMatchPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("exact","Exact",properties.Exact!=null?cfn_parse().FromCloudFormation.getString(properties.Exact):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("range","Range",properties.Range!=null?CfnGatewayRouteGatewayRouteRangeMatchPropertyFromCloudFormation(properties.Range):void 0),ret.addPropertyResult("regex","Regex",properties.Regex!=null?cfn_parse().FromCloudFormation.getString(properties.Regex):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteGrpcGatewayRouteMetadataPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("invert",cdk().validateBoolean)(properties.invert)),errors.collect(cdk().propertyValidator("match",CfnGatewayRouteGatewayRouteMetadataMatchPropertyValidator)(properties.match)),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 "GrpcGatewayRouteMetadataProperty"')}function convertCfnGatewayRouteGrpcGatewayRouteMetadataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGrpcGatewayRouteMetadataPropertyValidator(properties).assertSuccess(),{Invert:cdk().booleanToCloudFormation(properties.invert),Match:convertCfnGatewayRouteGatewayRouteMetadataMatchPropertyToCloudFormation(properties.match),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnGatewayRouteGrpcGatewayRouteMetadataPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("invert","Invert",properties.Invert!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Invert):void 0),ret.addPropertyResult("match","Match",properties.Match!=null?CfnGatewayRouteGatewayRouteMetadataMatchPropertyFromCloudFormation(properties.Match):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteGrpcGatewayRouteMatchPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("hostname",CfnGatewayRouteGatewayRouteHostnameMatchPropertyValidator)(properties.hostname)),errors.collect(cdk().propertyValidator("metadata",cdk().listValidator(CfnGatewayRouteGrpcGatewayRouteMetadataPropertyValidator))(properties.metadata)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("serviceName",cdk().validateString)(properties.serviceName)),errors.wrap('supplied properties not correct for "GrpcGatewayRouteMatchProperty"')}function convertCfnGatewayRouteGrpcGatewayRouteMatchPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGrpcGatewayRouteMatchPropertyValidator(properties).assertSuccess(),{Hostname:convertCfnGatewayRouteGatewayRouteHostnameMatchPropertyToCloudFormation(properties.hostname),Metadata:cdk().listMapper(convertCfnGatewayRouteGrpcGatewayRouteMetadataPropertyToCloudFormation)(properties.metadata),Port:cdk().numberToCloudFormation(properties.port),ServiceName:cdk().stringToCloudFormation(properties.serviceName)}):properties}function CfnGatewayRouteGrpcGatewayRouteMatchPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("hostname","Hostname",properties.Hostname!=null?CfnGatewayRouteGatewayRouteHostnameMatchPropertyFromCloudFormation(properties.Hostname):void 0),ret.addPropertyResult("metadata","Metadata",properties.Metadata!=null?cfn_parse().FromCloudFormation.getArray(CfnGatewayRouteGrpcGatewayRouteMetadataPropertyFromCloudFormation)(properties.Metadata):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("serviceName","ServiceName",properties.ServiceName!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteGrpcGatewayRoutePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",CfnGatewayRouteGrpcGatewayRouteActionPropertyValidator)(properties.action)),errors.collect(cdk().propertyValidator("match",cdk().requiredValidator)(properties.match)),errors.collect(cdk().propertyValidator("match",CfnGatewayRouteGrpcGatewayRouteMatchPropertyValidator)(properties.match)),errors.wrap('supplied properties not correct for "GrpcGatewayRouteProperty"')}function convertCfnGatewayRouteGrpcGatewayRoutePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGrpcGatewayRoutePropertyValidator(properties).assertSuccess(),{Action:convertCfnGatewayRouteGrpcGatewayRouteActionPropertyToCloudFormation(properties.action),Match:convertCfnGatewayRouteGrpcGatewayRouteMatchPropertyToCloudFormation(properties.match)}):properties}function CfnGatewayRouteGrpcGatewayRoutePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?CfnGatewayRouteGrpcGatewayRouteActionPropertyFromCloudFormation(properties.Action):void 0),ret.addPropertyResult("match","Match",properties.Match!=null?CfnGatewayRouteGrpcGatewayRouteMatchPropertyFromCloudFormation(properties.Match):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayRouteGatewayRouteSpecPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("grpcRoute",CfnGatewayRouteGrpcGatewayRoutePropertyValidator)(properties.grpcRoute)),errors.collect(cdk().propertyValidator("http2Route",CfnGatewayRouteHttpGatewayRoutePropertyValidator)(properties.http2Route)),errors.collect(cdk().propertyValidator("httpRoute",CfnGatewayRouteHttpGatewayRoutePropertyValidator)(properties.httpRoute)),errors.collect(cdk().propertyValidator("priority",cdk().validateNumber)(properties.priority)),errors.wrap('supplied properties not correct for "GatewayRouteSpecProperty"')}function convertCfnGatewayRouteGatewayRouteSpecPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayRouteGatewayRouteSpecPropertyValidator(properties).assertSuccess(),{GrpcRoute:convertCfnGatewayRouteGrpcGatewayRoutePropertyToCloudFormation(properties.grpcRoute),Http2Route:convertCfnGatewayRouteHttpGatewayRoutePropertyToCloudFormation(properties.http2Route),HttpRoute:convertCfnGatewayRouteHttpGatewayRoutePropertyToCloudFormation(properties.httpRoute),Priority:cdk().numberToCloudFormation(properties.priority)}):properties}function CfnGatewayRouteGatewayRouteSpecPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof prope