"use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.MutualTlsCertificate=exports.TlsCertificate=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");class TlsCertificate{static file(certificateChainPath,privateKeyPath){return new FileTlsCertificate(certificateChainPath,privateKeyPath)}static acm(certificate){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_certificatemanager_ICertificate(certificate)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.acm),error}return new AcmTlsCertificate(certificate)}static sds(secretName){return new SdsTlsCertificate(secretName)}}exports.TlsCertificate=TlsCertificate,_a=JSII_RTTI_SYMBOL_1,TlsCertificate[_a]={fqn:"aws-cdk-lib.aws_appmesh.TlsCertificate",version:"2.148.1"};class MutualTlsCertificate extends TlsCertificate{constructor(){super(...arguments),this.differentiator=!1}}exports.MutualTlsCertificate=MutualTlsCertificate,_b=JSII_RTTI_SYMBOL_1,MutualTlsCertificate[_b]={fqn:"aws-cdk-lib.aws_appmesh.MutualTlsCertificate",version:"2.148.1"};class AcmTlsCertificate extends TlsCertificate{constructor(certificate){super(),this.acmCertificate=certificate}bind(_scope){return{tlsCertificate:{acm:{certificateArn:this.acmCertificate.certificateArn}}}}}class FileTlsCertificate extends MutualTlsCertificate{constructor(certificateChainPath,privateKeyPath){super(),this.certificateChain=certificateChainPath,this.privateKey=privateKeyPath}bind(_scope){return{tlsCertificate:{file:{certificateChain:this.certificateChain,privateKey:this.privateKey}}}}}class SdsTlsCertificate extends MutualTlsCertificate{constructor(secretName){super(),this.secretName=secretName}bind(_scope){return{tlsCertificate:{sds:{secretName:this.secretName}}}}}
