Files
2026-05-06 18:55:16 -05:00

2 lines
102 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnResponderGateway=exports.CfnRequesterGateway=exports.CfnOutboundExternalLink=exports.CfnLink=exports.CfnInboundExternalLink=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 CfnInboundExternalLink extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rtbfabric.CfnInboundExternalLink",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RTBFabric::InboundExternalLink";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInboundExternalLinkPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnInboundExternalLink(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 isCfnInboundExternalLink(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnInboundExternalLink.CFN_RESOURCE_TYPE_NAME}static arnForInboundExternalLink(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rtbfabric_IInboundExternalLinkRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForInboundExternalLink),error}return resource.inboundExternalLinkRef.inboundExternalLinkArn}cdkTagManager;_gatewayId;_linkAttributes;_linkLogSettings;_tags;cfnPropertyNames={tags:"Tags",gatewayId:"GatewayId",linkAttributes:"LinkAttributes",linkLogSettings:"LinkLogSettings"};constructor(scope,id,props){super(scope,id,{type:CfnInboundExternalLink.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rtbfabric_CfnInboundExternalLinkProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnInboundExternalLink),error}cdk().requireProperty(props,"gatewayId",this),cdk().requireProperty(props,"linkLogSettings",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RTBFabric::InboundExternalLink",void 0,{tagPropertyName:"tags"}),this._gatewayId=props.gatewayId,this._linkAttributes=props.linkAttributes,this._linkLogSettings=props.linkLogSettings,this._tags=props.tags}get inboundExternalLinkRef(){return{inboundExternalLinkArn:this.ref}}get gatewayId(){return this._gatewayId}set gatewayId(value){cdk().traceProperty(this.node,"GatewayId"),this._gatewayId=value}get linkAttributes(){return this._linkAttributes}set linkAttributes(value){cdk().traceProperty(this.node,"LinkAttributes"),this._linkAttributes=value}get linkLogSettings(){return this._linkLogSettings}set linkLogSettings(value){cdk().traceProperty(this.node,"LinkLogSettings"),this._linkLogSettings=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTimestamp(){return cdk().Token.asString(this.getAtt("CreatedTimestamp",cdk().ResolutionTypeHint.STRING))}get attrDomainName(){return cdk().Token.asString(this.getAtt("DomainName",cdk().ResolutionTypeHint.STRING))}get attrLinkId(){return cdk().Token.asString(this.getAtt("LinkId",cdk().ResolutionTypeHint.STRING))}get attrLinkStatus(){return cdk().Token.asString(this.getAtt("LinkStatus",cdk().ResolutionTypeHint.STRING))}get attrUpdatedTimestamp(){return cdk().Token.asString(this.getAtt("UpdatedTimestamp",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),gatewayId:this._gatewayId,linkAttributes:this._linkAttributes,linkLogSettings:this._linkLogSettings}}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",CfnInboundExternalLink.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnInboundExternalLinkPropsToCloudFormation(props)}}exports.CfnInboundExternalLink=CfnInboundExternalLink;function CfnInboundExternalLinkResponderErrorMaskingForHttpCodePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("httpCode",cdk().requiredValidator)(properties.httpCode)),errors.collect(cdk().propertyValidator("httpCode",cdk().validateString)(properties.httpCode)),errors.collect(cdk().propertyValidator("loggingTypes",cdk().requiredValidator)(properties.loggingTypes)),errors.collect(cdk().propertyValidator("loggingTypes",cdk().listValidator(cdk().validateString))(properties.loggingTypes)),errors.collect(cdk().propertyValidator("responseLoggingPercentage",cdk().validateNumber)(properties.responseLoggingPercentage)),errors.wrap('supplied properties not correct for "ResponderErrorMaskingForHttpCodeProperty"')}function convertCfnInboundExternalLinkResponderErrorMaskingForHttpCodePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInboundExternalLinkResponderErrorMaskingForHttpCodePropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),HttpCode:cdk().stringToCloudFormation(properties.httpCode),LoggingTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.loggingTypes),ResponseLoggingPercentage:cdk().numberToCloudFormation(properties.responseLoggingPercentage)}):properties}function CfnInboundExternalLinkResponderErrorMaskingForHttpCodePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("httpCode","HttpCode",properties.HttpCode!=null?cfn_parse().FromCloudFormation.getString(properties.HttpCode):void 0),ret.addPropertyResult("loggingTypes","LoggingTypes",properties.LoggingTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LoggingTypes):void 0),ret.addPropertyResult("responseLoggingPercentage","ResponseLoggingPercentage",properties.ResponseLoggingPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.ResponseLoggingPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInboundExternalLinkLinkAttributesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customerProvidedId",cdk().validateString)(properties.customerProvidedId)),errors.collect(cdk().propertyValidator("responderErrorMasking",cdk().listValidator(CfnInboundExternalLinkResponderErrorMaskingForHttpCodePropertyValidator))(properties.responderErrorMasking)),errors.wrap('supplied properties not correct for "LinkAttributesProperty"')}function convertCfnInboundExternalLinkLinkAttributesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInboundExternalLinkLinkAttributesPropertyValidator(properties).assertSuccess(),{CustomerProvidedId:cdk().stringToCloudFormation(properties.customerProvidedId),ResponderErrorMasking:cdk().listMapper(convertCfnInboundExternalLinkResponderErrorMaskingForHttpCodePropertyToCloudFormation)(properties.responderErrorMasking)}):properties}function CfnInboundExternalLinkLinkAttributesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customerProvidedId","CustomerProvidedId",properties.CustomerProvidedId!=null?cfn_parse().FromCloudFormation.getString(properties.CustomerProvidedId):void 0),ret.addPropertyResult("responderErrorMasking","ResponderErrorMasking",properties.ResponderErrorMasking!=null?cfn_parse().FromCloudFormation.getArray(CfnInboundExternalLinkResponderErrorMaskingForHttpCodePropertyFromCloudFormation)(properties.ResponderErrorMasking):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInboundExternalLinkLinkApplicationLogSamplingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("errorLog",cdk().requiredValidator)(properties.errorLog)),errors.collect(cdk().propertyValidator("errorLog",cdk().validateNumber)(properties.errorLog)),errors.collect(cdk().propertyValidator("filterLog",cdk().requiredValidator)(properties.filterLog)),errors.collect(cdk().propertyValidator("filterLog",cdk().validateNumber)(properties.filterLog)),errors.wrap('supplied properties not correct for "LinkApplicationLogSamplingProperty"')}function convertCfnInboundExternalLinkLinkApplicationLogSamplingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInboundExternalLinkLinkApplicationLogSamplingPropertyValidator(properties).assertSuccess(),{ErrorLog:cdk().numberToCloudFormation(properties.errorLog),FilterLog:cdk().numberToCloudFormation(properties.filterLog)}):properties}function CfnInboundExternalLinkLinkApplicationLogSamplingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("errorLog","ErrorLog",properties.ErrorLog!=null?cfn_parse().FromCloudFormation.getNumber(properties.ErrorLog):void 0),ret.addPropertyResult("filterLog","FilterLog",properties.FilterLog!=null?cfn_parse().FromCloudFormation.getNumber(properties.FilterLog):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInboundExternalLinkApplicationLogsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("linkApplicationLogSampling",cdk().requiredValidator)(properties.linkApplicationLogSampling)),errors.collect(cdk().propertyValidator("linkApplicationLogSampling",CfnInboundExternalLinkLinkApplicationLogSamplingPropertyValidator)(properties.linkApplicationLogSampling)),errors.wrap('supplied properties not correct for "ApplicationLogsProperty"')}function convertCfnInboundExternalLinkApplicationLogsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInboundExternalLinkApplicationLogsPropertyValidator(properties).assertSuccess(),{LinkApplicationLogSampling:convertCfnInboundExternalLinkLinkApplicationLogSamplingPropertyToCloudFormation(properties.linkApplicationLogSampling)}):properties}function CfnInboundExternalLinkApplicationLogsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("linkApplicationLogSampling","LinkApplicationLogSampling",properties.LinkApplicationLogSampling!=null?CfnInboundExternalLinkLinkApplicationLogSamplingPropertyFromCloudFormation(properties.LinkApplicationLogSampling):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInboundExternalLinkLinkLogSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("applicationLogs",cdk().requiredValidator)(properties.applicationLogs)),errors.collect(cdk().propertyValidator("applicationLogs",CfnInboundExternalLinkApplicationLogsPropertyValidator)(properties.applicationLogs)),errors.wrap('supplied properties not correct for "LinkLogSettingsProperty"')}function convertCfnInboundExternalLinkLinkLogSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInboundExternalLinkLinkLogSettingsPropertyValidator(properties).assertSuccess(),{ApplicationLogs:convertCfnInboundExternalLinkApplicationLogsPropertyToCloudFormation(properties.applicationLogs)}):properties}function CfnInboundExternalLinkLinkLogSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("applicationLogs","ApplicationLogs",properties.ApplicationLogs!=null?CfnInboundExternalLinkApplicationLogsPropertyFromCloudFormation(properties.ApplicationLogs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInboundExternalLinkPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("gatewayId",cdk().requiredValidator)(properties.gatewayId)),errors.collect(cdk().propertyValidator("gatewayId",cdk().validateString)(properties.gatewayId)),errors.collect(cdk().propertyValidator("linkAttributes",CfnInboundExternalLinkLinkAttributesPropertyValidator)(properties.linkAttributes)),errors.collect(cdk().propertyValidator("linkLogSettings",cdk().requiredValidator)(properties.linkLogSettings)),errors.collect(cdk().propertyValidator("linkLogSettings",CfnInboundExternalLinkLinkLogSettingsPropertyValidator)(properties.linkLogSettings)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnInboundExternalLinkProps"')}function convertCfnInboundExternalLinkPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInboundExternalLinkPropsValidator(properties).assertSuccess(),{GatewayId:cdk().stringToCloudFormation(properties.gatewayId),LinkAttributes:convertCfnInboundExternalLinkLinkAttributesPropertyToCloudFormation(properties.linkAttributes),LinkLogSettings:convertCfnInboundExternalLinkLinkLogSettingsPropertyToCloudFormation(properties.linkLogSettings),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnInboundExternalLinkPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("gatewayId","GatewayId",properties.GatewayId!=null?cfn_parse().FromCloudFormation.getString(properties.GatewayId):void 0),ret.addPropertyResult("linkAttributes","LinkAttributes",properties.LinkAttributes!=null?CfnInboundExternalLinkLinkAttributesPropertyFromCloudFormation(properties.LinkAttributes):void 0),ret.addPropertyResult("linkLogSettings","LinkLogSettings",properties.LinkLogSettings!=null?CfnInboundExternalLinkLinkLogSettingsPropertyFromCloudFormation(properties.LinkLogSettings):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLink extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rtbfabric.CfnLink",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RTBFabric::Link";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLinkPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLink(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 isCfnLink(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLink.CFN_RESOURCE_TYPE_NAME}static arnForLink(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rtbfabric_ILinkRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForLink),error}return resource.linkRef.linkArn}cdkTagManager;_gatewayId;_httpResponderAllowed;_linkAttributes;_linkLogSettings;_moduleConfigurationList;_peerGatewayId;_tags;cfnPropertyNames={tags:"Tags",gatewayId:"GatewayId",httpResponderAllowed:"HttpResponderAllowed",linkAttributes:"LinkAttributes",linkLogSettings:"LinkLogSettings",moduleConfigurationList:"ModuleConfigurationList",peerGatewayId:"PeerGatewayId"};constructor(scope,id,props){super(scope,id,{type:CfnLink.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rtbfabric_CfnLinkProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLink),error}cdk().requireProperty(props,"gatewayId",this),cdk().requireProperty(props,"linkLogSettings",this),cdk().requireProperty(props,"peerGatewayId",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RTBFabric::Link",void 0,{tagPropertyName:"tags"}),this._gatewayId=props.gatewayId,this._httpResponderAllowed=props.httpResponderAllowed,this._linkAttributes=props.linkAttributes,this._linkLogSettings=props.linkLogSettings,this._moduleConfigurationList=props.moduleConfigurationList,this._peerGatewayId=props.peerGatewayId,this._tags=props.tags}get linkRef(){return{linkArn:this.ref}}get gatewayId(){return this._gatewayId}set gatewayId(value){cdk().traceProperty(this.node,"GatewayId"),this._gatewayId=value}get httpResponderAllowed(){return this._httpResponderAllowed}set httpResponderAllowed(value){cdk().traceProperty(this.node,"HttpResponderAllowed"),this._httpResponderAllowed=value}get linkAttributes(){return this._linkAttributes}set linkAttributes(value){cdk().traceProperty(this.node,"LinkAttributes"),this._linkAttributes=value}get linkLogSettings(){return this._linkLogSettings}set linkLogSettings(value){cdk().traceProperty(this.node,"LinkLogSettings"),this._linkLogSettings=value}get moduleConfigurationList(){return this._moduleConfigurationList}set moduleConfigurationList(value){cdk().traceProperty(this.node,"ModuleConfigurationList"),this._moduleConfigurationList=value}get peerGatewayId(){return this._peerGatewayId}set peerGatewayId(value){cdk().traceProperty(this.node,"PeerGatewayId"),this._peerGatewayId=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTimestamp(){return cdk().Token.asString(this.getAtt("CreatedTimestamp",cdk().ResolutionTypeHint.STRING))}get attrLinkDirection(){return cdk().Token.asString(this.getAtt("LinkDirection",cdk().ResolutionTypeHint.STRING))}get attrLinkId(){return cdk().Token.asString(this.getAtt("LinkId",cdk().ResolutionTypeHint.STRING))}get attrLinkStatus(){return cdk().Token.asString(this.getAtt("LinkStatus",cdk().ResolutionTypeHint.STRING))}get attrUpdatedTimestamp(){return cdk().Token.asString(this.getAtt("UpdatedTimestamp",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),gatewayId:this._gatewayId,httpResponderAllowed:this._httpResponderAllowed,linkAttributes:this._linkAttributes,linkLogSettings:this._linkLogSettings,moduleConfigurationList:this._moduleConfigurationList,peerGatewayId:this._peerGatewayId}}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",CfnLink.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLinkPropsToCloudFormation(props)}}exports.CfnLink=CfnLink;function CfnLinkResponderErrorMaskingForHttpCodePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("httpCode",cdk().requiredValidator)(properties.httpCode)),errors.collect(cdk().propertyValidator("httpCode",cdk().validateString)(properties.httpCode)),errors.collect(cdk().propertyValidator("loggingTypes",cdk().requiredValidator)(properties.loggingTypes)),errors.collect(cdk().propertyValidator("loggingTypes",cdk().listValidator(cdk().validateString))(properties.loggingTypes)),errors.collect(cdk().propertyValidator("responseLoggingPercentage",cdk().validateNumber)(properties.responseLoggingPercentage)),errors.wrap('supplied properties not correct for "ResponderErrorMaskingForHttpCodeProperty"')}function convertCfnLinkResponderErrorMaskingForHttpCodePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkResponderErrorMaskingForHttpCodePropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),HttpCode:cdk().stringToCloudFormation(properties.httpCode),LoggingTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.loggingTypes),ResponseLoggingPercentage:cdk().numberToCloudFormation(properties.responseLoggingPercentage)}):properties}function CfnLinkResponderErrorMaskingForHttpCodePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("httpCode","HttpCode",properties.HttpCode!=null?cfn_parse().FromCloudFormation.getString(properties.HttpCode):void 0),ret.addPropertyResult("loggingTypes","LoggingTypes",properties.LoggingTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LoggingTypes):void 0),ret.addPropertyResult("responseLoggingPercentage","ResponseLoggingPercentage",properties.ResponseLoggingPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.ResponseLoggingPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkLinkAttributesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customerProvidedId",cdk().validateString)(properties.customerProvidedId)),errors.collect(cdk().propertyValidator("responderErrorMasking",cdk().listValidator(CfnLinkResponderErrorMaskingForHttpCodePropertyValidator))(properties.responderErrorMasking)),errors.wrap('supplied properties not correct for "LinkAttributesProperty"')}function convertCfnLinkLinkAttributesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkLinkAttributesPropertyValidator(properties).assertSuccess(),{CustomerProvidedId:cdk().stringToCloudFormation(properties.customerProvidedId),ResponderErrorMasking:cdk().listMapper(convertCfnLinkResponderErrorMaskingForHttpCodePropertyToCloudFormation)(properties.responderErrorMasking)}):properties}function CfnLinkLinkAttributesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customerProvidedId","CustomerProvidedId",properties.CustomerProvidedId!=null?cfn_parse().FromCloudFormation.getString(properties.CustomerProvidedId):void 0),ret.addPropertyResult("responderErrorMasking","ResponderErrorMasking",properties.ResponderErrorMasking!=null?cfn_parse().FromCloudFormation.getArray(CfnLinkResponderErrorMaskingForHttpCodePropertyFromCloudFormation)(properties.ResponderErrorMasking):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkLinkApplicationLogSamplingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("errorLog",cdk().requiredValidator)(properties.errorLog)),errors.collect(cdk().propertyValidator("errorLog",cdk().validateNumber)(properties.errorLog)),errors.collect(cdk().propertyValidator("filterLog",cdk().requiredValidator)(properties.filterLog)),errors.collect(cdk().propertyValidator("filterLog",cdk().validateNumber)(properties.filterLog)),errors.wrap('supplied properties not correct for "LinkApplicationLogSamplingProperty"')}function convertCfnLinkLinkApplicationLogSamplingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkLinkApplicationLogSamplingPropertyValidator(properties).assertSuccess(),{ErrorLog:cdk().numberToCloudFormation(properties.errorLog),FilterLog:cdk().numberToCloudFormation(properties.filterLog)}):properties}function CfnLinkLinkApplicationLogSamplingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("errorLog","ErrorLog",properties.ErrorLog!=null?cfn_parse().FromCloudFormation.getNumber(properties.ErrorLog):void 0),ret.addPropertyResult("filterLog","FilterLog",properties.FilterLog!=null?cfn_parse().FromCloudFormation.getNumber(properties.FilterLog):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkApplicationLogsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("linkApplicationLogSampling",cdk().requiredValidator)(properties.linkApplicationLogSampling)),errors.collect(cdk().propertyValidator("linkApplicationLogSampling",CfnLinkLinkApplicationLogSamplingPropertyValidator)(properties.linkApplicationLogSampling)),errors.wrap('supplied properties not correct for "ApplicationLogsProperty"')}function convertCfnLinkApplicationLogsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkApplicationLogsPropertyValidator(properties).assertSuccess(),{LinkApplicationLogSampling:convertCfnLinkLinkApplicationLogSamplingPropertyToCloudFormation(properties.linkApplicationLogSampling)}):properties}function CfnLinkApplicationLogsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("linkApplicationLogSampling","LinkApplicationLogSampling",properties.LinkApplicationLogSampling!=null?CfnLinkLinkApplicationLogSamplingPropertyFromCloudFormation(properties.LinkApplicationLogSampling):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkLinkLogSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("applicationLogs",cdk().requiredValidator)(properties.applicationLogs)),errors.collect(cdk().propertyValidator("applicationLogs",CfnLinkApplicationLogsPropertyValidator)(properties.applicationLogs)),errors.wrap('supplied properties not correct for "LinkLogSettingsProperty"')}function convertCfnLinkLinkLogSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkLinkLogSettingsPropertyValidator(properties).assertSuccess(),{ApplicationLogs:convertCfnLinkApplicationLogsPropertyToCloudFormation(properties.applicationLogs)}):properties}function CfnLinkLinkLogSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("applicationLogs","ApplicationLogs",properties.ApplicationLogs!=null?CfnLinkApplicationLogsPropertyFromCloudFormation(properties.ApplicationLogs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkNoBidModuleParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("passThroughPercentage",cdk().validateNumber)(properties.passThroughPercentage)),errors.collect(cdk().propertyValidator("reason",cdk().validateString)(properties.reason)),errors.collect(cdk().propertyValidator("reasonCode",cdk().validateNumber)(properties.reasonCode)),errors.wrap('supplied properties not correct for "NoBidModuleParametersProperty"')}function convertCfnLinkNoBidModuleParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkNoBidModuleParametersPropertyValidator(properties).assertSuccess(),{PassThroughPercentage:cdk().numberToCloudFormation(properties.passThroughPercentage),Reason:cdk().stringToCloudFormation(properties.reason),ReasonCode:cdk().numberToCloudFormation(properties.reasonCode)}):properties}function CfnLinkNoBidModuleParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("passThroughPercentage","PassThroughPercentage",properties.PassThroughPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.PassThroughPercentage):void 0),ret.addPropertyResult("reason","Reason",properties.Reason!=null?cfn_parse().FromCloudFormation.getString(properties.Reason):void 0),ret.addPropertyResult("reasonCode","ReasonCode",properties.ReasonCode!=null?cfn_parse().FromCloudFormation.getNumber(properties.ReasonCode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkFilterCriterionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("path",cdk().requiredValidator)(properties.path)),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "FilterCriterionProperty"')}function convertCfnLinkFilterCriterionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkFilterCriterionPropertyValidator(properties).assertSuccess(),{Path:cdk().stringToCloudFormation(properties.path),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnLinkFilterCriterionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("criteria",cdk().requiredValidator)(properties.criteria)),errors.collect(cdk().propertyValidator("criteria",cdk().listValidator(CfnLinkFilterCriterionPropertyValidator))(properties.criteria)),errors.wrap('supplied properties not correct for "FilterProperty"')}function convertCfnLinkFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkFilterPropertyValidator(properties).assertSuccess(),{Criteria:cdk().listMapper(convertCfnLinkFilterCriterionPropertyToCloudFormation)(properties.criteria)}):properties}function CfnLinkFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("criteria","Criteria",properties.Criteria!=null?cfn_parse().FromCloudFormation.getArray(CfnLinkFilterCriterionPropertyFromCloudFormation)(properties.Criteria):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkNoBidActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("noBidReasonCode",cdk().validateNumber)(properties.noBidReasonCode)),errors.wrap('supplied properties not correct for "NoBidActionProperty"')}function convertCfnLinkNoBidActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkNoBidActionPropertyValidator(properties).assertSuccess(),{NoBidReasonCode:cdk().numberToCloudFormation(properties.noBidReasonCode)}):properties}function CfnLinkNoBidActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("noBidReasonCode","NoBidReasonCode",properties.NoBidReasonCode!=null?cfn_parse().FromCloudFormation.getNumber(properties.NoBidReasonCode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkHeaderTagActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "HeaderTagActionProperty"')}function convertCfnLinkHeaderTagActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkHeaderTagActionPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnLinkHeaderTagActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("headerTag",cdk().requiredValidator)(properties.headerTag)),errors.collect(cdk().propertyValidator("headerTag",CfnLinkHeaderTagActionPropertyValidator)(properties.headerTag)),errors.collect(cdk().propertyValidator("noBid",cdk().requiredValidator)(properties.noBid)),errors.collect(cdk().propertyValidator("noBid",CfnLinkNoBidActionPropertyValidator)(properties.noBid)),errors.wrap('supplied properties not correct for "ActionProperty"')}function convertCfnLinkActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkActionPropertyValidator(properties).assertSuccess(),{HeaderTag:convertCfnLinkHeaderTagActionPropertyToCloudFormation(properties.headerTag),NoBid:convertCfnLinkNoBidActionPropertyToCloudFormation(properties.noBid)}):properties}function CfnLinkActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("headerTag","HeaderTag",properties.HeaderTag!=null?CfnLinkHeaderTagActionPropertyFromCloudFormation(properties.HeaderTag):void 0),ret.addPropertyResult("noBid","NoBid",properties.NoBid!=null?CfnLinkNoBidActionPropertyFromCloudFormation(properties.NoBid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkOpenRtbAttributeModuleParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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",CfnLinkActionPropertyValidator)(properties.action)),errors.collect(cdk().propertyValidator("filterConfiguration",cdk().requiredValidator)(properties.filterConfiguration)),errors.collect(cdk().propertyValidator("filterConfiguration",cdk().listValidator(CfnLinkFilterPropertyValidator))(properties.filterConfiguration)),errors.collect(cdk().propertyValidator("filterType",cdk().requiredValidator)(properties.filterType)),errors.collect(cdk().propertyValidator("filterType",cdk().validateString)(properties.filterType)),errors.collect(cdk().propertyValidator("holdbackPercentage",cdk().requiredValidator)(properties.holdbackPercentage)),errors.collect(cdk().propertyValidator("holdbackPercentage",cdk().validateNumber)(properties.holdbackPercentage)),errors.wrap('supplied properties not correct for "OpenRtbAttributeModuleParametersProperty"')}function convertCfnLinkOpenRtbAttributeModuleParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkOpenRtbAttributeModuleParametersPropertyValidator(properties).assertSuccess(),{Action:convertCfnLinkActionPropertyToCloudFormation(properties.action),FilterConfiguration:cdk().listMapper(convertCfnLinkFilterPropertyToCloudFormation)(properties.filterConfiguration),FilterType:cdk().stringToCloudFormation(properties.filterType),HoldbackPercentage:cdk().numberToCloudFormation(properties.holdbackPercentage)}):properties}function CfnLinkOpenRtbAttributeModuleParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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?CfnLinkActionPropertyFromCloudFormation(properties.Action):void 0),ret.addPropertyResult("filterConfiguration","FilterConfiguration",properties.FilterConfiguration!=null?cfn_parse().FromCloudFormation.getArray(CfnLinkFilterPropertyFromCloudFormation)(properties.FilterConfiguration):void 0),ret.addPropertyResult("filterType","FilterType",properties.FilterType!=null?cfn_parse().FromCloudFormation.getString(properties.FilterType):void 0),ret.addPropertyResult("holdbackPercentage","HoldbackPercentage",properties.HoldbackPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.HoldbackPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkModuleParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("noBid",CfnLinkNoBidModuleParametersPropertyValidator)(properties.noBid)),errors.collect(cdk().propertyValidator("openRtbAttribute",CfnLinkOpenRtbAttributeModuleParametersPropertyValidator)(properties.openRtbAttribute)),errors.wrap('supplied properties not correct for "ModuleParametersProperty"')}function convertCfnLinkModuleParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkModuleParametersPropertyValidator(properties).assertSuccess(),{NoBid:convertCfnLinkNoBidModuleParametersPropertyToCloudFormation(properties.noBid),OpenRtbAttribute:convertCfnLinkOpenRtbAttributeModuleParametersPropertyToCloudFormation(properties.openRtbAttribute)}):properties}function CfnLinkModuleParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("noBid","NoBid",properties.NoBid!=null?CfnLinkNoBidModuleParametersPropertyFromCloudFormation(properties.NoBid):void 0),ret.addPropertyResult("openRtbAttribute","OpenRtbAttribute",properties.OpenRtbAttribute!=null?CfnLinkOpenRtbAttributeModuleParametersPropertyFromCloudFormation(properties.OpenRtbAttribute):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkModuleConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dependsOn",cdk().listValidator(cdk().validateString))(properties.dependsOn)),errors.collect(cdk().propertyValidator("moduleParameters",CfnLinkModuleParametersPropertyValidator)(properties.moduleParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "ModuleConfigurationProperty"')}function convertCfnLinkModuleConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkModuleConfigurationPropertyValidator(properties).assertSuccess(),{DependsOn:cdk().listMapper(cdk().stringToCloudFormation)(properties.dependsOn),ModuleParameters:convertCfnLinkModuleParametersPropertyToCloudFormation(properties.moduleParameters),Name:cdk().stringToCloudFormation(properties.name),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnLinkModuleConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dependsOn","DependsOn",properties.DependsOn!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DependsOn):void 0),ret.addPropertyResult("moduleParameters","ModuleParameters",properties.ModuleParameters!=null?CfnLinkModuleParametersPropertyFromCloudFormation(properties.ModuleParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLinkPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("gatewayId",cdk().requiredValidator)(properties.gatewayId)),errors.collect(cdk().propertyValidator("gatewayId",cdk().validateString)(properties.gatewayId)),errors.collect(cdk().propertyValidator("httpResponderAllowed",cdk().validateBoolean)(properties.httpResponderAllowed)),errors.collect(cdk().propertyValidator("linkAttributes",CfnLinkLinkAttributesPropertyValidator)(properties.linkAttributes)),errors.collect(cdk().propertyValidator("linkLogSettings",cdk().requiredValidator)(properties.linkLogSettings)),errors.collect(cdk().propertyValidator("linkLogSettings",CfnLinkLinkLogSettingsPropertyValidator)(properties.linkLogSettings)),errors.collect(cdk().propertyValidator("moduleConfigurationList",cdk().listValidator(CfnLinkModuleConfigurationPropertyValidator))(properties.moduleConfigurationList)),errors.collect(cdk().propertyValidator("peerGatewayId",cdk().requiredValidator)(properties.peerGatewayId)),errors.collect(cdk().propertyValidator("peerGatewayId",cdk().validateString)(properties.peerGatewayId)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnLinkProps"')}function convertCfnLinkPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLinkPropsValidator(properties).assertSuccess(),{GatewayId:cdk().stringToCloudFormation(properties.gatewayId),HttpResponderAllowed:cdk().booleanToCloudFormation(properties.httpResponderAllowed),LinkAttributes:convertCfnLinkLinkAttributesPropertyToCloudFormation(properties.linkAttributes),LinkLogSettings:convertCfnLinkLinkLogSettingsPropertyToCloudFormation(properties.linkLogSettings),ModuleConfigurationList:cdk().listMapper(convertCfnLinkModuleConfigurationPropertyToCloudFormation)(properties.moduleConfigurationList),PeerGatewayId:cdk().stringToCloudFormation(properties.peerGatewayId),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLinkPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("gatewayId","GatewayId",properties.GatewayId!=null?cfn_parse().FromCloudFormation.getString(properties.GatewayId):void 0),ret.addPropertyResult("httpResponderAllowed","HttpResponderAllowed",properties.HttpResponderAllowed!=null?cfn_parse().FromCloudFormation.getBoolean(properties.HttpResponderAllowed):void 0),ret.addPropertyResult("linkAttributes","LinkAttributes",properties.LinkAttributes!=null?CfnLinkLinkAttributesPropertyFromCloudFormation(properties.LinkAttributes):void 0),ret.addPropertyResult("linkLogSettings","LinkLogSettings",properties.LinkLogSettings!=null?CfnLinkLinkLogSettingsPropertyFromCloudFormation(properties.LinkLogSettings):void 0),ret.addPropertyResult("moduleConfigurationList","ModuleConfigurationList",properties.ModuleConfigurationList!=null?cfn_parse().FromCloudFormation.getArray(CfnLinkModuleConfigurationPropertyFromCloudFormation)(properties.ModuleConfigurationList):void 0),ret.addPropertyResult("peerGatewayId","PeerGatewayId",properties.PeerGatewayId!=null?cfn_parse().FromCloudFormation.getString(properties.PeerGatewayId):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnOutboundExternalLink extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rtbfabric.CfnOutboundExternalLink",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RTBFabric::OutboundExternalLink";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnOutboundExternalLinkPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnOutboundExternalLink(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 isCfnOutboundExternalLink(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnOutboundExternalLink.CFN_RESOURCE_TYPE_NAME}static arnForOutboundExternalLink(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rtbfabric_IOutboundExternalLinkRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForOutboundExternalLink),error}return resource.outboundExternalLinkRef.outboundExternalLinkArn}cdkTagManager;_gatewayId;_linkAttributes;_linkLogSettings;_publicEndpoint;_tags;cfnPropertyNames={tags:"Tags",gatewayId:"GatewayId",linkAttributes:"LinkAttributes",linkLogSettings:"LinkLogSettings",publicEndpoint:"PublicEndpoint"};constructor(scope,id,props){super(scope,id,{type:CfnOutboundExternalLink.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rtbfabric_CfnOutboundExternalLinkProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnOutboundExternalLink),error}cdk().requireProperty(props,"gatewayId",this),cdk().requireProperty(props,"linkLogSettings",this),cdk().requireProperty(props,"publicEndpoint",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RTBFabric::OutboundExternalLink",void 0,{tagPropertyName:"tags"}),this._gatewayId=props.gatewayId,this._linkAttributes=props.linkAttributes,this._linkLogSettings=props.linkLogSettings,this._publicEndpoint=props.publicEndpoint,this._tags=props.tags}get outboundExternalLinkRef(){return{outboundExternalLinkArn:this.ref}}get gatewayId(){return this._gatewayId}set gatewayId(value){cdk().traceProperty(this.node,"GatewayId"),this._gatewayId=value}get linkAttributes(){return this._linkAttributes}set linkAttributes(value){cdk().traceProperty(this.node,"LinkAttributes"),this._linkAttributes=value}get linkLogSettings(){return this._linkLogSettings}set linkLogSettings(value){cdk().traceProperty(this.node,"LinkLogSettings"),this._linkLogSettings=value}get publicEndpoint(){return this._publicEndpoint}set publicEndpoint(value){cdk().traceProperty(this.node,"PublicEndpoint"),this._publicEndpoint=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTimestamp(){return cdk().Token.asString(this.getAtt("CreatedTimestamp",cdk().ResolutionTypeHint.STRING))}get attrLinkId(){return cdk().Token.asString(this.getAtt("LinkId",cdk().ResolutionTypeHint.STRING))}get attrLinkStatus(){return cdk().Token.asString(this.getAtt("LinkStatus",cdk().ResolutionTypeHint.STRING))}get attrUpdatedTimestamp(){return cdk().Token.asString(this.getAtt("UpdatedTimestamp",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),gatewayId:this._gatewayId,linkAttributes:this._linkAttributes,linkLogSettings:this._linkLogSettings,publicEndpoint:this._publicEndpoint}}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",CfnOutboundExternalLink.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnOutboundExternalLinkPropsToCloudFormation(props)}}exports.CfnOutboundExternalLink=CfnOutboundExternalLink;function CfnOutboundExternalLinkResponderErrorMaskingForHttpCodePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("httpCode",cdk().requiredValidator)(properties.httpCode)),errors.collect(cdk().propertyValidator("httpCode",cdk().validateString)(properties.httpCode)),errors.collect(cdk().propertyValidator("loggingTypes",cdk().requiredValidator)(properties.loggingTypes)),errors.collect(cdk().propertyValidator("loggingTypes",cdk().listValidator(cdk().validateString))(properties.loggingTypes)),errors.collect(cdk().propertyValidator("responseLoggingPercentage",cdk().validateNumber)(properties.responseLoggingPercentage)),errors.wrap('supplied properties not correct for "ResponderErrorMaskingForHttpCodeProperty"')}function convertCfnOutboundExternalLinkResponderErrorMaskingForHttpCodePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOutboundExternalLinkResponderErrorMaskingForHttpCodePropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),HttpCode:cdk().stringToCloudFormation(properties.httpCode),LoggingTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.loggingTypes),ResponseLoggingPercentage:cdk().numberToCloudFormation(properties.responseLoggingPercentage)}):properties}function CfnOutboundExternalLinkResponderErrorMaskingForHttpCodePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("httpCode","HttpCode",properties.HttpCode!=null?cfn_parse().FromCloudFormation.getString(properties.HttpCode):void 0),ret.addPropertyResult("loggingTypes","LoggingTypes",properties.LoggingTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LoggingTypes):void 0),ret.addPropertyResult("responseLoggingPercentage","ResponseLoggingPercentage",properties.ResponseLoggingPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.ResponseLoggingPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnOutboundExternalLinkLinkAttributesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customerProvidedId",cdk().validateString)(properties.customerProvidedId)),errors.collect(cdk().propertyValidator("responderErrorMasking",cdk().listValidator(CfnOutboundExternalLinkResponderErrorMaskingForHttpCodePropertyValidator))(properties.responderErrorMasking)),errors.wrap('supplied properties not correct for "LinkAttributesProperty"')}function convertCfnOutboundExternalLinkLinkAttributesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOutboundExternalLinkLinkAttributesPropertyValidator(properties).assertSuccess(),{CustomerProvidedId:cdk().stringToCloudFormation(properties.customerProvidedId),ResponderErrorMasking:cdk().listMapper(convertCfnOutboundExternalLinkResponderErrorMaskingForHttpCodePropertyToCloudFormation)(properties.responderErrorMasking)}):properties}function CfnOutboundExternalLinkLinkAttributesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customerProvidedId","CustomerProvidedId",properties.CustomerProvidedId!=null?cfn_parse().FromCloudFormation.getString(properties.CustomerProvidedId):void 0),ret.addPropertyResult("responderErrorMasking","ResponderErrorMasking",properties.ResponderErrorMasking!=null?cfn_parse().FromCloudFormation.getArray(CfnOutboundExternalLinkResponderErrorMaskingForHttpCodePropertyFromCloudFormation)(properties.ResponderErrorMasking):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnOutboundExternalLinkLinkApplicationLogSamplingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("errorLog",cdk().requiredValidator)(properties.errorLog)),errors.collect(cdk().propertyValidator("errorLog",cdk().validateNumber)(properties.errorLog)),errors.collect(cdk().propertyValidator("filterLog",cdk().requiredValidator)(properties.filterLog)),errors.collect(cdk().propertyValidator("filterLog",cdk().validateNumber)(properties.filterLog)),errors.wrap('supplied properties not correct for "LinkApplicationLogSamplingProperty"')}function convertCfnOutboundExternalLinkLinkApplicationLogSamplingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOutboundExternalLinkLinkApplicationLogSamplingPropertyValidator(properties).assertSuccess(),{ErrorLog:cdk().numberToCloudFormation(properties.errorLog),FilterLog:cdk().numberToCloudFormation(properties.filterLog)}):properties}function CfnOutboundExternalLinkLinkApplicationLogSamplingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("errorLog","ErrorLog",properties.ErrorLog!=null?cfn_parse().FromCloudFormation.getNumber(properties.ErrorLog):void 0),ret.addPropertyResult("filterLog","FilterLog",properties.FilterLog!=null?cfn_parse().FromCloudFormation.getNumber(properties.FilterLog):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnOutboundExternalLinkApplicationLogsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("linkApplicationLogSampling",cdk().requiredValidator)(properties.linkApplicationLogSampling)),errors.collect(cdk().propertyValidator("linkApplicationLogSampling",CfnOutboundExternalLinkLinkApplicationLogSamplingPropertyValidator)(properties.linkApplicationLogSampling)),errors.wrap('supplied properties not correct for "ApplicationLogsProperty"')}function convertCfnOutboundExternalLinkApplicationLogsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOutboundExternalLinkApplicationLogsPropertyValidator(properties).assertSuccess(),{LinkApplicationLogSampling:convertCfnOutboundExternalLinkLinkApplicationLogSamplingPropertyToCloudFormation(properties.linkApplicationLogSampling)}):properties}function CfnOutboundExternalLinkApplicationLogsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("linkApplicationLogSampling","LinkApplicationLogSampling",properties.LinkApplicationLogSampling!=null?CfnOutboundExternalLinkLinkApplicationLogSamplingPropertyFromCloudFormation(properties.LinkApplicationLogSampling):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnOutboundExternalLinkLinkLogSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("applicationLogs",cdk().requiredValidator)(properties.applicationLogs)),errors.collect(cdk().propertyValidator("applicationLogs",CfnOutboundExternalLinkApplicationLogsPropertyValidator)(properties.applicationLogs)),errors.wrap('supplied properties not correct for "LinkLogSettingsProperty"')}function convertCfnOutboundExternalLinkLinkLogSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOutboundExternalLinkLinkLogSettingsPropertyValidator(properties).assertSuccess(),{ApplicationLogs:convertCfnOutboundExternalLinkApplicationLogsPropertyToCloudFormation(properties.applicationLogs)}):properties}function CfnOutboundExternalLinkLinkLogSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("applicationLogs","ApplicationLogs",properties.ApplicationLogs!=null?CfnOutboundExternalLinkApplicationLogsPropertyFromCloudFormation(properties.ApplicationLogs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnOutboundExternalLinkPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("gatewayId",cdk().requiredValidator)(properties.gatewayId)),errors.collect(cdk().propertyValidator("gatewayId",cdk().validateString)(properties.gatewayId)),errors.collect(cdk().propertyValidator("linkAttributes",CfnOutboundExternalLinkLinkAttributesPropertyValidator)(properties.linkAttributes)),errors.collect(cdk().propertyValidator("linkLogSettings",cdk().requiredValidator)(properties.linkLogSettings)),errors.collect(cdk().propertyValidator("linkLogSettings",CfnOutboundExternalLinkLinkLogSettingsPropertyValidator)(properties.linkLogSettings)),errors.collect(cdk().propertyValidator("publicEndpoint",cdk().requiredValidator)(properties.publicEndpoint)),errors.collect(cdk().propertyValidator("publicEndpoint",cdk().validateString)(properties.publicEndpoint)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnOutboundExternalLinkProps"')}function convertCfnOutboundExternalLinkPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOutboundExternalLinkPropsValidator(properties).assertSuccess(),{GatewayId:cdk().stringToCloudFormation(properties.gatewayId),LinkAttributes:convertCfnOutboundExternalLinkLinkAttributesPropertyToCloudFormation(properties.linkAttributes),LinkLogSettings:convertCfnOutboundExternalLinkLinkLogSettingsPropertyToCloudFormation(properties.linkLogSettings),PublicEndpoint:cdk().stringToCloudFormation(properties.publicEndpoint),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnOutboundExternalLinkPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("gatewayId","GatewayId",properties.GatewayId!=null?cfn_parse().FromCloudFormation.getString(properties.GatewayId):void 0),ret.addPropertyResult("linkAttributes","LinkAttributes",properties.LinkAttributes!=null?CfnOutboundExternalLinkLinkAttributesPropertyFromCloudFormation(properties.LinkAttributes):void 0),ret.addPropertyResult("linkLogSettings","LinkLogSettings",properties.LinkLogSettings!=null?CfnOutboundExternalLinkLinkLogSettingsPropertyFromCloudFormation(properties.LinkLogSettings):void 0),ret.addPropertyResult("publicEndpoint","PublicEndpoint",properties.PublicEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.PublicEndpoint):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRequesterGateway extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rtbfabric.CfnRequesterGateway",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RTBFabric::RequesterGateway";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRequesterGatewayPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnRequesterGateway(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 isCfnRequesterGateway(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRequesterGateway.CFN_RESOURCE_TYPE_NAME}static arnForRequesterGateway(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rtbfabric_IRequesterGatewayRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForRequesterGateway),error}return resource.requesterGatewayRef.requesterGatewayArn}cdkTagManager;_description;_securityGroupIds;_subnetIds;_tags;_vpcId;cfnPropertyNames={tags:"Tags",description:"Description",securityGroupIds:"SecurityGroupIds",subnetIds:"SubnetIds",vpcId:"VpcId"};constructor(scope,id,props){super(scope,id,{type:CfnRequesterGateway.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rtbfabric_CfnRequesterGatewayProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRequesterGateway),error}cdk().requireProperty(props,"securityGroupIds",this),cdk().requireProperty(props,"subnetIds",this),cdk().requireProperty(props,"vpcId",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RTBFabric::RequesterGateway",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._securityGroupIds=cdk().mapArrayInPlace(props.securityGroupIds,item=>cdk().getRefProperty(item?.securityGroupRef,"securityGroupId")??cdk().ensureStringOrUndefined(item,"securityGroupIds","ec2.ISecurityGroupRef | string")),this._subnetIds=cdk().mapArrayInPlace(props.subnetIds,item=>cdk().getRefProperty(item?.subnetRef,"subnetId")??cdk().ensureStringOrUndefined(item,"subnetIds","ec2.ISubnetRef | string")),this._tags=props.tags,this._vpcId=cdk().getRefProperty(props.vpcId?.vpcRef,"vpcId")??cdk().ensureStringOrUndefined(props.vpcId,"vpcId","ec2.IVPCRef | string")}get requesterGatewayRef(){return{requesterGatewayArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get securityGroupIds(){return this._securityGroupIds}set securityGroupIds(value){cdk().traceProperty(this.node,"SecurityGroupIds"),this._securityGroupIds=value}get subnetIds(){return this._subnetIds}set subnetIds(value){cdk().traceProperty(this.node,"SubnetIds"),this._subnetIds=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get vpcId(){return this._vpcId}set vpcId(value){cdk().traceProperty(this.node,"VpcId"),this._vpcId=value}get attrActiveLinksCount(){return cdk().Token.asNumber(this.getAtt("ActiveLinksCount",cdk().ResolutionTypeHint.NUMBER))}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTimestamp(){return cdk().Token.asString(this.getAtt("CreatedTimestamp",cdk().ResolutionTypeHint.STRING))}get attrDomainName(){return cdk().Token.asString(this.getAtt("DomainName",cdk().ResolutionTypeHint.STRING))}get attrGatewayId(){return cdk().Token.asString(this.getAtt("GatewayId",cdk().ResolutionTypeHint.STRING))}get attrRequesterGatewayStatus(){return cdk().Token.asString(this.getAtt("RequesterGatewayStatus",cdk().ResolutionTypeHint.STRING))}get attrTotalLinksCount(){return cdk().Token.asNumber(this.getAtt("TotalLinksCount",cdk().ResolutionTypeHint.NUMBER))}get attrUpdatedTimestamp(){return cdk().Token.asString(this.getAtt("UpdatedTimestamp",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,securityGroupIds:this._securityGroupIds,subnetIds:this._subnetIds,vpcId:this._vpcId}}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",CfnRequesterGateway.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRequesterGatewayPropsToCloudFormation(props)}}exports.CfnRequesterGateway=CfnRequesterGateway;function CfnRequesterGatewayPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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("securityGroupIds",cdk().requiredValidator)(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().requiredValidator)(properties.subnetIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("vpcId",cdk().requiredValidator)(properties.vpcId)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "CfnRequesterGatewayProps"')}function convertCfnRequesterGatewayPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRequesterGatewayPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnRequesterGatewayPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("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.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResponderGateway extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_rtbfabric.CfnResponderGateway",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RTBFabric::ResponderGateway";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResponderGatewayPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResponderGateway(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 isCfnResponderGateway(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResponderGateway.CFN_RESOURCE_TYPE_NAME}static arnForResponderGateway(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_rtbfabric_IResponderGatewayRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForResponderGateway),error}return resource.responderGatewayRef.responderGatewayArn}cdkTagManager;_description;_domainName;_managedEndpointConfiguration;_port;_protocol;_securityGroupIds;_subnetIds;_tags;_trustStoreConfiguration;_vpcId;cfnPropertyNames={tags:"Tags",description:"Description",domainName:"DomainName",managedEndpointConfiguration:"ManagedEndpointConfiguration",port:"Port",protocol:"Protocol",securityGroupIds:"SecurityGroupIds",subnetIds:"SubnetIds",trustStoreConfiguration:"TrustStoreConfiguration",vpcId:"VpcId"};constructor(scope,id,props){super(scope,id,{type:CfnResponderGateway.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_rtbfabric_CfnResponderGatewayProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResponderGateway),error}cdk().requireProperty(props,"port",this),cdk().requireProperty(props,"protocol",this),cdk().requireProperty(props,"securityGroupIds",this),cdk().requireProperty(props,"subnetIds",this),cdk().requireProperty(props,"vpcId",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RTBFabric::ResponderGateway",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._domainName=props.domainName,this._managedEndpointConfiguration=props.managedEndpointConfiguration,this._port=props.port,this._protocol=props.protocol,this._securityGroupIds=cdk().mapArrayInPlace(props.securityGroupIds,item=>cdk().getRefProperty(item?.securityGroupRef,"securityGroupId")??cdk().ensureStringOrUndefined(item,"securityGroupIds","ec2.ISecurityGroupRef | string")),this._subnetIds=cdk().mapArrayInPlace(props.subnetIds,item=>cdk().getRefProperty(item?.subnetRef,"subnetId")??cdk().ensureStringOrUndefined(item,"subnetIds","ec2.ISubnetRef | string")),this._tags=props.tags,this._trustStoreConfiguration=props.trustStoreConfiguration,this._vpcId=cdk().getRefProperty(props.vpcId?.vpcRef,"vpcId")??cdk().ensureStringOrUndefined(props.vpcId,"vpcId","ec2.IVPCRef | string")}get responderGatewayRef(){return{responderGatewayArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get domainName(){return this._domainName}set domainName(value){cdk().traceProperty(this.node,"DomainName"),this._domainName=value}get managedEndpointConfiguration(){return this._managedEndpointConfiguration}set managedEndpointConfiguration(value){cdk().traceProperty(this.node,"ManagedEndpointConfiguration"),this._managedEndpointConfiguration=value}get port(){return this._port}set port(value){cdk().traceProperty(this.node,"Port"),this._port=value}get protocol(){return this._protocol}set protocol(value){cdk().traceProperty(this.node,"Protocol"),this._protocol=value}get securityGroupIds(){return this._securityGroupIds}set securityGroupIds(value){cdk().traceProperty(this.node,"SecurityGroupIds"),this._securityGroupIds=value}get subnetIds(){return this._subnetIds}set subnetIds(value){cdk().traceProperty(this.node,"SubnetIds"),this._subnetIds=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get trustStoreConfiguration(){return this._trustStoreConfiguration}set trustStoreConfiguration(value){cdk().traceProperty(this.node,"TrustStoreConfiguration"),this._trustStoreConfiguration=value}get vpcId(){return this._vpcId}set vpcId(value){cdk().traceProperty(this.node,"VpcId"),this._vpcId=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTimestamp(){return cdk().Token.asString(this.getAtt("CreatedTimestamp",cdk().ResolutionTypeHint.STRING))}get attrGatewayId(){return cdk().Token.asString(this.getAtt("GatewayId",cdk().ResolutionTypeHint.STRING))}get attrResponderGatewayStatus(){return cdk().Token.asString(this.getAtt("ResponderGatewayStatus",cdk().ResolutionTypeHint.STRING))}get attrUpdatedTimestamp(){return cdk().Token.asString(this.getAtt("UpdatedTimestamp",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,domainName:this._domainName,managedEndpointConfiguration:this._managedEndpointConfiguration,port:this._port,protocol:this._protocol,securityGroupIds:this._securityGroupIds,subnetIds:this._subnetIds,trustStoreConfiguration:this._trustStoreConfiguration,vpcId:this._vpcId}}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",CfnResponderGateway.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResponderGatewayPropsToCloudFormation(props)}}exports.CfnResponderGateway=CfnResponderGateway;function CfnResponderGatewayTrustStoreConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("certificateAuthorityCertificates",cdk().requiredValidator)(properties.certificateAuthorityCertificates)),errors.collect(cdk().propertyValidator("certificateAuthorityCertificates",cdk().listValidator(cdk().validateString))(properties.certificateAuthorityCertificates)),errors.wrap('supplied properties not correct for "TrustStoreConfigurationProperty"')}function convertCfnResponderGatewayTrustStoreConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResponderGatewayTrustStoreConfigurationPropertyValidator(properties).assertSuccess(),{CertificateAuthorityCertificates:cdk().listMapper(cdk().stringToCloudFormation)(properties.certificateAuthorityCertificates)}):properties}function CfnResponderGatewayTrustStoreConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("certificateAuthorityCertificates","CertificateAuthorityCertificates",properties.CertificateAuthorityCertificates!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CertificateAuthorityCertificates):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResponderGatewayAutoScalingGroupsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("autoScalingGroupNameList",cdk().requiredValidator)(properties.autoScalingGroupNameList)),errors.collect(cdk().propertyValidator("autoScalingGroupNameList",cdk().listValidator(cdk().validateString))(properties.autoScalingGroupNameList)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "AutoScalingGroupsConfigurationProperty"')}function convertCfnResponderGatewayAutoScalingGroupsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResponderGatewayAutoScalingGroupsConfigurationPropertyValidator(properties).assertSuccess(),{AutoScalingGroupNameList:cdk().listMapper(cdk().stringToCloudFormation)(properties.autoScalingGroupNameList),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnResponderGatewayAutoScalingGroupsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("autoScalingGroupNameList","AutoScalingGroupNameList",properties.AutoScalingGroupNameList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AutoScalingGroupNameList):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResponderGatewayEksEndpointsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clusterApiServerCaCertificateChain",cdk().requiredValidator)(properties.clusterApiServerCaCertificateChain)),errors.collect(cdk().propertyValidator("clusterApiServerCaCertificateChain",cdk().validateString)(properties.clusterApiServerCaCertificateChain)),errors.collect(cdk().propertyValidator("clusterApiServerEndpointUri",cdk().requiredValidator)(properties.clusterApiServerEndpointUri)),errors.collect(cdk().propertyValidator("clusterApiServerEndpointUri",cdk().validateString)(properties.clusterApiServerEndpointUri)),errors.collect(cdk().propertyValidator("clusterName",cdk().requiredValidator)(properties.clusterName)),errors.collect(cdk().propertyValidator("clusterName",cdk().validateString)(properties.clusterName)),errors.collect(cdk().propertyValidator("endpointsResourceName",cdk().requiredValidator)(properties.endpointsResourceName)),errors.collect(cdk().propertyValidator("endpointsResourceName",cdk().validateString)(properties.endpointsResourceName)),errors.collect(cdk().propertyValidator("endpointsResourceNamespace",cdk().requiredValidator)(properties.endpointsResourceNamespace)),errors.collect(cdk().propertyValidator("endpointsResourceNamespace",cdk().validateString)(properties.endpointsResourceNamespace)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "EksEndpointsConfigurationProperty"')}function convertCfnResponderGatewayEksEndpointsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResponderGatewayEksEndpointsConfigurationPropertyValidator(properties).assertSuccess(),{ClusterApiServerCaCertificateChain:cdk().stringToCloudFormation(properties.clusterApiServerCaCertificateChain),ClusterApiServerEndpointUri:cdk().stringToCloudFormation(properties.clusterApiServerEndpointUri),ClusterName:cdk().stringToCloudFormation(properties.clusterName),EndpointsResourceName:cdk().stringToCloudFormation(properties.endpointsResourceName),EndpointsResourceNamespace:cdk().stringToCloudFormation(properties.endpointsResourceNamespace),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnResponderGatewayEksEndpointsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterApiServerCaCertificateChain","ClusterApiServerCaCertificateChain",properties.ClusterApiServerCaCertificateChain!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterApiServerCaCertificateChain):void 0),ret.addPropertyResult("clusterApiServerEndpointUri","ClusterApiServerEndpointUri",properties.ClusterApiServerEndpointUri!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterApiServerEndpointUri):void 0),ret.addPropertyResult("clusterName","ClusterName",properties.ClusterName!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterName):void 0),ret.addPropertyResult("endpointsResourceName","EndpointsResourceName",properties.EndpointsResourceName!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointsResourceName):void 0),ret.addPropertyResult("endpointsResourceNamespace","EndpointsResourceNamespace",properties.EndpointsResourceNamespace!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointsResourceNamespace):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResponderGatewayManagedEndpointConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("autoScalingGroupsConfiguration",CfnResponderGatewayAutoScalingGroupsConfigurationPropertyValidator)(properties.autoScalingGroupsConfiguration)),errors.collect(cdk().propertyValidator("eksEndpointsConfiguration",CfnResponderGatewayEksEndpointsConfigurationPropertyValidator)(properties.eksEndpointsConfiguration)),errors.wrap('supplied properties not correct for "ManagedEndpointConfigurationProperty"')}function convertCfnResponderGatewayManagedEndpointConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResponderGatewayManagedEndpointConfigurationPropertyValidator(properties).assertSuccess(),{AutoScalingGroupsConfiguration:convertCfnResponderGatewayAutoScalingGroupsConfigurationPropertyToCloudFormation(properties.autoScalingGroupsConfiguration),EksEndpointsConfiguration:convertCfnResponderGatewayEksEndpointsConfigurationPropertyToCloudFormation(properties.eksEndpointsConfiguration)}):properties}function CfnResponderGatewayManagedEndpointConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("autoScalingGroupsConfiguration","AutoScalingGroupsConfiguration",properties.AutoScalingGroupsConfiguration!=null?CfnResponderGatewayAutoScalingGroupsConfigurationPropertyFromCloudFormation(properties.AutoScalingGroupsConfiguration):void 0),ret.addPropertyResult("eksEndpointsConfiguration","EksEndpointsConfiguration",properties.EksEndpointsConfiguration!=null?CfnResponderGatewayEksEndpointsConfigurationPropertyFromCloudFormation(properties.EksEndpointsConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResponderGatewayPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return 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("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("managedEndpointConfiguration",CfnResponderGatewayManagedEndpointConfigurationPropertyValidator)(properties.managedEndpointConfiguration)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("protocol",cdk().requiredValidator)(properties.protocol)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().requiredValidator)(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().requiredValidator)(properties.subnetIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("trustStoreConfiguration",CfnResponderGatewayTrustStoreConfigurationPropertyValidator)(properties.trustStoreConfiguration)),errors.collect(cdk().propertyValidator("vpcId",cdk().requiredValidator)(properties.vpcId)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "CfnResponderGatewayProps"')}function convertCfnResponderGatewayPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResponderGatewayPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),DomainName:cdk().stringToCloudFormation(properties.domainName),ManagedEndpointConfiguration:convertCfnResponderGatewayManagedEndpointConfigurationPropertyToCloudFormation(properties.managedEndpointConfiguration),Port:cdk().numberToCloudFormation(properties.port),Protocol:cdk().stringToCloudFormation(properties.protocol),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TrustStoreConfiguration:convertCfnResponderGatewayTrustStoreConfigurationPropertyToCloudFormation(properties.trustStoreConfiguration),VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnResponderGatewayPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(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("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("managedEndpointConfiguration","ManagedEndpointConfiguration",properties.ManagedEndpointConfiguration!=null?CfnResponderGatewayManagedEndpointConfigurationPropertyFromCloudFormation(properties.ManagedEndpointConfiguration):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse().FromCloudFormation.getString(properties.Protocol):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.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("trustStoreConfiguration","TrustStoreConfiguration",properties.TrustStoreConfiguration!=null?CfnResponderGatewayTrustStoreConfigurationPropertyFromCloudFormation(properties.TrustStoreConfiguration):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}