UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

2 lines (1 loc) 44.5 kB
"use strict";var _a,_b,_c,_d;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnPricingRule=exports.CfnPricingPlan=exports.CfnCustomLineItem=exports.CfnBillingGroup=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 CfnBillingGroup extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBillingGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnBillingGroup(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:CfnBillingGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_billingconductor_CfnBillingGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBillingGroup),error}cdk().requireProperty(props,"accountGrouping",this),cdk().requireProperty(props,"computationPreference",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"primaryAccountId",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrCreationTime=cdk().Token.asNumber(this.getAtt("CreationTime",cdk().ResolutionTypeHint.NUMBER)),this.attrLastModifiedTime=cdk().Token.asNumber(this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.NUMBER)),this.attrSize=cdk().Token.asNumber(this.getAtt("Size",cdk().ResolutionTypeHint.NUMBER)),this.attrStatus=cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING)),this.attrStatusReason=cdk().Token.asString(this.getAtt("StatusReason",cdk().ResolutionTypeHint.STRING)),this.accountGrouping=props.accountGrouping,this.computationPreference=props.computationPreference,this.description=props.description,this.name=props.name,this.primaryAccountId=props.primaryAccountId,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::BillingConductor::BillingGroup",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{accountGrouping:this.accountGrouping,computationPreference:this.computationPreference,description:this.description,name:this.name,primaryAccountId:this.primaryAccountId,tags:this.tags.renderTags()}}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",CfnBillingGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBillingGroupPropsToCloudFormation(props)}}exports.CfnBillingGroup=CfnBillingGroup,_a=JSII_RTTI_SYMBOL_1,CfnBillingGroup[_a]={fqn:"aws-cdk-lib.aws_billingconductor.CfnBillingGroup",version:"2.202.0"},CfnBillingGroup.CFN_RESOURCE_TYPE_NAME="AWS::BillingConductor::BillingGroup";function CfnBillingGroupComputationPreferencePropertyValidator(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("pricingPlanArn",cdk().requiredValidator)(properties.pricingPlanArn)),errors.collect(cdk().propertyValidator("pricingPlanArn",cdk().validateString)(properties.pricingPlanArn)),errors.wrap('supplied properties not correct for "ComputationPreferenceProperty"')}function convertCfnBillingGroupComputationPreferencePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBillingGroupComputationPreferencePropertyValidator(properties).assertSuccess(),{PricingPlanArn:cdk().stringToCloudFormation(properties.pricingPlanArn)}):properties}function CfnBillingGroupComputationPreferencePropertyFromCloudFormation(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("pricingPlanArn","PricingPlanArn",properties.PricingPlanArn!=null?cfn_parse().FromCloudFormation.getString(properties.PricingPlanArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBillingGroupAccountGroupingPropertyValidator(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("autoAssociate",cdk().validateBoolean)(properties.autoAssociate)),errors.collect(cdk().propertyValidator("linkedAccountIds",cdk().requiredValidator)(properties.linkedAccountIds)),errors.collect(cdk().propertyValidator("linkedAccountIds",cdk().listValidator(cdk().validateString))(properties.linkedAccountIds)),errors.wrap('supplied properties not correct for "AccountGroupingProperty"')}function convertCfnBillingGroupAccountGroupingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBillingGroupAccountGroupingPropertyValidator(properties).assertSuccess(),{AutoAssociate:cdk().booleanToCloudFormation(properties.autoAssociate),LinkedAccountIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.linkedAccountIds)}):properties}function CfnBillingGroupAccountGroupingPropertyFromCloudFormation(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("autoAssociate","AutoAssociate",properties.AutoAssociate!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoAssociate):void 0),ret.addPropertyResult("linkedAccountIds","LinkedAccountIds",properties.LinkedAccountIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LinkedAccountIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBillingGroupPropsValidator(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("accountGrouping",cdk().requiredValidator)(properties.accountGrouping)),errors.collect(cdk().propertyValidator("accountGrouping",CfnBillingGroupAccountGroupingPropertyValidator)(properties.accountGrouping)),errors.collect(cdk().propertyValidator("computationPreference",cdk().requiredValidator)(properties.computationPreference)),errors.collect(cdk().propertyValidator("computationPreference",CfnBillingGroupComputationPreferencePropertyValidator)(properties.computationPreference)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("primaryAccountId",cdk().requiredValidator)(properties.primaryAccountId)),errors.collect(cdk().propertyValidator("primaryAccountId",cdk().validateString)(properties.primaryAccountId)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnBillingGroupProps"')}function convertCfnBillingGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBillingGroupPropsValidator(properties).assertSuccess(),{AccountGrouping:convertCfnBillingGroupAccountGroupingPropertyToCloudFormation(properties.accountGrouping),ComputationPreference:convertCfnBillingGroupComputationPreferencePropertyToCloudFormation(properties.computationPreference),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),PrimaryAccountId:cdk().stringToCloudFormation(properties.primaryAccountId),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnBillingGroupPropsFromCloudFormation(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("accountGrouping","AccountGrouping",properties.AccountGrouping!=null?CfnBillingGroupAccountGroupingPropertyFromCloudFormation(properties.AccountGrouping):void 0),ret.addPropertyResult("computationPreference","ComputationPreference",properties.ComputationPreference!=null?CfnBillingGroupComputationPreferencePropertyFromCloudFormation(properties.ComputationPreference):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("primaryAccountId","PrimaryAccountId",properties.PrimaryAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryAccountId):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCustomLineItem extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCustomLineItemPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnCustomLineItem(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:CfnCustomLineItem.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_billingconductor_CfnCustomLineItemProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCustomLineItem),error}cdk().requireProperty(props,"billingGroupArn",this),cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrAssociationSize=cdk().Token.asNumber(this.getAtt("AssociationSize",cdk().ResolutionTypeHint.NUMBER)),this.attrCreationTime=cdk().Token.asNumber(this.getAtt("CreationTime",cdk().ResolutionTypeHint.NUMBER)),this.attrCurrencyCode=cdk().Token.asString(this.getAtt("CurrencyCode",cdk().ResolutionTypeHint.STRING)),this.attrLastModifiedTime=cdk().Token.asNumber(this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.NUMBER)),this.attrProductCode=cdk().Token.asString(this.getAtt("ProductCode",cdk().ResolutionTypeHint.STRING)),this.accountId=props.accountId,this.billingGroupArn=props.billingGroupArn,this.billingPeriodRange=props.billingPeriodRange,this.customLineItemChargeDetails=props.customLineItemChargeDetails,this.description=props.description,this.name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::BillingConductor::CustomLineItem",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{accountId:this.accountId,billingGroupArn:this.billingGroupArn,billingPeriodRange:this.billingPeriodRange,customLineItemChargeDetails:this.customLineItemChargeDetails,description:this.description,name:this.name,tags:this.tags.renderTags()}}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",CfnCustomLineItem.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCustomLineItemPropsToCloudFormation(props)}}exports.CfnCustomLineItem=CfnCustomLineItem,_b=JSII_RTTI_SYMBOL_1,CfnCustomLineItem[_b]={fqn:"aws-cdk-lib.aws_billingconductor.CfnCustomLineItem",version:"2.202.0"},CfnCustomLineItem.CFN_RESOURCE_TYPE_NAME="AWS::BillingConductor::CustomLineItem";function CfnCustomLineItemBillingPeriodRangePropertyValidator(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("exclusiveEndBillingPeriod",cdk().validateString)(properties.exclusiveEndBillingPeriod)),errors.collect(cdk().propertyValidator("inclusiveStartBillingPeriod",cdk().validateString)(properties.inclusiveStartBillingPeriod)),errors.wrap('supplied properties not correct for "BillingPeriodRangeProperty"')}function convertCfnCustomLineItemBillingPeriodRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCustomLineItemBillingPeriodRangePropertyValidator(properties).assertSuccess(),{ExclusiveEndBillingPeriod:cdk().stringToCloudFormation(properties.exclusiveEndBillingPeriod),InclusiveStartBillingPeriod:cdk().stringToCloudFormation(properties.inclusiveStartBillingPeriod)}):properties}function CfnCustomLineItemBillingPeriodRangePropertyFromCloudFormation(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("exclusiveEndBillingPeriod","ExclusiveEndBillingPeriod",properties.ExclusiveEndBillingPeriod!=null?cfn_parse().FromCloudFormation.getString(properties.ExclusiveEndBillingPeriod):void 0),ret.addPropertyResult("inclusiveStartBillingPeriod","InclusiveStartBillingPeriod",properties.InclusiveStartBillingPeriod!=null?cfn_parse().FromCloudFormation.getString(properties.InclusiveStartBillingPeriod):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCustomLineItemLineItemFilterPropertyValidator(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("attribute",cdk().requiredValidator)(properties.attribute)),errors.collect(cdk().propertyValidator("attribute",cdk().validateString)(properties.attribute)),errors.collect(cdk().propertyValidator("matchOption",cdk().requiredValidator)(properties.matchOption)),errors.collect(cdk().propertyValidator("matchOption",cdk().validateString)(properties.matchOption)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "LineItemFilterProperty"')}function convertCfnCustomLineItemLineItemFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCustomLineItemLineItemFilterPropertyValidator(properties).assertSuccess(),{Attribute:cdk().stringToCloudFormation(properties.attribute),MatchOption:cdk().stringToCloudFormation(properties.matchOption),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnCustomLineItemLineItemFilterPropertyFromCloudFormation(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("attribute","Attribute",properties.Attribute!=null?cfn_parse().FromCloudFormation.getString(properties.Attribute):void 0),ret.addPropertyResult("matchOption","MatchOption",properties.MatchOption!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOption):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCustomLineItemCustomLineItemPercentageChargeDetailsPropertyValidator(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("childAssociatedResources",cdk().listValidator(cdk().validateString))(properties.childAssociatedResources)),errors.collect(cdk().propertyValidator("percentageValue",cdk().requiredValidator)(properties.percentageValue)),errors.collect(cdk().propertyValidator("percentageValue",cdk().validateNumber)(properties.percentageValue)),errors.wrap('supplied properties not correct for "CustomLineItemPercentageChargeDetailsProperty"')}function convertCfnCustomLineItemCustomLineItemPercentageChargeDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCustomLineItemCustomLineItemPercentageChargeDetailsPropertyValidator(properties).assertSuccess(),{ChildAssociatedResources:cdk().listMapper(cdk().stringToCloudFormation)(properties.childAssociatedResources),PercentageValue:cdk().numberToCloudFormation(properties.percentageValue)}):properties}function CfnCustomLineItemCustomLineItemPercentageChargeDetailsPropertyFromCloudFormation(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("childAssociatedResources","ChildAssociatedResources",properties.ChildAssociatedResources!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ChildAssociatedResources):void 0),ret.addPropertyResult("percentageValue","PercentageValue",properties.PercentageValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.PercentageValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCustomLineItemCustomLineItemFlatChargeDetailsPropertyValidator(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("chargeValue",cdk().requiredValidator)(properties.chargeValue)),errors.collect(cdk().propertyValidator("chargeValue",cdk().validateNumber)(properties.chargeValue)),errors.wrap('supplied properties not correct for "CustomLineItemFlatChargeDetailsProperty"')}function convertCfnCustomLineItemCustomLineItemFlatChargeDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCustomLineItemCustomLineItemFlatChargeDetailsPropertyValidator(properties).assertSuccess(),{ChargeValue:cdk().numberToCloudFormation(properties.chargeValue)}):properties}function CfnCustomLineItemCustomLineItemFlatChargeDetailsPropertyFromCloudFormation(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("chargeValue","ChargeValue",properties.ChargeValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.ChargeValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCustomLineItemCustomLineItemChargeDetailsPropertyValidator(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("flat",CfnCustomLineItemCustomLineItemFlatChargeDetailsPropertyValidator)(properties.flat)),errors.collect(cdk().propertyValidator("lineItemFilters",cdk().listValidator(CfnCustomLineItemLineItemFilterPropertyValidator))(properties.lineItemFilters)),errors.collect(cdk().propertyValidator("percentage",CfnCustomLineItemCustomLineItemPercentageChargeDetailsPropertyValidator)(properties.percentage)),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 "CustomLineItemChargeDetailsProperty"')}function convertCfnCustomLineItemCustomLineItemChargeDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCustomLineItemCustomLineItemChargeDetailsPropertyValidator(properties).assertSuccess(),{Flat:convertCfnCustomLineItemCustomLineItemFlatChargeDetailsPropertyToCloudFormation(properties.flat),LineItemFilters:cdk().listMapper(convertCfnCustomLineItemLineItemFilterPropertyToCloudFormation)(properties.lineItemFilters),Percentage:convertCfnCustomLineItemCustomLineItemPercentageChargeDetailsPropertyToCloudFormation(properties.percentage),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnCustomLineItemCustomLineItemChargeDetailsPropertyFromCloudFormation(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("flat","Flat",properties.Flat!=null?CfnCustomLineItemCustomLineItemFlatChargeDetailsPropertyFromCloudFormation(properties.Flat):void 0),ret.addPropertyResult("lineItemFilters","LineItemFilters",properties.LineItemFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnCustomLineItemLineItemFilterPropertyFromCloudFormation)(properties.LineItemFilters):void 0),ret.addPropertyResult("percentage","Percentage",properties.Percentage!=null?CfnCustomLineItemCustomLineItemPercentageChargeDetailsPropertyFromCloudFormation(properties.Percentage):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCustomLineItemPropsValidator(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("billingGroupArn",cdk().requiredValidator)(properties.billingGroupArn)),errors.collect(cdk().propertyValidator("billingGroupArn",cdk().validateString)(properties.billingGroupArn)),errors.collect(cdk().propertyValidator("billingPeriodRange",CfnCustomLineItemBillingPeriodRangePropertyValidator)(properties.billingPeriodRange)),errors.collect(cdk().propertyValidator("customLineItemChargeDetails",CfnCustomLineItemCustomLineItemChargeDetailsPropertyValidator)(properties.customLineItemChargeDetails)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnCustomLineItemProps"')}function convertCfnCustomLineItemPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCustomLineItemPropsValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),BillingGroupArn:cdk().stringToCloudFormation(properties.billingGroupArn),BillingPeriodRange:convertCfnCustomLineItemBillingPeriodRangePropertyToCloudFormation(properties.billingPeriodRange),CustomLineItemChargeDetails:convertCfnCustomLineItemCustomLineItemChargeDetailsPropertyToCloudFormation(properties.customLineItemChargeDetails),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnCustomLineItemPropsFromCloudFormation(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("billingGroupArn","BillingGroupArn",properties.BillingGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.BillingGroupArn):void 0),ret.addPropertyResult("billingPeriodRange","BillingPeriodRange",properties.BillingPeriodRange!=null?CfnCustomLineItemBillingPeriodRangePropertyFromCloudFormation(properties.BillingPeriodRange):void 0),ret.addPropertyResult("customLineItemChargeDetails","CustomLineItemChargeDetails",properties.CustomLineItemChargeDetails!=null?CfnCustomLineItemCustomLineItemChargeDetailsPropertyFromCloudFormation(properties.CustomLineItemChargeDetails):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPricingPlan extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPricingPlanPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnPricingPlan(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:CfnPricingPlan.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_billingconductor_CfnPricingPlanProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPricingPlan),error}cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrCreationTime=cdk().Token.asNumber(this.getAtt("CreationTime",cdk().ResolutionTypeHint.NUMBER)),this.attrLastModifiedTime=cdk().Token.asNumber(this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.NUMBER)),this.attrSize=cdk().Token.asNumber(this.getAtt("Size",cdk().ResolutionTypeHint.NUMBER)),this.description=props.description,this.name=props.name,this.pricingRuleArns=props.pricingRuleArns,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::BillingConductor::PricingPlan",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{description:this.description,name:this.name,pricingRuleArns:this.pricingRuleArns,tags:this.tags.renderTags()}}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",CfnPricingPlan.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPricingPlanPropsToCloudFormation(props)}}exports.CfnPricingPlan=CfnPricingPlan,_c=JSII_RTTI_SYMBOL_1,CfnPricingPlan[_c]={fqn:"aws-cdk-lib.aws_billingconductor.CfnPricingPlan",version:"2.202.0"},CfnPricingPlan.CFN_RESOURCE_TYPE_NAME="AWS::BillingConductor::PricingPlan";function CfnPricingPlanPropsValidator(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("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("pricingRuleArns",cdk().listValidator(cdk().validateString))(properties.pricingRuleArns)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnPricingPlanProps"')}function convertCfnPricingPlanPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPricingPlanPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),PricingRuleArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.pricingRuleArns),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnPricingPlanPropsFromCloudFormation(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("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("pricingRuleArns","PricingRuleArns",properties.PricingRuleArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PricingRuleArns):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPricingRule extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPricingRulePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnPricingRule(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:CfnPricingRule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_billingconductor_CfnPricingRuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPricingRule),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"scope",this),cdk().requireProperty(props,"type",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrAssociatedPricingPlanCount=cdk().Token.asNumber(this.getAtt("AssociatedPricingPlanCount",cdk().ResolutionTypeHint.NUMBER)),this.attrCreationTime=cdk().Token.asNumber(this.getAtt("CreationTime",cdk().ResolutionTypeHint.NUMBER)),this.attrLastModifiedTime=cdk().Token.asNumber(this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.NUMBER)),this.billingEntity=props.billingEntity,this.description=props.description,this.modifierPercentage=props.modifierPercentage,this.name=props.name,this.operation=props.operation,this.scope=props.scope,this.service=props.service,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::BillingConductor::PricingRule",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.tiering=props.tiering,this.type=props.type,this.usageType=props.usageType}get cfnProperties(){return{billingEntity:this.billingEntity,description:this.description,modifierPercentage:this.modifierPercentage,name:this.name,operation:this.operation,scope:this.scope,service:this.service,tags:this.tags.renderTags(),tiering:this.tiering,type:this.type,usageType:this.usageType}}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",CfnPricingRule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPricingRulePropsToCloudFormation(props)}}exports.CfnPricingRule=CfnPricingRule,_d=JSII_RTTI_SYMBOL_1,CfnPricingRule[_d]={fqn:"aws-cdk-lib.aws_billingconductor.CfnPricingRule",version:"2.202.0"},CfnPricingRule.CFN_RESOURCE_TYPE_NAME="AWS::BillingConductor::PricingRule";function CfnPricingRuleFreeTierPropertyValidator(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("activated",cdk().requiredValidator)(properties.activated)),errors.collect(cdk().propertyValidator("activated",cdk().validateBoolean)(properties.activated)),errors.wrap('supplied properties not correct for "FreeTierProperty"')}function convertCfnPricingRuleFreeTierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPricingRuleFreeTierPropertyValidator(properties).assertSuccess(),{Activated:cdk().booleanToCloudFormation(properties.activated)}):properties}function CfnPricingRuleFreeTierPropertyFromCloudFormation(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("activated","Activated",properties.Activated!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Activated):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPricingRuleTieringPropertyValidator(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("freeTier",CfnPricingRuleFreeTierPropertyValidator)(properties.freeTier)),errors.wrap('supplied properties not correct for "TieringProperty"')}function convertCfnPricingRuleTieringPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPricingRuleTieringPropertyValidator(properties).assertSuccess(),{FreeTier:convertCfnPricingRuleFreeTierPropertyToCloudFormation(properties.freeTier)}):properties}function CfnPricingRuleTieringPropertyFromCloudFormation(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("freeTier","FreeTier",properties.FreeTier!=null?CfnPricingRuleFreeTierPropertyFromCloudFormation(properties.FreeTier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPricingRulePropsValidator(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("billingEntity",cdk().validateString)(properties.billingEntity)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("modifierPercentage",cdk().validateNumber)(properties.modifierPercentage)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("operation",cdk().validateString)(properties.operation)),errors.collect(cdk().propertyValidator("scope",cdk().requiredValidator)(properties.scope)),errors.collect(cdk().propertyValidator("scope",cdk().validateString)(properties.scope)),errors.collect(cdk().propertyValidator("service",cdk().validateString)(properties.service)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("tiering",CfnPricingRuleTieringPropertyValidator)(properties.tiering)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("usageType",cdk().validateString)(properties.usageType)),errors.wrap('supplied properties not correct for "CfnPricingRuleProps"')}function convertCfnPricingRulePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPricingRulePropsValidator(properties).assertSuccess(),{BillingEntity:cdk().stringToCloudFormation(properties.billingEntity),Description:cdk().stringToCloudFormation(properties.description),ModifierPercentage:cdk().numberToCloudFormation(properties.modifierPercentage),Name:cdk().stringToCloudFormation(properties.name),Operation:cdk().stringToCloudFormation(properties.operation),Scope:cdk().stringToCloudFormation(properties.scope),Service:cdk().stringToCloudFormation(properties.service),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Tiering:convertCfnPricingRuleTieringPropertyToCloudFormation(properties.tiering),Type:cdk().stringToCloudFormation(properties.type),UsageType:cdk().stringToCloudFormation(properties.usageType)}):properties}function CfnPricingRulePropsFromCloudFormation(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("billingEntity","BillingEntity",properties.BillingEntity!=null?cfn_parse().FromCloudFormation.getString(properties.BillingEntity):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("modifierPercentage","ModifierPercentage",properties.ModifierPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.ModifierPercentage):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("operation","Operation",properties.Operation!=null?cfn_parse().FromCloudFormation.getString(properties.Operation):void 0),ret.addPropertyResult("scope","Scope",properties.Scope!=null?cfn_parse().FromCloudFormation.getString(properties.Scope):void 0),ret.addPropertyResult("service","Service",properties.Service!=null?cfn_parse().FromCloudFormation.getString(properties.Service):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("tiering","Tiering",properties.Tiering!=null?CfnPricingRuleTieringPropertyFromCloudFormation(properties.Tiering):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("usageType","UsageType",properties.UsageType!=null?cfn_parse().FromCloudFormation.getString(properties.UsageType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}