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

2 lines
171 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTrustStoreRevocation=exports.CfnTrustStore=exports.CfnTargetGroup=exports.CfnLoadBalancer=exports.CfnListenerRule=exports.CfnListenerCertificate=exports.CfnListener=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 CfnListener extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_elasticloadbalancingv2.CfnListener",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ElasticLoadBalancingV2::Listener";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnListenerPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnListener(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 isCfnListener(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnListener.CFN_RESOURCE_TYPE_NAME}static arnForListener(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_elasticloadbalancingv2_IListenerRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForListener),error}return resource.listenerRef.listenerArn}_alpnPolicy;_certificates;_defaultActions;_listenerAttributes;_loadBalancerArn;_mutualAuthentication;_port;_protocol;_sslPolicy;cfnPropertyNames={alpnPolicy:"AlpnPolicy",certificates:"Certificates",defaultActions:"DefaultActions",listenerAttributes:"ListenerAttributes",loadBalancerArn:"LoadBalancerArn",mutualAuthentication:"MutualAuthentication",port:"Port",protocol:"Protocol",sslPolicy:"SslPolicy"};constructor(scope,id,props){super(scope,id,{type:CfnListener.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancingv2_CfnListenerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnListener),error}cdk().requireProperty(props,"defaultActions",this),cdk().requireProperty(props,"loadBalancerArn",this),this._alpnPolicy=props.alpnPolicy,this._certificates=props.certificates,this._defaultActions=props.defaultActions,this._listenerAttributes=props.listenerAttributes,this._loadBalancerArn=cdk().getRefProperty(props.loadBalancerArn?.loadBalancerRef,"loadBalancerArn")??cdk().ensureStringOrUndefined(props.loadBalancerArn,"loadBalancerArn","elasticloadbalancingv2.ILoadBalancerRef | string"),this._mutualAuthentication=props.mutualAuthentication,this._port=props.port,this._protocol=props.protocol,this._sslPolicy=props.sslPolicy}get listenerRef(){return{listenerArn:this.ref}}get alpnPolicy(){return this._alpnPolicy}set alpnPolicy(value){cdk().traceProperty(this.node,"AlpnPolicy"),this._alpnPolicy=value}get certificates(){return this._certificates}set certificates(value){cdk().traceProperty(this.node,"Certificates"),this._certificates=value}get defaultActions(){return this._defaultActions}set defaultActions(value){cdk().traceProperty(this.node,"DefaultActions"),this._defaultActions=value}get listenerAttributes(){return this._listenerAttributes}set listenerAttributes(value){cdk().traceProperty(this.node,"ListenerAttributes"),this._listenerAttributes=value}get loadBalancerArn(){return this._loadBalancerArn}set loadBalancerArn(value){cdk().traceProperty(this.node,"LoadBalancerArn"),this._loadBalancerArn=value}get mutualAuthentication(){return this._mutualAuthentication}set mutualAuthentication(value){cdk().traceProperty(this.node,"MutualAuthentication"),this._mutualAuthentication=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 sslPolicy(){return this._sslPolicy}set sslPolicy(value){cdk().traceProperty(this.node,"SslPolicy"),this._sslPolicy=value}get attrListenerArn(){return cdk().Token.asString(this.getAtt("ListenerArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{alpnPolicy:this._alpnPolicy,certificates:this._certificates,defaultActions:this._defaultActions,listenerAttributes:this._listenerAttributes,loadBalancerArn:this._loadBalancerArn,mutualAuthentication:this._mutualAuthentication,port:this._port,protocol:this._protocol,sslPolicy:this._sslPolicy}}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",CfnListener.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnListenerPropsToCloudFormation(props)}}exports.CfnListener=CfnListener;function CfnListenerFixedResponseConfigPropertyValidator(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("contentType",cdk().validateString)(properties.contentType)),errors.collect(cdk().propertyValidator("messageBody",cdk().validateString)(properties.messageBody)),errors.collect(cdk().propertyValidator("statusCode",cdk().requiredValidator)(properties.statusCode)),errors.collect(cdk().propertyValidator("statusCode",cdk().validateString)(properties.statusCode)),errors.wrap('supplied properties not correct for "FixedResponseConfigProperty"')}function convertCfnListenerFixedResponseConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerFixedResponseConfigPropertyValidator(properties).assertSuccess(),{ContentType:cdk().stringToCloudFormation(properties.contentType),MessageBody:cdk().stringToCloudFormation(properties.messageBody),StatusCode:cdk().stringToCloudFormation(properties.statusCode)}):properties}function CfnListenerFixedResponseConfigPropertyFromCloudFormation(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("contentType","ContentType",properties.ContentType!=null?cfn_parse().FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("messageBody","MessageBody",properties.MessageBody!=null?cfn_parse().FromCloudFormation.getString(properties.MessageBody):void 0),ret.addPropertyResult("statusCode","StatusCode",properties.StatusCode!=null?cfn_parse().FromCloudFormation.getString(properties.StatusCode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerAuthenticateCognitoConfigPropertyValidator(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("authenticationRequestExtraParams",cdk().hashValidator(cdk().validateString))(properties.authenticationRequestExtraParams)),errors.collect(cdk().propertyValidator("onUnauthenticatedRequest",cdk().validateString)(properties.onUnauthenticatedRequest)),errors.collect(cdk().propertyValidator("scope",cdk().validateString)(properties.scope)),errors.collect(cdk().propertyValidator("sessionCookieName",cdk().validateString)(properties.sessionCookieName)),errors.collect(cdk().propertyValidator("sessionTimeout",cdk().validateString)(properties.sessionTimeout)),errors.collect(cdk().propertyValidator("userPoolArn",cdk().requiredValidator)(properties.userPoolArn)),errors.collect(cdk().propertyValidator("userPoolArn",cdk().validateString)(properties.userPoolArn)),errors.collect(cdk().propertyValidator("userPoolClientId",cdk().requiredValidator)(properties.userPoolClientId)),errors.collect(cdk().propertyValidator("userPoolClientId",cdk().validateString)(properties.userPoolClientId)),errors.collect(cdk().propertyValidator("userPoolDomain",cdk().requiredValidator)(properties.userPoolDomain)),errors.collect(cdk().propertyValidator("userPoolDomain",cdk().validateString)(properties.userPoolDomain)),errors.wrap('supplied properties not correct for "AuthenticateCognitoConfigProperty"')}function convertCfnListenerAuthenticateCognitoConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerAuthenticateCognitoConfigPropertyValidator(properties).assertSuccess(),{AuthenticationRequestExtraParams:cdk().hashMapper(cdk().stringToCloudFormation)(properties.authenticationRequestExtraParams),OnUnauthenticatedRequest:cdk().stringToCloudFormation(properties.onUnauthenticatedRequest),Scope:cdk().stringToCloudFormation(properties.scope),SessionCookieName:cdk().stringToCloudFormation(properties.sessionCookieName),SessionTimeout:cdk().stringToCloudFormation(properties.sessionTimeout),UserPoolArn:cdk().stringToCloudFormation(properties.userPoolArn),UserPoolClientId:cdk().stringToCloudFormation(properties.userPoolClientId),UserPoolDomain:cdk().stringToCloudFormation(properties.userPoolDomain)}):properties}function CfnListenerAuthenticateCognitoConfigPropertyFromCloudFormation(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("authenticationRequestExtraParams","AuthenticationRequestExtraParams",properties.AuthenticationRequestExtraParams!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.AuthenticationRequestExtraParams):void 0),ret.addPropertyResult("onUnauthenticatedRequest","OnUnauthenticatedRequest",properties.OnUnauthenticatedRequest!=null?cfn_parse().FromCloudFormation.getString(properties.OnUnauthenticatedRequest):void 0),ret.addPropertyResult("scope","Scope",properties.Scope!=null?cfn_parse().FromCloudFormation.getString(properties.Scope):void 0),ret.addPropertyResult("sessionCookieName","SessionCookieName",properties.SessionCookieName!=null?cfn_parse().FromCloudFormation.getString(properties.SessionCookieName):void 0),ret.addPropertyResult("sessionTimeout","SessionTimeout",properties.SessionTimeout!=null?cfn_parse().FromCloudFormation.getString(properties.SessionTimeout):void 0),ret.addPropertyResult("userPoolArn","UserPoolArn",properties.UserPoolArn!=null?cfn_parse().FromCloudFormation.getString(properties.UserPoolArn):void 0),ret.addPropertyResult("userPoolClientId","UserPoolClientId",properties.UserPoolClientId!=null?cfn_parse().FromCloudFormation.getString(properties.UserPoolClientId):void 0),ret.addPropertyResult("userPoolDomain","UserPoolDomain",properties.UserPoolDomain!=null?cfn_parse().FromCloudFormation.getString(properties.UserPoolDomain):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRedirectConfigPropertyValidator(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("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.collect(cdk().propertyValidator("port",cdk().validateString)(properties.port)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("query",cdk().validateString)(properties.query)),errors.collect(cdk().propertyValidator("statusCode",cdk().requiredValidator)(properties.statusCode)),errors.collect(cdk().propertyValidator("statusCode",cdk().validateString)(properties.statusCode)),errors.wrap('supplied properties not correct for "RedirectConfigProperty"')}function convertCfnListenerRedirectConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRedirectConfigPropertyValidator(properties).assertSuccess(),{Host:cdk().stringToCloudFormation(properties.host),Path:cdk().stringToCloudFormation(properties.path),Port:cdk().stringToCloudFormation(properties.port),Protocol:cdk().stringToCloudFormation(properties.protocol),Query:cdk().stringToCloudFormation(properties.query),StatusCode:cdk().stringToCloudFormation(properties.statusCode)}):properties}function CfnListenerRedirectConfigPropertyFromCloudFormation(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("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getString(properties.Port):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse().FromCloudFormation.getString(properties.Protocol):void 0),ret.addPropertyResult("query","Query",properties.Query!=null?cfn_parse().FromCloudFormation.getString(properties.Query):void 0),ret.addPropertyResult("statusCode","StatusCode",properties.StatusCode!=null?cfn_parse().FromCloudFormation.getString(properties.StatusCode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerTargetGroupStickinessConfigPropertyValidator(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("durationSeconds",cdk().validateNumber)(properties.durationSeconds)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "TargetGroupStickinessConfigProperty"')}function convertCfnListenerTargetGroupStickinessConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerTargetGroupStickinessConfigPropertyValidator(properties).assertSuccess(),{DurationSeconds:cdk().numberToCloudFormation(properties.durationSeconds),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnListenerTargetGroupStickinessConfigPropertyFromCloudFormation(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("durationSeconds","DurationSeconds",properties.DurationSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.DurationSeconds):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerTargetGroupTuplePropertyValidator(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("targetGroupArn",cdk().validateString)(properties.targetGroupArn)),errors.collect(cdk().propertyValidator("weight",cdk().validateNumber)(properties.weight)),errors.wrap('supplied properties not correct for "TargetGroupTupleProperty"')}function convertCfnListenerTargetGroupTuplePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerTargetGroupTuplePropertyValidator(properties).assertSuccess(),{TargetGroupArn:cdk().stringToCloudFormation(properties.targetGroupArn),Weight:cdk().numberToCloudFormation(properties.weight)}):properties}function CfnListenerTargetGroupTuplePropertyFromCloudFormation(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("targetGroupArn","TargetGroupArn",properties.TargetGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetGroupArn):void 0),ret.addPropertyResult("weight","Weight",properties.Weight!=null?cfn_parse().FromCloudFormation.getNumber(properties.Weight):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerForwardConfigPropertyValidator(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("targetGroupStickinessConfig",CfnListenerTargetGroupStickinessConfigPropertyValidator)(properties.targetGroupStickinessConfig)),errors.collect(cdk().propertyValidator("targetGroups",cdk().listValidator(CfnListenerTargetGroupTuplePropertyValidator))(properties.targetGroups)),errors.wrap('supplied properties not correct for "ForwardConfigProperty"')}function convertCfnListenerForwardConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerForwardConfigPropertyValidator(properties).assertSuccess(),{TargetGroupStickinessConfig:convertCfnListenerTargetGroupStickinessConfigPropertyToCloudFormation(properties.targetGroupStickinessConfig),TargetGroups:cdk().listMapper(convertCfnListenerTargetGroupTuplePropertyToCloudFormation)(properties.targetGroups)}):properties}function CfnListenerForwardConfigPropertyFromCloudFormation(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("targetGroups","TargetGroups",properties.TargetGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerTargetGroupTuplePropertyFromCloudFormation)(properties.TargetGroups):void 0),ret.addPropertyResult("targetGroupStickinessConfig","TargetGroupStickinessConfig",properties.TargetGroupStickinessConfig!=null?CfnListenerTargetGroupStickinessConfigPropertyFromCloudFormation(properties.TargetGroupStickinessConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerAuthenticateOidcConfigPropertyValidator(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("authenticationRequestExtraParams",cdk().hashValidator(cdk().validateString))(properties.authenticationRequestExtraParams)),errors.collect(cdk().propertyValidator("authorizationEndpoint",cdk().requiredValidator)(properties.authorizationEndpoint)),errors.collect(cdk().propertyValidator("authorizationEndpoint",cdk().validateString)(properties.authorizationEndpoint)),errors.collect(cdk().propertyValidator("clientId",cdk().requiredValidator)(properties.clientId)),errors.collect(cdk().propertyValidator("clientId",cdk().validateString)(properties.clientId)),errors.collect(cdk().propertyValidator("clientSecret",cdk().validateString)(properties.clientSecret)),errors.collect(cdk().propertyValidator("issuer",cdk().requiredValidator)(properties.issuer)),errors.collect(cdk().propertyValidator("issuer",cdk().validateString)(properties.issuer)),errors.collect(cdk().propertyValidator("onUnauthenticatedRequest",cdk().validateString)(properties.onUnauthenticatedRequest)),errors.collect(cdk().propertyValidator("scope",cdk().validateString)(properties.scope)),errors.collect(cdk().propertyValidator("sessionCookieName",cdk().validateString)(properties.sessionCookieName)),errors.collect(cdk().propertyValidator("sessionTimeout",cdk().validateString)(properties.sessionTimeout)),errors.collect(cdk().propertyValidator("tokenEndpoint",cdk().requiredValidator)(properties.tokenEndpoint)),errors.collect(cdk().propertyValidator("tokenEndpoint",cdk().validateString)(properties.tokenEndpoint)),errors.collect(cdk().propertyValidator("useExistingClientSecret",cdk().validateBoolean)(properties.useExistingClientSecret)),errors.collect(cdk().propertyValidator("userInfoEndpoint",cdk().requiredValidator)(properties.userInfoEndpoint)),errors.collect(cdk().propertyValidator("userInfoEndpoint",cdk().validateString)(properties.userInfoEndpoint)),errors.wrap('supplied properties not correct for "AuthenticateOidcConfigProperty"')}function convertCfnListenerAuthenticateOidcConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerAuthenticateOidcConfigPropertyValidator(properties).assertSuccess(),{AuthenticationRequestExtraParams:cdk().hashMapper(cdk().stringToCloudFormation)(properties.authenticationRequestExtraParams),AuthorizationEndpoint:cdk().stringToCloudFormation(properties.authorizationEndpoint),ClientId:cdk().stringToCloudFormation(properties.clientId),ClientSecret:cdk().stringToCloudFormation(properties.clientSecret),Issuer:cdk().stringToCloudFormation(properties.issuer),OnUnauthenticatedRequest:cdk().stringToCloudFormation(properties.onUnauthenticatedRequest),Scope:cdk().stringToCloudFormation(properties.scope),SessionCookieName:cdk().stringToCloudFormation(properties.sessionCookieName),SessionTimeout:cdk().stringToCloudFormation(properties.sessionTimeout),TokenEndpoint:cdk().stringToCloudFormation(properties.tokenEndpoint),UseExistingClientSecret:cdk().booleanToCloudFormation(properties.useExistingClientSecret),UserInfoEndpoint:cdk().stringToCloudFormation(properties.userInfoEndpoint)}):properties}function CfnListenerAuthenticateOidcConfigPropertyFromCloudFormation(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("authenticationRequestExtraParams","AuthenticationRequestExtraParams",properties.AuthenticationRequestExtraParams!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.AuthenticationRequestExtraParams):void 0),ret.addPropertyResult("authorizationEndpoint","AuthorizationEndpoint",properties.AuthorizationEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizationEndpoint):void 0),ret.addPropertyResult("clientId","ClientId",properties.ClientId!=null?cfn_parse().FromCloudFormation.getString(properties.ClientId):void 0),ret.addPropertyResult("clientSecret","ClientSecret",properties.ClientSecret!=null?cfn_parse().FromCloudFormation.getString(properties.ClientSecret):void 0),ret.addPropertyResult("issuer","Issuer",properties.Issuer!=null?cfn_parse().FromCloudFormation.getString(properties.Issuer):void 0),ret.addPropertyResult("onUnauthenticatedRequest","OnUnauthenticatedRequest",properties.OnUnauthenticatedRequest!=null?cfn_parse().FromCloudFormation.getString(properties.OnUnauthenticatedRequest):void 0),ret.addPropertyResult("scope","Scope",properties.Scope!=null?cfn_parse().FromCloudFormation.getString(properties.Scope):void 0),ret.addPropertyResult("sessionCookieName","SessionCookieName",properties.SessionCookieName!=null?cfn_parse().FromCloudFormation.getString(properties.SessionCookieName):void 0),ret.addPropertyResult("sessionTimeout","SessionTimeout",properties.SessionTimeout!=null?cfn_parse().FromCloudFormation.getString(properties.SessionTimeout):void 0),ret.addPropertyResult("tokenEndpoint","TokenEndpoint",properties.TokenEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.TokenEndpoint):void 0),ret.addPropertyResult("useExistingClientSecret","UseExistingClientSecret",properties.UseExistingClientSecret!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseExistingClientSecret):void 0),ret.addPropertyResult("userInfoEndpoint","UserInfoEndpoint",properties.UserInfoEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.UserInfoEndpoint):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerJwtValidationActionAdditionalClaimPropertyValidator(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("format",cdk().requiredValidator)(properties.format)),errors.collect(cdk().propertyValidator("format",cdk().validateString)(properties.format)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),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 "JwtValidationActionAdditionalClaimProperty"')}function convertCfnListenerJwtValidationActionAdditionalClaimPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerJwtValidationActionAdditionalClaimPropertyValidator(properties).assertSuccess(),{Format:cdk().stringToCloudFormation(properties.format),Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnListenerJwtValidationActionAdditionalClaimPropertyFromCloudFormation(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("format","Format",properties.Format!=null?cfn_parse().FromCloudFormation.getString(properties.Format):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):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 CfnListenerJwtValidationConfigPropertyValidator(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("additionalClaims",cdk().listValidator(CfnListenerJwtValidationActionAdditionalClaimPropertyValidator))(properties.additionalClaims)),errors.collect(cdk().propertyValidator("issuer",cdk().requiredValidator)(properties.issuer)),errors.collect(cdk().propertyValidator("issuer",cdk().validateString)(properties.issuer)),errors.collect(cdk().propertyValidator("jwksEndpoint",cdk().requiredValidator)(properties.jwksEndpoint)),errors.collect(cdk().propertyValidator("jwksEndpoint",cdk().validateString)(properties.jwksEndpoint)),errors.wrap('supplied properties not correct for "JwtValidationConfigProperty"')}function convertCfnListenerJwtValidationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerJwtValidationConfigPropertyValidator(properties).assertSuccess(),{AdditionalClaims:cdk().listMapper(convertCfnListenerJwtValidationActionAdditionalClaimPropertyToCloudFormation)(properties.additionalClaims),Issuer:cdk().stringToCloudFormation(properties.issuer),JwksEndpoint:cdk().stringToCloudFormation(properties.jwksEndpoint)}):properties}function CfnListenerJwtValidationConfigPropertyFromCloudFormation(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("additionalClaims","AdditionalClaims",properties.AdditionalClaims!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerJwtValidationActionAdditionalClaimPropertyFromCloudFormation)(properties.AdditionalClaims):void 0),ret.addPropertyResult("issuer","Issuer",properties.Issuer!=null?cfn_parse().FromCloudFormation.getString(properties.Issuer):void 0),ret.addPropertyResult("jwksEndpoint","JwksEndpoint",properties.JwksEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.JwksEndpoint):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerActionPropertyValidator(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("authenticateCognitoConfig",CfnListenerAuthenticateCognitoConfigPropertyValidator)(properties.authenticateCognitoConfig)),errors.collect(cdk().propertyValidator("authenticateOidcConfig",CfnListenerAuthenticateOidcConfigPropertyValidator)(properties.authenticateOidcConfig)),errors.collect(cdk().propertyValidator("fixedResponseConfig",CfnListenerFixedResponseConfigPropertyValidator)(properties.fixedResponseConfig)),errors.collect(cdk().propertyValidator("forwardConfig",CfnListenerForwardConfigPropertyValidator)(properties.forwardConfig)),errors.collect(cdk().propertyValidator("jwtValidationConfig",CfnListenerJwtValidationConfigPropertyValidator)(properties.jwtValidationConfig)),errors.collect(cdk().propertyValidator("order",cdk().validateNumber)(properties.order)),errors.collect(cdk().propertyValidator("redirectConfig",CfnListenerRedirectConfigPropertyValidator)(properties.redirectConfig)),errors.collect(cdk().propertyValidator("targetGroupArn",cdk().validateString)(properties.targetGroupArn)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ActionProperty"')}function convertCfnListenerActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerActionPropertyValidator(properties).assertSuccess(),{AuthenticateCognitoConfig:convertCfnListenerAuthenticateCognitoConfigPropertyToCloudFormation(properties.authenticateCognitoConfig),AuthenticateOidcConfig:convertCfnListenerAuthenticateOidcConfigPropertyToCloudFormation(properties.authenticateOidcConfig),FixedResponseConfig:convertCfnListenerFixedResponseConfigPropertyToCloudFormation(properties.fixedResponseConfig),ForwardConfig:convertCfnListenerForwardConfigPropertyToCloudFormation(properties.forwardConfig),JwtValidationConfig:convertCfnListenerJwtValidationConfigPropertyToCloudFormation(properties.jwtValidationConfig),Order:cdk().numberToCloudFormation(properties.order),RedirectConfig:convertCfnListenerRedirectConfigPropertyToCloudFormation(properties.redirectConfig),TargetGroupArn:cdk().stringToCloudFormation(properties.targetGroupArn),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnListenerActionPropertyFromCloudFormation(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("authenticateCognitoConfig","AuthenticateCognitoConfig",properties.AuthenticateCognitoConfig!=null?CfnListenerAuthenticateCognitoConfigPropertyFromCloudFormation(properties.AuthenticateCognitoConfig):void 0),ret.addPropertyResult("authenticateOidcConfig","AuthenticateOidcConfig",properties.AuthenticateOidcConfig!=null?CfnListenerAuthenticateOidcConfigPropertyFromCloudFormation(properties.AuthenticateOidcConfig):void 0),ret.addPropertyResult("fixedResponseConfig","FixedResponseConfig",properties.FixedResponseConfig!=null?CfnListenerFixedResponseConfigPropertyFromCloudFormation(properties.FixedResponseConfig):void 0),ret.addPropertyResult("forwardConfig","ForwardConfig",properties.ForwardConfig!=null?CfnListenerForwardConfigPropertyFromCloudFormation(properties.ForwardConfig):void 0),ret.addPropertyResult("jwtValidationConfig","JwtValidationConfig",properties.JwtValidationConfig!=null?CfnListenerJwtValidationConfigPropertyFromCloudFormation(properties.JwtValidationConfig):void 0),ret.addPropertyResult("order","Order",properties.Order!=null?cfn_parse().FromCloudFormation.getNumber(properties.Order):void 0),ret.addPropertyResult("redirectConfig","RedirectConfig",properties.RedirectConfig!=null?CfnListenerRedirectConfigPropertyFromCloudFormation(properties.RedirectConfig):void 0),ret.addPropertyResult("targetGroupArn","TargetGroupArn",properties.TargetGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetGroupArn):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerCertificatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("certificateArn",cdk().validateString)(properties.certificateArn)),errors.wrap('supplied properties not correct for "CertificateProperty"')}function convertCfnListenerCertificatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerCertificatePropertyValidator(properties).assertSuccess(),{CertificateArn:cdk().stringToCloudFormation(properties.certificateArn)}):properties}function CfnListenerCertificatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("certificateArn","CertificateArn",properties.CertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerMutualAuthenticationPropertyValidator(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("advertiseTrustStoreCaNames",cdk().validateString)(properties.advertiseTrustStoreCaNames)),errors.collect(cdk().propertyValidator("ignoreClientCertificateExpiry",cdk().validateBoolean)(properties.ignoreClientCertificateExpiry)),errors.collect(cdk().propertyValidator("mode",cdk().validateString)(properties.mode)),errors.collect(cdk().propertyValidator("trustStoreArn",cdk().validateString)(properties.trustStoreArn)),errors.wrap('supplied properties not correct for "MutualAuthenticationProperty"')}function convertCfnListenerMutualAuthenticationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerMutualAuthenticationPropertyValidator(properties).assertSuccess(),{AdvertiseTrustStoreCaNames:cdk().stringToCloudFormation(properties.advertiseTrustStoreCaNames),IgnoreClientCertificateExpiry:cdk().booleanToCloudFormation(properties.ignoreClientCertificateExpiry),Mode:cdk().stringToCloudFormation(properties.mode),TrustStoreArn:cdk().stringToCloudFormation(properties.trustStoreArn)}):properties}function CfnListenerMutualAuthenticationPropertyFromCloudFormation(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("advertiseTrustStoreCaNames","AdvertiseTrustStoreCaNames",properties.AdvertiseTrustStoreCaNames!=null?cfn_parse().FromCloudFormation.getString(properties.AdvertiseTrustStoreCaNames):void 0),ret.addPropertyResult("ignoreClientCertificateExpiry","IgnoreClientCertificateExpiry",properties.IgnoreClientCertificateExpiry!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IgnoreClientCertificateExpiry):void 0),ret.addPropertyResult("mode","Mode",properties.Mode!=null?cfn_parse().FromCloudFormation.getString(properties.Mode):void 0),ret.addPropertyResult("trustStoreArn","TrustStoreArn",properties.TrustStoreArn!=null?cfn_parse().FromCloudFormation.getString(properties.TrustStoreArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerListenerAttributePropertyValidator(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("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "ListenerAttributeProperty"')}function convertCfnListenerListenerAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerListenerAttributePropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnListenerListenerAttributePropertyFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerPropsValidator(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("alpnPolicy",cdk().listValidator(cdk().validateString))(properties.alpnPolicy)),errors.collect(cdk().propertyValidator("certificates",cdk().listValidator(CfnListenerCertificatePropertyValidator))(properties.certificates)),errors.collect(cdk().propertyValidator("defaultActions",cdk().requiredValidator)(properties.defaultActions)),errors.collect(cdk().propertyValidator("defaultActions",cdk().listValidator(CfnListenerActionPropertyValidator))(properties.defaultActions)),errors.collect(cdk().propertyValidator("listenerAttributes",cdk().listValidator(CfnListenerListenerAttributePropertyValidator))(properties.listenerAttributes)),errors.collect(cdk().propertyValidator("loadBalancerArn",cdk().requiredValidator)(properties.loadBalancerArn)),errors.collect(cdk().propertyValidator("loadBalancerArn",cdk().validateString)(properties.loadBalancerArn)),errors.collect(cdk().propertyValidator("mutualAuthentication",CfnListenerMutualAuthenticationPropertyValidator)(properties.mutualAuthentication)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("sslPolicy",cdk().validateString)(properties.sslPolicy)),errors.wrap('supplied properties not correct for "CfnListenerProps"')}function convertCfnListenerPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerPropsValidator(properties).assertSuccess(),{AlpnPolicy:cdk().listMapper(cdk().stringToCloudFormation)(properties.alpnPolicy),Certificates:cdk().listMapper(convertCfnListenerCertificatePropertyToCloudFormation)(properties.certificates),DefaultActions:cdk().listMapper(convertCfnListenerActionPropertyToCloudFormation)(properties.defaultActions),ListenerAttributes:cdk().listMapper(convertCfnListenerListenerAttributePropertyToCloudFormation)(properties.listenerAttributes),LoadBalancerArn:cdk().stringToCloudFormation(properties.loadBalancerArn),MutualAuthentication:convertCfnListenerMutualAuthenticationPropertyToCloudFormation(properties.mutualAuthentication),Port:cdk().numberToCloudFormation(properties.port),Protocol:cdk().stringToCloudFormation(properties.protocol),SslPolicy:cdk().stringToCloudFormation(properties.sslPolicy)}):properties}function CfnListenerPropsFromCloudFormation(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("alpnPolicy","AlpnPolicy",properties.AlpnPolicy!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AlpnPolicy):void 0),ret.addPropertyResult("certificates","Certificates",properties.Certificates!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerCertificatePropertyFromCloudFormation)(properties.Certificates):void 0),ret.addPropertyResult("defaultActions","DefaultActions",properties.DefaultActions!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerActionPropertyFromCloudFormation)(properties.DefaultActions):void 0),ret.addPropertyResult("listenerAttributes","ListenerAttributes",properties.ListenerAttributes!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerListenerAttributePropertyFromCloudFormation)(properties.ListenerAttributes):void 0),ret.addPropertyResult("loadBalancerArn","LoadBalancerArn",properties.LoadBalancerArn!=null?cfn_parse().FromCloudFormation.getString(properties.LoadBalancerArn):void 0),ret.addPropertyResult("mutualAuthentication","MutualAuthentication",properties.MutualAuthentication!=null?CfnListenerMutualAuthenticationPropertyFromCloudFormation(properties.MutualAuthentication):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("sslPolicy","SslPolicy",properties.SslPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.SslPolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnListenerCertificate extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_elasticloadbalancingv2.CfnListenerCertificate",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ElasticLoadBalancingV2::ListenerCertificate";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnListenerCertificatePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnListenerCertificate(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 isCfnListenerCertificate(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnListenerCertificate.CFN_RESOURCE_TYPE_NAME}_certificates;_listenerArn;cfnPropertyNames={certificates:"Certificates",listenerArn:"ListenerArn"};constructor(scope,id,props){super(scope,id,{type:CfnListenerCertificate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancingv2_CfnListenerCertificateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnListenerCertificate),error}cdk().requireProperty(props,"certificates",this),cdk().requireProperty(props,"listenerArn",this),this._certificates=props.certificates,this._listenerArn=props.listenerArn}get listenerCertificateRef(){return{listenerCertificateId:this.ref}}get certificates(){return this._certificates}set certificates(value){cdk().traceProperty(this.node,"Certificates"),this._certificates=value}get listenerArn(){return this._listenerArn}set listenerArn(value){cdk().traceProperty(this.node,"ListenerArn"),this._listenerArn=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{certificates:this._certificates,listenerArn:this._listenerArn}}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",CfnListenerCertificate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnListenerCertificatePropsToCloudFormation(props)}}exports.CfnListenerCertificate=CfnListenerCertificate;function CfnListenerCertificateCertificatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("certificateArn",cdk().validateString)(properties.certificateArn)),errors.wrap('supplied properties not correct for "CertificateProperty"')}function convertCfnListenerCertificateCertificatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerCertificateCertificatePropertyValidator(properties).assertSuccess(),{CertificateArn:cdk().stringToCloudFormation(properties.certificateArn)}):properties}function CfnListenerCertificateCertificatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("certificateArn","CertificateArn",properties.CertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerCertificatePropsValidator(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("certificates",cdk().requiredValidator)(properties.certificates)),errors.collect(cdk().propertyValidator("certificates",cdk().listValidator(CfnListenerCertificateCertificatePropertyValidator))(properties.certificates)),errors.collect(cdk().propertyValidator("listenerArn",cdk().requiredValidator)(properties.listenerArn)),errors.collect(cdk().propertyValidator("listenerArn",cdk().validateString)(properties.listenerArn)),errors.wrap('supplied properties not correct for "CfnListenerCertificateProps"')}function convertCfnListenerCertificatePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerCertificatePropsValidator(properties).assertSuccess(),{Certificates:cdk().listMapper(convertCfnListenerCertificateCertificatePropertyToCloudFormation)(properties.certificates),ListenerArn:cdk().stringToCloudFormation(properties.listenerArn)}):properties}function CfnListenerCertificatePropsFromCloudFormation(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("certificates","Certificates",properties.Certificates!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerCertificateCertificatePropertyFromCloudFormation)(properties.Certificates):void 0),ret.addPropertyResult("listenerArn","ListenerArn",properties.ListenerArn!=null?cfn_parse().FromCloudFormation.getString(properties.ListenerArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnListenerRule extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_elasticloadbalancingv2.CfnListenerRule",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ElasticLoadBalancingV2::ListenerRule";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnListenerRulePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnListenerRule(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 isCfnListenerRule(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnListenerRule.CFN_RESOURCE_TYPE_NAME}_actions;_conditions;_listenerArn;_priority;_transforms;cfnPropertyNames={actions:"Actions",conditions:"Conditions",listenerArn:"ListenerArn",priority:"Priority",transforms:"Transforms"};constructor(scope,id,props){super(scope,id,{type:CfnListenerRule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancingv2_CfnListenerRuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnListenerRule),error}cdk().requireProperty(props,"actions",this),cdk().requireProperty(props,"conditions",this),cdk().requireProperty(props,"priority",this),this._actions=props.actions,this._conditions=props.conditions,this._listenerArn=cdk().getRefProperty(props.listenerArn?.listenerRef,"listenerArn")??cdk().ensureStringOrUndefined(props.listenerArn,"listenerArn","elasticloadbalancingv2.IListenerRef | string"),this._priority=props.priority,this._transforms=props.transforms}get listenerRuleRef(){return{ruleArn:this.ref}}get actions(){return this._actions}set actions(value){cdk().traceProperty(this.node,"Actions"),this._actions=value}get conditions(){return this._conditions}set conditions(value){cdk().traceProperty(this.node,"Conditions"),this._conditions=value}get listenerArn(){return this._listenerArn}set listenerArn(value){cdk().traceProperty(this.node,"ListenerArn"),this._listenerArn=value}get priority(){return this._priority}set priority(value){cdk().traceProperty(this.node,"Priority"),this._priority=value}get transforms(){return this._transforms}set transforms(value){cdk().traceProperty(this.node,"Transforms"),this._transforms=value}get attrIsDefault(){return this.getAtt("IsDefault")}get attrRuleArn(){return cdk().Token.asString(this.getAtt("RuleArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{actions:this._actions,conditions:this._conditions,listenerArn:this._listenerArn,priority:this._priority,transforms:this._transforms}}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",CfnListenerRule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnListenerRulePropsToCloudFormation(props)}}exports.CfnListenerRule=CfnListenerRule;function CfnListenerRuleFixedResponseConfigPropertyValidator(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("contentType",cdk().validateString)(properties.contentType)),errors.collect(cdk().propertyValidator("messageBody",cdk().validateString)(properties.messageBody)),errors.collect(cdk().propertyValidator("statusCode",cdk().requiredValidator)(properties.statusCode)),errors.collect(cdk().propertyValidator("statusCode",cdk().validateString)(properties.statusCode)),errors.wrap('supplied properties not correct for "FixedResponseConfigProperty"')}function convertCfnListenerRuleFixedResponseConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleFixedResponseConfigPropertyValidator(properties).assertSuccess(),{ContentType:cdk().stringToCloudFormation(properties.contentType),MessageBody:cdk().stringToCloudFormation(properties.messageBody),StatusCode:cdk().stringToCloudFormation(properties.statusCode)}):properties}function CfnListenerRuleFixedResponseConfigPropertyFromCloudFormation(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("contentType","ContentType",properties.ContentType!=null?cfn_parse().FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("messageBody","MessageBody",properties.MessageBody!=null?cfn_parse().FromCloudFormation.getString(properties.MessageBody):void 0),ret.addPropertyResult("statusCode","StatusCode",properties.StatusCode!=null?cfn_parse().FromCloudFormation.getString(properties.StatusCode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleAuthenticateCognitoConfigPropertyValidator(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("authenticationRequestExtraParams",cdk().hashValidator(cdk().validateString))(properties.authenticationRequestExtraParams)),errors.collect(cdk().propertyValidator("onUnauthenticatedRequest",cdk().validateString)(properties.onUnauthenticatedRequest)),errors.collect(cdk().propertyValidator("scope",cdk().validateString)(properties.scope)),errors.collect(cdk().propertyValidator("sessionCookieName",cdk().validateString)(properties.sessionCookieName)),errors.collect(cdk().propertyValidator("sessionTimeout",cdk().validateNumber)(properties.sessionTimeout)),errors.collect(cdk().propertyValidator("userPoolArn",cdk().requiredValidator)(properties.userPoolArn)),errors.collect(cdk().propertyValidator("userPoolArn",cdk().validateString)(properties.userPoolArn)),errors.collect(cdk().propertyValidator("userPoolClientId",cdk().requiredValidator)(properties.userPoolClientId)),errors.collect(cdk().propertyValidator("userPoolClientId",cdk().validateString)(properties.userPoolClientId)),errors.collect(cdk().propertyValidator("userPoolDomain",cdk().requiredValidator)(properties.userPoolDomain)),errors.collect(cdk().propertyValidator("userPoolDomain",cdk().validateString)(properties.userPoolDomain)),errors.wrap('supplied properties not correct for "AuthenticateCognitoConfigProperty"')}function convertCfnListenerRuleAuthenticateCognitoConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleAuthenticateCognitoConfigPropertyValidator(properties).assertSuccess(),{AuthenticationRequestExtraParams:cdk().hashMapper(cdk().stringToCloudFormation)(properties.authenticationRequestExtraParams),OnUnauthenticatedRequest:cdk().stringToCloudFormation(properties.onUnauthenticatedRequest),Scope:cdk().stringToCloudFormation(properties.scope),SessionCookieName:cdk().stringToCloudFormation(properties.sessionCookieName),SessionTimeout:cdk().numberToCloudFormation(properties.sessionTimeout),UserPoolArn:cdk().stringToCloudFormation(properties.userPoolArn),UserPoolClientId:cdk().stringToCloudFormation(properties.userPoolClientId),UserPoolDomain:cdk().stringToCloudFormation(properties.userPoolDomain)}):properties}function CfnListenerRuleAuthenticateCognitoConfigPropertyFromCloudFormation(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("authenticationRequestExtraParams","AuthenticationRequestExtraParams",properties.AuthenticationRequestExtraParams!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.AuthenticationRequestExtraParams):void 0),ret.addPropertyResult("onUnauthenticatedRequest","OnUnauthenticatedRequest",properties.OnUnauthenticatedRequest!=null?cfn_parse().FromCloudFormation.getString(properties.OnUnauthenticatedRequest):void 0),ret.addPropertyResult("scope","Scope",properties.Scope!=null?cfn_parse().FromCloudFormation.getString(properties.Scope):void 0),ret.addPropertyResult("sessionCookieName","SessionCookieName",properties.SessionCookieName!=null?cfn_parse().FromCloudFormation.getString(properties.SessionCookieName):void 0),ret.addPropertyResult("sessionTimeout","SessionTimeout",properties.SessionTimeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.SessionTimeout):void 0),ret.addPropertyResult("userPoolArn","UserPoolArn",properties.UserPoolArn!=null?cfn_parse().FromCloudFormation.getString(properties.UserPoolArn):void 0),ret.addPropertyResult("userPoolClientId","UserPoolClientId",properties.UserPoolClientId!=null?cfn_parse().FromCloudFormation.getString(properties.UserPoolClientId):void 0),ret.addPropertyResult("userPoolDomain","UserPoolDomain",properties.UserPoolDomain!=null?cfn_parse().FromCloudFormation.getString(properties.UserPoolDomain):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleRedirectConfigPropertyValidator(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("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.collect(cdk().propertyValidator("port",cdk().validateString)(properties.port)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("query",cdk().validateString)(properties.query)),errors.collect(cdk().propertyValidator("statusCode",cdk().requiredValidator)(properties.statusCode)),errors.collect(cdk().propertyValidator("statusCode",cdk().validateString)(properties.statusCode)),errors.wrap('supplied properties not correct for "RedirectConfigProperty"')}function convertCfnListenerRuleRedirectConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleRedirectConfigPropertyValidator(properties).assertSuccess(),{Host:cdk().stringToCloudFormation(properties.host),Path:cdk().stringToCloudFormation(properties.path),Port:cdk().stringToCloudFormation(properties.port),Protocol:cdk().stringToCloudFormation(properties.protocol),Query:cdk().stringToCloudFormation(properties.query),StatusCode:cdk().stringToCloudFormation(properties.statusCode)}):properties}function CfnListenerRuleRedirectConfigPropertyFromCloudFormation(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("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getString(properties.Port):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse().FromCloudFormation.getString(properties.Protocol):void 0),ret.addPropertyResult("query","Query",properties.Query!=null?cfn_parse().FromCloudFormation.getString(properties.Query):void 0),ret.addPropertyResult("statusCode","StatusCode",properties.StatusCode!=null?cfn_parse().FromCloudFormation.getString(properties.StatusCode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleTargetGroupStickinessConfigPropertyValidator(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("durationSeconds",cdk().validateNumber)(properties.durationSeconds)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "TargetGroupStickinessConfigProperty"')}function convertCfnListenerRuleTargetGroupStickinessConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleTargetGroupStickinessConfigPropertyValidator(properties).assertSuccess(),{DurationSeconds:cdk().numberToCloudFormation(properties.durationSeconds),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnListenerRuleTargetGroupStickinessConfigPropertyFromCloudFormation(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("durationSeconds","DurationSeconds",properties.DurationSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.DurationSeconds):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleTargetGroupTuplePropertyValidator(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("targetGroupArn",cdk().validateString)(properties.targetGroupArn)),errors.collect(cdk().propertyValidator("weight",cdk().validateNumber)(properties.weight)),errors.wrap('supplied properties not correct for "TargetGroupTupleProperty"')}function convertCfnListenerRuleTargetGroupTuplePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleTargetGroupTuplePropertyValidator(properties).assertSuccess(),{TargetGroupArn:cdk().stringToCloudFormation(properties.targetGroupArn),Weight:cdk().numberToCloudFormation(properties.weight)}):properties}function CfnListenerRuleTargetGroupTuplePropertyFromCloudFormation(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("targetGroupArn","TargetGroupArn",properties.TargetGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetGroupArn):void 0),ret.addPropertyResult("weight","Weight",properties.Weight!=null?cfn_parse().FromCloudFormation.getNumber(properties.Weight):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleForwardConfigPropertyValidator(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("targetGroupStickinessConfig",CfnListenerRuleTargetGroupStickinessConfigPropertyValidator)(properties.targetGroupStickinessConfig)),errors.collect(cdk().propertyValidator("targetGroups",cdk().listValidator(CfnListenerRuleTargetGroupTuplePropertyValidator))(properties.targetGroups)),errors.wrap('supplied properties not correct for "ForwardConfigProperty"')}function convertCfnListenerRuleForwardConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleForwardConfigPropertyValidator(properties).assertSuccess(),{TargetGroupStickinessConfig:convertCfnListenerRuleTargetGroupStickinessConfigPropertyToCloudFormation(properties.targetGroupStickinessConfig),TargetGroups:cdk().listMapper(convertCfnListenerRuleTargetGroupTuplePropertyToCloudFormation)(properties.targetGroups)}):properties}function CfnListenerRuleForwardConfigPropertyFromCloudFormation(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("targetGroups","TargetGroups",properties.TargetGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerRuleTargetGroupTuplePropertyFromCloudFormation)(properties.TargetGroups):void 0),ret.addPropertyResult("targetGroupStickinessConfig","TargetGroupStickinessConfig",properties.TargetGroupStickinessConfig!=null?CfnListenerRuleTargetGroupStickinessConfigPropertyFromCloudFormation(properties.TargetGroupStickinessConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleAuthenticateOidcConfigPropertyValidator(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("authenticationRequestExtraParams",cdk().hashValidator(cdk().validateString))(properties.authenticationRequestExtraParams)),errors.collect(cdk().propertyValidator("authorizationEndpoint",cdk().requiredValidator)(properties.authorizationEndpoint)),errors.collect(cdk().propertyValidator("authorizationEndpoint",cdk().validateString)(properties.authorizationEndpoint)),errors.collect(cdk().propertyValidator("clientId",cdk().requiredValidator)(properties.clientId)),errors.collect(cdk().propertyValidator("clientId",cdk().validateString)(properties.clientId)),errors.collect(cdk().propertyValidator("clientSecret",cdk().validateString)(properties.clientSecret)),errors.collect(cdk().propertyValidator("issuer",cdk().requiredValidator)(properties.issuer)),errors.collect(cdk().propertyValidator("issuer",cdk().validateString)(properties.issuer)),errors.collect(cdk().propertyValidator("onUnauthenticatedRequest",cdk().validateString)(properties.onUnauthenticatedRequest)),errors.collect(cdk().propertyValidator("scope",cdk().validateString)(properties.scope)),errors.collect(cdk().propertyValidator("sessionCookieName",cdk().validateString)(properties.sessionCookieName)),errors.collect(cdk().propertyValidator("sessionTimeout",cdk().validateNumber)(properties.sessionTimeout)),errors.collect(cdk().propertyValidator("tokenEndpoint",cdk().requiredValidator)(properties.tokenEndpoint)),errors.collect(cdk().propertyValidator("tokenEndpoint",cdk().validateString)(properties.tokenEndpoint)),errors.collect(cdk().propertyValidator("useExistingClientSecret",cdk().validateBoolean)(properties.useExistingClientSecret)),errors.collect(cdk().propertyValidator("userInfoEndpoint",cdk().requiredValidator)(properties.userInfoEndpoint)),errors.collect(cdk().propertyValidator("userInfoEndpoint",cdk().validateString)(properties.userInfoEndpoint)),errors.wrap('supplied properties not correct for "AuthenticateOidcConfigProperty"')}function convertCfnListenerRuleAuthenticateOidcConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleAuthenticateOidcConfigPropertyValidator(properties).assertSuccess(),{AuthenticationRequestExtraParams:cdk().hashMapper(cdk().stringToCloudFormation)(properties.authenticationRequestExtraParams),AuthorizationEndpoint:cdk().stringToCloudFormation(properties.authorizationEndpoint),ClientId:cdk().stringToCloudFormation(properties.clientId),ClientSecret:cdk().stringToCloudFormation(properties.clientSecret),Issuer:cdk().stringToCloudFormation(properties.issuer),OnUnauthenticatedRequest:cdk().stringToCloudFormation(properties.onUnauthenticatedRequest),Scope:cdk().stringToCloudFormation(properties.scope),SessionCookieName:cdk().stringToCloudFormation(properties.sessionCookieName),SessionTimeout:cdk().numberToCloudFormation(properties.sessionTimeout),TokenEndpoint:cdk().stringToCloudFormation(properties.tokenEndpoint),UseExistingClientSecret:cdk().booleanToCloudFormation(properties.useExistingClientSecret),UserInfoEndpoint:cdk().stringToCloudFormation(properties.userInfoEndpoint)}):properties}function CfnListenerRuleAuthenticateOidcConfigPropertyFromCloudFormation(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("authenticationRequestExtraParams","AuthenticationRequestExtraParams",properties.AuthenticationRequestExtraParams!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.AuthenticationRequestExtraParams):void 0),ret.addPropertyResult("authorizationEndpoint","AuthorizationEndpoint",properties.AuthorizationEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizationEndpoint):void 0),ret.addPropertyResult("clientId","ClientId",properties.ClientId!=null?cfn_parse().FromCloudFormation.getString(properties.ClientId):void 0),ret.addPropertyResult("clientSecret","ClientSecret",properties.ClientSecret!=null?cfn_parse().FromCloudFormation.getString(properties.ClientSecret):void 0),ret.addPropertyResult("issuer","Issuer",properties.Issuer!=null?cfn_parse().FromCloudFormation.getString(properties.Issuer):void 0),ret.addPropertyResult("onUnauthenticatedRequest","OnUnauthenticatedRequest",properties.OnUnauthenticatedRequest!=null?cfn_parse().FromCloudFormation.getString(properties.OnUnauthenticatedRequest):void 0),ret.addPropertyResult("scope","Scope",properties.Scope!=null?cfn_parse().FromCloudFormation.getString(properties.Scope):void 0),ret.addPropertyResult("sessionCookieName","SessionCookieName",properties.SessionCookieName!=null?cfn_parse().FromCloudFormation.getString(properties.SessionCookieName):void 0),ret.addPropertyResult("sessionTimeout","SessionTimeout",properties.SessionTimeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.SessionTimeout):void 0),ret.addPropertyResult("tokenEndpoint","TokenEndpoint",properties.TokenEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.TokenEndpoint):void 0),ret.addPropertyResult("useExistingClientSecret","UseExistingClientSecret",properties.UseExistingClientSecret!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseExistingClientSecret):void 0),ret.addPropertyResult("userInfoEndpoint","UserInfoEndpoint",properties.UserInfoEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.UserInfoEndpoint):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleJwtValidationActionAdditionalClaimPropertyValidator(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("format",cdk().requiredValidator)(properties.format)),errors.collect(cdk().propertyValidator("format",cdk().validateString)(properties.format)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),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 "JwtValidationActionAdditionalClaimProperty"')}function convertCfnListenerRuleJwtValidationActionAdditionalClaimPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleJwtValidationActionAdditionalClaimPropertyValidator(properties).assertSuccess(),{Format:cdk().stringToCloudFormation(properties.format),Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnListenerRuleJwtValidationActionAdditionalClaimPropertyFromCloudFormation(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("format","Format",properties.Format!=null?cfn_parse().FromCloudFormation.getString(properties.Format):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):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 CfnListenerRuleJwtValidationConfigPropertyValidator(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("additionalClaims",cdk().listValidator(CfnListenerRuleJwtValidationActionAdditionalClaimPropertyValidator))(properties.additionalClaims)),errors.collect(cdk().propertyValidator("issuer",cdk().requiredValidator)(properties.issuer)),errors.collect(cdk().propertyValidator("issuer",cdk().validateString)(properties.issuer)),errors.collect(cdk().propertyValidator("jwksEndpoint",cdk().requiredValidator)(properties.jwksEndpoint)),errors.collect(cdk().propertyValidator("jwksEndpoint",cdk().validateString)(properties.jwksEndpoint)),errors.wrap('supplied properties not correct for "JwtValidationConfigProperty"')}function convertCfnListenerRuleJwtValidationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleJwtValidationConfigPropertyValidator(properties).assertSuccess(),{AdditionalClaims:cdk().listMapper(convertCfnListenerRuleJwtValidationActionAdditionalClaimPropertyToCloudFormation)(properties.additionalClaims),Issuer:cdk().stringToCloudFormation(properties.issuer),JwksEndpoint:cdk().stringToCloudFormation(properties.jwksEndpoint)}):properties}function CfnListenerRuleJwtValidationConfigPropertyFromCloudFormation(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("additionalClaims","AdditionalClaims",properties.AdditionalClaims!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerRuleJwtValidationActionAdditionalClaimPropertyFromCloudFormation)(properties.AdditionalClaims):void 0),ret.addPropertyResult("issuer","Issuer",properties.Issuer!=null?cfn_parse().FromCloudFormation.getString(properties.Issuer):void 0),ret.addPropertyResult("jwksEndpoint","JwksEndpoint",properties.JwksEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.JwksEndpoint):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleActionPropertyValidator(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("authenticateCognitoConfig",CfnListenerRuleAuthenticateCognitoConfigPropertyValidator)(properties.authenticateCognitoConfig)),errors.collect(cdk().propertyValidator("authenticateOidcConfig",CfnListenerRuleAuthenticateOidcConfigPropertyValidator)(properties.authenticateOidcConfig)),errors.collect(cdk().propertyValidator("fixedResponseConfig",CfnListenerRuleFixedResponseConfigPropertyValidator)(properties.fixedResponseConfig)),errors.collect(cdk().propertyValidator("forwardConfig",CfnListenerRuleForwardConfigPropertyValidator)(properties.forwardConfig)),errors.collect(cdk().propertyValidator("jwtValidationConfig",CfnListenerRuleJwtValidationConfigPropertyValidator)(properties.jwtValidationConfig)),errors.collect(cdk().propertyValidator("order",cdk().validateNumber)(properties.order)),errors.collect(cdk().propertyValidator("redirectConfig",CfnListenerRuleRedirectConfigPropertyValidator)(properties.redirectConfig)),errors.collect(cdk().propertyValidator("targetGroupArn",cdk().validateString)(properties.targetGroupArn)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ActionProperty"')}function convertCfnListenerRuleActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleActionPropertyValidator(properties).assertSuccess(),{AuthenticateCognitoConfig:convertCfnListenerRuleAuthenticateCognitoConfigPropertyToCloudFormation(properties.authenticateCognitoConfig),AuthenticateOidcConfig:convertCfnListenerRuleAuthenticateOidcConfigPropertyToCloudFormation(properties.authenticateOidcConfig),FixedResponseConfig:convertCfnListenerRuleFixedResponseConfigPropertyToCloudFormation(properties.fixedResponseConfig),ForwardConfig:convertCfnListenerRuleForwardConfigPropertyToCloudFormation(properties.forwardConfig),JwtValidationConfig:convertCfnListenerRuleJwtValidationConfigPropertyToCloudFormation(properties.jwtValidationConfig),Order:cdk().numberToCloudFormation(properties.order),RedirectConfig:convertCfnListenerRuleRedirectConfigPropertyToCloudFormation(properties.redirectConfig),TargetGroupArn:cdk().stringToCloudFormation(properties.targetGroupArn),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnListenerRuleActionPropertyFromCloudFormation(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("authenticateCognitoConfig","AuthenticateCognitoConfig",properties.AuthenticateCognitoConfig!=null?CfnListenerRuleAuthenticateCognitoConfigPropertyFromCloudFormation(properties.AuthenticateCognitoConfig):void 0),ret.addPropertyResult("authenticateOidcConfig","AuthenticateOidcConfig",properties.AuthenticateOidcConfig!=null?CfnListenerRuleAuthenticateOidcConfigPropertyFromCloudFormation(properties.AuthenticateOidcConfig):void 0),ret.addPropertyResult("fixedResponseConfig","FixedResponseConfig",properties.FixedResponseConfig!=null?CfnListenerRuleFixedResponseConfigPropertyFromCloudFormation(properties.FixedResponseConfig):void 0),ret.addPropertyResult("forwardConfig","ForwardConfig",properties.ForwardConfig!=null?CfnListenerRuleForwardConfigPropertyFromCloudFormation(properties.ForwardConfig):void 0),ret.addPropertyResult("jwtValidationConfig","JwtValidationConfig",properties.JwtValidationConfig!=null?CfnListenerRuleJwtValidationConfigPropertyFromCloudFormation(properties.JwtValidationConfig):void 0),ret.addPropertyResult("order","Order",properties.Order!=null?cfn_parse().FromCloudFormation.getNumber(properties.Order):void 0),ret.addPropertyResult("redirectConfig","RedirectConfig",properties.RedirectConfig!=null?CfnListenerRuleRedirectConfigPropertyFromCloudFormation(properties.RedirectConfig):void 0),ret.addPropertyResult("targetGroupArn","TargetGroupArn",properties.TargetGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetGroupArn):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleHttpHeaderConfigPropertyValidator(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("httpHeaderName",cdk().validateString)(properties.httpHeaderName)),errors.collect(cdk().propertyValidator("regexValues",cdk().listValidator(cdk().validateString))(properties.regexValues)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "HttpHeaderConfigProperty"')}function convertCfnListenerRuleHttpHeaderConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleHttpHeaderConfigPropertyValidator(properties).assertSuccess(),{HttpHeaderName:cdk().stringToCloudFormation(properties.httpHeaderName),RegexValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.regexValues),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnListenerRuleHttpHeaderConfigPropertyFromCloudFormation(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("httpHeaderName","HttpHeaderName",properties.HttpHeaderName!=null?cfn_parse().FromCloudFormation.getString(properties.HttpHeaderName):void 0),ret.addPropertyResult("regexValues","RegexValues",properties.RegexValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RegexValues):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 CfnListenerRuleQueryStringKeyValuePropertyValidator(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("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "QueryStringKeyValueProperty"')}function convertCfnListenerRuleQueryStringKeyValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleQueryStringKeyValuePropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnListenerRuleQueryStringKeyValuePropertyFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleQueryStringConfigPropertyValidator(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("values",cdk().listValidator(CfnListenerRuleQueryStringKeyValuePropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "QueryStringConfigProperty"')}function convertCfnListenerRuleQueryStringConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleQueryStringConfigPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(convertCfnListenerRuleQueryStringKeyValuePropertyToCloudFormation)(properties.values)}):properties}function CfnListenerRuleQueryStringConfigPropertyFromCloudFormation(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("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerRuleQueryStringKeyValuePropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleHostHeaderConfigPropertyValidator(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("regexValues",cdk().listValidator(cdk().validateString))(properties.regexValues)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "HostHeaderConfigProperty"')}function convertCfnListenerRuleHostHeaderConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleHostHeaderConfigPropertyValidator(properties).assertSuccess(),{RegexValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.regexValues),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnListenerRuleHostHeaderConfigPropertyFromCloudFormation(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("regexValues","RegexValues",properties.RegexValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RegexValues):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 CfnListenerRuleHttpRequestMethodConfigPropertyValidator(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("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "HttpRequestMethodConfigProperty"')}function convertCfnListenerRuleHttpRequestMethodConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleHttpRequestMethodConfigPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnListenerRuleHttpRequestMethodConfigPropertyFromCloudFormation(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("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRulePathPatternConfigPropertyValidator(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("regexValues",cdk().listValidator(cdk().validateString))(properties.regexValues)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "PathPatternConfigProperty"')}function convertCfnListenerRulePathPatternConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRulePathPatternConfigPropertyValidator(properties).assertSuccess(),{RegexValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.regexValues),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnListenerRulePathPatternConfigPropertyFromCloudFormation(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("regexValues","RegexValues",properties.RegexValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RegexValues):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 CfnListenerRuleSourceIpConfigPropertyValidator(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("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "SourceIpConfigProperty"')}function convertCfnListenerRuleSourceIpConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleSourceIpConfigPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnListenerRuleSourceIpConfigPropertyFromCloudFormation(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("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleRuleConditionPropertyValidator(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("field",cdk().validateString)(properties.field)),errors.collect(cdk().propertyValidator("hostHeaderConfig",CfnListenerRuleHostHeaderConfigPropertyValidator)(properties.hostHeaderConfig)),errors.collect(cdk().propertyValidator("httpHeaderConfig",CfnListenerRuleHttpHeaderConfigPropertyValidator)(properties.httpHeaderConfig)),errors.collect(cdk().propertyValidator("httpRequestMethodConfig",CfnListenerRuleHttpRequestMethodConfigPropertyValidator)(properties.httpRequestMethodConfig)),errors.collect(cdk().propertyValidator("pathPatternConfig",CfnListenerRulePathPatternConfigPropertyValidator)(properties.pathPatternConfig)),errors.collect(cdk().propertyValidator("queryStringConfig",CfnListenerRuleQueryStringConfigPropertyValidator)(properties.queryStringConfig)),errors.collect(cdk().propertyValidator("regexValues",cdk().listValidator(cdk().validateString))(properties.regexValues)),errors.collect(cdk().propertyValidator("sourceIpConfig",CfnListenerRuleSourceIpConfigPropertyValidator)(properties.sourceIpConfig)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "RuleConditionProperty"')}function convertCfnListenerRuleRuleConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleRuleConditionPropertyValidator(properties).assertSuccess(),{Field:cdk().stringToCloudFormation(properties.field),HostHeaderConfig:convertCfnListenerRuleHostHeaderConfigPropertyToCloudFormation(properties.hostHeaderConfig),HttpHeaderConfig:convertCfnListenerRuleHttpHeaderConfigPropertyToCloudFormation(properties.httpHeaderConfig),HttpRequestMethodConfig:convertCfnListenerRuleHttpRequestMethodConfigPropertyToCloudFormation(properties.httpRequestMethodConfig),PathPatternConfig:convertCfnListenerRulePathPatternConfigPropertyToCloudFormation(properties.pathPatternConfig),QueryStringConfig:convertCfnListenerRuleQueryStringConfigPropertyToCloudFormation(properties.queryStringConfig),RegexValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.regexValues),SourceIpConfig:convertCfnListenerRuleSourceIpConfigPropertyToCloudFormation(properties.sourceIpConfig),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnListenerRuleRuleConditionPropertyFromCloudFormation(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("field","Field",properties.Field!=null?cfn_parse().FromCloudFormation.getString(properties.Field):void 0),ret.addPropertyResult("hostHeaderConfig","HostHeaderConfig",properties.HostHeaderConfig!=null?CfnListenerRuleHostHeaderConfigPropertyFromCloudFormation(properties.HostHeaderConfig):void 0),ret.addPropertyResult("httpHeaderConfig","HttpHeaderConfig",properties.HttpHeaderConfig!=null?CfnListenerRuleHttpHeaderConfigPropertyFromCloudFormation(properties.HttpHeaderConfig):void 0),ret.addPropertyResult("httpRequestMethodConfig","HttpRequestMethodConfig",properties.HttpRequestMethodConfig!=null?CfnListenerRuleHttpRequestMethodConfigPropertyFromCloudFormation(properties.HttpRequestMethodConfig):void 0),ret.addPropertyResult("pathPatternConfig","PathPatternConfig",properties.PathPatternConfig!=null?CfnListenerRulePathPatternConfigPropertyFromCloudFormation(properties.PathPatternConfig):void 0),ret.addPropertyResult("queryStringConfig","QueryStringConfig",properties.QueryStringConfig!=null?CfnListenerRuleQueryStringConfigPropertyFromCloudFormation(properties.QueryStringConfig):void 0),ret.addPropertyResult("regexValues","RegexValues",properties.RegexValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RegexValues):void 0),ret.addPropertyResult("sourceIpConfig","SourceIpConfig",properties.SourceIpConfig!=null?CfnListenerRuleSourceIpConfigPropertyFromCloudFormation(properties.SourceIpConfig):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 CfnListenerRuleRewriteConfigPropertyValidator(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("regex",cdk().requiredValidator)(properties.regex)),errors.collect(cdk().propertyValidator("regex",cdk().validateString)(properties.regex)),errors.collect(cdk().propertyValidator("replace",cdk().requiredValidator)(properties.replace)),errors.collect(cdk().propertyValidator("replace",cdk().validateString)(properties.replace)),errors.wrap('supplied properties not correct for "RewriteConfigProperty"')}function convertCfnListenerRuleRewriteConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleRewriteConfigPropertyValidator(properties).assertSuccess(),{Regex:cdk().stringToCloudFormation(properties.regex),Replace:cdk().stringToCloudFormation(properties.replace)}):properties}function CfnListenerRuleRewriteConfigPropertyFromCloudFormation(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("regex","Regex",properties.Regex!=null?cfn_parse().FromCloudFormation.getString(properties.Regex):void 0),ret.addPropertyResult("replace","Replace",properties.Replace!=null?cfn_parse().FromCloudFormation.getString(properties.Replace):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleRewriteConfigObjectPropertyValidator(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("rewrites",cdk().requiredValidator)(properties.rewrites)),errors.collect(cdk().propertyValidator("rewrites",cdk().listValidator(CfnListenerRuleRewriteConfigPropertyValidator))(properties.rewrites)),errors.wrap('supplied properties not correct for "RewriteConfigObjectProperty"')}function convertCfnListenerRuleRewriteConfigObjectPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleRewriteConfigObjectPropertyValidator(properties).assertSuccess(),{Rewrites:cdk().listMapper(convertCfnListenerRuleRewriteConfigPropertyToCloudFormation)(properties.rewrites)}):properties}function CfnListenerRuleRewriteConfigObjectPropertyFromCloudFormation(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("rewrites","Rewrites",properties.Rewrites!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerRuleRewriteConfigPropertyFromCloudFormation)(properties.Rewrites):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRuleTransformPropertyValidator(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("hostHeaderRewriteConfig",CfnListenerRuleRewriteConfigObjectPropertyValidator)(properties.hostHeaderRewriteConfig)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("urlRewriteConfig",CfnListenerRuleRewriteConfigObjectPropertyValidator)(properties.urlRewriteConfig)),errors.wrap('supplied properties not correct for "TransformProperty"')}function convertCfnListenerRuleTransformPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRuleTransformPropertyValidator(properties).assertSuccess(),{HostHeaderRewriteConfig:convertCfnListenerRuleRewriteConfigObjectPropertyToCloudFormation(properties.hostHeaderRewriteConfig),Type:cdk().stringToCloudFormation(properties.type),UrlRewriteConfig:convertCfnListenerRuleRewriteConfigObjectPropertyToCloudFormation(properties.urlRewriteConfig)}):properties}function CfnListenerRuleTransformPropertyFromCloudFormation(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("hostHeaderRewriteConfig","HostHeaderRewriteConfig",properties.HostHeaderRewriteConfig!=null?CfnListenerRuleRewriteConfigObjectPropertyFromCloudFormation(properties.HostHeaderRewriteConfig):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("urlRewriteConfig","UrlRewriteConfig",properties.UrlRewriteConfig!=null?CfnListenerRuleRewriteConfigObjectPropertyFromCloudFormation(properties.UrlRewriteConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnListenerRulePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnListenerRuleActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("conditions",cdk().requiredValidator)(properties.conditions)),errors.collect(cdk().propertyValidator("conditions",cdk().listValidator(CfnListenerRuleRuleConditionPropertyValidator))(properties.conditions)),errors.collect(cdk().propertyValidator("listenerArn",cdk().validateString)(properties.listenerArn)),errors.collect(cdk().propertyValidator("priority",cdk().requiredValidator)(properties.priority)),errors.collect(cdk().propertyValidator("priority",cdk().validateNumber)(properties.priority)),errors.collect(cdk().propertyValidator("transforms",cdk().listValidator(CfnListenerRuleTransformPropertyValidator))(properties.transforms)),errors.wrap('supplied properties not correct for "CfnListenerRuleProps"')}function convertCfnListenerRulePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnListenerRulePropsValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnListenerRuleActionPropertyToCloudFormation)(properties.actions),Conditions:cdk().listMapper(convertCfnListenerRuleRuleConditionPropertyToCloudFormation)(properties.conditions),ListenerArn:cdk().stringToCloudFormation(properties.listenerArn),Priority:cdk().numberToCloudFormation(properties.priority),Transforms:cdk().listMapper(convertCfnListenerRuleTransformPropertyToCloudFormation)(properties.transforms)}):properties}function CfnListenerRulePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerRuleActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("conditions","Conditions",properties.Conditions!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerRuleRuleConditionPropertyFromCloudFormation)(properties.Conditions):void 0),ret.addPropertyResult("listenerArn","ListenerArn",properties.ListenerArn!=null?cfn_parse().FromCloudFormation.getString(properties.ListenerArn):void 0),ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse().FromCloudFormation.getNumber(properties.Priority):void 0),ret.addPropertyResult("transforms","Transforms",properties.Transforms!=null?cfn_parse().FromCloudFormation.getArray(CfnListenerRuleTransformPropertyFromCloudFormation)(properties.Transforms):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLoadBalancer extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_elasticloadbalancingv2.CfnLoadBalancer",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ElasticLoadBalancingV2::LoadBalancer";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLoadBalancerPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLoadBalancer(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 isCfnLoadBalancer(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLoadBalancer.CFN_RESOURCE_TYPE_NAME}static arnForLoadBalancer(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_elasticloadbalancingv2_ILoadBalancerRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForLoadBalancer),error}return resource.loadBalancerRef.loadBalancerArn}_enableCapacityReservationProvisionStabilize;_enablePrefixForIpv6SourceNat;_enforceSecurityGroupInboundRulesOnPrivateLinkTraffic;_ipAddressType;_ipv4IpamPoolId;_loadBalancerAttributes;_minimumLoadBalancerCapacity;_name;_scheme;_securityGroups;_subnetMappings;_subnets;tags;_tagsRaw;_type;cfnPropertyNames={enableCapacityReservationProvisionStabilize:"EnableCapacityReservationProvisionStabilize",enablePrefixForIpv6SourceNat:"EnablePrefixForIpv6SourceNat",enforceSecurityGroupInboundRulesOnPrivateLinkTraffic:"EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic",ipAddressType:"IpAddressType",ipv4IpamPoolId:"Ipv4IpamPoolId",loadBalancerAttributes:"LoadBalancerAttributes",minimumLoadBalancerCapacity:"MinimumLoadBalancerCapacity",name:"Name",scheme:"Scheme",securityGroups:"SecurityGroups",subnetMappings:"SubnetMappings",subnets:"Subnets",tags:"Tags",type:"Type"};constructor(scope,id,props={}){super(scope,id,{type:CfnLoadBalancer.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancingv2_CfnLoadBalancerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLoadBalancer),error}this._enableCapacityReservationProvisionStabilize=props.enableCapacityReservationProvisionStabilize,this._enablePrefixForIpv6SourceNat=props.enablePrefixForIpv6SourceNat,this._enforceSecurityGroupInboundRulesOnPrivateLinkTraffic=props.enforceSecurityGroupInboundRulesOnPrivateLinkTraffic,this._ipAddressType=props.ipAddressType,this._ipv4IpamPoolId=props.ipv4IpamPoolId,this._loadBalancerAttributes=props.loadBalancerAttributes,this._minimumLoadBalancerCapacity=props.minimumLoadBalancerCapacity,this._name=props.name,this._scheme=props.scheme,this._securityGroups=cdk().mapArrayInPlace(props.securityGroups,item=>cdk().getRefProperty(item?.securityGroupRef,"securityGroupId")??cdk().ensureStringOrUndefined(item,"securityGroups","ec2.ISecurityGroupRef | string")),this._subnetMappings=props.subnetMappings,this._subnets=cdk().mapArrayInPlace(props.subnets,item=>cdk().getRefProperty(item?.subnetRef,"subnetId")??cdk().ensureStringOrUndefined(item,"subnets","ec2.ISubnetRef | string")),this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ElasticLoadBalancingV2::LoadBalancer",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._type=props.type}get loadBalancerRef(){return{loadBalancerArn:this.ref}}get enableCapacityReservationProvisionStabilize(){return this._enableCapacityReservationProvisionStabilize}set enableCapacityReservationProvisionStabilize(value){cdk().traceProperty(this.node,"EnableCapacityReservationProvisionStabilize"),this._enableCapacityReservationProvisionStabilize=value}get enablePrefixForIpv6SourceNat(){return this._enablePrefixForIpv6SourceNat}set enablePrefixForIpv6SourceNat(value){cdk().traceProperty(this.node,"EnablePrefixForIpv6SourceNat"),this._enablePrefixForIpv6SourceNat=value}get enforceSecurityGroupInboundRulesOnPrivateLinkTraffic(){return this._enforceSecurityGroupInboundRulesOnPrivateLinkTraffic}set enforceSecurityGroupInboundRulesOnPrivateLinkTraffic(value){cdk().traceProperty(this.node,"EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic"),this._enforceSecurityGroupInboundRulesOnPrivateLinkTraffic=value}get ipAddressType(){return this._ipAddressType}set ipAddressType(value){cdk().traceProperty(this.node,"IpAddressType"),this._ipAddressType=value}get ipv4IpamPoolId(){return this._ipv4IpamPoolId}set ipv4IpamPoolId(value){cdk().traceProperty(this.node,"Ipv4IpamPoolId"),this._ipv4IpamPoolId=value}get loadBalancerAttributes(){return this._loadBalancerAttributes}set loadBalancerAttributes(value){cdk().traceProperty(this.node,"LoadBalancerAttributes"),this._loadBalancerAttributes=value}get minimumLoadBalancerCapacity(){return this._minimumLoadBalancerCapacity}set minimumLoadBalancerCapacity(value){cdk().traceProperty(this.node,"MinimumLoadBalancerCapacity"),this._minimumLoadBalancerCapacity=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get scheme(){return this._scheme}set scheme(value){cdk().traceProperty(this.node,"Scheme"),this._scheme=value}get securityGroups(){return this._securityGroups}set securityGroups(value){cdk().traceProperty(this.node,"SecurityGroups"),this._securityGroups=value}get subnetMappings(){return this._subnetMappings}set subnetMappings(value){cdk().traceProperty(this.node,"SubnetMappings"),this._subnetMappings=value}get subnets(){return this._subnets}set subnets(value){cdk().traceProperty(this.node,"Subnets"),this._subnets=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrCanonicalHostedZoneId(){return cdk().Token.asString(this.getAtt("CanonicalHostedZoneID",cdk().ResolutionTypeHint.STRING))}get attrDnsName(){return cdk().Token.asString(this.getAtt("DNSName",cdk().ResolutionTypeHint.STRING))}get attrLoadBalancerArn(){return cdk().Token.asString(this.getAtt("LoadBalancerArn",cdk().ResolutionTypeHint.STRING))}get attrLoadBalancerFullName(){return cdk().Token.asString(this.getAtt("LoadBalancerFullName",cdk().ResolutionTypeHint.STRING))}get attrLoadBalancerName(){return cdk().Token.asString(this.getAtt("LoadBalancerName",cdk().ResolutionTypeHint.STRING))}get attrSecurityGroups(){return cdk().Token.asList(this.getAtt("SecurityGroups",cdk().ResolutionTypeHint.STRING_LIST))}get cfnProperties(){return{enableCapacityReservationProvisionStabilize:this._enableCapacityReservationProvisionStabilize,enablePrefixForIpv6SourceNat:this._enablePrefixForIpv6SourceNat,enforceSecurityGroupInboundRulesOnPrivateLinkTraffic:this._enforceSecurityGroupInboundRulesOnPrivateLinkTraffic,ipAddressType:this._ipAddressType,ipv4IpamPoolId:this._ipv4IpamPoolId,loadBalancerAttributes:this._loadBalancerAttributes,minimumLoadBalancerCapacity:this._minimumLoadBalancerCapacity,name:this._name,scheme:this._scheme,securityGroups:this._securityGroups,subnetMappings:this._subnetMappings,subnets:this._subnets,tags:this.tags.renderTags(),type:this._type}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnLoadBalancer.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLoadBalancerPropsToCloudFormation(props)}}exports.CfnLoadBalancer=CfnLoadBalancer;function CfnLoadBalancerLoadBalancerAttributePropertyValidator(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("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "LoadBalancerAttributeProperty"')}function convertCfnLoadBalancerLoadBalancerAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLoadBalancerLoadBalancerAttributePropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnLoadBalancerLoadBalancerAttributePropertyFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLoadBalancerSubnetMappingPropertyValidator(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("allocationId",cdk().validateString)(properties.allocationId)),errors.collect(cdk().propertyValidator("iPv6Address",cdk().validateString)(properties.iPv6Address)),errors.collect(cdk().propertyValidator("privateIPv4Address",cdk().validateString)(properties.privateIPv4Address)),errors.collect(cdk().propertyValidator("sourceNatIpv6Prefix",cdk().validateString)(properties.sourceNatIpv6Prefix)),errors.collect(cdk().propertyValidator("subnetId",cdk().requiredValidator)(properties.subnetId)),errors.collect(cdk().propertyValidator("subnetId",cdk().validateString)(properties.subnetId)),errors.wrap('supplied properties not correct for "SubnetMappingProperty"')}function convertCfnLoadBalancerSubnetMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLoadBalancerSubnetMappingPropertyValidator(properties).assertSuccess(),{AllocationId:cdk().stringToCloudFormation(properties.allocationId),IPv6Address:cdk().stringToCloudFormation(properties.iPv6Address),PrivateIPv4Address:cdk().stringToCloudFormation(properties.privateIPv4Address),SourceNatIpv6Prefix:cdk().stringToCloudFormation(properties.sourceNatIpv6Prefix),SubnetId:cdk().stringToCloudFormation(properties.subnetId)}):properties}function CfnLoadBalancerSubnetMappingPropertyFromCloudFormation(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("allocationId","AllocationId",properties.AllocationId!=null?cfn_parse().FromCloudFormation.getString(properties.AllocationId):void 0),ret.addPropertyResult("iPv6Address","IPv6Address",properties.IPv6Address!=null?cfn_parse().FromCloudFormation.getString(properties.IPv6Address):void 0),ret.addPropertyResult("privateIPv4Address","PrivateIPv4Address",properties.PrivateIPv4Address!=null?cfn_parse().FromCloudFormation.getString(properties.PrivateIPv4Address):void 0),ret.addPropertyResult("sourceNatIpv6Prefix","SourceNatIpv6Prefix",properties.SourceNatIpv6Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.SourceNatIpv6Prefix):void 0),ret.addPropertyResult("subnetId","SubnetId",properties.SubnetId!=null?cfn_parse().FromCloudFormation.getString(properties.SubnetId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLoadBalancerMinimumLoadBalancerCapacityPropertyValidator(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("capacityUnits",cdk().requiredValidator)(properties.capacityUnits)),errors.collect(cdk().propertyValidator("capacityUnits",cdk().validateNumber)(properties.capacityUnits)),errors.wrap('supplied properties not correct for "MinimumLoadBalancerCapacityProperty"')}function convertCfnLoadBalancerMinimumLoadBalancerCapacityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLoadBalancerMinimumLoadBalancerCapacityPropertyValidator(properties).assertSuccess(),{CapacityUnits:cdk().numberToCloudFormation(properties.capacityUnits)}):properties}function CfnLoadBalancerMinimumLoadBalancerCapacityPropertyFromCloudFormation(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("capacityUnits","CapacityUnits",properties.CapacityUnits!=null?cfn_parse().FromCloudFormation.getNumber(properties.CapacityUnits):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLoadBalancerPropsValidator(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("enableCapacityReservationProvisionStabilize",cdk().validateBoolean)(properties.enableCapacityReservationProvisionStabilize)),errors.collect(cdk().propertyValidator("enablePrefixForIpv6SourceNat",cdk().validateString)(properties.enablePrefixForIpv6SourceNat)),errors.collect(cdk().propertyValidator("enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",cdk().validateString)(properties.enforceSecurityGroupInboundRulesOnPrivateLinkTraffic)),errors.collect(cdk().propertyValidator("ipAddressType",cdk().validateString)(properties.ipAddressType)),errors.collect(cdk().propertyValidator("ipv4IpamPoolId",cdk().validateString)(properties.ipv4IpamPoolId)),errors.collect(cdk().propertyValidator("loadBalancerAttributes",cdk().listValidator(CfnLoadBalancerLoadBalancerAttributePropertyValidator))(properties.loadBalancerAttributes)),errors.collect(cdk().propertyValidator("minimumLoadBalancerCapacity",CfnLoadBalancerMinimumLoadBalancerCapacityPropertyValidator)(properties.minimumLoadBalancerCapacity)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("scheme",cdk().validateString)(properties.scheme)),errors.collect(cdk().propertyValidator("securityGroups",cdk().listValidator(cdk().validateString))(properties.securityGroups)),errors.collect(cdk().propertyValidator("subnetMappings",cdk().listValidator(CfnLoadBalancerSubnetMappingPropertyValidator))(properties.subnetMappings)),errors.collect(cdk().propertyValidator("subnets",cdk().listValidator(cdk().validateString))(properties.subnets)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnLoadBalancerProps"')}function convertCfnLoadBalancerPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLoadBalancerPropsValidator(properties).assertSuccess(),{EnableCapacityReservationProvisionStabilize:cdk().booleanToCloudFormation(properties.enableCapacityReservationProvisionStabilize),EnablePrefixForIpv6SourceNat:cdk().stringToCloudFormation(properties.enablePrefixForIpv6SourceNat),EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic:cdk().stringToCloudFormation(properties.enforceSecurityGroupInboundRulesOnPrivateLinkTraffic),IpAddressType:cdk().stringToCloudFormation(properties.ipAddressType),Ipv4IpamPoolId:cdk().stringToCloudFormation(properties.ipv4IpamPoolId),LoadBalancerAttributes:cdk().listMapper(convertCfnLoadBalancerLoadBalancerAttributePropertyToCloudFormation)(properties.loadBalancerAttributes),MinimumLoadBalancerCapacity:convertCfnLoadBalancerMinimumLoadBalancerCapacityPropertyToCloudFormation(properties.minimumLoadBalancerCapacity),Name:cdk().stringToCloudFormation(properties.name),Scheme:cdk().stringToCloudFormation(properties.scheme),SecurityGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroups),SubnetMappings:cdk().listMapper(convertCfnLoadBalancerSubnetMappingPropertyToCloudFormation)(properties.subnetMappings),Subnets:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnets),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnLoadBalancerPropsFromCloudFormation(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("enableCapacityReservationProvisionStabilize","EnableCapacityReservationProvisionStabilize",properties.EnableCapacityReservationProvisionStabilize!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableCapacityReservationProvisionStabilize):void 0),ret.addPropertyResult("enablePrefixForIpv6SourceNat","EnablePrefixForIpv6SourceNat",properties.EnablePrefixForIpv6SourceNat!=null?cfn_parse().FromCloudFormation.getString(properties.EnablePrefixForIpv6SourceNat):void 0),ret.addPropertyResult("enforceSecurityGroupInboundRulesOnPrivateLinkTraffic","EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic",properties.EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic!=null?cfn_parse().FromCloudFormation.getString(properties.EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic):void 0),ret.addPropertyResult("ipAddressType","IpAddressType",properties.IpAddressType!=null?cfn_parse().FromCloudFormation.getString(properties.IpAddressType):void 0),ret.addPropertyResult("ipv4IpamPoolId","Ipv4IpamPoolId",properties.Ipv4IpamPoolId!=null?cfn_parse().FromCloudFormation.getString(properties.Ipv4IpamPoolId):void 0),ret.addPropertyResult("loadBalancerAttributes","LoadBalancerAttributes",properties.LoadBalancerAttributes!=null?cfn_parse().FromCloudFormation.getArray(CfnLoadBalancerLoadBalancerAttributePropertyFromCloudFormation)(properties.LoadBalancerAttributes):void 0),ret.addPropertyResult("minimumLoadBalancerCapacity","MinimumLoadBalancerCapacity",properties.MinimumLoadBalancerCapacity!=null?CfnLoadBalancerMinimumLoadBalancerCapacityPropertyFromCloudFormation(properties.MinimumLoadBalancerCapacity):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("scheme","Scheme",properties.Scheme!=null?cfn_parse().FromCloudFormation.getString(properties.Scheme):void 0),ret.addPropertyResult("securityGroups","SecurityGroups",properties.SecurityGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroups):void 0),ret.addPropertyResult("subnetMappings","SubnetMappings",properties.SubnetMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnLoadBalancerSubnetMappingPropertyFromCloudFormation)(properties.SubnetMappings):void 0),ret.addPropertyResult("subnets","Subnets",properties.Subnets!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Subnets):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTargetGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_elasticloadbalancingv2.CfnTargetGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ElasticLoadBalancingV2::TargetGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTargetGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTargetGroup(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 isCfnTargetGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTargetGroup.CFN_RESOURCE_TYPE_NAME}static arnForTargetGroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_elasticloadbalancingv2_ITargetGroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTargetGroup),error}return resource.targetGroupRef.targetGroupArn}_healthCheckEnabled;_healthCheckIntervalSeconds;_healthCheckPath;_healthCheckPort;_healthCheckProtocol;_healthCheckTimeoutSeconds;_healthyThresholdCount;_ipAddressType;_matcher;_name;_port;_protocol;_protocolVersion;tags;_tagsRaw;_targetControlPort;_targetGroupAttributes;_targets;_targetType;_unhealthyThresholdCount;_vpcId;cfnPropertyNames={healthCheckEnabled:"HealthCheckEnabled",healthCheckIntervalSeconds:"HealthCheckIntervalSeconds",healthCheckPath:"HealthCheckPath",healthCheckPort:"HealthCheckPort",healthCheckProtocol:"HealthCheckProtocol",healthCheckTimeoutSeconds:"HealthCheckTimeoutSeconds",healthyThresholdCount:"HealthyThresholdCount",ipAddressType:"IpAddressType",matcher:"Matcher",name:"Name",port:"Port",protocol:"Protocol",protocolVersion:"ProtocolVersion",tags:"Tags",targetControlPort:"TargetControlPort",targetGroupAttributes:"TargetGroupAttributes",targets:"Targets",targetType:"TargetType",unhealthyThresholdCount:"UnhealthyThresholdCount",vpcId:"VpcId"};constructor(scope,id,props={}){super(scope,id,{type:CfnTargetGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancingv2_CfnTargetGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTargetGroup),error}this._healthCheckEnabled=props.healthCheckEnabled,this._healthCheckIntervalSeconds=props.healthCheckIntervalSeconds,this._healthCheckPath=props.healthCheckPath,this._healthCheckPort=props.healthCheckPort,this._healthCheckProtocol=props.healthCheckProtocol,this._healthCheckTimeoutSeconds=props.healthCheckTimeoutSeconds,this._healthyThresholdCount=props.healthyThresholdCount,this._ipAddressType=props.ipAddressType,this._matcher=props.matcher,this._name=props.name,this._port=props.port,this._protocol=props.protocol,this._protocolVersion=props.protocolVersion,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ElasticLoadBalancingV2::TargetGroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._targetControlPort=props.targetControlPort,this._targetGroupAttributes=props.targetGroupAttributes,this._targets=props.targets,this._targetType=props.targetType,this._unhealthyThresholdCount=props.unhealthyThresholdCount,this._vpcId=cdk().getRefProperty(props.vpcId?.vpcRef,"vpcId")??cdk().ensureStringOrUndefined(props.vpcId,"vpcId","ec2.IVPCRef | string")}get targetGroupRef(){return{targetGroupArn:this.ref}}get healthCheckEnabled(){return this._healthCheckEnabled}set healthCheckEnabled(value){cdk().traceProperty(this.node,"HealthCheckEnabled"),this._healthCheckEnabled=value}get healthCheckIntervalSeconds(){return this._healthCheckIntervalSeconds}set healthCheckIntervalSeconds(value){cdk().traceProperty(this.node,"HealthCheckIntervalSeconds"),this._healthCheckIntervalSeconds=value}get healthCheckPath(){return this._healthCheckPath}set healthCheckPath(value){cdk().traceProperty(this.node,"HealthCheckPath"),this._healthCheckPath=value}get healthCheckPort(){return this._healthCheckPort}set healthCheckPort(value){cdk().traceProperty(this.node,"HealthCheckPort"),this._healthCheckPort=value}get healthCheckProtocol(){return this._healthCheckProtocol}set healthCheckProtocol(value){cdk().traceProperty(this.node,"HealthCheckProtocol"),this._healthCheckProtocol=value}get healthCheckTimeoutSeconds(){return this._healthCheckTimeoutSeconds}set healthCheckTimeoutSeconds(value){cdk().traceProperty(this.node,"HealthCheckTimeoutSeconds"),this._healthCheckTimeoutSeconds=value}get healthyThresholdCount(){return this._healthyThresholdCount}set healthyThresholdCount(value){cdk().traceProperty(this.node,"HealthyThresholdCount"),this._healthyThresholdCount=value}get ipAddressType(){return this._ipAddressType}set ipAddressType(value){cdk().traceProperty(this.node,"IpAddressType"),this._ipAddressType=value}get matcher(){return this._matcher}set matcher(value){cdk().traceProperty(this.node,"Matcher"),this._matcher=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=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 protocolVersion(){return this._protocolVersion}set protocolVersion(value){cdk().traceProperty(this.node,"ProtocolVersion"),this._protocolVersion=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get targetControlPort(){return this._targetControlPort}set targetControlPort(value){cdk().traceProperty(this.node,"TargetControlPort"),this._targetControlPort=value}get targetGroupAttributes(){return this._targetGroupAttributes}set targetGroupAttributes(value){cdk().traceProperty(this.node,"TargetGroupAttributes"),this._targetGroupAttributes=value}get targets(){return this._targets}set targets(value){cdk().traceProperty(this.node,"Targets"),this._targets=value}get targetType(){return this._targetType}set targetType(value){cdk().traceProperty(this.node,"TargetType"),this._targetType=value}get unhealthyThresholdCount(){return this._unhealthyThresholdCount}set unhealthyThresholdCount(value){cdk().traceProperty(this.node,"UnhealthyThresholdCount"),this._unhealthyThresholdCount=value}get vpcId(){return this._vpcId}set vpcId(value){cdk().traceProperty(this.node,"VpcId"),this._vpcId=value}get attrLoadBalancerArns(){return cdk().Token.asList(this.getAtt("LoadBalancerArns",cdk().ResolutionTypeHint.STRING_LIST))}get attrTargetGroupArn(){return cdk().Token.asString(this.getAtt("TargetGroupArn",cdk().ResolutionTypeHint.STRING))}get attrTargetGroupFullName(){return cdk().Token.asString(this.getAtt("TargetGroupFullName",cdk().ResolutionTypeHint.STRING))}get attrTargetGroupName(){return cdk().Token.asString(this.getAtt("TargetGroupName",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{healthCheckEnabled:this._healthCheckEnabled,healthCheckIntervalSeconds:this._healthCheckIntervalSeconds,healthCheckPath:this._healthCheckPath,healthCheckPort:this._healthCheckPort,healthCheckProtocol:this._healthCheckProtocol,healthCheckTimeoutSeconds:this._healthCheckTimeoutSeconds,healthyThresholdCount:this._healthyThresholdCount,ipAddressType:this._ipAddressType,matcher:this._matcher,name:this._name,port:this._port,protocol:this._protocol,protocolVersion:this._protocolVersion,tags:this.tags.renderTags(),targetControlPort:this._targetControlPort,targetGroupAttributes:this._targetGroupAttributes,targets:this._targets,targetType:this._targetType,unhealthyThresholdCount:this._unhealthyThresholdCount,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",CfnTargetGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTargetGroupPropsToCloudFormation(props)}}exports.CfnTargetGroup=CfnTargetGroup;function CfnTargetGroupMatcherPropertyValidator(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("grpcCode",cdk().validateString)(properties.grpcCode)),errors.collect(cdk().propertyValidator("httpCode",cdk().validateString)(properties.httpCode)),errors.wrap('supplied properties not correct for "MatcherProperty"')}function convertCfnTargetGroupMatcherPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTargetGroupMatcherPropertyValidator(properties).assertSuccess(),{GrpcCode:cdk().stringToCloudFormation(properties.grpcCode),HttpCode:cdk().stringToCloudFormation(properties.httpCode)}):properties}function CfnTargetGroupMatcherPropertyFromCloudFormation(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("grpcCode","GrpcCode",properties.GrpcCode!=null?cfn_parse().FromCloudFormation.getString(properties.GrpcCode):void 0),ret.addPropertyResult("httpCode","HttpCode",properties.HttpCode!=null?cfn_parse().FromCloudFormation.getString(properties.HttpCode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTargetGroupTargetDescriptionPropertyValidator(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("availabilityZone",cdk().validateString)(properties.availabilityZone)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("quicServerId",cdk().validateString)(properties.quicServerId)),errors.wrap('supplied properties not correct for "TargetDescriptionProperty"')}function convertCfnTargetGroupTargetDescriptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTargetGroupTargetDescriptionPropertyValidator(properties).assertSuccess(),{AvailabilityZone:cdk().stringToCloudFormation(properties.availabilityZone),Id:cdk().stringToCloudFormation(properties.id),Port:cdk().numberToCloudFormation(properties.port),QuicServerId:cdk().stringToCloudFormation(properties.quicServerId)}):properties}function CfnTargetGroupTargetDescriptionPropertyFromCloudFormation(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("availabilityZone","AvailabilityZone",properties.AvailabilityZone!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityZone):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("quicServerId","QuicServerId",properties.QuicServerId!=null?cfn_parse().FromCloudFormation.getString(properties.QuicServerId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTargetGroupTargetGroupAttributePropertyValidator(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("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "TargetGroupAttributeProperty"')}function convertCfnTargetGroupTargetGroupAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTargetGroupTargetGroupAttributePropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnTargetGroupTargetGroupAttributePropertyFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTargetGroupPropsValidator(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("healthCheckEnabled",cdk().validateBoolean)(properties.healthCheckEnabled)),errors.collect(cdk().propertyValidator("healthCheckIntervalSeconds",cdk().validateNumber)(properties.healthCheckIntervalSeconds)),errors.collect(cdk().propertyValidator("healthCheckPath",cdk().validateString)(properties.healthCheckPath)),errors.collect(cdk().propertyValidator("healthCheckPort",cdk().validateString)(properties.healthCheckPort)),errors.collect(cdk().propertyValidator("healthCheckProtocol",cdk().validateString)(properties.healthCheckProtocol)),errors.collect(cdk().propertyValidator("healthCheckTimeoutSeconds",cdk().validateNumber)(properties.healthCheckTimeoutSeconds)),errors.collect(cdk().propertyValidator("healthyThresholdCount",cdk().validateNumber)(properties.healthyThresholdCount)),errors.collect(cdk().propertyValidator("ipAddressType",cdk().validateString)(properties.ipAddressType)),errors.collect(cdk().propertyValidator("matcher",CfnTargetGroupMatcherPropertyValidator)(properties.matcher)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("protocolVersion",cdk().validateString)(properties.protocolVersion)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetControlPort",cdk().validateNumber)(properties.targetControlPort)),errors.collect(cdk().propertyValidator("targetGroupAttributes",cdk().listValidator(CfnTargetGroupTargetGroupAttributePropertyValidator))(properties.targetGroupAttributes)),errors.collect(cdk().propertyValidator("targetType",cdk().validateString)(properties.targetType)),errors.collect(cdk().propertyValidator("targets",cdk().listValidator(CfnTargetGroupTargetDescriptionPropertyValidator))(properties.targets)),errors.collect(cdk().propertyValidator("unhealthyThresholdCount",cdk().validateNumber)(properties.unhealthyThresholdCount)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "CfnTargetGroupProps"')}function convertCfnTargetGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTargetGroupPropsValidator(properties).assertSuccess(),{HealthCheckEnabled:cdk().booleanToCloudFormation(properties.healthCheckEnabled),HealthCheckIntervalSeconds:cdk().numberToCloudFormation(properties.healthCheckIntervalSeconds),HealthCheckPath:cdk().stringToCloudFormation(properties.healthCheckPath),HealthCheckPort:cdk().stringToCloudFormation(properties.healthCheckPort),HealthCheckProtocol:cdk().stringToCloudFormation(properties.healthCheckProtocol),HealthCheckTimeoutSeconds:cdk().numberToCloudFormation(properties.healthCheckTimeoutSeconds),HealthyThresholdCount:cdk().numberToCloudFormation(properties.healthyThresholdCount),IpAddressType:cdk().stringToCloudFormation(properties.ipAddressType),Matcher:convertCfnTargetGroupMatcherPropertyToCloudFormation(properties.matcher),Name:cdk().stringToCloudFormation(properties.name),Port:cdk().numberToCloudFormation(properties.port),Protocol:cdk().stringToCloudFormation(properties.protocol),ProtocolVersion:cdk().stringToCloudFormation(properties.protocolVersion),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetControlPort:cdk().numberToCloudFormation(properties.targetControlPort),TargetGroupAttributes:cdk().listMapper(convertCfnTargetGroupTargetGroupAttributePropertyToCloudFormation)(properties.targetGroupAttributes),TargetType:cdk().stringToCloudFormation(properties.targetType),Targets:cdk().listMapper(convertCfnTargetGroupTargetDescriptionPropertyToCloudFormation)(properties.targets),UnhealthyThresholdCount:cdk().numberToCloudFormation(properties.unhealthyThresholdCount),VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnTargetGroupPropsFromCloudFormation(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("healthCheckEnabled","HealthCheckEnabled",properties.HealthCheckEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.HealthCheckEnabled):void 0),ret.addPropertyResult("healthCheckIntervalSeconds","HealthCheckIntervalSeconds",properties.HealthCheckIntervalSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.HealthCheckIntervalSeconds):void 0),ret.addPropertyResult("healthCheckPath","HealthCheckPath",properties.HealthCheckPath!=null?cfn_parse().FromCloudFormation.getString(properties.HealthCheckPath):void 0),ret.addPropertyResult("healthCheckPort","HealthCheckPort",properties.HealthCheckPort!=null?cfn_parse().FromCloudFormation.getString(properties.HealthCheckPort):void 0),ret.addPropertyResult("healthCheckProtocol","HealthCheckProtocol",properties.HealthCheckProtocol!=null?cfn_parse().FromCloudFormation.getString(properties.HealthCheckProtocol):void 0),ret.addPropertyResult("healthCheckTimeoutSeconds","HealthCheckTimeoutSeconds",properties.HealthCheckTimeoutSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.HealthCheckTimeoutSeconds):void 0),ret.addPropertyResult("healthyThresholdCount","HealthyThresholdCount",properties.HealthyThresholdCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.HealthyThresholdCount):void 0),ret.addPropertyResult("ipAddressType","IpAddressType",properties.IpAddressType!=null?cfn_parse().FromCloudFormation.getString(properties.IpAddressType):void 0),ret.addPropertyResult("matcher","Matcher",properties.Matcher!=null?CfnTargetGroupMatcherPropertyFromCloudFormation(properties.Matcher):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):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("protocolVersion","ProtocolVersion",properties.ProtocolVersion!=null?cfn_parse().FromCloudFormation.getString(properties.ProtocolVersion):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetControlPort","TargetControlPort",properties.TargetControlPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.TargetControlPort):void 0),ret.addPropertyResult("targetGroupAttributes","TargetGroupAttributes",properties.TargetGroupAttributes!=null?cfn_parse().FromCloudFormation.getArray(CfnTargetGroupTargetGroupAttributePropertyFromCloudFormation)(properties.TargetGroupAttributes):void 0),ret.addPropertyResult("targets","Targets",properties.Targets!=null?cfn_parse().FromCloudFormation.getArray(CfnTargetGroupTargetDescriptionPropertyFromCloudFormation)(properties.Targets):void 0),ret.addPropertyResult("targetType","TargetType",properties.TargetType!=null?cfn_parse().FromCloudFormation.getString(properties.TargetType):void 0),ret.addPropertyResult("unhealthyThresholdCount","UnhealthyThresholdCount",properties.UnhealthyThresholdCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.UnhealthyThresholdCount):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTrustStore extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_elasticloadbalancingv2.CfnTrustStore",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ElasticLoadBalancingV2::TrustStore";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTrustStorePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTrustStore(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 isCfnTrustStore(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTrustStore.CFN_RESOURCE_TYPE_NAME}static arnForTrustStore(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_elasticloadbalancingv2_ITrustStoreRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTrustStore),error}return resource.trustStoreRef.trustStoreArn}_caCertificatesBundleS3Bucket;_caCertificatesBundleS3Key;_caCertificatesBundleS3ObjectVersion;cdkTagManager;_name;_tags;cfnPropertyNames={caCertificatesBundleS3Bucket:"CaCertificatesBundleS3Bucket",caCertificatesBundleS3Key:"CaCertificatesBundleS3Key",caCertificatesBundleS3ObjectVersion:"CaCertificatesBundleS3ObjectVersion",tags:"Tags",name:"Name"};constructor(scope,id,props={}){super(scope,id,{type:CfnTrustStore.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancingv2_CfnTrustStoreProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTrustStore),error}this._caCertificatesBundleS3Bucket=props.caCertificatesBundleS3Bucket,this._caCertificatesBundleS3Key=props.caCertificatesBundleS3Key,this._caCertificatesBundleS3ObjectVersion=props.caCertificatesBundleS3ObjectVersion,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ElasticLoadBalancingV2::TrustStore",void 0,{tagPropertyName:"tags"}),this._name=props.name,this._tags=props.tags}get trustStoreRef(){return{trustStoreArn:this.ref}}get caCertificatesBundleS3Bucket(){return this._caCertificatesBundleS3Bucket}set caCertificatesBundleS3Bucket(value){cdk().traceProperty(this.node,"CaCertificatesBundleS3Bucket"),this._caCertificatesBundleS3Bucket=value}get caCertificatesBundleS3Key(){return this._caCertificatesBundleS3Key}set caCertificatesBundleS3Key(value){cdk().traceProperty(this.node,"CaCertificatesBundleS3Key"),this._caCertificatesBundleS3Key=value}get caCertificatesBundleS3ObjectVersion(){return this._caCertificatesBundleS3ObjectVersion}set caCertificatesBundleS3ObjectVersion(value){cdk().traceProperty(this.node,"CaCertificatesBundleS3ObjectVersion"),this._caCertificatesBundleS3ObjectVersion=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrNumberOfCaCertificates(){return cdk().Token.asNumber(this.getAtt("NumberOfCaCertificates",cdk().ResolutionTypeHint.NUMBER))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrTrustStoreArn(){return cdk().Token.asString(this.getAtt("TrustStoreArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{caCertificatesBundleS3Bucket:this._caCertificatesBundleS3Bucket,caCertificatesBundleS3Key:this._caCertificatesBundleS3Key,caCertificatesBundleS3ObjectVersion:this._caCertificatesBundleS3ObjectVersion,tags:this.cdkTagManager.renderTags(this._tags),name:this._name}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnTrustStore.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTrustStorePropsToCloudFormation(props)}}exports.CfnTrustStore=CfnTrustStore;function CfnTrustStorePropsValidator(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("caCertificatesBundleS3Bucket",cdk().validateString)(properties.caCertificatesBundleS3Bucket)),errors.collect(cdk().propertyValidator("caCertificatesBundleS3Key",cdk().validateString)(properties.caCertificatesBundleS3Key)),errors.collect(cdk().propertyValidator("caCertificatesBundleS3ObjectVersion",cdk().validateString)(properties.caCertificatesBundleS3ObjectVersion)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnTrustStoreProps"')}function convertCfnTrustStorePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTrustStorePropsValidator(properties).assertSuccess(),{CaCertificatesBundleS3Bucket:cdk().stringToCloudFormation(properties.caCertificatesBundleS3Bucket),CaCertificatesBundleS3Key:cdk().stringToCloudFormation(properties.caCertificatesBundleS3Key),CaCertificatesBundleS3ObjectVersion:cdk().stringToCloudFormation(properties.caCertificatesBundleS3ObjectVersion),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnTrustStorePropsFromCloudFormation(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("caCertificatesBundleS3Bucket","CaCertificatesBundleS3Bucket",properties.CaCertificatesBundleS3Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.CaCertificatesBundleS3Bucket):void 0),ret.addPropertyResult("caCertificatesBundleS3Key","CaCertificatesBundleS3Key",properties.CaCertificatesBundleS3Key!=null?cfn_parse().FromCloudFormation.getString(properties.CaCertificatesBundleS3Key):void 0),ret.addPropertyResult("caCertificatesBundleS3ObjectVersion","CaCertificatesBundleS3ObjectVersion",properties.CaCertificatesBundleS3ObjectVersion!=null?cfn_parse().FromCloudFormation.getString(properties.CaCertificatesBundleS3ObjectVersion):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):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 CfnTrustStoreRevocation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_elasticloadbalancingv2.CfnTrustStoreRevocation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ElasticLoadBalancingV2::TrustStoreRevocation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTrustStoreRevocationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTrustStoreRevocation(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 isCfnTrustStoreRevocation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTrustStoreRevocation.CFN_RESOURCE_TYPE_NAME}_revocationContents;_trustStoreArn;cfnPropertyNames={revocationContents:"RevocationContents",trustStoreArn:"TrustStoreArn"};constructor(scope,id,props={}){super(scope,id,{type:CfnTrustStoreRevocation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancingv2_CfnTrustStoreRevocationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTrustStoreRevocation),error}this._revocationContents=props.revocationContents,this._trustStoreArn=props.trustStoreArn}get trustStoreRevocationRef(){return{revocationId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),trustStoreArn:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get revocationContents(){return this._revocationContents}set revocationContents(value){cdk().traceProperty(this.node,"RevocationContents"),this._revocationContents=value}get trustStoreArn(){return this._trustStoreArn}set trustStoreArn(value){cdk().traceProperty(this.node,"TrustStoreArn"),this._trustStoreArn=value}get attrRevocationId(){return cdk().Token.asNumber(this.getAtt("RevocationId",cdk().ResolutionTypeHint.NUMBER))}get attrTrustStoreRevocations(){return this.getAtt("TrustStoreRevocations")}get cfnProperties(){return{revocationContents:this._revocationContents,trustStoreArn:this._trustStoreArn}}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",CfnTrustStoreRevocation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTrustStoreRevocationPropsToCloudFormation(props)}}exports.CfnTrustStoreRevocation=CfnTrustStoreRevocation;function CfnTrustStoreRevocationRevocationContentPropertyValidator(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("revocationType",cdk().validateString)(properties.revocationType)),errors.collect(cdk().propertyValidator("s3Bucket",cdk().validateString)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Key",cdk().validateString)(properties.s3Key)),errors.collect(cdk().propertyValidator("s3ObjectVersion",cdk().validateString)(properties.s3ObjectVersion)),errors.wrap('supplied properties not correct for "RevocationContentProperty"')}function convertCfnTrustStoreRevocationRevocationContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTrustStoreRevocationRevocationContentPropertyValidator(properties).assertSuccess(),{RevocationType:cdk().stringToCloudFormation(properties.revocationType),S3Bucket:cdk().stringToCloudFormation(properties.s3Bucket),S3Key:cdk().stringToCloudFormation(properties.s3Key),S3ObjectVersion:cdk().stringToCloudFormation(properties.s3ObjectVersion)}):properties}function CfnTrustStoreRevocationRevocationContentPropertyFromCloudFormation(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("revocationType","RevocationType",properties.RevocationType!=null?cfn_parse().FromCloudFormation.getString(properties.RevocationType):void 0),ret.addPropertyResult("s3Bucket","S3Bucket",properties.S3Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.S3Bucket):void 0),ret.addPropertyResult("s3Key","S3Key",properties.S3Key!=null?cfn_parse().FromCloudFormation.getString(properties.S3Key):void 0),ret.addPropertyResult("s3ObjectVersion","S3ObjectVersion",properties.S3ObjectVersion!=null?cfn_parse().FromCloudFormation.getString(properties.S3ObjectVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTrustStoreRevocationTrustStoreRevocationPropertyValidator(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("numberOfRevokedEntries",cdk().validateNumber)(properties.numberOfRevokedEntries)),errors.collect(cdk().propertyValidator("revocationId",cdk().validateString)(properties.revocationId)),errors.collect(cdk().propertyValidator("revocationType",cdk().validateString)(properties.revocationType)),errors.collect(cdk().propertyValidator("trustStoreArn",cdk().validateString)(properties.trustStoreArn)),errors.wrap('supplied properties not correct for "TrustStoreRevocationProperty"')}function convertCfnTrustStoreRevocationTrustStoreRevocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTrustStoreRevocationTrustStoreRevocationPropertyValidator(properties).assertSuccess(),{NumberOfRevokedEntries:cdk().numberToCloudFormation(properties.numberOfRevokedEntries),RevocationId:cdk().stringToCloudFormation(properties.revocationId),RevocationType:cdk().stringToCloudFormation(properties.revocationType),TrustStoreArn:cdk().stringToCloudFormation(properties.trustStoreArn)}):properties}function CfnTrustStoreRevocationTrustStoreRevocationPropertyFromCloudFormation(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("numberOfRevokedEntries","NumberOfRevokedEntries",properties.NumberOfRevokedEntries!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfRevokedEntries):void 0),ret.addPropertyResult("revocationId","RevocationId",properties.RevocationId!=null?cfn_parse().FromCloudFormation.getString(properties.RevocationId):void 0),ret.addPropertyResult("revocationType","RevocationType",properties.RevocationType!=null?cfn_parse().FromCloudFormation.getString(properties.RevocationType):void 0),ret.addPropertyResult("trustStoreArn","TrustStoreArn",properties.TrustStoreArn!=null?cfn_parse().FromCloudFormation.getString(properties.TrustStoreArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTrustStoreRevocationPropsValidator(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("revocationContents",cdk().listValidator(CfnTrustStoreRevocationRevocationContentPropertyValidator))(properties.revocationContents)),errors.collect(cdk().propertyValidator("trustStoreArn",cdk().validateString)(properties.trustStoreArn)),errors.wrap('supplied properties not correct for "CfnTrustStoreRevocationProps"')}function convertCfnTrustStoreRevocationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTrustStoreRevocationPropsValidator(properties).assertSuccess(),{RevocationContents:cdk().listMapper(convertCfnTrustStoreRevocationRevocationContentPropertyToCloudFormation)(properties.revocationContents),TrustStoreArn:cdk().stringToCloudFormation(properties.trustStoreArn)}):properties}function CfnTrustStoreRevocationPropsFromCloudFormation(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("revocationContents","RevocationContents",properties.RevocationContents!=null?cfn_parse().FromCloudFormation.getArray(CfnTrustStoreRevocationRevocationContentPropertyFromCloudFormation)(properties.RevocationContents):void 0),ret.addPropertyResult("trustStoreArn","TrustStoreArn",properties.TrustStoreArn!=null?cfn_parse().FromCloudFormation.getString(properties.TrustStoreArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}