UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,020 lines 1.11 MB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43; Object.defineProperty(exports, "__esModule", { value: true }); exports.CeCostCategoryRuleRuleOrNotTagsOutputReference = exports.CeCostCategoryRuleRuleOrNotDimensionOutputReference = exports.CeCostCategoryRuleRuleOrNotCostCategoryOutputReference = exports.CeCostCategoryRuleRuleOrDimensionOutputReference = exports.CeCostCategoryRuleRuleOrCostCategoryOutputReference = exports.CeCostCategoryRuleRuleOrAndList = exports.CeCostCategoryRuleRuleOrAndOutputReference = exports.CeCostCategoryRuleRuleOrAndTagsOutputReference = exports.CeCostCategoryRuleRuleOrAndDimensionOutputReference = exports.CeCostCategoryRuleRuleOrAndCostCategoryOutputReference = exports.CeCostCategoryRuleRuleNotOutputReference = exports.CeCostCategoryRuleRuleNotTagsOutputReference = exports.CeCostCategoryRuleRuleNotOrList = exports.CeCostCategoryRuleRuleNotOrOutputReference = exports.CeCostCategoryRuleRuleNotOrTagsOutputReference = exports.CeCostCategoryRuleRuleNotOrDimensionOutputReference = exports.CeCostCategoryRuleRuleNotOrCostCategoryOutputReference = exports.CeCostCategoryRuleRuleNotNotOutputReference = exports.CeCostCategoryRuleRuleNotNotTagsOutputReference = exports.CeCostCategoryRuleRuleNotNotDimensionOutputReference = exports.CeCostCategoryRuleRuleNotNotCostCategoryOutputReference = exports.CeCostCategoryRuleRuleNotDimensionOutputReference = exports.CeCostCategoryRuleRuleNotCostCategoryOutputReference = exports.CeCostCategoryRuleRuleNotAndList = exports.CeCostCategoryRuleRuleNotAndOutputReference = exports.CeCostCategoryRuleRuleNotAndTagsOutputReference = exports.CeCostCategoryRuleRuleNotAndDimensionOutputReference = exports.CeCostCategoryRuleRuleNotAndCostCategoryOutputReference = exports.CeCostCategoryRuleRuleDimensionOutputReference = exports.CeCostCategoryRuleRuleCostCategoryOutputReference = exports.CeCostCategoryRuleRuleAndList = exports.CeCostCategoryRuleRuleAndOutputReference = exports.CeCostCategoryRuleRuleAndTagsOutputReference = exports.CeCostCategoryRuleRuleAndOrList = exports.CeCostCategoryRuleRuleAndOrOutputReference = exports.CeCostCategoryRuleRuleAndOrTagsOutputReference = exports.CeCostCategoryRuleRuleAndOrDimensionOutputReference = exports.CeCostCategoryRuleRuleAndOrCostCategoryOutputReference = exports.CeCostCategoryRuleRuleAndNotOutputReference = exports.CeCostCategoryRuleRuleAndNotTagsOutputReference = exports.CeCostCategoryRuleRuleAndNotDimensionOutputReference = exports.CeCostCategoryRuleRuleAndNotCostCategoryOutputReference = exports.CeCostCategoryRuleRuleAndDimensionOutputReference = exports.CeCostCategoryRuleRuleAndCostCategoryOutputReference = exports.CeCostCategoryRuleRuleAndAndList = exports.CeCostCategoryRuleRuleAndAndOutputReference = exports.CeCostCategoryRuleRuleAndAndTagsOutputReference = exports.CeCostCategoryRuleRuleAndAndDimensionOutputReference = exports.CeCostCategoryRuleRuleAndAndCostCategoryOutputReference = exports.CeCostCategoryRuleInheritedValueOutputReference = void 0; exports.CeCostCategory = exports.CeCostCategorySplitChargeRuleList = exports.CeCostCategorySplitChargeRuleOutputReference = exports.CeCostCategorySplitChargeRuleParameterList = exports.CeCostCategorySplitChargeRuleParameterOutputReference = exports.CeCostCategoryRuleList = exports.CeCostCategoryRuleOutputReference = exports.CeCostCategoryRuleRuleOutputReference = exports.CeCostCategoryRuleRuleTagsOutputReference = exports.CeCostCategoryRuleRuleOrList = exports.CeCostCategoryRuleRuleOrOutputReference = exports.CeCostCategoryRuleRuleOrTagsOutputReference = exports.CeCostCategoryRuleRuleOrOrList = exports.CeCostCategoryRuleRuleOrOrOutputReference = exports.CeCostCategoryRuleRuleOrOrTagsOutputReference = exports.CeCostCategoryRuleRuleOrOrDimensionOutputReference = exports.CeCostCategoryRuleRuleOrOrCostCategoryOutputReference = exports.CeCostCategoryRuleRuleOrNotOutputReference = void 0; exports.ceCostCategoryRuleInheritedValueToTerraform = ceCostCategoryRuleInheritedValueToTerraform; exports.ceCostCategoryRuleInheritedValueToHclTerraform = ceCostCategoryRuleInheritedValueToHclTerraform; exports.ceCostCategoryRuleRuleAndAndCostCategoryToTerraform = ceCostCategoryRuleRuleAndAndCostCategoryToTerraform; exports.ceCostCategoryRuleRuleAndAndCostCategoryToHclTerraform = ceCostCategoryRuleRuleAndAndCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleAndAndDimensionToTerraform = ceCostCategoryRuleRuleAndAndDimensionToTerraform; exports.ceCostCategoryRuleRuleAndAndDimensionToHclTerraform = ceCostCategoryRuleRuleAndAndDimensionToHclTerraform; exports.ceCostCategoryRuleRuleAndAndTagsToTerraform = ceCostCategoryRuleRuleAndAndTagsToTerraform; exports.ceCostCategoryRuleRuleAndAndTagsToHclTerraform = ceCostCategoryRuleRuleAndAndTagsToHclTerraform; exports.ceCostCategoryRuleRuleAndAndToTerraform = ceCostCategoryRuleRuleAndAndToTerraform; exports.ceCostCategoryRuleRuleAndAndToHclTerraform = ceCostCategoryRuleRuleAndAndToHclTerraform; exports.ceCostCategoryRuleRuleAndCostCategoryToTerraform = ceCostCategoryRuleRuleAndCostCategoryToTerraform; exports.ceCostCategoryRuleRuleAndCostCategoryToHclTerraform = ceCostCategoryRuleRuleAndCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleAndDimensionToTerraform = ceCostCategoryRuleRuleAndDimensionToTerraform; exports.ceCostCategoryRuleRuleAndDimensionToHclTerraform = ceCostCategoryRuleRuleAndDimensionToHclTerraform; exports.ceCostCategoryRuleRuleAndNotCostCategoryToTerraform = ceCostCategoryRuleRuleAndNotCostCategoryToTerraform; exports.ceCostCategoryRuleRuleAndNotCostCategoryToHclTerraform = ceCostCategoryRuleRuleAndNotCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleAndNotDimensionToTerraform = ceCostCategoryRuleRuleAndNotDimensionToTerraform; exports.ceCostCategoryRuleRuleAndNotDimensionToHclTerraform = ceCostCategoryRuleRuleAndNotDimensionToHclTerraform; exports.ceCostCategoryRuleRuleAndNotTagsToTerraform = ceCostCategoryRuleRuleAndNotTagsToTerraform; exports.ceCostCategoryRuleRuleAndNotTagsToHclTerraform = ceCostCategoryRuleRuleAndNotTagsToHclTerraform; exports.ceCostCategoryRuleRuleAndNotToTerraform = ceCostCategoryRuleRuleAndNotToTerraform; exports.ceCostCategoryRuleRuleAndNotToHclTerraform = ceCostCategoryRuleRuleAndNotToHclTerraform; exports.ceCostCategoryRuleRuleAndOrCostCategoryToTerraform = ceCostCategoryRuleRuleAndOrCostCategoryToTerraform; exports.ceCostCategoryRuleRuleAndOrCostCategoryToHclTerraform = ceCostCategoryRuleRuleAndOrCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleAndOrDimensionToTerraform = ceCostCategoryRuleRuleAndOrDimensionToTerraform; exports.ceCostCategoryRuleRuleAndOrDimensionToHclTerraform = ceCostCategoryRuleRuleAndOrDimensionToHclTerraform; exports.ceCostCategoryRuleRuleAndOrTagsToTerraform = ceCostCategoryRuleRuleAndOrTagsToTerraform; exports.ceCostCategoryRuleRuleAndOrTagsToHclTerraform = ceCostCategoryRuleRuleAndOrTagsToHclTerraform; exports.ceCostCategoryRuleRuleAndOrToTerraform = ceCostCategoryRuleRuleAndOrToTerraform; exports.ceCostCategoryRuleRuleAndOrToHclTerraform = ceCostCategoryRuleRuleAndOrToHclTerraform; exports.ceCostCategoryRuleRuleAndTagsToTerraform = ceCostCategoryRuleRuleAndTagsToTerraform; exports.ceCostCategoryRuleRuleAndTagsToHclTerraform = ceCostCategoryRuleRuleAndTagsToHclTerraform; exports.ceCostCategoryRuleRuleAndToTerraform = ceCostCategoryRuleRuleAndToTerraform; exports.ceCostCategoryRuleRuleAndToHclTerraform = ceCostCategoryRuleRuleAndToHclTerraform; exports.ceCostCategoryRuleRuleCostCategoryToTerraform = ceCostCategoryRuleRuleCostCategoryToTerraform; exports.ceCostCategoryRuleRuleCostCategoryToHclTerraform = ceCostCategoryRuleRuleCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleDimensionToTerraform = ceCostCategoryRuleRuleDimensionToTerraform; exports.ceCostCategoryRuleRuleDimensionToHclTerraform = ceCostCategoryRuleRuleDimensionToHclTerraform; exports.ceCostCategoryRuleRuleNotAndCostCategoryToTerraform = ceCostCategoryRuleRuleNotAndCostCategoryToTerraform; exports.ceCostCategoryRuleRuleNotAndCostCategoryToHclTerraform = ceCostCategoryRuleRuleNotAndCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleNotAndDimensionToTerraform = ceCostCategoryRuleRuleNotAndDimensionToTerraform; exports.ceCostCategoryRuleRuleNotAndDimensionToHclTerraform = ceCostCategoryRuleRuleNotAndDimensionToHclTerraform; exports.ceCostCategoryRuleRuleNotAndTagsToTerraform = ceCostCategoryRuleRuleNotAndTagsToTerraform; exports.ceCostCategoryRuleRuleNotAndTagsToHclTerraform = ceCostCategoryRuleRuleNotAndTagsToHclTerraform; exports.ceCostCategoryRuleRuleNotAndToTerraform = ceCostCategoryRuleRuleNotAndToTerraform; exports.ceCostCategoryRuleRuleNotAndToHclTerraform = ceCostCategoryRuleRuleNotAndToHclTerraform; exports.ceCostCategoryRuleRuleNotCostCategoryToTerraform = ceCostCategoryRuleRuleNotCostCategoryToTerraform; exports.ceCostCategoryRuleRuleNotCostCategoryToHclTerraform = ceCostCategoryRuleRuleNotCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleNotDimensionToTerraform = ceCostCategoryRuleRuleNotDimensionToTerraform; exports.ceCostCategoryRuleRuleNotDimensionToHclTerraform = ceCostCategoryRuleRuleNotDimensionToHclTerraform; exports.ceCostCategoryRuleRuleNotNotCostCategoryToTerraform = ceCostCategoryRuleRuleNotNotCostCategoryToTerraform; exports.ceCostCategoryRuleRuleNotNotCostCategoryToHclTerraform = ceCostCategoryRuleRuleNotNotCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleNotNotDimensionToTerraform = ceCostCategoryRuleRuleNotNotDimensionToTerraform; exports.ceCostCategoryRuleRuleNotNotDimensionToHclTerraform = ceCostCategoryRuleRuleNotNotDimensionToHclTerraform; exports.ceCostCategoryRuleRuleNotNotTagsToTerraform = ceCostCategoryRuleRuleNotNotTagsToTerraform; exports.ceCostCategoryRuleRuleNotNotTagsToHclTerraform = ceCostCategoryRuleRuleNotNotTagsToHclTerraform; exports.ceCostCategoryRuleRuleNotNotToTerraform = ceCostCategoryRuleRuleNotNotToTerraform; exports.ceCostCategoryRuleRuleNotNotToHclTerraform = ceCostCategoryRuleRuleNotNotToHclTerraform; exports.ceCostCategoryRuleRuleNotOrCostCategoryToTerraform = ceCostCategoryRuleRuleNotOrCostCategoryToTerraform; exports.ceCostCategoryRuleRuleNotOrCostCategoryToHclTerraform = ceCostCategoryRuleRuleNotOrCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleNotOrDimensionToTerraform = ceCostCategoryRuleRuleNotOrDimensionToTerraform; exports.ceCostCategoryRuleRuleNotOrDimensionToHclTerraform = ceCostCategoryRuleRuleNotOrDimensionToHclTerraform; exports.ceCostCategoryRuleRuleNotOrTagsToTerraform = ceCostCategoryRuleRuleNotOrTagsToTerraform; exports.ceCostCategoryRuleRuleNotOrTagsToHclTerraform = ceCostCategoryRuleRuleNotOrTagsToHclTerraform; exports.ceCostCategoryRuleRuleNotOrToTerraform = ceCostCategoryRuleRuleNotOrToTerraform; exports.ceCostCategoryRuleRuleNotOrToHclTerraform = ceCostCategoryRuleRuleNotOrToHclTerraform; exports.ceCostCategoryRuleRuleNotTagsToTerraform = ceCostCategoryRuleRuleNotTagsToTerraform; exports.ceCostCategoryRuleRuleNotTagsToHclTerraform = ceCostCategoryRuleRuleNotTagsToHclTerraform; exports.ceCostCategoryRuleRuleNotToTerraform = ceCostCategoryRuleRuleNotToTerraform; exports.ceCostCategoryRuleRuleNotToHclTerraform = ceCostCategoryRuleRuleNotToHclTerraform; exports.ceCostCategoryRuleRuleOrAndCostCategoryToTerraform = ceCostCategoryRuleRuleOrAndCostCategoryToTerraform; exports.ceCostCategoryRuleRuleOrAndCostCategoryToHclTerraform = ceCostCategoryRuleRuleOrAndCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleOrAndDimensionToTerraform = ceCostCategoryRuleRuleOrAndDimensionToTerraform; exports.ceCostCategoryRuleRuleOrAndDimensionToHclTerraform = ceCostCategoryRuleRuleOrAndDimensionToHclTerraform; exports.ceCostCategoryRuleRuleOrAndTagsToTerraform = ceCostCategoryRuleRuleOrAndTagsToTerraform; exports.ceCostCategoryRuleRuleOrAndTagsToHclTerraform = ceCostCategoryRuleRuleOrAndTagsToHclTerraform; exports.ceCostCategoryRuleRuleOrAndToTerraform = ceCostCategoryRuleRuleOrAndToTerraform; exports.ceCostCategoryRuleRuleOrAndToHclTerraform = ceCostCategoryRuleRuleOrAndToHclTerraform; exports.ceCostCategoryRuleRuleOrCostCategoryToTerraform = ceCostCategoryRuleRuleOrCostCategoryToTerraform; exports.ceCostCategoryRuleRuleOrCostCategoryToHclTerraform = ceCostCategoryRuleRuleOrCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleOrDimensionToTerraform = ceCostCategoryRuleRuleOrDimensionToTerraform; exports.ceCostCategoryRuleRuleOrDimensionToHclTerraform = ceCostCategoryRuleRuleOrDimensionToHclTerraform; exports.ceCostCategoryRuleRuleOrNotCostCategoryToTerraform = ceCostCategoryRuleRuleOrNotCostCategoryToTerraform; exports.ceCostCategoryRuleRuleOrNotCostCategoryToHclTerraform = ceCostCategoryRuleRuleOrNotCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleOrNotDimensionToTerraform = ceCostCategoryRuleRuleOrNotDimensionToTerraform; exports.ceCostCategoryRuleRuleOrNotDimensionToHclTerraform = ceCostCategoryRuleRuleOrNotDimensionToHclTerraform; exports.ceCostCategoryRuleRuleOrNotTagsToTerraform = ceCostCategoryRuleRuleOrNotTagsToTerraform; exports.ceCostCategoryRuleRuleOrNotTagsToHclTerraform = ceCostCategoryRuleRuleOrNotTagsToHclTerraform; exports.ceCostCategoryRuleRuleOrNotToTerraform = ceCostCategoryRuleRuleOrNotToTerraform; exports.ceCostCategoryRuleRuleOrNotToHclTerraform = ceCostCategoryRuleRuleOrNotToHclTerraform; exports.ceCostCategoryRuleRuleOrOrCostCategoryToTerraform = ceCostCategoryRuleRuleOrOrCostCategoryToTerraform; exports.ceCostCategoryRuleRuleOrOrCostCategoryToHclTerraform = ceCostCategoryRuleRuleOrOrCostCategoryToHclTerraform; exports.ceCostCategoryRuleRuleOrOrDimensionToTerraform = ceCostCategoryRuleRuleOrOrDimensionToTerraform; exports.ceCostCategoryRuleRuleOrOrDimensionToHclTerraform = ceCostCategoryRuleRuleOrOrDimensionToHclTerraform; exports.ceCostCategoryRuleRuleOrOrTagsToTerraform = ceCostCategoryRuleRuleOrOrTagsToTerraform; exports.ceCostCategoryRuleRuleOrOrTagsToHclTerraform = ceCostCategoryRuleRuleOrOrTagsToHclTerraform; exports.ceCostCategoryRuleRuleOrOrToTerraform = ceCostCategoryRuleRuleOrOrToTerraform; exports.ceCostCategoryRuleRuleOrOrToHclTerraform = ceCostCategoryRuleRuleOrOrToHclTerraform; exports.ceCostCategoryRuleRuleOrTagsToTerraform = ceCostCategoryRuleRuleOrTagsToTerraform; exports.ceCostCategoryRuleRuleOrTagsToHclTerraform = ceCostCategoryRuleRuleOrTagsToHclTerraform; exports.ceCostCategoryRuleRuleOrToTerraform = ceCostCategoryRuleRuleOrToTerraform; exports.ceCostCategoryRuleRuleOrToHclTerraform = ceCostCategoryRuleRuleOrToHclTerraform; exports.ceCostCategoryRuleRuleTagsToTerraform = ceCostCategoryRuleRuleTagsToTerraform; exports.ceCostCategoryRuleRuleTagsToHclTerraform = ceCostCategoryRuleRuleTagsToHclTerraform; exports.ceCostCategoryRuleRuleToTerraform = ceCostCategoryRuleRuleToTerraform; exports.ceCostCategoryRuleRuleToHclTerraform = ceCostCategoryRuleRuleToHclTerraform; exports.ceCostCategoryRuleToTerraform = ceCostCategoryRuleToTerraform; exports.ceCostCategoryRuleToHclTerraform = ceCostCategoryRuleToHclTerraform; exports.ceCostCategorySplitChargeRuleParameterToTerraform = ceCostCategorySplitChargeRuleParameterToTerraform; exports.ceCostCategorySplitChargeRuleParameterToHclTerraform = ceCostCategorySplitChargeRuleParameterToHclTerraform; exports.ceCostCategorySplitChargeRuleToTerraform = ceCostCategorySplitChargeRuleToTerraform; exports.ceCostCategorySplitChargeRuleToHclTerraform = ceCostCategorySplitChargeRuleToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function ceCostCategoryRuleInheritedValueToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { dimension_key: cdktf.stringToTerraform(struct.dimensionKey), dimension_name: cdktf.stringToTerraform(struct.dimensionName), }; } function ceCostCategoryRuleInheritedValueToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { dimension_key: { value: cdktf.stringToHclTerraform(struct.dimensionKey), isBlock: false, type: "simple", storageClassType: "string", }, dimension_name: { value: cdktf.stringToHclTerraform(struct.dimensionName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CeCostCategoryRuleInheritedValueOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._dimensionKey !== undefined) { hasAnyValues = true; internalValueResult.dimensionKey = this._dimensionKey; } if (this._dimensionName !== undefined) { hasAnyValues = true; internalValueResult.dimensionName = this._dimensionName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dimensionKey = undefined; this._dimensionName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dimensionKey = value.dimensionKey; this._dimensionName = value.dimensionName; } } get dimensionKey() { return this.getStringAttribute('dimension_key'); } set dimensionKey(value) { this._dimensionKey = value; } resetDimensionKey() { this._dimensionKey = undefined; } // Temporarily expose input value. Use with caution. get dimensionKeyInput() { return this._dimensionKey; } get dimensionName() { return this.getStringAttribute('dimension_name'); } set dimensionName(value) { this._dimensionName = value; } resetDimensionName() { this._dimensionName = undefined; } // Temporarily expose input value. Use with caution. get dimensionNameInput() { return this._dimensionName; } } exports.CeCostCategoryRuleInheritedValueOutputReference = CeCostCategoryRuleInheritedValueOutputReference; _a = JSII_RTTI_SYMBOL_1; CeCostCategoryRuleInheritedValueOutputReference[_a] = { fqn: "@cdktf/provider-aws.ceCostCategory.CeCostCategoryRuleInheritedValueOutputReference", version: "21.22.1" }; function ceCostCategoryRuleRuleAndAndCostCategoryToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { key: cdktf.stringToTerraform(struct.key), match_options: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.matchOptions), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function ceCostCategoryRuleRuleAndAndCostCategoryToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, match_options: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.matchOptions), isBlock: false, type: "set", storageClassType: "stringList", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CeCostCategoryRuleRuleAndAndCostCategoryOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._matchOptions !== undefined) { hasAnyValues = true; internalValueResult.matchOptions = this._matchOptions; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._key = undefined; this._matchOptions = undefined; this._values = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._key = value.key; this._matchOptions = value.matchOptions; this._values = value.values; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } resetKey() { this._key = undefined; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get matchOptions() { return cdktf.Fn.tolist(this.getListAttribute('match_options')); } set matchOptions(value) { this._matchOptions = value; } resetMatchOptions() { this._matchOptions = undefined; } // Temporarily expose input value. Use with caution. get matchOptionsInput() { return this._matchOptions; } get values() { return cdktf.Fn.tolist(this.getListAttribute('values')); } set values(value) { this._values = value; } resetValues() { this._values = undefined; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.CeCostCategoryRuleRuleAndAndCostCategoryOutputReference = CeCostCategoryRuleRuleAndAndCostCategoryOutputReference; _b = JSII_RTTI_SYMBOL_1; CeCostCategoryRuleRuleAndAndCostCategoryOutputReference[_b] = { fqn: "@cdktf/provider-aws.ceCostCategory.CeCostCategoryRuleRuleAndAndCostCategoryOutputReference", version: "21.22.1" }; function ceCostCategoryRuleRuleAndAndDimensionToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { key: cdktf.stringToTerraform(struct.key), match_options: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.matchOptions), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function ceCostCategoryRuleRuleAndAndDimensionToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, match_options: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.matchOptions), isBlock: false, type: "set", storageClassType: "stringList", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CeCostCategoryRuleRuleAndAndDimensionOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._matchOptions !== undefined) { hasAnyValues = true; internalValueResult.matchOptions = this._matchOptions; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._key = undefined; this._matchOptions = undefined; this._values = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._key = value.key; this._matchOptions = value.matchOptions; this._values = value.values; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } resetKey() { this._key = undefined; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get matchOptions() { return cdktf.Fn.tolist(this.getListAttribute('match_options')); } set matchOptions(value) { this._matchOptions = value; } resetMatchOptions() { this._matchOptions = undefined; } // Temporarily expose input value. Use with caution. get matchOptionsInput() { return this._matchOptions; } get values() { return cdktf.Fn.tolist(this.getListAttribute('values')); } set values(value) { this._values = value; } resetValues() { this._values = undefined; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.CeCostCategoryRuleRuleAndAndDimensionOutputReference = CeCostCategoryRuleRuleAndAndDimensionOutputReference; _c = JSII_RTTI_SYMBOL_1; CeCostCategoryRuleRuleAndAndDimensionOutputReference[_c] = { fqn: "@cdktf/provider-aws.ceCostCategory.CeCostCategoryRuleRuleAndAndDimensionOutputReference", version: "21.22.1" }; function ceCostCategoryRuleRuleAndAndTagsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { key: cdktf.stringToTerraform(struct.key), match_options: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.matchOptions), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function ceCostCategoryRuleRuleAndAndTagsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, match_options: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.matchOptions), isBlock: false, type: "set", storageClassType: "stringList", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CeCostCategoryRuleRuleAndAndTagsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._matchOptions !== undefined) { hasAnyValues = true; internalValueResult.matchOptions = this._matchOptions; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._key = undefined; this._matchOptions = undefined; this._values = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._key = value.key; this._matchOptions = value.matchOptions; this._values = value.values; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } resetKey() { this._key = undefined; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get matchOptions() { return cdktf.Fn.tolist(this.getListAttribute('match_options')); } set matchOptions(value) { this._matchOptions = value; } resetMatchOptions() { this._matchOptions = undefined; } // Temporarily expose input value. Use with caution. get matchOptionsInput() { return this._matchOptions; } get values() { return cdktf.Fn.tolist(this.getListAttribute('values')); } set values(value) { this._values = value; } resetValues() { this._values = undefined; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.CeCostCategoryRuleRuleAndAndTagsOutputReference = CeCostCategoryRuleRuleAndAndTagsOutputReference; _d = JSII_RTTI_SYMBOL_1; CeCostCategoryRuleRuleAndAndTagsOutputReference[_d] = { fqn: "@cdktf/provider-aws.ceCostCategory.CeCostCategoryRuleRuleAndAndTagsOutputReference", version: "21.22.1" }; function ceCostCategoryRuleRuleAndAndToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { cost_category: ceCostCategoryRuleRuleAndAndCostCategoryToTerraform(struct.costCategory), dimension: ceCostCategoryRuleRuleAndAndDimensionToTerraform(struct.dimension), tags: ceCostCategoryRuleRuleAndAndTagsToTerraform(struct.tags), }; } function ceCostCategoryRuleRuleAndAndToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { cost_category: { value: ceCostCategoryRuleRuleAndAndCostCategoryToHclTerraform(struct.costCategory), isBlock: true, type: "list", storageClassType: "CeCostCategoryRuleRuleAndAndCostCategoryList", }, dimension: { value: ceCostCategoryRuleRuleAndAndDimensionToHclTerraform(struct.dimension), isBlock: true, type: "list", storageClassType: "CeCostCategoryRuleRuleAndAndDimensionList", }, tags: { value: ceCostCategoryRuleRuleAndAndTagsToHclTerraform(struct.tags), isBlock: true, type: "list", storageClassType: "CeCostCategoryRuleRuleAndAndTagsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CeCostCategoryRuleRuleAndAndOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // cost_category - computed: false, optional: true, required: false this._costCategory = new CeCostCategoryRuleRuleAndAndCostCategoryOutputReference(this, "cost_category"); // dimension - computed: false, optional: true, required: false this._dimension = new CeCostCategoryRuleRuleAndAndDimensionOutputReference(this, "dimension"); // tags - computed: false, optional: true, required: false this._tags = new CeCostCategoryRuleRuleAndAndTagsOutputReference(this, "tags"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._costCategory?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.costCategory = this._costCategory?.internalValue; } if (this._dimension?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.dimension = this._dimension?.internalValue; } if (this._tags?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.tags = this._tags?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._costCategory.internalValue = undefined; this._dimension.internalValue = undefined; this._tags.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._costCategory.internalValue = value.costCategory; this._dimension.internalValue = value.dimension; this._tags.internalValue = value.tags; } } get costCategory() { return this._costCategory; } putCostCategory(value) { this._costCategory.internalValue = value; } resetCostCategory() { this._costCategory.internalValue = undefined; } // Temporarily expose input value. Use with caution. get costCategoryInput() { return this._costCategory.internalValue; } get dimension() { return this._dimension; } putDimension(value) { this._dimension.internalValue = value; } resetDimension() { this._dimension.internalValue = undefined; } // Temporarily expose input value. Use with caution. get dimensionInput() { return this._dimension.internalValue; } get tags() { return this._tags; } putTags(value) { this._tags.internalValue = value; } resetTags() { this._tags.internalValue = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags.internalValue; } } exports.CeCostCategoryRuleRuleAndAndOutputReference = CeCostCategoryRuleRuleAndAndOutputReference; _e = JSII_RTTI_SYMBOL_1; CeCostCategoryRuleRuleAndAndOutputReference[_e] = { fqn: "@cdktf/provider-aws.ceCostCategory.CeCostCategoryRuleRuleAndAndOutputReference", version: "21.22.1" }; class CeCostCategoryRuleRuleAndAndList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new CeCostCategoryRuleRuleAndAndOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CeCostCategoryRuleRuleAndAndList = CeCostCategoryRuleRuleAndAndList; _f = JSII_RTTI_SYMBOL_1; CeCostCategoryRuleRuleAndAndList[_f] = { fqn: "@cdktf/provider-aws.ceCostCategory.CeCostCategoryRuleRuleAndAndList", version: "21.22.1" }; function ceCostCategoryRuleRuleAndCostCategoryToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { key: cdktf.stringToTerraform(struct.key), match_options: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.matchOptions), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function ceCostCategoryRuleRuleAndCostCategoryToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, match_options: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.matchOptions), isBlock: false, type: "set", storageClassType: "stringList", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CeCostCategoryRuleRuleAndCostCategoryOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._matchOptions !== undefined) { hasAnyValues = true; internalValueResult.matchOptions = this._matchOptions; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._key = undefined; this._matchOptions = undefined; this._values = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._key = value.key; this._matchOptions = value.matchOptions; this._values = value.values; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } resetKey() { this._key = undefined; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get matchOptions() { return cdktf.Fn.tolist(this.getListAttribute('match_options')); } set matchOptions(value) { this._matchOptions = value; } resetMatchOptions() { this._matchOptions = undefined; } // Temporarily expose input value. Use with caution. get matchOptionsInput() { return this._matchOptions; } get values() { return cdktf.Fn.tolist(this.getListAttribute('values')); } set values(value) { this._values = value; } resetValues() { this._values = undefined; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.CeCostCategoryRuleRuleAndCostCategoryOutputReference = CeCostCategoryRuleRuleAndCostCategoryOutputReference; _g = JSII_RTTI_SYMBOL_1; CeCostCategoryRuleRuleAndCostCategoryOutputReference[_g] = { fqn: "@cdktf/provider-aws.ceCostCategory.CeCostCategoryRuleRuleAndCostCategoryOutputReference", version: "21.22.1" }; function ceCostCategoryRuleRuleAndDimensionToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { key: cdktf.stringToTerraform(struct.key), match_options: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.matchOptions), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function ceCostCategoryRuleRuleAndDimensionToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, match_options: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.matchOptions), isBlock: false, type: "set", storageClassType: "stringList", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CeCostCategoryRuleRuleAndDimensionOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._matchOptions !== undefined) { hasAnyValues = true; internalValueResult.matchOptions = this._matchOptions; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._key = undefined; this._matchOptions = undefined; this._values = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._key = value.key; this._matchOptions = value.matchOptions; this._values = value.values; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } resetKey() { this._key = undefined; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get matchOptions() { return cdktf.Fn.tolist(this.getListAttribute('match_options')); } set matchOptions(value) { this._matchOptions = value; } resetMatchOptions() { this._matchOptions = undefined; } // Temporarily expose input value. Use with caution. get matchOptionsInput() { return this._matchOptions; } get values() { return cdktf.Fn.tolist(this.getListAttribute('values')); } set values(value) { this._values = value; } resetValues() { this._values = undefined; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.CeCostCategoryRuleRuleAndDimensionOutputReference = CeCostCategoryRuleRuleAndDimensionOutputReference; _h = JSII_RTTI_SYMBOL_1; CeCostCategoryRuleRuleAndDimensionOutputReference[_h] = { fqn: "@cdktf/provider-aws.ceCostCategory.CeCostCategoryRuleRuleAndDimensionOutputReference", version: "21.22.1" }; function ceCostCategoryRuleRuleAndNotCostCategoryToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https: