UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 70.3 kB
"use strict";var _a,_b,_c,_d,_e,_f;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnMetricStream=exports.CfnInsightRule=exports.CfnDashboard=exports.CfnCompositeAlarm=exports.CfnAnomalyDetector=exports.CfnAlarm=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnAlarmPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("actionsEnabled",cdk.validateBoolean)(properties.actionsEnabled)),errors.collect(cdk.propertyValidator("alarmActions",cdk.listValidator(cdk.validateString))(properties.alarmActions)),errors.collect(cdk.propertyValidator("alarmDescription",cdk.validateString)(properties.alarmDescription)),errors.collect(cdk.propertyValidator("alarmName",cdk.validateString)(properties.alarmName)),errors.collect(cdk.propertyValidator("comparisonOperator",cdk.requiredValidator)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("comparisonOperator",cdk.validateString)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("datapointsToAlarm",cdk.validateNumber)(properties.datapointsToAlarm)),errors.collect(cdk.propertyValidator("dimensions",cdk.listValidator(CfnAlarm_DimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk.propertyValidator("evaluateLowSampleCountPercentile",cdk.validateString)(properties.evaluateLowSampleCountPercentile)),errors.collect(cdk.propertyValidator("evaluationPeriods",cdk.requiredValidator)(properties.evaluationPeriods)),errors.collect(cdk.propertyValidator("evaluationPeriods",cdk.validateNumber)(properties.evaluationPeriods)),errors.collect(cdk.propertyValidator("extendedStatistic",cdk.validateString)(properties.extendedStatistic)),errors.collect(cdk.propertyValidator("insufficientDataActions",cdk.listValidator(cdk.validateString))(properties.insufficientDataActions)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("metrics",cdk.listValidator(CfnAlarm_MetricDataQueryPropertyValidator))(properties.metrics)),errors.collect(cdk.propertyValidator("namespace",cdk.validateString)(properties.namespace)),errors.collect(cdk.propertyValidator("okActions",cdk.listValidator(cdk.validateString))(properties.okActions)),errors.collect(cdk.propertyValidator("period",cdk.validateNumber)(properties.period)),errors.collect(cdk.propertyValidator("statistic",cdk.validateString)(properties.statistic)),errors.collect(cdk.propertyValidator("threshold",cdk.validateNumber)(properties.threshold)),errors.collect(cdk.propertyValidator("thresholdMetricId",cdk.validateString)(properties.thresholdMetricId)),errors.collect(cdk.propertyValidator("treatMissingData",cdk.validateString)(properties.treatMissingData)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),errors.wrap('supplied properties not correct for "CfnAlarmProps"')}function cfnAlarmPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAlarmPropsValidator(properties).assertSuccess(),{ComparisonOperator:cdk.stringToCloudFormation(properties.comparisonOperator),EvaluationPeriods:cdk.numberToCloudFormation(properties.evaluationPeriods),ActionsEnabled:cdk.booleanToCloudFormation(properties.actionsEnabled),AlarmActions:cdk.listMapper(cdk.stringToCloudFormation)(properties.alarmActions),AlarmDescription:cdk.stringToCloudFormation(properties.alarmDescription),AlarmName:cdk.stringToCloudFormation(properties.alarmName),DatapointsToAlarm:cdk.numberToCloudFormation(properties.datapointsToAlarm),Dimensions:cdk.listMapper(cfnAlarmDimensionPropertyToCloudFormation)(properties.dimensions),EvaluateLowSampleCountPercentile:cdk.stringToCloudFormation(properties.evaluateLowSampleCountPercentile),ExtendedStatistic:cdk.stringToCloudFormation(properties.extendedStatistic),InsufficientDataActions:cdk.listMapper(cdk.stringToCloudFormation)(properties.insufficientDataActions),MetricName:cdk.stringToCloudFormation(properties.metricName),Metrics:cdk.listMapper(cfnAlarmMetricDataQueryPropertyToCloudFormation)(properties.metrics),Namespace:cdk.stringToCloudFormation(properties.namespace),OKActions:cdk.listMapper(cdk.stringToCloudFormation)(properties.okActions),Period:cdk.numberToCloudFormation(properties.period),Statistic:cdk.stringToCloudFormation(properties.statistic),Threshold:cdk.numberToCloudFormation(properties.threshold),ThresholdMetricId:cdk.stringToCloudFormation(properties.thresholdMetricId),TreatMissingData:cdk.stringToCloudFormation(properties.treatMissingData),Unit:cdk.stringToCloudFormation(properties.unit)}):properties}function CfnAlarmPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("comparisonOperator","ComparisonOperator",cfn_parse.FromCloudFormation.getString(properties.ComparisonOperator)),ret.addPropertyResult("evaluationPeriods","EvaluationPeriods",cfn_parse.FromCloudFormation.getNumber(properties.EvaluationPeriods)),ret.addPropertyResult("actionsEnabled","ActionsEnabled",properties.ActionsEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.ActionsEnabled):void 0),ret.addPropertyResult("alarmActions","AlarmActions",properties.AlarmActions!=null?cfn_parse.FromCloudFormation.getStringArray(properties.AlarmActions):void 0),ret.addPropertyResult("alarmDescription","AlarmDescription",properties.AlarmDescription!=null?cfn_parse.FromCloudFormation.getString(properties.AlarmDescription):void 0),ret.addPropertyResult("alarmName","AlarmName",properties.AlarmName!=null?cfn_parse.FromCloudFormation.getString(properties.AlarmName):void 0),ret.addPropertyResult("datapointsToAlarm","DatapointsToAlarm",properties.DatapointsToAlarm!=null?cfn_parse.FromCloudFormation.getNumber(properties.DatapointsToAlarm):void 0),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse.FromCloudFormation.getArray(CfnAlarmDimensionPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("evaluateLowSampleCountPercentile","EvaluateLowSampleCountPercentile",properties.EvaluateLowSampleCountPercentile!=null?cfn_parse.FromCloudFormation.getString(properties.EvaluateLowSampleCountPercentile):void 0),ret.addPropertyResult("extendedStatistic","ExtendedStatistic",properties.ExtendedStatistic!=null?cfn_parse.FromCloudFormation.getString(properties.ExtendedStatistic):void 0),ret.addPropertyResult("insufficientDataActions","InsufficientDataActions",properties.InsufficientDataActions!=null?cfn_parse.FromCloudFormation.getStringArray(properties.InsufficientDataActions):void 0),ret.addPropertyResult("metricName","MetricName",properties.MetricName!=null?cfn_parse.FromCloudFormation.getString(properties.MetricName):void 0),ret.addPropertyResult("metrics","Metrics",properties.Metrics!=null?cfn_parse.FromCloudFormation.getArray(CfnAlarmMetricDataQueryPropertyFromCloudFormation)(properties.Metrics):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse.FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("okActions","OKActions",properties.OKActions!=null?cfn_parse.FromCloudFormation.getStringArray(properties.OKActions):void 0),ret.addPropertyResult("period","Period",properties.Period!=null?cfn_parse.FromCloudFormation.getNumber(properties.Period):void 0),ret.addPropertyResult("statistic","Statistic",properties.Statistic!=null?cfn_parse.FromCloudFormation.getString(properties.Statistic):void 0),ret.addPropertyResult("threshold","Threshold",properties.Threshold!=null?cfn_parse.FromCloudFormation.getNumber(properties.Threshold):void 0),ret.addPropertyResult("thresholdMetricId","ThresholdMetricId",properties.ThresholdMetricId!=null?cfn_parse.FromCloudFormation.getString(properties.ThresholdMetricId):void 0),ret.addPropertyResult("treatMissingData","TreatMissingData",properties.TreatMissingData!=null?cfn_parse.FromCloudFormation.getString(properties.TreatMissingData):void 0),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAlarm extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAlarm.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_CfnAlarmProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAlarm),error}cdk.requireProperty(props,"comparisonOperator",this),cdk.requireProperty(props,"evaluationPeriods",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.comparisonOperator=props.comparisonOperator,this.evaluationPeriods=props.evaluationPeriods,this.actionsEnabled=props.actionsEnabled,this.alarmActions=props.alarmActions,this.alarmDescription=props.alarmDescription,this.alarmName=props.alarmName,this.datapointsToAlarm=props.datapointsToAlarm,this.dimensions=props.dimensions,this.evaluateLowSampleCountPercentile=props.evaluateLowSampleCountPercentile,this.extendedStatistic=props.extendedStatistic,this.insufficientDataActions=props.insufficientDataActions,this.metricName=props.metricName,this.metrics=props.metrics,this.namespace=props.namespace,this.okActions=props.okActions,this.period=props.period,this.statistic=props.statistic,this.threshold=props.threshold,this.thresholdMetricId=props.thresholdMetricId,this.treatMissingData=props.treatMissingData,this.unit=props.unit}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAlarmPropsFromCloudFormation(resourceProperties),ret=new CfnAlarm(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}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",CfnAlarm.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{comparisonOperator:this.comparisonOperator,evaluationPeriods:this.evaluationPeriods,actionsEnabled:this.actionsEnabled,alarmActions:this.alarmActions,alarmDescription:this.alarmDescription,alarmName:this.alarmName,datapointsToAlarm:this.datapointsToAlarm,dimensions:this.dimensions,evaluateLowSampleCountPercentile:this.evaluateLowSampleCountPercentile,extendedStatistic:this.extendedStatistic,insufficientDataActions:this.insufficientDataActions,metricName:this.metricName,metrics:this.metrics,namespace:this.namespace,okActions:this.okActions,period:this.period,statistic:this.statistic,threshold:this.threshold,thresholdMetricId:this.thresholdMetricId,treatMissingData:this.treatMissingData,unit:this.unit}}renderProperties(props){return cfnAlarmPropsToCloudFormation(props)}}exports.CfnAlarm=CfnAlarm,_a=JSII_RTTI_SYMBOL_1,CfnAlarm[_a]={fqn:"aws-cdk-lib.aws_cloudwatch.CfnAlarm",version:"2.70.0"},CfnAlarm.CFN_RESOURCE_TYPE_NAME="AWS::CloudWatch::Alarm";function CfnAlarm_DimensionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("value",cdk.requiredValidator)(properties.value)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "DimensionProperty"')}function cfnAlarmDimensionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAlarm_DimensionPropertyValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnAlarmDimensionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getString(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAlarm_MetricPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dimensions",cdk.listValidator(CfnAlarm_DimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("namespace",cdk.validateString)(properties.namespace)),errors.wrap('supplied properties not correct for "MetricProperty"')}function cfnAlarmMetricPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAlarm_MetricPropertyValidator(properties).assertSuccess(),{Dimensions:cdk.listMapper(cfnAlarmDimensionPropertyToCloudFormation)(properties.dimensions),MetricName:cdk.stringToCloudFormation(properties.metricName),Namespace:cdk.stringToCloudFormation(properties.namespace)}):properties}function CfnAlarmMetricPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse.FromCloudFormation.getArray(CfnAlarmDimensionPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("metricName","MetricName",properties.MetricName!=null?cfn_parse.FromCloudFormation.getString(properties.MetricName):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse.FromCloudFormation.getString(properties.Namespace):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAlarm_MetricDataQueryPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accountId",cdk.validateString)(properties.accountId)),errors.collect(cdk.propertyValidator("expression",cdk.validateString)(properties.expression)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("label",cdk.validateString)(properties.label)),errors.collect(cdk.propertyValidator("metricStat",CfnAlarm_MetricStatPropertyValidator)(properties.metricStat)),errors.collect(cdk.propertyValidator("period",cdk.validateNumber)(properties.period)),errors.collect(cdk.propertyValidator("returnData",cdk.validateBoolean)(properties.returnData)),errors.wrap('supplied properties not correct for "MetricDataQueryProperty"')}function cfnAlarmMetricDataQueryPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAlarm_MetricDataQueryPropertyValidator(properties).assertSuccess(),{AccountId:cdk.stringToCloudFormation(properties.accountId),Expression:cdk.stringToCloudFormation(properties.expression),Id:cdk.stringToCloudFormation(properties.id),Label:cdk.stringToCloudFormation(properties.label),MetricStat:cfnAlarmMetricStatPropertyToCloudFormation(properties.metricStat),Period:cdk.numberToCloudFormation(properties.period),ReturnData:cdk.booleanToCloudFormation(properties.returnData)}):properties}function CfnAlarmMetricDataQueryPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accountId","AccountId",properties.AccountId!=null?cfn_parse.FromCloudFormation.getString(properties.AccountId):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse.FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse.FromCloudFormation.getString(properties.Label):void 0),ret.addPropertyResult("metricStat","MetricStat",properties.MetricStat!=null?CfnAlarmMetricStatPropertyFromCloudFormation(properties.MetricStat):void 0),ret.addPropertyResult("period","Period",properties.Period!=null?cfn_parse.FromCloudFormation.getNumber(properties.Period):void 0),ret.addPropertyResult("returnData","ReturnData",properties.ReturnData!=null?cfn_parse.FromCloudFormation.getBoolean(properties.ReturnData):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAlarm_MetricStatPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("metric",cdk.requiredValidator)(properties.metric)),errors.collect(cdk.propertyValidator("metric",CfnAlarm_MetricPropertyValidator)(properties.metric)),errors.collect(cdk.propertyValidator("period",cdk.requiredValidator)(properties.period)),errors.collect(cdk.propertyValidator("period",cdk.validateNumber)(properties.period)),errors.collect(cdk.propertyValidator("stat",cdk.requiredValidator)(properties.stat)),errors.collect(cdk.propertyValidator("stat",cdk.validateString)(properties.stat)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),errors.wrap('supplied properties not correct for "MetricStatProperty"')}function cfnAlarmMetricStatPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAlarm_MetricStatPropertyValidator(properties).assertSuccess(),{Metric:cfnAlarmMetricPropertyToCloudFormation(properties.metric),Period:cdk.numberToCloudFormation(properties.period),Stat:cdk.stringToCloudFormation(properties.stat),Unit:cdk.stringToCloudFormation(properties.unit)}):properties}function CfnAlarmMetricStatPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("metric","Metric",CfnAlarmMetricPropertyFromCloudFormation(properties.Metric)),ret.addPropertyResult("period","Period",cfn_parse.FromCloudFormation.getNumber(properties.Period)),ret.addPropertyResult("stat","Stat",cfn_parse.FromCloudFormation.getString(properties.Stat)),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetectorPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("configuration",CfnAnomalyDetector_ConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk.propertyValidator("dimensions",cdk.listValidator(CfnAnomalyDetector_DimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk.propertyValidator("metricMathAnomalyDetector",CfnAnomalyDetector_MetricMathAnomalyDetectorPropertyValidator)(properties.metricMathAnomalyDetector)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("namespace",cdk.validateString)(properties.namespace)),errors.collect(cdk.propertyValidator("singleMetricAnomalyDetector",CfnAnomalyDetector_SingleMetricAnomalyDetectorPropertyValidator)(properties.singleMetricAnomalyDetector)),errors.collect(cdk.propertyValidator("stat",cdk.validateString)(properties.stat)),errors.wrap('supplied properties not correct for "CfnAnomalyDetectorProps"')}function cfnAnomalyDetectorPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAnomalyDetectorPropsValidator(properties).assertSuccess(),{Configuration:cfnAnomalyDetectorConfigurationPropertyToCloudFormation(properties.configuration),Dimensions:cdk.listMapper(cfnAnomalyDetectorDimensionPropertyToCloudFormation)(properties.dimensions),MetricMathAnomalyDetector:cfnAnomalyDetectorMetricMathAnomalyDetectorPropertyToCloudFormation(properties.metricMathAnomalyDetector),MetricName:cdk.stringToCloudFormation(properties.metricName),Namespace:cdk.stringToCloudFormation(properties.namespace),SingleMetricAnomalyDetector:cfnAnomalyDetectorSingleMetricAnomalyDetectorPropertyToCloudFormation(properties.singleMetricAnomalyDetector),Stat:cdk.stringToCloudFormation(properties.stat)}):properties}function CfnAnomalyDetectorPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnAnomalyDetectorConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse.FromCloudFormation.getArray(CfnAnomalyDetectorDimensionPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("metricMathAnomalyDetector","MetricMathAnomalyDetector",properties.MetricMathAnomalyDetector!=null?CfnAnomalyDetectorMetricMathAnomalyDetectorPropertyFromCloudFormation(properties.MetricMathAnomalyDetector):void 0),ret.addPropertyResult("metricName","MetricName",properties.MetricName!=null?cfn_parse.FromCloudFormation.getString(properties.MetricName):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse.FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("singleMetricAnomalyDetector","SingleMetricAnomalyDetector",properties.SingleMetricAnomalyDetector!=null?CfnAnomalyDetectorSingleMetricAnomalyDetectorPropertyFromCloudFormation(properties.SingleMetricAnomalyDetector):void 0),ret.addPropertyResult("stat","Stat",properties.Stat!=null?cfn_parse.FromCloudFormation.getString(properties.Stat):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAnomalyDetector extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnAnomalyDetector.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_CfnAnomalyDetectorProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAnomalyDetector),error}this.configuration=props.configuration,this.dimensions=props.dimensions,this.metricMathAnomalyDetector=props.metricMathAnomalyDetector,this.metricName=props.metricName,this.namespace=props.namespace,this.singleMetricAnomalyDetector=props.singleMetricAnomalyDetector,this.stat=props.stat}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAnomalyDetectorPropsFromCloudFormation(resourceProperties),ret=new CfnAnomalyDetector(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}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",CfnAnomalyDetector.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{configuration:this.configuration,dimensions:this.dimensions,metricMathAnomalyDetector:this.metricMathAnomalyDetector,metricName:this.metricName,namespace:this.namespace,singleMetricAnomalyDetector:this.singleMetricAnomalyDetector,stat:this.stat}}renderProperties(props){return cfnAnomalyDetectorPropsToCloudFormation(props)}}exports.CfnAnomalyDetector=CfnAnomalyDetector,_b=JSII_RTTI_SYMBOL_1,CfnAnomalyDetector[_b]={fqn:"aws-cdk-lib.aws_cloudwatch.CfnAnomalyDetector",version:"2.70.0"},CfnAnomalyDetector.CFN_RESOURCE_TYPE_NAME="AWS::CloudWatch::AnomalyDetector";function CfnAnomalyDetector_ConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("excludedTimeRanges",cdk.listValidator(CfnAnomalyDetector_RangePropertyValidator))(properties.excludedTimeRanges)),errors.collect(cdk.propertyValidator("metricTimeZone",cdk.validateString)(properties.metricTimeZone)),errors.wrap('supplied properties not correct for "ConfigurationProperty"')}function cfnAnomalyDetectorConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAnomalyDetector_ConfigurationPropertyValidator(properties).assertSuccess(),{ExcludedTimeRanges:cdk.listMapper(cfnAnomalyDetectorRangePropertyToCloudFormation)(properties.excludedTimeRanges),MetricTimeZone:cdk.stringToCloudFormation(properties.metricTimeZone)}):properties}function CfnAnomalyDetectorConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("excludedTimeRanges","ExcludedTimeRanges",properties.ExcludedTimeRanges!=null?cfn_parse.FromCloudFormation.getArray(CfnAnomalyDetectorRangePropertyFromCloudFormation)(properties.ExcludedTimeRanges):void 0),ret.addPropertyResult("metricTimeZone","MetricTimeZone",properties.MetricTimeZone!=null?cfn_parse.FromCloudFormation.getString(properties.MetricTimeZone):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetector_DimensionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("value",cdk.requiredValidator)(properties.value)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "DimensionProperty"')}function cfnAnomalyDetectorDimensionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAnomalyDetector_DimensionPropertyValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnAnomalyDetectorDimensionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getString(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetector_MetricPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dimensions",cdk.listValidator(CfnAnomalyDetector_DimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk.propertyValidator("metricName",cdk.requiredValidator)(properties.metricName)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("namespace",cdk.requiredValidator)(properties.namespace)),errors.collect(cdk.propertyValidator("namespace",cdk.validateString)(properties.namespace)),errors.wrap('supplied properties not correct for "MetricProperty"')}function cfnAnomalyDetectorMetricPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAnomalyDetector_MetricPropertyValidator(properties).assertSuccess(),{Dimensions:cdk.listMapper(cfnAnomalyDetectorDimensionPropertyToCloudFormation)(properties.dimensions),MetricName:cdk.stringToCloudFormation(properties.metricName),Namespace:cdk.stringToCloudFormation(properties.namespace)}):properties}function CfnAnomalyDetectorMetricPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse.FromCloudFormation.getArray(CfnAnomalyDetectorDimensionPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("metricName","MetricName",cfn_parse.FromCloudFormation.getString(properties.MetricName)),ret.addPropertyResult("namespace","Namespace",cfn_parse.FromCloudFormation.getString(properties.Namespace)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetector_MetricDataQueryPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accountId",cdk.validateString)(properties.accountId)),errors.collect(cdk.propertyValidator("expression",cdk.validateString)(properties.expression)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("label",cdk.validateString)(properties.label)),errors.collect(cdk.propertyValidator("metricStat",CfnAnomalyDetector_MetricStatPropertyValidator)(properties.metricStat)),errors.collect(cdk.propertyValidator("period",cdk.validateNumber)(properties.period)),errors.collect(cdk.propertyValidator("returnData",cdk.validateBoolean)(properties.returnData)),errors.wrap('supplied properties not correct for "MetricDataQueryProperty"')}function cfnAnomalyDetectorMetricDataQueryPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAnomalyDetector_MetricDataQueryPropertyValidator(properties).assertSuccess(),{AccountId:cdk.stringToCloudFormation(properties.accountId),Expression:cdk.stringToCloudFormation(properties.expression),Id:cdk.stringToCloudFormation(properties.id),Label:cdk.stringToCloudFormation(properties.label),MetricStat:cfnAnomalyDetectorMetricStatPropertyToCloudFormation(properties.metricStat),Period:cdk.numberToCloudFormation(properties.period),ReturnData:cdk.booleanToCloudFormation(properties.returnData)}):properties}function CfnAnomalyDetectorMetricDataQueryPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accountId","AccountId",properties.AccountId!=null?cfn_parse.FromCloudFormation.getString(properties.AccountId):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse.FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse.FromCloudFormation.getString(properties.Label):void 0),ret.addPropertyResult("metricStat","MetricStat",properties.MetricStat!=null?CfnAnomalyDetectorMetricStatPropertyFromCloudFormation(properties.MetricStat):void 0),ret.addPropertyResult("period","Period",properties.Period!=null?cfn_parse.FromCloudFormation.getNumber(properties.Period):void 0),ret.addPropertyResult("returnData","ReturnData",properties.ReturnData!=null?cfn_parse.FromCloudFormation.getBoolean(properties.ReturnData):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetector_MetricMathAnomalyDetectorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("metricDataQueries",cdk.listValidator(CfnAnomalyDetector_MetricDataQueryPropertyValidator))(properties.metricDataQueries)),errors.wrap('supplied properties not correct for "MetricMathAnomalyDetectorProperty"')}function cfnAnomalyDetectorMetricMathAnomalyDetectorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAnomalyDetector_MetricMathAnomalyDetectorPropertyValidator(properties).assertSuccess(),{MetricDataQueries:cdk.listMapper(cfnAnomalyDetectorMetricDataQueryPropertyToCloudFormation)(properties.metricDataQueries)}):properties}function CfnAnomalyDetectorMetricMathAnomalyDetectorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("metricDataQueries","MetricDataQueries",properties.MetricDataQueries!=null?cfn_parse.FromCloudFormation.getArray(CfnAnomalyDetectorMetricDataQueryPropertyFromCloudFormation)(properties.MetricDataQueries):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetector_MetricStatPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("metric",cdk.requiredValidator)(properties.metric)),errors.collect(cdk.propertyValidator("metric",CfnAnomalyDetector_MetricPropertyValidator)(properties.metric)),errors.collect(cdk.propertyValidator("period",cdk.requiredValidator)(properties.period)),errors.collect(cdk.propertyValidator("period",cdk.validateNumber)(properties.period)),errors.collect(cdk.propertyValidator("stat",cdk.requiredValidator)(properties.stat)),errors.collect(cdk.propertyValidator("stat",cdk.validateString)(properties.stat)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),errors.wrap('supplied properties not correct for "MetricStatProperty"')}function cfnAnomalyDetectorMetricStatPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAnomalyDetector_MetricStatPropertyValidator(properties).assertSuccess(),{Metric:cfnAnomalyDetectorMetricPropertyToCloudFormation(properties.metric),Period:cdk.numberToCloudFormation(properties.period),Stat:cdk.stringToCloudFormation(properties.stat),Unit:cdk.stringToCloudFormation(properties.unit)}):properties}function CfnAnomalyDetectorMetricStatPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("metric","Metric",CfnAnomalyDetectorMetricPropertyFromCloudFormation(properties.Metric)),ret.addPropertyResult("period","Period",cfn_parse.FromCloudFormation.getNumber(properties.Period)),ret.addPropertyResult("stat","Stat",cfn_parse.FromCloudFormation.getString(properties.Stat)),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetector_RangePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("endTime",cdk.requiredValidator)(properties.endTime)),errors.collect(cdk.propertyValidator("endTime",cdk.validateString)(properties.endTime)),errors.collect(cdk.propertyValidator("startTime",cdk.requiredValidator)(properties.startTime)),errors.collect(cdk.propertyValidator("startTime",cdk.validateString)(properties.startTime)),errors.wrap('supplied properties not correct for "RangeProperty"')}function cfnAnomalyDetectorRangePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAnomalyDetector_RangePropertyValidator(properties).assertSuccess(),{EndTime:cdk.stringToCloudFormation(properties.endTime),StartTime:cdk.stringToCloudFormation(properties.startTime)}):properties}function CfnAnomalyDetectorRangePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("endTime","EndTime",cfn_parse.FromCloudFormation.getString(properties.EndTime)),ret.addPropertyResult("startTime","StartTime",cfn_parse.FromCloudFormation.getString(properties.StartTime)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetector_SingleMetricAnomalyDetectorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dimensions",cdk.listValidator(CfnAnomalyDetector_DimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("namespace",cdk.validateString)(properties.namespace)),errors.collect(cdk.propertyValidator("stat",cdk.validateString)(properties.stat)),errors.wrap('supplied properties not correct for "SingleMetricAnomalyDetectorProperty"')}function cfnAnomalyDetectorSingleMetricAnomalyDetectorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAnomalyDetector_SingleMetricAnomalyDetectorPropertyValidator(properties).assertSuccess(),{Dimensions:cdk.listMapper(cfnAnomalyDetectorDimensionPropertyToCloudFormation)(properties.dimensions),MetricName:cdk.stringToCloudFormation(properties.metricName),Namespace:cdk.stringToCloudFormation(properties.namespace),Stat:cdk.stringToCloudFormation(properties.stat)}):properties}function CfnAnomalyDetectorSingleMetricAnomalyDetectorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse.FromCloudFormation.getArray(CfnAnomalyDetectorDimensionPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("metricName","MetricName",properties.MetricName!=null?cfn_parse.FromCloudFormation.getString(properties.MetricName):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse.FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("stat","Stat",properties.Stat!=null?cfn_parse.FromCloudFormation.getString(properties.Stat):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCompositeAlarmPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("actionsEnabled",cdk.validateBoolean)(properties.actionsEnabled)),errors.collect(cdk.propertyValidator("actionsSuppressor",cdk.validateString)(properties.actionsSuppressor)),errors.collect(cdk.propertyValidator("actionsSuppressorExtensionPeriod",cdk.validateNumber)(properties.actionsSuppressorExtensionPeriod)),errors.collect(cdk.propertyValidator("actionsSuppressorWaitPeriod",cdk.validateNumber)(properties.actionsSuppressorWaitPeriod)),errors.collect(cdk.propertyValidator("alarmActions",cdk.listValidator(cdk.validateString))(properties.alarmActions)),errors.collect(cdk.propertyValidator("alarmDescription",cdk.validateString)(properties.alarmDescription)),errors.collect(cdk.propertyValidator("alarmName",cdk.validateString)(properties.alarmName)),errors.collect(cdk.propertyValidator("alarmRule",cdk.requiredValidator)(properties.alarmRule)),errors.collect(cdk.propertyValidator("alarmRule",cdk.validateString)(properties.alarmRule)),errors.collect(cdk.propertyValidator("insufficientDataActions",cdk.listValidator(cdk.validateString))(properties.insufficientDataActions)),errors.collect(cdk.propertyValidator("okActions",cdk.listValidator(cdk.validateString))(properties.okActions)),errors.wrap('supplied properties not correct for "CfnCompositeAlarmProps"')}function cfnCompositeAlarmPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCompositeAlarmPropsValidator(properties).assertSuccess(),{AlarmRule:cdk.stringToCloudFormation(properties.alarmRule),ActionsEnabled:cdk.booleanToCloudFormation(properties.actionsEnabled),ActionsSuppressor:cdk.stringToCloudFormation(properties.actionsSuppressor),ActionsSuppressorExtensionPeriod:cdk.numberToCloudFormation(properties.actionsSuppressorExtensionPeriod),ActionsSuppressorWaitPeriod:cdk.numberToCloudFormation(properties.actionsSuppressorWaitPeriod),AlarmActions:cdk.listMapper(cdk.stringToCloudFormation)(properties.alarmActions),AlarmDescription:cdk.stringToCloudFormation(properties.alarmDescription),AlarmName:cdk.stringToCloudFormation(properties.alarmName),InsufficientDataActions:cdk.listMapper(cdk.stringToCloudFormation)(properties.insufficientDataActions),OKActions:cdk.listMapper(cdk.stringToCloudFormation)(properties.okActions)}):properties}function CfnCompositeAlarmPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("alarmRule","AlarmRule",cfn_parse.FromCloudFormation.getString(properties.AlarmRule)),ret.addPropertyResult("actionsEnabled","ActionsEnabled",properties.ActionsEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.ActionsEnabled):void 0),ret.addPropertyResult("actionsSuppressor","ActionsSuppressor",properties.ActionsSuppressor!=null?cfn_parse.FromCloudFormation.getString(properties.ActionsSuppressor):void 0),ret.addPropertyResult("actionsSuppressorExtensionPeriod","ActionsSuppressorExtensionPeriod",properties.ActionsSuppressorExtensionPeriod!=null?cfn_parse.FromCloudFormation.getNumber(properties.ActionsSuppressorExtensionPeriod):void 0),ret.addPropertyResult("actionsSuppressorWaitPeriod","ActionsSuppressorWaitPeriod",properties.ActionsSuppressorWaitPeriod!=null?cfn_parse.FromCloudFormation.getNumber(properties.ActionsSuppressorWaitPeriod):void 0),ret.addPropertyResult("alarmActions","AlarmActions",properties.AlarmActions!=null?cfn_parse.FromCloudFormation.getStringArray(properties.AlarmActions):void 0),ret.addPropertyResult("alarmDescription","AlarmDescription",properties.AlarmDescription!=null?cfn_parse.FromCloudFormation.getString(properties.AlarmDescription):void 0),ret.addPropertyResult("alarmName","AlarmName",properties.AlarmName!=null?cfn_parse.FromCloudFormation.getString(properties.AlarmName):void 0),ret.addPropertyResult("insufficientDataActions","InsufficientDataActions",properties.InsufficientDataActions!=null?cfn_parse.FromCloudFormation.getStringArray(properties.InsufficientDataActions):void 0),ret.addPropertyResult("okActions","OKActions",properties.OKActions!=null?cfn_parse.FromCloudFormation.getStringArray(properties.OKActions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCompositeAlarm extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnCompositeAlarm.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_CfnCompositeAlarmProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCompositeAlarm),error}cdk.requireProperty(props,"alarmRule",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.alarmRule=props.alarmRule,this.actionsEnabled=props.actionsEnabled,this.actionsSuppressor=props.actionsSuppressor,this.actionsSuppressorExtensionPeriod=props.actionsSuppressorExtensionPeriod,this.actionsSuppressorWaitPeriod=props.actionsSuppressorWaitPeriod,this.alarmActions=props.alarmActions,this.alarmDescription=props.alarmDescription,this.alarmName=props.alarmName,this.insufficientDataActions=props.insufficientDataActions,this.okActions=props.okActions}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCompositeAlarmPropsFromCloudFormation(resourceProperties),ret=new CfnCompositeAlarm(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}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",CfnCompositeAlarm.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{alarmRule:this.alarmRule,actionsEnabled:this.actionsEnabled,actionsSuppressor:this.actionsSuppressor,actionsSuppressorExtensionPeriod:this.actionsSuppressorExtensionPeriod,actionsSuppressorWaitPeriod:this.actionsSuppressorWaitPeriod,alarmActions:this.alarmActions,alarmDescription:this.alarmDescription,alarmName:this.alarmName,insufficientDataActions:this.insufficientDataActions,okActions:this.okActions}}renderProperties(props){return cfnCompositeAlarmPropsToCloudFormation(props)}}exports.CfnCompositeAlarm=CfnCompositeAlarm,_c=JSII_RTTI_SYMBOL_1,CfnCompositeAlarm[_c]={fqn:"aws-cdk-lib.aws_cloudwatch.CfnCompositeAlarm",version:"2.70.0"},CfnCompositeAlarm.CFN_RESOURCE_TYPE_NAME="AWS::CloudWatch::CompositeAlarm";function CfnDashboardPropsValidator