@cdktf/provider-databricks
Version:
Prebuilt databricks Provider for Terraform CDK (cdktf)
1,093 lines • 148 kB
JavaScript
"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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