UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,187 lines (1,186 loc) 220 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConsumptionBudgetSubscription = exports.ConsumptionBudgetSubscriptionTimeoutsOutputReference = exports.consumptionBudgetSubscriptionTimeoutsToHclTerraform = exports.consumptionBudgetSubscriptionTimeoutsToTerraform = exports.ConsumptionBudgetSubscriptionTimePeriodOutputReference = exports.consumptionBudgetSubscriptionTimePeriodToHclTerraform = exports.consumptionBudgetSubscriptionTimePeriodToTerraform = exports.ConsumptionBudgetSubscriptionNotificationList = exports.ConsumptionBudgetSubscriptionNotificationOutputReference = exports.consumptionBudgetSubscriptionNotificationToHclTerraform = exports.consumptionBudgetSubscriptionNotificationToTerraform = exports.ConsumptionBudgetSubscriptionFilterOutputReference = exports.consumptionBudgetSubscriptionFilterToHclTerraform = exports.consumptionBudgetSubscriptionFilterToTerraform = exports.ConsumptionBudgetSubscriptionFilterTagList = exports.ConsumptionBudgetSubscriptionFilterTagOutputReference = exports.consumptionBudgetSubscriptionFilterTagToHclTerraform = exports.consumptionBudgetSubscriptionFilterTagToTerraform = exports.ConsumptionBudgetSubscriptionFilterNotOutputReference = exports.consumptionBudgetSubscriptionFilterNotToHclTerraform = exports.consumptionBudgetSubscriptionFilterNotToTerraform = exports.ConsumptionBudgetSubscriptionFilterNotTagOutputReference = exports.consumptionBudgetSubscriptionFilterNotTagToHclTerraform = exports.consumptionBudgetSubscriptionFilterNotTagToTerraform = exports.ConsumptionBudgetSubscriptionFilterNotDimensionOutputReference = exports.consumptionBudgetSubscriptionFilterNotDimensionToHclTerraform = exports.consumptionBudgetSubscriptionFilterNotDimensionToTerraform = exports.ConsumptionBudgetSubscriptionFilterDimensionList = exports.ConsumptionBudgetSubscriptionFilterDimensionOutputReference = exports.consumptionBudgetSubscriptionFilterDimensionToHclTerraform = exports.consumptionBudgetSubscriptionFilterDimensionToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function consumptionBudgetSubscriptionFilterDimensionToTerraform(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 { name: cdktf.stringToTerraform(struct.name), operator: cdktf.stringToTerraform(struct.operator), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } exports.consumptionBudgetSubscriptionFilterDimensionToTerraform = consumptionBudgetSubscriptionFilterDimensionToTerraform; function consumptionBudgetSubscriptionFilterDimensionToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, operator: { value: cdktf.stringToHclTerraform(struct.operator), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.consumptionBudgetSubscriptionFilterDimensionToHclTerraform = consumptionBudgetSubscriptionFilterDimensionToHclTerraform; class ConsumptionBudgetSubscriptionFilterDimensionOutputReference 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; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._operator !== undefined) { hasAnyValues = true; internalValueResult.operator = this._operator; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._operator = undefined; this._values = 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._name = value.name; this._operator = value.operator; this._values = value.values; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get operator() { return this.getStringAttribute('operator'); } set operator(value) { this._operator = value; } resetOperator() { this._operator = undefined; } // Temporarily expose input value. Use with caution. get operatorInput() { return this._operator; } get values() { return this.getListAttribute('values'); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.ConsumptionBudgetSubscriptionFilterDimensionOutputReference = ConsumptionBudgetSubscriptionFilterDimensionOutputReference; _a = JSII_RTTI_SYMBOL_1; ConsumptionBudgetSubscriptionFilterDimensionOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.consumptionBudgetSubscription.ConsumptionBudgetSubscriptionFilterDimensionOutputReference", version: "12.27.0" }; class ConsumptionBudgetSubscriptionFilterDimensionList 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 ConsumptionBudgetSubscriptionFilterDimensionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ConsumptionBudgetSubscriptionFilterDimensionList = ConsumptionBudgetSubscriptionFilterDimensionList; _b = JSII_RTTI_SYMBOL_1; ConsumptionBudgetSubscriptionFilterDimensionList[_b] = { fqn: "@cdktf/provider-azurerm.consumptionBudgetSubscription.ConsumptionBudgetSubscriptionFilterDimensionList", version: "12.27.0" }; function consumptionBudgetSubscriptionFilterNotDimensionToTerraform(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 { name: cdktf.stringToTerraform(struct.name), operator: cdktf.stringToTerraform(struct.operator), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } exports.consumptionBudgetSubscriptionFilterNotDimensionToTerraform = consumptionBudgetSubscriptionFilterNotDimensionToTerraform; function consumptionBudgetSubscriptionFilterNotDimensionToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, operator: { value: cdktf.stringToHclTerraform(struct.operator), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.consumptionBudgetSubscriptionFilterNotDimensionToHclTerraform = consumptionBudgetSubscriptionFilterNotDimensionToHclTerraform; class ConsumptionBudgetSubscriptionFilterNotDimensionOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._operator !== undefined) { hasAnyValues = true; internalValueResult.operator = this._operator; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; this._operator = undefined; this._values = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._name = value.name; this._operator = value.operator; this._values = value.values; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get operator() { return this.getStringAttribute('operator'); } set operator(value) { this._operator = value; } resetOperator() { this._operator = undefined; } // Temporarily expose input value. Use with caution. get operatorInput() { return this._operator; } get values() { return this.getListAttribute('values'); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.ConsumptionBudgetSubscriptionFilterNotDimensionOutputReference = ConsumptionBudgetSubscriptionFilterNotDimensionOutputReference; _c = JSII_RTTI_SYMBOL_1; ConsumptionBudgetSubscriptionFilterNotDimensionOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.consumptionBudgetSubscription.ConsumptionBudgetSubscriptionFilterNotDimensionOutputReference", version: "12.27.0" }; function consumptionBudgetSubscriptionFilterNotTagToTerraform(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 { name: cdktf.stringToTerraform(struct.name), operator: cdktf.stringToTerraform(struct.operator), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } exports.consumptionBudgetSubscriptionFilterNotTagToTerraform = consumptionBudgetSubscriptionFilterNotTagToTerraform; function consumptionBudgetSubscriptionFilterNotTagToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, operator: { value: cdktf.stringToHclTerraform(struct.operator), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.consumptionBudgetSubscriptionFilterNotTagToHclTerraform = consumptionBudgetSubscriptionFilterNotTagToHclTerraform; class ConsumptionBudgetSubscriptionFilterNotTagOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._operator !== undefined) { hasAnyValues = true; internalValueResult.operator = this._operator; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; this._operator = undefined; this._values = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._name = value.name; this._operator = value.operator; this._values = value.values; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get operator() { return this.getStringAttribute('operator'); } set operator(value) { this._operator = value; } resetOperator() { this._operator = undefined; } // Temporarily expose input value. Use with caution. get operatorInput() { return this._operator; } get values() { return this.getListAttribute('values'); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.ConsumptionBudgetSubscriptionFilterNotTagOutputReference = ConsumptionBudgetSubscriptionFilterNotTagOutputReference; _d = JSII_RTTI_SYMBOL_1; ConsumptionBudgetSubscriptionFilterNotTagOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.consumptionBudgetSubscription.ConsumptionBudgetSubscriptionFilterNotTagOutputReference", version: "12.27.0" }; function consumptionBudgetSubscriptionFilterNotToTerraform(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: consumptionBudgetSubscriptionFilterNotDimensionToTerraform(struct.dimension), tag: consumptionBudgetSubscriptionFilterNotTagToTerraform(struct.tag), }; } exports.consumptionBudgetSubscriptionFilterNotToTerraform = consumptionBudgetSubscriptionFilterNotToTerraform; function consumptionBudgetSubscriptionFilterNotToHclTerraform(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: { value: consumptionBudgetSubscriptionFilterNotDimensionToHclTerraform(struct.dimension), isBlock: true, type: "list", storageClassType: "ConsumptionBudgetSubscriptionFilterNotDimensionList", }, tag: { value: consumptionBudgetSubscriptionFilterNotTagToHclTerraform(struct.tag), isBlock: true, type: "list", storageClassType: "ConsumptionBudgetSubscriptionFilterNotTagList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.consumptionBudgetSubscriptionFilterNotToHclTerraform = consumptionBudgetSubscriptionFilterNotToHclTerraform; class ConsumptionBudgetSubscriptionFilterNotOutputReference 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; // dimension - computed: false, optional: true, required: false this._dimension = new ConsumptionBudgetSubscriptionFilterNotDimensionOutputReference(this, "dimension"); // tag - computed: false, optional: true, required: false this._tag = new ConsumptionBudgetSubscriptionFilterNotTagOutputReference(this, "tag"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._dimension?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.dimension = this._dimension?.internalValue; } if (this._tag?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.tag = this._tag?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dimension.internalValue = undefined; this._tag.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dimension.internalValue = value.dimension; this._tag.internalValue = value.tag; } } 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 tag() { return this._tag; } putTag(value) { this._tag.internalValue = value; } resetTag() { this._tag.internalValue = undefined; } // Temporarily expose input value. Use with caution. get tagInput() { return this._tag.internalValue; } } exports.ConsumptionBudgetSubscriptionFilterNotOutputReference = ConsumptionBudgetSubscriptionFilterNotOutputReference; _e = JSII_RTTI_SYMBOL_1; ConsumptionBudgetSubscriptionFilterNotOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.consumptionBudgetSubscription.ConsumptionBudgetSubscriptionFilterNotOutputReference", version: "12.27.0" }; function consumptionBudgetSubscriptionFilterTagToTerraform(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 { name: cdktf.stringToTerraform(struct.name), operator: cdktf.stringToTerraform(struct.operator), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } exports.consumptionBudgetSubscriptionFilterTagToTerraform = consumptionBudgetSubscriptionFilterTagToTerraform; function consumptionBudgetSubscriptionFilterTagToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, operator: { value: cdktf.stringToHclTerraform(struct.operator), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.consumptionBudgetSubscriptionFilterTagToHclTerraform = consumptionBudgetSubscriptionFilterTagToHclTerraform; class ConsumptionBudgetSubscriptionFilterTagOutputReference 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; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._operator !== undefined) { hasAnyValues = true; internalValueResult.operator = this._operator; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._operator = undefined; this._values = 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._name = value.name; this._operator = value.operator; this._values = value.values; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get operator() { return this.getStringAttribute('operator'); } set operator(value) { this._operator = value; } resetOperator() { this._operator = undefined; } // Temporarily expose input value. Use with caution. get operatorInput() { return this._operator; } get values() { return this.getListAttribute('values'); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.ConsumptionBudgetSubscriptionFilterTagOutputReference = ConsumptionBudgetSubscriptionFilterTagOutputReference; _f = JSII_RTTI_SYMBOL_1; ConsumptionBudgetSubscriptionFilterTagOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.consumptionBudgetSubscription.ConsumptionBudgetSubscriptionFilterTagOutputReference", version: "12.27.0" }; class ConsumptionBudgetSubscriptionFilterTagList 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 ConsumptionBudgetSubscriptionFilterTagOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ConsumptionBudgetSubscriptionFilterTagList = ConsumptionBudgetSubscriptionFilterTagList; _g = JSII_RTTI_SYMBOL_1; ConsumptionBudgetSubscriptionFilterTagList[_g] = { fqn: "@cdktf/provider-azurerm.consumptionBudgetSubscription.ConsumptionBudgetSubscriptionFilterTagList", version: "12.27.0" }; function consumptionBudgetSubscriptionFilterToTerraform(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: cdktf.listMapper(consumptionBudgetSubscriptionFilterDimensionToTerraform, true)(struct.dimension), not: consumptionBudgetSubscriptionFilterNotToTerraform(struct.not), tag: cdktf.listMapper(consumptionBudgetSubscriptionFilterTagToTerraform, true)(struct.tag), }; } exports.consumptionBudgetSubscriptionFilterToTerraform = consumptionBudgetSubscriptionFilterToTerraform; function consumptionBudgetSubscriptionFilterToHclTerraform(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: { value: cdktf.listMapperHcl(consumptionBudgetSubscriptionFilterDimensionToHclTerraform, true)(struct.dimension), isBlock: true, type: "set", storageClassType: "ConsumptionBudgetSubscriptionFilterDimensionList", }, not: { value: consumptionBudgetSubscriptionFilterNotToHclTerraform(struct.not), isBlock: true, type: "list", storageClassType: "ConsumptionBudgetSubscriptionFilterNotList", }, tag: { value: cdktf.listMapperHcl(consumptionBudgetSubscriptionFilterTagToHclTerraform, true)(struct.tag), isBlock: true, type: "set", storageClassType: "ConsumptionBudgetSubscriptionFilterTagList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.consumptionBudgetSubscriptionFilterToHclTerraform = consumptionBudgetSubscriptionFilterToHclTerraform; class ConsumptionBudgetSubscriptionFilterOutputReference 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; // dimension - computed: false, optional: true, required: false this._dimension = new ConsumptionBudgetSubscriptionFilterDimensionList(this, "dimension", true); // not - computed: false, optional: true, required: false this._not = new ConsumptionBudgetSubscriptionFilterNotOutputReference(this, "not"); // tag - computed: false, optional: true, required: false this._tag = new ConsumptionBudgetSubscriptionFilterTagList(this, "tag", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._dimension?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.dimension = this._dimension?.internalValue; } if (this._not?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.not = this._not?.internalValue; } if (this._tag?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.tag = this._tag?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dimension.internalValue = undefined; this._not.internalValue = undefined; this._tag.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dimension.internalValue = value.dimension; this._not.internalValue = value.not; this._tag.internalValue = value.tag; } } 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 not() { return this._not; } putNot(value) { this._not.internalValue = value; } resetNot() { this._not.internalValue = undefined; } // Temporarily expose input value. Use with caution. get notInput() { return this._not.internalValue; } get tag() { return this._tag; } putTag(value) { this._tag.internalValue = value; } resetTag() { this._tag.internalValue = undefined; } // Temporarily expose input value. Use with caution. get tagInput() { return this._tag.internalValue; } } exports.ConsumptionBudgetSubscriptionFilterOutputReference = ConsumptionBudgetSubscriptionFilterOutputReference; _h = JSII_RTTI_SYMBOL_1; ConsumptionBudgetSubscriptionFilterOutputReference[_h] = { fqn: "@cdktf/provider-azurerm.consumptionBudgetSubscription.ConsumptionBudgetSubscriptionFilterOutputReference", version: "12.27.0" }; function consumptionBudgetSubscriptionNotificationToTerraform(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 { contact_emails: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.contactEmails), contact_groups: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.contactGroups), contact_roles: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.contactRoles), enabled: cdktf.booleanToTerraform(struct.enabled), operator: cdktf.stringToTerraform(struct.operator), threshold: cdktf.numberToTerraform(struct.threshold), threshold_type: cdktf.stringToTerraform(struct.thresholdType), }; } exports.consumptionBudgetSubscriptionNotificationToTerraform = consumptionBudgetSubscriptionNotificationToTerraform; function consumptionBudgetSubscriptionNotificationToHclTerraform(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 = { contact_emails: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.contactEmails), isBlock: false, type: "list", storageClassType: "stringList", }, contact_groups: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.contactGroups), isBlock: false, type: "list", storageClassType: "stringList", }, contact_roles: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.contactRoles), isBlock: false, type: "list", storageClassType: "stringList", }, enabled: { value: cdktf.booleanToHclTerraform(struct.enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, operator: { value: cdktf.stringToHclTerraform(struct.operator), isBlock: false, type: "simple", storageClassType: "string", }, threshold: { value: cdktf.numberToHclTerraform(struct.threshold), isBlock: false, type: "simple", storageClassType: "number", }, threshold_type: { value: cdktf.stringToHclTerraform(struct.thresholdType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.consumptionBudgetSubscriptionNotificationToHclTerraform = consumptionBudgetSubscriptionNotificationToHclTerraform; class ConsumptionBudgetSubscriptionNotificationOutputReference 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; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._contactEmails !== undefined) { hasAnyValues = true; internalValueResult.contactEmails = this._contactEmails; } if (this._contactGroups !== undefined) { hasAnyValues = true; internalValueResult.contactGroups = this._contactGroups; } if (this._contactRoles !== undefined) { hasAnyValues = true; internalValueResult.contactRoles = this._contactRoles; } if (this._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } if (this._operator !== undefined) { hasAnyValues = true; internalValueResult.operator = this._operator; } if (this._threshold !== undefined) { hasAnyValues = true; internalValueResult.threshold = this._threshold; } if (this._thresholdType !== undefined) { hasAnyValues = true; internalValueResult.thresholdType = this._thresholdType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._contactEmails = undefined; this._contactGroups = undefined; this._contactRoles = undefined; this._enabled = undefined; this._operator = undefined; this._threshold = undefined; this._thresholdType = 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._contactEmails = value.contactEmails; this._contactGroups = value.contactGroups; this._contactRoles = value.contactRoles; this._enabled = value.enabled; this._operator = value.operator; this._threshold = value.threshold; this._thresholdType = value.thresholdType; } } get contactEmails() { return this.getListAttribute('contact_emails'); } set contactEmails(value) { this._contactEmails = value; } resetContactEmails() { this._contactEmails = undefined; } // Temporarily expose input value. Use with caution. get contactEmailsInput() { return this._contactEmails; } get contactGroups() { return this.getListAttribute('contact_groups'); } set contactGroups(value) { this._contactGroups = value; } resetContactGroups() { this._contactGroups = undefined; } // Temporarily expose input value. Use with caution. get contactGroupsInput() { return this._contactGroups; } get contactRoles() { return this.getListAttribute('contact_roles'); } set contactRoles(value) { this._contactRoles = value; } resetContactRoles() { this._contactRoles = undefined; } // Temporarily expose input value. Use with caution. get contactRolesInput() { return this._contactRoles; } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } resetEnabled() { this._enabled = undefined; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } get operator() { return this.getStringAttribute('operator'); } set operator(value) { this._operator = value; } // Temporarily expose input value. Use with caution. get operatorInput() { return this._operator; } get threshold() { return this.getNumberAttribute('threshold'); } set threshold(value) { this._threshold = value; } // Temporarily expose input value. Use with caution. get thresholdInput() { return this._threshold; } get thresholdType() { return this.getStringAttribute('threshold_type'); } set thresholdType(value) { this._thresholdType = value; } resetThresholdType() { this._thresholdType = undefined; } // Temporarily expose input value. Use with caution. get thresholdTypeInput() { return this._thresholdType; } } exports.ConsumptionBudgetSubscriptionNotificationOutputReference = ConsumptionBudgetSubscriptionNotificationOutputReference; _j = JSII_RTTI_SYMBOL_1; ConsumptionBudgetSubscriptionNotificationOutputReference[_j] = { fqn: "@cdktf/provider-azurerm.consumptionBudgetSubscription.ConsumptionBudgetSubscriptionNotificationOutputReference", version: "12.27.0" }; class ConsumptionBudgetSubscriptionNotificationList 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 ConsumptionBudgetSubscriptionNotificationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ConsumptionBudgetSubscriptionNotificationList = ConsumptionBudgetSubscriptionNotificationList; _k = JSII_RTTI_SYMBOL_1; ConsumptionBudgetSubscriptionNotificationList[_k] = { fqn: "@cdktf/provider-azurerm.consumptionBudgetSubscription.ConsumptionBudgetSubscriptionNotificationList", version: "12.27.0" }; function consumptionBudgetSubscriptionTimePeriodToTerraform(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 { end_date: cdktf.stringToTerraform(struct.endDate), start_date: cdktf.stringToTerraform(struct.startDate), }; } exports.consumptionBudgetSubscriptionTimePeriodToTerraform = consumptionBudgetSubscriptionTimePeriodToTerraform; function consumptionBudgetSubscriptionTimePeriodToHclTerraform(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 = { end_date: { value: cdktf.stringToHclTerraform(struct.endDate), isBlock: false, type: "simple", storageClassType: "string", }, start_date: { value: cdktf.stringToHclTerraform(struct.startDate), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.consumptionBudgetSubscriptionTimePeriodToHclTerraform = consumptionBudgetSubscriptionTimePeriodToHclTerraform; class ConsumptionBudgetSubscriptionTimePeriodOutputReference 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._endDate !== undefined) { hasAnyValues = true; internalValueResult.endDate = this._endDate; } if (this._startDate !== undefined) { hasAnyValues = true; internalValueResult.startDate = this._startDate; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._endDate = undefined; this._startDate = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._endDate = value.endDate; this._startDate = value.startDate; } } get endDate() { return this.getStringAttribute('end_date'); } set endDate(value) { this._endDate = value; } resetEndDate() { this._endDate = undefined; } // Temporarily expose input value. Use with caution. get endDateInput() { return this._endDate; } get startDate() { return this.getStringAttribute('start_date'); } set startDate(value) { this._startDate = value; } // Temporarily expose input value. Use with caution. get startDateInput() { return this._startDate; } } exports.ConsumptionBudgetSubscriptionTimePeriodOutputReference = ConsumptionBudgetSubscriptionTimePeriodOutputReference; _l = JSII_RTTI_SYMBOL_1; ConsumptionBudgetSubscriptionTimePeriodOutputReference[_l] = { fqn: "@cdktf/provider-azurerm.consumptionBudgetSubscription.ConsumptionBudgetSubscriptionTimePeriodOutputReference", version: "12.27.0" }; function consumptionBudgetSubscriptionTimeoutsToTerraform(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 { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), read: cdktf.stringToTerraform(struct.read), update: cdktf.stringToTerraform(struct.update), }; } exports.consumptionBudgetSubscriptionTimeoutsToTerraform = consumptionBudgetSubscriptionTimeoutsToTerraform; function consumptionBudgetSubscriptionTimeoutsToHclTerraform(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 = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string",