"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.LambdaInsightsVersion=void 0;const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),architecture_1=require("./architecture"),core_1=require("../../core"),region_info_1=require("../../region-info");class LambdaInsightsVersion{constructor(){this.layerVersionArn=""}static fromInsightVersionArn(arn){class InsightsArn extends LambdaInsightsVersion{constructor(){super(...arguments),this.layerVersionArn=arn}_bind(_scope,_function){return{arn}}}return new InsightsArn}static fromInsightsVersion(insightsVersion){class InsightsVersion extends LambdaInsightsVersion{constructor(){super(...arguments),this.layerVersionArn=core_1.Lazy.uncachedString({produce:context=>getVersionArn(context.scope,insightsVersion)})}_bind(_scope,_function){const arch=_function.architecture?.name??architecture_1.Architecture.X86_64.name;if(!region_info_1.RegionInfo.regions.some(regionInfo=>regionInfo.cloudwatchLambdaInsightsArn(insightsVersion,arch)))throw new Error(`Insights version ${insightsVersion} does not exist.`);return{arn:getVersionArn(_scope,insightsVersion,arch)}}}return new InsightsVersion}}exports.LambdaInsightsVersion=LambdaInsightsVersion,_a=JSII_RTTI_SYMBOL_1,LambdaInsightsVersion[_a]={fqn:"aws-cdk-lib.aws_lambda.LambdaInsightsVersion",version:"2.96.1"},LambdaInsightsVersion.VERSION_1_0_54_0=LambdaInsightsVersion.fromInsightsVersion("1.0.54.0"),LambdaInsightsVersion.VERSION_1_0_86_0=LambdaInsightsVersion.fromInsightsVersion("1.0.86.0"),LambdaInsightsVersion.VERSION_1_0_89_0=LambdaInsightsVersion.fromInsightsVersion("1.0.89.0"),LambdaInsightsVersion.VERSION_1_0_98_0=LambdaInsightsVersion.fromInsightsVersion("1.0.98.0"),LambdaInsightsVersion.VERSION_1_0_119_0=LambdaInsightsVersion.fromInsightsVersion("1.0.119.0"),LambdaInsightsVersion.VERSION_1_0_135_0=LambdaInsightsVersion.fromInsightsVersion("1.0.135.0"),LambdaInsightsVersion.VERSION_1_0_143_0=LambdaInsightsVersion.fromInsightsVersion("1.0.143.0"),LambdaInsightsVersion.VERSION_1_0_178_0=LambdaInsightsVersion.fromInsightsVersion("1.0.178.0"),LambdaInsightsVersion.VERSION_1_0_229_0=LambdaInsightsVersion.fromInsightsVersion("1.0.229.0");function getVersionArn(scope,insightsVersion,architecture){const scopeStack=core_1.Stack.of(scope),region=scopeStack.region,arch=architecture??architecture_1.Architecture.X86_64.name;if(region!==void 0&&!core_1.Token.isUnresolved(region)){const arn=region_info_1.RegionInfo.get(region).cloudwatchLambdaInsightsArn(insightsVersion,arch);if(arn===void 0)throw new Error(`Insights version ${insightsVersion} is not supported in region ${region}`);return arn}return scopeStack.regionalFact(region_info_1.FactName.cloudwatchLambdaInsightsVersion(insightsVersion,arch))}
