"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlarmRule=exports.AlarmState=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var AlarmState;(function(AlarmState2){AlarmState2.ALARM="ALARM",AlarmState2.OK="OK",AlarmState2.INSUFFICIENT_DATA="INSUFFICIENT_DATA"})(AlarmState||(exports.AlarmState=AlarmState={}));var Operator;(function(Operator2){Operator2.AND="AND",Operator2.OR="OR",Operator2.NOT="NOT"})(Operator||(Operator={}));class AlarmRule{static allOf(...operands){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_cloudwatch_IAlarmRule(operands)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.allOf),error}return this.concat(Operator.AND,...operands)}static anyOf(...operands){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_cloudwatch_IAlarmRule(operands)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.anyOf),error}return this.concat(Operator.OR,...operands)}static not(operand){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_cloudwatch_IAlarmRule(operand)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.not),error}return new class{renderAlarmRule(){return`(NOT (${operand.renderAlarmRule()}))`}}}static fromBoolean(value){return new class{renderAlarmRule(){return`${String(value).toUpperCase()}`}}}static fromAlarm(alarm,alarmState){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_cloudwatch_IAlarm(alarm),jsiiDeprecationWarnings().aws_cdk_lib_aws_cloudwatch_AlarmState(alarmState)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromAlarm),error}return new class{renderAlarmRule(){return`${alarmState}("${alarm.alarmArn}")`}}}static fromString(alarmRule){return new class{renderAlarmRule(){return alarmRule}}}static concat(operator,...operands){return new class{renderAlarmRule(){return`(${operands.map(operand=>`${operand.renderAlarmRule()}`).join(` ${operator} `)})`}}}}exports.AlarmRule=AlarmRule,_a=JSII_RTTI_SYMBOL_1,AlarmRule[_a]={fqn:"aws-cdk-lib.aws_cloudwatch.AlarmRule",version:"2.159.0"};
