aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 80.7 kB
JavaScript
"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;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");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 CfnAlarm extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAlarmPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}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.actionsEnabled=props.actionsEnabled,this.alarmActions=props.alarmActions,this.alarmDescription=props.alarmDescription,this.alarmName=props.alarmName,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CloudWatch::Alarm",void 0,{tagPropertyName:"tags"}),this.comparisonOperator=props.comparisonOperator,this.datapointsToAlarm=props.datapointsToAlarm,this.dimensions=props.dimensions,this.evaluateLowSampleCountPercentile=props.evaluateLowSampleCountPercentile,this.evaluationPeriods=props.evaluationPeriods,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.tags=props.tags,this.threshold=props.threshold,this.thresholdMetricId=props.thresholdMetricId,this.treatMissingData=props.treatMissingData,this.unit=props.unit}get cfnProperties(){return{actionsEnabled:this.actionsEnabled,alarmActions:this.alarmActions,alarmDescription:this.alarmDescription,alarmName:this.alarmName,tags:this.cdkTagManager.renderTags(this.tags),comparisonOperator:this.comparisonOperator,datapointsToAlarm:this.datapointsToAlarm,dimensions:this.dimensions,evaluateLowSampleCountPercentile:this.evaluateLowSampleCountPercentile,evaluationPeriods:this.evaluationPeriods,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}}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)}renderProperties(props){return convertCfnAlarmPropsToCloudFormation(props)}}exports.CfnAlarm=CfnAlarm,_a=JSII_RTTI_SYMBOL_1,CfnAlarm[_a]={fqn:"aws-cdk-lib.aws_cloudwatch.CfnAlarm",version:"2.185.0"},CfnAlarm.CFN_RESOURCE_TYPE_NAME="AWS::CloudWatch::Alarm";function CfnAlarmDimensionPropertyValidator(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("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 convertCfnAlarmDimensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAlarmDimensionPropertyValidator(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAlarmMetricPropertyValidator(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("dimensions",cdk().listValidator(CfnAlarmDimensionPropertyValidator))(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 convertCfnAlarmMetricPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAlarmMetricPropertyValidator(properties).assertSuccess(),{Dimensions:cdk().listMapper(convertCfnAlarmDimensionPropertyToCloudFormation)(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))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 CfnAlarmMetricStatPropertyValidator(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("metric",cdk().requiredValidator)(properties.metric)),errors.collect(cdk().propertyValidator("metric",CfnAlarmMetricPropertyValidator)(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 convertCfnAlarmMetricStatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAlarmMetricStatPropertyValidator(properties).assertSuccess(),{Metric:convertCfnAlarmMetricPropertyToCloudFormation(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("metric","Metric",properties.Metric!=null?CfnAlarmMetricPropertyFromCloudFormation(properties.Metric):void 0),ret.addPropertyResult("period","Period",properties.Period!=null?cfn_parse().FromCloudFormation.getNumber(properties.Period):void 0),ret.addPropertyResult("stat","Stat",properties.Stat!=null?cfn_parse().FromCloudFormation.getString(properties.Stat):void 0),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse().FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAlarmMetricDataQueryPropertyValidator(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("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",CfnAlarmMetricStatPropertyValidator)(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 convertCfnAlarmMetricDataQueryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAlarmMetricDataQueryPropertyValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),Expression:cdk().stringToCloudFormation(properties.expression),Id:cdk().stringToCloudFormation(properties.id),Label:cdk().stringToCloudFormation(properties.label),MetricStat:convertCfnAlarmMetricStatPropertyToCloudFormation(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))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",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),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 CfnAlarmPropsValidator(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("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(CfnAlarmDimensionPropertyValidator))(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(CfnAlarmMetricDataQueryPropertyValidator))(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("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),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 convertCfnAlarmPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAlarmPropsValidator(properties).assertSuccess(),{ActionsEnabled:cdk().booleanToCloudFormation(properties.actionsEnabled),AlarmActions:cdk().listMapper(cdk().stringToCloudFormation)(properties.alarmActions),AlarmDescription:cdk().stringToCloudFormation(properties.alarmDescription),AlarmName:cdk().stringToCloudFormation(properties.alarmName),ComparisonOperator:cdk().stringToCloudFormation(properties.comparisonOperator),DatapointsToAlarm:cdk().numberToCloudFormation(properties.datapointsToAlarm),Dimensions:cdk().listMapper(convertCfnAlarmDimensionPropertyToCloudFormation)(properties.dimensions),EvaluateLowSampleCountPercentile:cdk().stringToCloudFormation(properties.evaluateLowSampleCountPercentile),EvaluationPeriods:cdk().numberToCloudFormation(properties.evaluationPeriods),ExtendedStatistic:cdk().stringToCloudFormation(properties.extendedStatistic),InsufficientDataActions:cdk().listMapper(cdk().stringToCloudFormation)(properties.insufficientDataActions),MetricName:cdk().stringToCloudFormation(properties.metricName),Metrics:cdk().listMapper(convertCfnAlarmMetricDataQueryPropertyToCloudFormation)(properties.metrics),Namespace:cdk().stringToCloudFormation(properties.namespace),OKActions:cdk().listMapper(cdk().stringToCloudFormation)(properties.okActions),Period:cdk().numberToCloudFormation(properties.period),Statistic:cdk().stringToCloudFormation(properties.statistic),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),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(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("actionsEnabled","ActionsEnabled",properties.ActionsEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ActionsEnabled):void 0),ret.addPropertyResult("alarmActions","AlarmActions",properties.AlarmActions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(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("comparisonOperator","ComparisonOperator",properties.ComparisonOperator!=null?cfn_parse().FromCloudFormation.getString(properties.ComparisonOperator):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("evaluationPeriods","EvaluationPeriods",properties.EvaluationPeriods!=null?cfn_parse().FromCloudFormation.getNumber(properties.EvaluationPeriods):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.getArray(cfn_parse().FromCloudFormation.getString)(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.getArray(cfn_parse().FromCloudFormation.getString)(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("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):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 CfnAnomalyDetector extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAnomalyDetectorPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}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.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.configuration=props.configuration,this.dimensions=props.dimensions,this.metricCharacteristics=props.metricCharacteristics,this.metricMathAnomalyDetector=props.metricMathAnomalyDetector,this.metricName=props.metricName,this.namespace=props.namespace,this.singleMetricAnomalyDetector=props.singleMetricAnomalyDetector,this.stat=props.stat}get cfnProperties(){return{configuration:this.configuration,dimensions:this.dimensions,metricCharacteristics:this.metricCharacteristics,metricMathAnomalyDetector:this.metricMathAnomalyDetector,metricName:this.metricName,namespace:this.namespace,singleMetricAnomalyDetector:this.singleMetricAnomalyDetector,stat:this.stat}}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)}renderProperties(props){return convertCfnAnomalyDetectorPropsToCloudFormation(props)}}exports.CfnAnomalyDetector=CfnAnomalyDetector,_b=JSII_RTTI_SYMBOL_1,CfnAnomalyDetector[_b]={fqn:"aws-cdk-lib.aws_cloudwatch.CfnAnomalyDetector",version:"2.185.0"},CfnAnomalyDetector.CFN_RESOURCE_TYPE_NAME="AWS::CloudWatch::AnomalyDetector";function CfnAnomalyDetectorRangePropertyValidator(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("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 convertCfnAnomalyDetectorRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyDetectorRangePropertyValidator(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("endTime","EndTime",properties.EndTime!=null?cfn_parse().FromCloudFormation.getString(properties.EndTime):void 0),ret.addPropertyResult("startTime","StartTime",properties.StartTime!=null?cfn_parse().FromCloudFormation.getString(properties.StartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetectorConfigurationPropertyValidator(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("excludedTimeRanges",cdk().listValidator(CfnAnomalyDetectorRangePropertyValidator))(properties.excludedTimeRanges)),errors.collect(cdk().propertyValidator("metricTimeZone",cdk().validateString)(properties.metricTimeZone)),errors.wrap('supplied properties not correct for "ConfigurationProperty"')}function convertCfnAnomalyDetectorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyDetectorConfigurationPropertyValidator(properties).assertSuccess(),{ExcludedTimeRanges:cdk().listMapper(convertCfnAnomalyDetectorRangePropertyToCloudFormation)(properties.excludedTimeRanges),MetricTimeZone:cdk().stringToCloudFormation(properties.metricTimeZone)}):properties}function CfnAnomalyDetectorConfigurationPropertyFromCloudFormation(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("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 CfnAnomalyDetectorDimensionPropertyValidator(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("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 convertCfnAnomalyDetectorDimensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyDetectorDimensionPropertyValidator(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetectorMetricPropertyValidator(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("dimensions",cdk().listValidator(CfnAnomalyDetectorDimensionPropertyValidator))(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 convertCfnAnomalyDetectorMetricPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyDetectorMetricPropertyValidator(properties).assertSuccess(),{Dimensions:cdk().listMapper(convertCfnAnomalyDetectorDimensionPropertyToCloudFormation)(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetectorMetricStatPropertyValidator(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("metric",cdk().requiredValidator)(properties.metric)),errors.collect(cdk().propertyValidator("metric",CfnAnomalyDetectorMetricPropertyValidator)(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 convertCfnAnomalyDetectorMetricStatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyDetectorMetricStatPropertyValidator(properties).assertSuccess(),{Metric:convertCfnAnomalyDetectorMetricPropertyToCloudFormation(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("metric","Metric",properties.Metric!=null?CfnAnomalyDetectorMetricPropertyFromCloudFormation(properties.Metric):void 0),ret.addPropertyResult("period","Period",properties.Period!=null?cfn_parse().FromCloudFormation.getNumber(properties.Period):void 0),ret.addPropertyResult("stat","Stat",properties.Stat!=null?cfn_parse().FromCloudFormation.getString(properties.Stat):void 0),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse().FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetectorMetricDataQueryPropertyValidator(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("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",CfnAnomalyDetectorMetricStatPropertyValidator)(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 convertCfnAnomalyDetectorMetricDataQueryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyDetectorMetricDataQueryPropertyValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),Expression:cdk().stringToCloudFormation(properties.expression),Id:cdk().stringToCloudFormation(properties.id),Label:cdk().stringToCloudFormation(properties.label),MetricStat:convertCfnAnomalyDetectorMetricStatPropertyToCloudFormation(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))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",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),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 CfnAnomalyDetectorMetricMathAnomalyDetectorPropertyValidator(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("metricDataQueries",cdk().listValidator(CfnAnomalyDetectorMetricDataQueryPropertyValidator))(properties.metricDataQueries)),errors.wrap('supplied properties not correct for "MetricMathAnomalyDetectorProperty"')}function convertCfnAnomalyDetectorMetricMathAnomalyDetectorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyDetectorMetricMathAnomalyDetectorPropertyValidator(properties).assertSuccess(),{MetricDataQueries:cdk().listMapper(convertCfnAnomalyDetectorMetricDataQueryPropertyToCloudFormation)(properties.metricDataQueries)}):properties}function CfnAnomalyDetectorMetricMathAnomalyDetectorPropertyFromCloudFormation(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("metricDataQueries","MetricDataQueries",properties.MetricDataQueries!=null?cfn_parse().FromCloudFormation.getArray(CfnAnomalyDetectorMetricDataQueryPropertyFromCloudFormation)(properties.MetricDataQueries):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetectorSingleMetricAnomalyDetectorPropertyValidator(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("accountId",cdk().validateString)(properties.accountId)),errors.collect(cdk().propertyValidator("dimensions",cdk().listValidator(CfnAnomalyDetectorDimensionPropertyValidator))(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 convertCfnAnomalyDetectorSingleMetricAnomalyDetectorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyDetectorSingleMetricAnomalyDetectorPropertyValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),Dimensions:cdk().listMapper(convertCfnAnomalyDetectorDimensionPropertyToCloudFormation)(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))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("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 CfnAnomalyDetectorMetricCharacteristicsPropertyValidator(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("periodicSpikes",cdk().validateBoolean)(properties.periodicSpikes)),errors.wrap('supplied properties not correct for "MetricCharacteristicsProperty"')}function convertCfnAnomalyDetectorMetricCharacteristicsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyDetectorMetricCharacteristicsPropertyValidator(properties).assertSuccess(),{PeriodicSpikes:cdk().booleanToCloudFormation(properties.periodicSpikes)}):properties}function CfnAnomalyDetectorMetricCharacteristicsPropertyFromCloudFormation(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("periodicSpikes","PeriodicSpikes",properties.PeriodicSpikes!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PeriodicSpikes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyDetectorPropsValidator(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("configuration",CfnAnomalyDetectorConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("dimensions",cdk().listValidator(CfnAnomalyDetectorDimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk().propertyValidator("metricCharacteristics",CfnAnomalyDetectorMetricCharacteristicsPropertyValidator)(properties.metricCharacteristics)),errors.collect(cdk().propertyValidator("metricMathAnomalyDetector",CfnAnomalyDetectorMetricMathAnomalyDetectorPropertyValidator)(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",CfnAnomalyDetectorSingleMetricAnomalyDetectorPropertyValidator)(properties.singleMetricAnomalyDetector)),errors.collect(cdk().propertyValidator("stat",cdk().validateString)(properties.stat)),errors.wrap('supplied properties not correct for "CfnAnomalyDetectorProps"')}function convertCfnAnomalyDetectorPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyDetectorPropsValidator(properties).assertSuccess(),{Configuration:convertCfnAnomalyDetectorConfigurationPropertyToCloudFormation(properties.configuration),Dimensions:cdk().listMapper(convertCfnAnomalyDetectorDimensionPropertyToCloudFormation)(properties.dimensions),MetricCharacteristics:convertCfnAnomalyDetectorMetricCharacteristicsPropertyToCloudFormation(properties.metricCharacteristics),MetricMathAnomalyDetector:convertCfnAnomalyDetectorMetricMathAnomalyDetectorPropertyToCloudFormation(properties.metricMathAnomalyDetector),MetricName:cdk().stringToCloudFormation(properties.metricName),Namespace:cdk().stringToCloudFormation(properties.namespace),SingleMetricAnomalyDetector:convertCfnAnomalyDetectorSingleMetricAnomalyDetectorPropertyToCloudFormation(properties.singleMetricAnomalyDetector),Stat:cdk().stringToCloudFormation(properties.stat)}):properties}function CfnAnomalyDetectorPropsFromCloudFormation(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("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("metricCharacteristics","MetricCharacteristics",properties.MetricCharacteristics!=null?CfnAnomalyDetectorMetricCharacteristicsPropertyFromCloudFormation(properties.MetricCharacteristics):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 CfnCompositeAlarm extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCompositeAlarmPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnCompositeAlarm(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperti