aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 31.2 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnCostCategory=exports.CfnAnomalySubscription=exports.CfnAnomalyMonitor=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/lib");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 CfnAnomalyMonitor extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ce.CfnAnomalyMonitor",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::CE::AnomalyMonitor";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAnomalyMonitorPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAnomalyMonitor(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}static isCfnAnomalyMonitor(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAnomalyMonitor.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_monitorDimension;_monitorName;_monitorSpecification;_monitorType;_resourceTags;constructor(scope,id,props){super(scope,id,{type:CfnAnomalyMonitor.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ce_CfnAnomalyMonitorProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAnomalyMonitor),error}cdk().requireProperty(props,"monitorName",this),cdk().requireProperty(props,"monitorType",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CE::AnomalyMonitor",void 0,{tagPropertyName:"resourceTags"}),this._monitorDimension=props.monitorDimension,this._monitorName=props.monitorName,this._monitorSpecification=props.monitorSpecification,this._monitorType=props.monitorType,this._resourceTags=props.resourceTags}get anomalyMonitorRef(){return{monitorArn:this.ref}}get monitorDimension(){return this._monitorDimension}set monitorDimension(value){cdk().traceProperty(this.node,"MonitorDimension"),this._monitorDimension=value}get monitorName(){return this._monitorName}set monitorName(value){cdk().traceProperty(this.node,"MonitorName"),this._monitorName=value}get monitorSpecification(){return this._monitorSpecification}set monitorSpecification(value){cdk().traceProperty(this.node,"MonitorSpecification"),this._monitorSpecification=value}get monitorType(){return this._monitorType}set monitorType(value){cdk().traceProperty(this.node,"MonitorType"),this._monitorType=value}get resourceTags(){return this._resourceTags}set resourceTags(value){cdk().traceProperty(this.node,"ResourceTags"),this._resourceTags=value}get attrCreationDate(){return cdk().Token.asString(this.getAtt("CreationDate",cdk().ResolutionTypeHint.STRING))}get attrDimensionalValueCount(){return cdk().Token.asNumber(this.getAtt("DimensionalValueCount",cdk().ResolutionTypeHint.NUMBER))}get attrLastEvaluatedDate(){return cdk().Token.asString(this.getAtt("LastEvaluatedDate",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedDate(){return cdk().Token.asString(this.getAtt("LastUpdatedDate",cdk().ResolutionTypeHint.STRING))}get attrMonitorArn(){return cdk().Token.asString(this.getAtt("MonitorArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{resourceTags:this.cdkTagManager.renderTags(this._resourceTags),monitorDimension:this._monitorDimension,monitorName:this._monitorName,monitorSpecification:this._monitorSpecification,monitorType:this._monitorType}}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",CfnAnomalyMonitor.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAnomalyMonitorPropsToCloudFormation(props)}}exports.CfnAnomalyMonitor=CfnAnomalyMonitor;function CfnAnomalyMonitorResourceTagPropertyValidator(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("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),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 "ResourceTagProperty"')}function convertCfnAnomalyMonitorResourceTagPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyMonitorResourceTagPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnAnomalyMonitorResourceTagPropertyFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalyMonitorPropsValidator(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("monitorDimension",cdk().validateString)(properties.monitorDimension)),errors.collect(cdk().propertyValidator("monitorName",cdk().requiredValidator)(properties.monitorName)),errors.collect(cdk().propertyValidator("monitorName",cdk().validateString)(properties.monitorName)),errors.collect(cdk().propertyValidator("monitorSpecification",cdk().validateString)(properties.monitorSpecification)),errors.collect(cdk().propertyValidator("monitorType",cdk().requiredValidator)(properties.monitorType)),errors.collect(cdk().propertyValidator("monitorType",cdk().validateString)(properties.monitorType)),errors.collect(cdk().propertyValidator("resourceTags",cdk().listValidator(CfnAnomalyMonitorResourceTagPropertyValidator))(properties.resourceTags)),errors.wrap('supplied properties not correct for "CfnAnomalyMonitorProps"')}function convertCfnAnomalyMonitorPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalyMonitorPropsValidator(properties).assertSuccess(),{MonitorDimension:cdk().stringToCloudFormation(properties.monitorDimension),MonitorName:cdk().stringToCloudFormation(properties.monitorName),MonitorSpecification:cdk().stringToCloudFormation(properties.monitorSpecification),MonitorType:cdk().stringToCloudFormation(properties.monitorType),ResourceTags:cdk().listMapper(convertCfnAnomalyMonitorResourceTagPropertyToCloudFormation)(properties.resourceTags)}):properties}function CfnAnomalyMonitorPropsFromCloudFormation(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("monitorDimension","MonitorDimension",properties.MonitorDimension!=null?cfn_parse().FromCloudFormation.getString(properties.MonitorDimension):void 0),ret.addPropertyResult("monitorName","MonitorName",properties.MonitorName!=null?cfn_parse().FromCloudFormation.getString(properties.MonitorName):void 0),ret.addPropertyResult("monitorSpecification","MonitorSpecification",properties.MonitorSpecification!=null?cfn_parse().FromCloudFormation.getString(properties.MonitorSpecification):void 0),ret.addPropertyResult("monitorType","MonitorType",properties.MonitorType!=null?cfn_parse().FromCloudFormation.getString(properties.MonitorType):void 0),ret.addPropertyResult("resourceTags","ResourceTags",properties.ResourceTags!=null?cfn_parse().FromCloudFormation.getArray(CfnAnomalyMonitorResourceTagPropertyFromCloudFormation)(properties.ResourceTags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAnomalySubscription extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ce.CfnAnomalySubscription",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::CE::AnomalySubscription";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAnomalySubscriptionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAnomalySubscription(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}static isCfnAnomalySubscription(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAnomalySubscription.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_frequency;_monitorArnList;_resourceTags;_subscribers;_subscriptionName;_threshold;_thresholdExpression;constructor(scope,id,props){super(scope,id,{type:CfnAnomalySubscription.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ce_CfnAnomalySubscriptionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAnomalySubscription),error}cdk().requireProperty(props,"frequency",this),cdk().requireProperty(props,"monitorArnList",this),cdk().requireProperty(props,"subscribers",this),cdk().requireProperty(props,"subscriptionName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CE::AnomalySubscription",void 0,{tagPropertyName:"resourceTags"}),this._frequency=props.frequency,this._monitorArnList=cdk().mapArrayInPlace(props.monitorArnList,item=>cdk().getRefProperty(item?.anomalyMonitorRef,"monitorArn")??cdk().ensureStringOrUndefined(item,"monitorArnList","ce.IAnomalyMonitorRef | string")),this._resourceTags=props.resourceTags,this._subscribers=props.subscribers,this._subscriptionName=props.subscriptionName,this._threshold=props.threshold,this._thresholdExpression=props.thresholdExpression}get anomalySubscriptionRef(){return{subscriptionArn:this.ref}}get frequency(){return this._frequency}set frequency(value){cdk().traceProperty(this.node,"Frequency"),this._frequency=value}get monitorArnList(){return this._monitorArnList}set monitorArnList(value){cdk().traceProperty(this.node,"MonitorArnList"),this._monitorArnList=value}get resourceTags(){return this._resourceTags}set resourceTags(value){cdk().traceProperty(this.node,"ResourceTags"),this._resourceTags=value}get subscribers(){return this._subscribers}set subscribers(value){cdk().traceProperty(this.node,"Subscribers"),this._subscribers=value}get subscriptionName(){return this._subscriptionName}set subscriptionName(value){cdk().traceProperty(this.node,"SubscriptionName"),this._subscriptionName=value}get threshold(){return this._threshold}set threshold(value){cdk().traceProperty(this.node,"Threshold"),this._threshold=value}get thresholdExpression(){return this._thresholdExpression}set thresholdExpression(value){cdk().traceProperty(this.node,"ThresholdExpression"),this._thresholdExpression=value}get attrAccountId(){return cdk().Token.asString(this.getAtt("AccountId",cdk().ResolutionTypeHint.STRING))}get attrSubscriptionArn(){return cdk().Token.asString(this.getAtt("SubscriptionArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{resourceTags:this.cdkTagManager.renderTags(this._resourceTags),frequency:this._frequency,monitorArnList:this._monitorArnList,subscribers:this._subscribers,subscriptionName:this._subscriptionName,threshold:this._threshold,thresholdExpression:this._thresholdExpression}}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",CfnAnomalySubscription.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAnomalySubscriptionPropsToCloudFormation(props)}}exports.CfnAnomalySubscription=CfnAnomalySubscription;function CfnAnomalySubscriptionResourceTagPropertyValidator(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("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),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 "ResourceTagProperty"')}function convertCfnAnomalySubscriptionResourceTagPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalySubscriptionResourceTagPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnAnomalySubscriptionResourceTagPropertyFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalySubscriptionSubscriberPropertyValidator(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("address",cdk().requiredValidator)(properties.address)),errors.collect(cdk().propertyValidator("address",cdk().validateString)(properties.address)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "SubscriberProperty"')}function convertCfnAnomalySubscriptionSubscriberPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalySubscriptionSubscriberPropertyValidator(properties).assertSuccess(),{Address:cdk().stringToCloudFormation(properties.address),Status:cdk().stringToCloudFormation(properties.status),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnomalySubscriptionSubscriberPropertyFromCloudFormation(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("address","Address",properties.Address!=null?cfn_parse().FromCloudFormation.getString(properties.Address):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnomalySubscriptionPropsValidator(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("frequency",cdk().requiredValidator)(properties.frequency)),errors.collect(cdk().propertyValidator("frequency",cdk().validateString)(properties.frequency)),errors.collect(cdk().propertyValidator("monitorArnList",cdk().requiredValidator)(properties.monitorArnList)),errors.collect(cdk().propertyValidator("monitorArnList",cdk().listValidator(cdk().validateString))(properties.monitorArnList)),errors.collect(cdk().propertyValidator("resourceTags",cdk().listValidator(CfnAnomalySubscriptionResourceTagPropertyValidator))(properties.resourceTags)),errors.collect(cdk().propertyValidator("subscribers",cdk().requiredValidator)(properties.subscribers)),errors.collect(cdk().propertyValidator("subscribers",cdk().listValidator(CfnAnomalySubscriptionSubscriberPropertyValidator))(properties.subscribers)),errors.collect(cdk().propertyValidator("subscriptionName",cdk().requiredValidator)(properties.subscriptionName)),errors.collect(cdk().propertyValidator("subscriptionName",cdk().validateString)(properties.subscriptionName)),errors.collect(cdk().propertyValidator("threshold",cdk().validateNumber)(properties.threshold)),errors.collect(cdk().propertyValidator("thresholdExpression",cdk().validateString)(properties.thresholdExpression)),errors.wrap('supplied properties not correct for "CfnAnomalySubscriptionProps"')}function convertCfnAnomalySubscriptionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnomalySubscriptionPropsValidator(properties).assertSuccess(),{Frequency:cdk().stringToCloudFormation(properties.frequency),MonitorArnList:cdk().listMapper(cdk().stringToCloudFormation)(properties.monitorArnList),ResourceTags:cdk().listMapper(convertCfnAnomalySubscriptionResourceTagPropertyToCloudFormation)(properties.resourceTags),Subscribers:cdk().listMapper(convertCfnAnomalySubscriptionSubscriberPropertyToCloudFormation)(properties.subscribers),SubscriptionName:cdk().stringToCloudFormation(properties.subscriptionName),Threshold:cdk().numberToCloudFormation(properties.threshold),ThresholdExpression:cdk().stringToCloudFormation(properties.thresholdExpression)}):properties}function CfnAnomalySubscriptionPropsFromCloudFormation(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("frequency","Frequency",properties.Frequency!=null?cfn_parse().FromCloudFormation.getString(properties.Frequency):void 0),ret.addPropertyResult("monitorArnList","MonitorArnList",properties.MonitorArnList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MonitorArnList):void 0),ret.addPropertyResult("resourceTags","ResourceTags",properties.ResourceTags!=null?cfn_parse().FromCloudFormation.getArray(CfnAnomalySubscriptionResourceTagPropertyFromCloudFormation)(properties.ResourceTags):void 0),ret.addPropertyResult("subscribers","Subscribers",properties.Subscribers!=null?cfn_parse().FromCloudFormation.getArray(CfnAnomalySubscriptionSubscriberPropertyFromCloudFormation)(properties.Subscribers):void 0),ret.addPropertyResult("subscriptionName","SubscriptionName",properties.SubscriptionName!=null?cfn_parse().FromCloudFormation.getString(properties.SubscriptionName):void 0),ret.addPropertyResult("threshold","Threshold",properties.Threshold!=null?cfn_parse().FromCloudFormation.getNumber(properties.Threshold):void 0),ret.addPropertyResult("thresholdExpression","ThresholdExpression",properties.ThresholdExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ThresholdExpression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCostCategory extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ce.CfnCostCategory",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::CE::CostCategory";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCostCategoryPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCostCategory(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}static isCfnCostCategory(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCostCategory.CFN_RESOURCE_TYPE_NAME}static arnForCostCategory(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ce_ICostCategoryRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCostCategory),error}return resource.costCategoryRef.costCategoryArn}cdkTagManager;_defaultValue;_name;_rules;_ruleVersion;_splitChargeRules;_tags;constructor(scope,id,props){super(scope,id,{type:CfnCostCategory.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ce_CfnCostCategoryProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCostCategory),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"rules",this),cdk().requireProperty(props,"ruleVersion",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::CE::CostCategory",void 0,{tagPropertyName:"tags"}),this._defaultValue=props.defaultValue,this._name=props.name,this._rules=props.rules,this._ruleVersion=props.ruleVersion,this._splitChargeRules=props.splitChargeRules,this._tags=props.tags}get costCategoryRef(){return{costCategoryArn:this.ref}}get defaultValue(){return this._defaultValue}set defaultValue(value){cdk().traceProperty(this.node,"DefaultValue"),this._defaultValue=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get rules(){return this._rules}set rules(value){cdk().traceProperty(this.node,"Rules"),this._rules=value}get ruleVersion(){return this._ruleVersion}set ruleVersion(value){cdk().traceProperty(this.node,"RuleVersion"),this._ruleVersion=value}get splitChargeRules(){return this._splitChargeRules}set splitChargeRules(value){cdk().traceProperty(this.node,"SplitChargeRules"),this._splitChargeRules=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrEffectiveStart(){return cdk().Token.asString(this.getAtt("EffectiveStart",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),defaultValue:this._defaultValue,name:this._name,rules:this._rules,ruleVersion:this._ruleVersion,splitChargeRules:this._splitChargeRules}}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",CfnCostCategory.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCostCategoryPropsToCloudFormation(props)}}exports.CfnCostCategory=CfnCostCategory;function CfnCostCategoryResourceTagPropertyValidator(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("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),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 "ResourceTagProperty"')}function convertCfnCostCategoryResourceTagPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCostCategoryResourceTagPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnCostCategoryResourceTagPropertyFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCostCategoryPropsValidator(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("defaultValue",cdk().validateString)(properties.defaultValue)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("ruleVersion",cdk().requiredValidator)(properties.ruleVersion)),errors.collect(cdk().propertyValidator("ruleVersion",cdk().validateString)(properties.ruleVersion)),errors.collect(cdk().propertyValidator("rules",cdk().requiredValidator)(properties.rules)),errors.collect(cdk().propertyValidator("rules",cdk().validateString)(properties.rules)),errors.collect(cdk().propertyValidator("splitChargeRules",cdk().validateString)(properties.splitChargeRules)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(CfnCostCategoryResourceTagPropertyValidator))(properties.tags)),errors.wrap('supplied properties not correct for "CfnCostCategoryProps"')}function convertCfnCostCategoryPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCostCategoryPropsValidator(properties).assertSuccess(),{DefaultValue:cdk().stringToCloudFormation(properties.defaultValue),Name:cdk().stringToCloudFormation(properties.name),RuleVersion:cdk().stringToCloudFormation(properties.ruleVersion),Rules:cdk().stringToCloudFormation(properties.rules),SplitChargeRules:cdk().stringToCloudFormation(properties.splitChargeRules),Tags:cdk().listMapper(convertCfnCostCategoryResourceTagPropertyToCloudFormation)(properties.tags)}):properties}function CfnCostCategoryPropsFromCloudFormation(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("defaultValue","DefaultValue",properties.DefaultValue!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultValue):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("rules","Rules",properties.Rules!=null?cfn_parse().FromCloudFormation.getString(properties.Rules):void 0),ret.addPropertyResult("ruleVersion","RuleVersion",properties.RuleVersion!=null?cfn_parse().FromCloudFormation.getString(properties.RuleVersion):void 0),ret.addPropertyResult("splitChargeRules","SplitChargeRules",properties.SplitChargeRules!=null?cfn_parse().FromCloudFormation.getString(properties.SplitChargeRules):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(CfnCostCategoryResourceTagPropertyFromCloudFormation)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}