UNPKG

@cdktf/provider-databricks

Version:

Prebuilt databricks Provider for Terraform CDK (cdktf)

1,093 lines 148 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; Object.defineProperty(exports, "__esModule", { value: true }); exports.Budget = exports.BudgetFilterOutputReference = exports.BudgetFilterWorkspaceIdOutputReference = exports.BudgetFilterTagsList = exports.BudgetFilterTagsOutputReference = exports.BudgetFilterTagsValueOutputReference = exports.BudgetAlertConfigurationsList = exports.BudgetAlertConfigurationsOutputReference = exports.BudgetAlertConfigurationsActionConfigurationsList = exports.BudgetAlertConfigurationsActionConfigurationsOutputReference = void 0; exports.budgetAlertConfigurationsActionConfigurationsToTerraform = budgetAlertConfigurationsActionConfigurationsToTerraform; exports.budgetAlertConfigurationsActionConfigurationsToHclTerraform = budgetAlertConfigurationsActionConfigurationsToHclTerraform; exports.budgetAlertConfigurationsToTerraform = budgetAlertConfigurationsToTerraform; exports.budgetAlertConfigurationsToHclTerraform = budgetAlertConfigurationsToHclTerraform; exports.budgetFilterTagsValueToTerraform = budgetFilterTagsValueToTerraform; exports.budgetFilterTagsValueToHclTerraform = budgetFilterTagsValueToHclTerraform; exports.budgetFilterTagsToTerraform = budgetFilterTagsToTerraform; exports.budgetFilterTagsToHclTerraform = budgetFilterTagsToHclTerraform; exports.budgetFilterWorkspaceIdToTerraform = budgetFilterWorkspaceIdToTerraform; exports.budgetFilterWorkspaceIdToHclTerraform = budgetFilterWorkspaceIdToHclTerraform; exports.budgetFilterToTerraform = budgetFilterToTerraform; exports.budgetFilterToHclTerraform = budgetFilterToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function budgetAlertConfigurationsActionConfigurationsToTerraform(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 { action_configuration_id: cdktf.stringToTerraform(struct.actionConfigurationId), action_type: cdktf.stringToTerraform(struct.actionType), target: cdktf.stringToTerraform(struct.target), }; } function budgetAlertConfigurationsActionConfigurationsToHclTerraform(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 = { action_configuration_id: { value: cdktf.stringToHclTerraform(struct.actionConfigurationId), isBlock: false, type: "simple", storageClassType: "string", }, action_type: { value: cdktf.stringToHclTerraform(struct.actionType), isBlock: false, type: "simple", storageClassType: "string", }, target: { value: cdktf.stringToHclTerraform(struct.target), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class BudgetAlertConfigurationsActionConfigurationsOutputReference 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._actionConfigurationId !== undefined) { hasAnyValues = true; internalValueResult.actionConfigurationId = this._actionConfigurationId; } if (this._actionType !== undefined) { hasAnyValues = true; internalValueResult.actionType = this._actionType; } if (this._target !== undefined) { hasAnyValues = true; internalValueResult.target = this._target; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._actionConfigurationId = undefined; this._actionType = undefined; this._target = 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._actionConfigurationId = value.actionConfigurationId; this._actionType = value.actionType; this._target = value.target; } } get actionConfigurationId() { return this.getStringAttribute('action_configuration_id'); } set actionConfigurationId(value) { this._actionConfigurationId = value; } resetActionConfigurationId() { this._actionConfigurationId = undefined; } // Temporarily expose input value. Use with caution. get actionConfigurationIdInput() { return this._actionConfigurationId; } get actionType() { return this.getStringAttribute('action_type'); } set actionType(value) { this._actionType = value; } resetActionType() { this._actionType = undefined; } // Temporarily expose input value. Use with caution. get actionTypeInput() { return this._actionType; } get target() { return this.getStringAttribute('target'); } set target(value) { this._target = value; } resetTarget() { this._target = undefined; } // Temporarily expose input value. Use with caution. get targetInput() { return this._target; } } exports.BudgetAlertConfigurationsActionConfigurationsOutputReference = BudgetAlertConfigurationsActionConfigurationsOutputReference; _a = JSII_RTTI_SYMBOL_1; BudgetAlertConfigurationsActionConfigurationsOutputReference[_a] = { fqn: "@cdktf/provider-databricks.budget.BudgetAlertConfigurationsActionConfigurationsOutputReference", version: "15.7.0" }; class BudgetAlertConfigurationsActionConfigurationsList 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 BudgetAlertConfigurationsActionConfigurationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.BudgetAlertConfigurationsActionConfigurationsList = BudgetAlertConfigurationsActionConfigurationsList; _b = JSII_RTTI_SYMBOL_1; BudgetAlertConfigurationsActionConfigurationsList[_b] = { fqn: "@cdktf/provider-databricks.budget.BudgetAlertConfigurationsActionConfigurationsList", version: "15.7.0" }; function budgetAlertConfigurationsToTerraform(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 { alert_configuration_id: cdktf.stringToTerraform(struct.alertConfigurationId), quantity_threshold: cdktf.stringToTerraform(struct.quantityThreshold), quantity_type: cdktf.stringToTerraform(struct.quantityType), time_period: cdktf.stringToTerraform(struct.timePeriod), trigger_type: cdktf.stringToTerraform(struct.triggerType), action_configurations: cdktf.listMapper(budgetAlertConfigurationsActionConfigurationsToTerraform, true)(struct.actionConfigurations), }; } function budgetAlertConfigurationsToHclTerraform(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 = { alert_configuration_id: { value: cdktf.stringToHclTerraform(struct.alertConfigurationId), isBlock: false, type: "simple", storageClassType: "string", }, quantity_threshold: { value: cdktf.stringToHclTerraform(struct.quantityThreshold), isBlock: false, type: "simple", storageClassType: "string", }, quantity_type: { value: cdktf.stringToHclTerraform(struct.quantityType), isBlock: false, type: "simple", storageClassType: "string", }, time_period: { value: cdktf.stringToHclTerraform(struct.timePeriod), isBlock: false, type: "simple", storageClassType: "string", }, trigger_type: { value: cdktf.stringToHclTerraform(struct.triggerType), isBlock: false, type: "simple", storageClassType: "string", }, action_configurations: { value: cdktf.listMapperHcl(budgetAlertConfigurationsActionConfigurationsToHclTerraform, true)(struct.actionConfigurations), isBlock: true, type: "list", storageClassType: "BudgetAlertConfigurationsActionConfigurationsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class BudgetAlertConfigurationsOutputReference 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; // action_configurations - computed: false, optional: true, required: false this._actionConfigurations = new BudgetAlertConfigurationsActionConfigurationsList(this, "action_configurations", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._alertConfigurationId !== undefined) { hasAnyValues = true; internalValueResult.alertConfigurationId = this._alertConfigurationId; } if (this._quantityThreshold !== undefined) { hasAnyValues = true; internalValueResult.quantityThreshold = this._quantityThreshold; } if (this._quantityType !== undefined) { hasAnyValues = true; internalValueResult.quantityType = this._quantityType; } if (this._timePeriod !== undefined) { hasAnyValues = true; internalValueResult.timePeriod = this._timePeriod; } if (this._triggerType !== undefined) { hasAnyValues = true; internalValueResult.triggerType = this._triggerType; } if (this._actionConfigurations?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.actionConfigurations = this._actionConfigurations?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._alertConfigurationId = undefined; this._quantityThreshold = undefined; this._quantityType = undefined; this._timePeriod = undefined; this._triggerType = undefined; this._actionConfigurations.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._alertConfigurationId = value.alertConfigurationId; this._quantityThreshold = value.quantityThreshold; this._quantityType = value.quantityType; this._timePeriod = value.timePeriod; this._triggerType = value.triggerType; this._actionConfigurations.internalValue = value.actionConfigurations; } } get alertConfigurationId() { return this.getStringAttribute('alert_configuration_id'); } set alertConfigurationId(value) { this._alertConfigurationId = value; } resetAlertConfigurationId() { this._alertConfigurationId = undefined; } // Temporarily expose input value. Use with caution. get alertConfigurationIdInput() { return this._alertConfigurationId; } get quantityThreshold() { return this.getStringAttribute('quantity_threshold'); } set quantityThreshold(value) { this._quantityThreshold = value; } resetQuantityThreshold() { this._quantityThreshold = undefined; } // Temporarily expose input value. Use with caution. get quantityThresholdInput() { return this._quantityThreshold; } get quantityType() { return this.getStringAttribute('quantity_type'); } set quantityType(value) { this._quantityType = value; } resetQuantityType() { this._quantityType = undefined; } // Temporarily expose input value. Use with caution. get quantityTypeInput() { return this._quantityType; } get timePeriod() { return this.getStringAttribute('time_period'); } set timePeriod(value) { this._timePeriod = value; } resetTimePeriod() { this._timePeriod = undefined; } // Temporarily expose input value. Use with caution. get timePeriodInput() { return this._timePeriod; } get triggerType() { return this.getStringAttribute('trigger_type'); } set triggerType(value) { this._triggerType = value; } resetTriggerType() { this._triggerType = undefined; } // Temporarily expose input value. Use with caution. get triggerTypeInput() { return this._triggerType; } get actionConfigurations() { return this._actionConfigurations; } putActionConfigurations(value) { this._actionConfigurations.internalValue = value; } resetActionConfigurations() { this._actionConfigurations.internalValue = undefined; } // Temporarily expose input value. Use with caution. get actionConfigurationsInput() { return this._actionConfigurations.internalValue; } } exports.BudgetAlertConfigurationsOutputReference = BudgetAlertConfigurationsOutputReference; _c = JSII_RTTI_SYMBOL_1; BudgetAlertConfigurationsOutputReference[_c] = { fqn: "@cdktf/provider-databricks.budget.BudgetAlertConfigurationsOutputReference", version: "15.7.0" }; class BudgetAlertConfigurationsList 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 BudgetAlertConfigurationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.BudgetAlertConfigurationsList = BudgetAlertConfigurationsList; _d = JSII_RTTI_SYMBOL_1; BudgetAlertConfigurationsList[_d] = { fqn: "@cdktf/provider-databricks.budget.BudgetAlertConfigurationsList", version: "15.7.0" }; function budgetFilterTagsValueToTerraform(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 { operator: cdktf.stringToTerraform(struct.operator), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function budgetFilterTagsValueToHclTerraform(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 = { 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)); } class BudgetFilterTagsValueOutputReference 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._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._operator = undefined; this._values = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._operator = value.operator; this._values = value.values; } } 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; } resetValues() { this._values = undefined; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.BudgetFilterTagsValueOutputReference = BudgetFilterTagsValueOutputReference; _e = JSII_RTTI_SYMBOL_1; BudgetFilterTagsValueOutputReference[_e] = { fqn: "@cdktf/provider-databricks.budget.BudgetFilterTagsValueOutputReference", version: "15.7.0" }; function budgetFilterTagsToTerraform(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), value: budgetFilterTagsValueToTerraform(struct.value), }; } function budgetFilterTagsToHclTerraform(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", }, value: { value: budgetFilterTagsValueToHclTerraform(struct.value), isBlock: true, type: "list", storageClassType: "BudgetFilterTagsValueList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class BudgetFilterTagsOutputReference 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; // value - computed: false, optional: true, required: false this._value = new BudgetFilterTagsValueOutputReference(this, "value"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._value?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.value = this._value?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._key = undefined; this._value.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._key = value.key; this._value.internalValue = value.value; } } 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 value() { return this._value; } putValue(value) { this._value.internalValue = value; } resetValue() { this._value.internalValue = undefined; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value.internalValue; } } exports.BudgetFilterTagsOutputReference = BudgetFilterTagsOutputReference; _f = JSII_RTTI_SYMBOL_1; BudgetFilterTagsOutputReference[_f] = { fqn: "@cdktf/provider-databricks.budget.BudgetFilterTagsOutputReference", version: "15.7.0" }; class BudgetFilterTagsList 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 BudgetFilterTagsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.BudgetFilterTagsList = BudgetFilterTagsList; _g = JSII_RTTI_SYMBOL_1; BudgetFilterTagsList[_g] = { fqn: "@cdktf/provider-databricks.budget.BudgetFilterTagsList", version: "15.7.0" }; function budgetFilterWorkspaceIdToTerraform(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 { operator: cdktf.stringToTerraform(struct.operator), values: cdktf.listMapper(cdktf.numberToTerraform, false)(struct.values), }; } function budgetFilterWorkspaceIdToHclTerraform(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 = { operator: { value: cdktf.stringToHclTerraform(struct.operator), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.numberToHclTerraform, false)(struct.values), isBlock: false, type: "list", storageClassType: "numberList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class BudgetFilterWorkspaceIdOutputReference 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._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._operator = undefined; this._values = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._operator = value.operator; this._values = value.values; } } 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.getNumberListAttribute('values'); } set values(value) { this._values = value; } resetValues() { this._values = undefined; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.BudgetFilterWorkspaceIdOutputReference = BudgetFilterWorkspaceIdOutputReference; _h = JSII_RTTI_SYMBOL_1; BudgetFilterWorkspaceIdOutputReference[_h] = { fqn: "@cdktf/provider-databricks.budget.BudgetFilterWorkspaceIdOutputReference", version: "15.7.0" }; function budgetFilterToTerraform(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 { tags: cdktf.listMapper(budgetFilterTagsToTerraform, true)(struct.tags), workspace_id: budgetFilterWorkspaceIdToTerraform(struct.workspaceId), }; } function budgetFilterToHclTerraform(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 = { tags: { value: cdktf.listMapperHcl(budgetFilterTagsToHclTerraform, true)(struct.tags), isBlock: true, type: "list", storageClassType: "BudgetFilterTagsList", }, workspace_id: { value: budgetFilterWorkspaceIdToHclTerraform(struct.workspaceId), isBlock: true, type: "list", storageClassType: "BudgetFilterWorkspaceIdList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class BudgetFilterOutputReference 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; // tags - computed: false, optional: true, required: false this._tags = new BudgetFilterTagsList(this, "tags", false); // workspace_id - computed: false, optional: true, required: false this._workspaceId = new BudgetFilterWorkspaceIdOutputReference(this, "workspace_id"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._tags?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.tags = this._tags?.internalValue; } if (this._workspaceId?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.workspaceId = this._workspaceId?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._tags.internalValue = undefined; this._workspaceId.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._tags.internalValue = value.tags; this._workspaceId.internalValue = value.workspaceId; } } 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; } get workspaceId() { return this._workspaceId; } putWorkspaceId(value) { this._workspaceId.internalValue = value; } resetWorkspaceId() { this._workspaceId.internalValue = undefined; } // Temporarily expose input value. Use with caution. get workspaceIdInput() { return this._workspaceId.internalValue; } } exports.BudgetFilterOutputReference = BudgetFilterOutputReference; _j = JSII_RTTI_SYMBOL_1; BudgetFilterOutputReference[_j] = { fqn: "@cdktf/provider-databricks.budget.BudgetFilterOutputReference", version: "15.7.0" }; /** * Represents a {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/budget databricks_budget} */ class Budget extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a Budget resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the Budget to import * @param importFromId The id of the existing Budget that should be imported. Refer to the {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/budget#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Budget to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "databricks_budget", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/budget databricks_budget} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options BudgetConfig = {} */ constructor(scope, id, config = {}) { super(scope, id, { terraformResourceType: 'databricks_budget', terraformGeneratorMetadata: { providerName: 'databricks', providerVersion: '1.90.0', providerVersionConstraint: '~> 1.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // alert_configurations - computed: false, optional: true, required: false this._alertConfigurations = new BudgetAlertConfigurationsList(this, "alert_configurations", false); // filter - computed: false, optional: true, required: false this._filter = new BudgetFilterOutputReference(this, "filter"); this._accountId = config.accountId; this._budgetConfigurationId = config.budgetConfigurationId; this._createTime = config.createTime; this._displayName = config.displayName; this._id = config.id; this._updateTime = config.updateTime; this._alertConfigurations.internalValue = config.alertConfigurations; this._filter.internalValue = config.filter; } get accountId() { return this.getStringAttribute('account_id'); } set accountId(value) { this._accountId = value; } resetAccountId() { this._accountId = undefined; } // Temporarily expose input value. Use with caution. get accountIdInput() { return this._accountId; } get budgetConfigurationId() { return this.getStringAttribute('budget_configuration_id'); } set budgetConfigurationId(value) { this._budgetConfigurationId = value; } resetBudgetConfigurationId() { this._budgetConfigurationId = undefined; } // Temporarily expose input value. Use with caution. get budgetConfigurationIdInput() { return this._budgetConfigurationId; } get createTime() { return this.getNumberAttribute('create_time'); } set createTime(value) { this._createTime = value; } resetCreateTime() { this._createTime = undefined; } // Temporarily expose input value. Use with caution. get createTimeInput() { return this._createTime; } get displayName() { return this.getStringAttribute('display_name'); } set displayName(value) { this._displayName = value; } resetDisplayName() { this._displayName = undefined; } // Temporarily expose input value. Use with caution. get displayNameInput() { return this._displayName; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get updateTime() { return this.getNumberAttribute('update_time'); } set updateTime(value) { this._updateTime = value; } resetUpdateTime() { this._updateTime = undefined; } // Temporarily expose input value. Use with caution. get updateTimeInput() { return this._updateTime; } get alertConfigurations() { return this._alertConfigurations; } putAlertConfigurations(value) { this._alertConfigurations.internalValue = value; } resetAlertConfigurations() { this._alertConfigurations.internalValue = undefined; } // Temporarily expose input value. Use with caution. get alertConfigurationsInput() { return this._alertConfigurations.internalValue; } get filter() { return this._filter; } putFilter(value) { this._filter.internalValue = value; } resetFilter() { this._filter.internalValue = undefined; } // Temporarily expose input value. Use with caution. get filterInput() { return this._filter.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { account_id: cdktf.stringToTerraform(this._accountId), budget_configuration_id: cdktf.stringToTerraform(this._budgetConfigurationId), create_time: cdktf.numberToTerraform(this._createTime), display_name: cdktf.stringToTerraform(this._displayName), id: cdktf.stringToTerraform(this._id), update_time: cdktf.numberToTerraform(this._updateTime), alert_configurations: cdktf.listMapper(budgetAlertConfigurationsToTerraform, true)(this._alertConfigurations.internalValue), filter: budgetFilterToTerraform(this._filter.internalValue), }; } synthesizeHclAttributes() { const attrs = { account_id: { value: cdktf.stringToHclTerraform(this._accountId), isBlock: false, type: "simple", storageClassType: "string", }, budget_configuration_id: { value: cdktf.stringToHclTerraform(this._budgetConfigurationId), isBlock: false, type: "simple", storageClassType: "string", }, create_time: { value: cdktf.numberToHclTerraform(this._createTime), isBlock: false, type: "simple", storageClassType: "number", }, display_name: { value: cdktf.stringToHclTerraform(this._displayName), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, update_time: { value: cdktf.numberToHclTerraform(this._updateTime), isBlock: false, type: "simple", storageClassType: "number", }, alert_configurations: { value: cdktf.listMapperHcl(budgetAlertConfigurationsToHclTerraform, true)(this._alertConfigurations.internalValue), isBlock: true, type: "list", storageClassType: "BudgetAlertConfigurationsList", }, filter: { value: budgetFilterToHclTerraform(this._filter.internalValue), isBlock: true, type: "list", storageClassType: "BudgetFilterList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.Budget = Budget; _k = JSII_RTTI_SYMBOL_1; Budget[_k] = { fqn: "@cdktf/provider-databricks.budget.Budget", version: "15.7.0" }; // ================= // STATIC PROPERTIES // ================= Budget.tfResourceType = "databricks_budget"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVkZ2V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFxRUEsNEhBVUM7QUFHRCxrSUE0QkM7QUEySkQsb0ZBYUM7QUFHRCwwRkE4Q0M7QUEyTUQsNEVBU0M7QUFHRCxrRkFzQkM7QUFxRkQsa0VBU0M7QUFHRCx3RUFzQkM7QUFtSEQsZ0ZBU0M7QUFHRCxzRkFzQkM7QUF1RkQsMERBU0M7QUFHRCxnRUFzQkM7O0FBaDdCRCwrQkFBK0I7QUE0RC9CLFNBQWdCLHdEQUF3RCxDQUFDLE1BQTBFO0lBQ2pKLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCx1QkFBdUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLHFCQUFxQixDQUFDO1FBQy9FLFdBQVcsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFVBQVUsQ0FBQztRQUN4RCxNQUFNLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxNQUFNLENBQUM7S0FDaEQsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQiwyREFBMkQsQ0FBQyxNQUEwRTtJQUNwSixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7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