UNPKG

@cdktf/provider-databricks

Version:

Prebuilt databricks Provider for Terraform CDK (cdktf)

1,169 lines (1,168 loc) 217 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; Object.defineProperty(exports, "__esModule", { value: true }); exports.LakehouseMonitor = exports.LakehouseMonitorTimeoutsOutputReference = exports.LakehouseMonitorTimeSeriesOutputReference = exports.LakehouseMonitorSnapshotOutputReference = exports.LakehouseMonitorScheduleOutputReference = exports.LakehouseMonitorNotificationsOutputReference = exports.LakehouseMonitorNotificationsOnNewClassificationTagDetectedOutputReference = exports.LakehouseMonitorNotificationsOnFailureOutputReference = exports.LakehouseMonitorInferenceLogOutputReference = exports.LakehouseMonitorDataClassificationConfigOutputReference = exports.LakehouseMonitorCustomMetricsList = exports.LakehouseMonitorCustomMetricsOutputReference = void 0; exports.lakehouseMonitorCustomMetricsToTerraform = lakehouseMonitorCustomMetricsToTerraform; exports.lakehouseMonitorCustomMetricsToHclTerraform = lakehouseMonitorCustomMetricsToHclTerraform; exports.lakehouseMonitorDataClassificationConfigToTerraform = lakehouseMonitorDataClassificationConfigToTerraform; exports.lakehouseMonitorDataClassificationConfigToHclTerraform = lakehouseMonitorDataClassificationConfigToHclTerraform; exports.lakehouseMonitorInferenceLogToTerraform = lakehouseMonitorInferenceLogToTerraform; exports.lakehouseMonitorInferenceLogToHclTerraform = lakehouseMonitorInferenceLogToHclTerraform; exports.lakehouseMonitorNotificationsOnFailureToTerraform = lakehouseMonitorNotificationsOnFailureToTerraform; exports.lakehouseMonitorNotificationsOnFailureToHclTerraform = lakehouseMonitorNotificationsOnFailureToHclTerraform; exports.lakehouseMonitorNotificationsOnNewClassificationTagDetectedToTerraform = lakehouseMonitorNotificationsOnNewClassificationTagDetectedToTerraform; exports.lakehouseMonitorNotificationsOnNewClassificationTagDetectedToHclTerraform = lakehouseMonitorNotificationsOnNewClassificationTagDetectedToHclTerraform; exports.lakehouseMonitorNotificationsToTerraform = lakehouseMonitorNotificationsToTerraform; exports.lakehouseMonitorNotificationsToHclTerraform = lakehouseMonitorNotificationsToHclTerraform; exports.lakehouseMonitorScheduleToTerraform = lakehouseMonitorScheduleToTerraform; exports.lakehouseMonitorScheduleToHclTerraform = lakehouseMonitorScheduleToHclTerraform; exports.lakehouseMonitorSnapshotToTerraform = lakehouseMonitorSnapshotToTerraform; exports.lakehouseMonitorSnapshotToHclTerraform = lakehouseMonitorSnapshotToHclTerraform; exports.lakehouseMonitorTimeSeriesToTerraform = lakehouseMonitorTimeSeriesToTerraform; exports.lakehouseMonitorTimeSeriesToHclTerraform = lakehouseMonitorTimeSeriesToHclTerraform; exports.lakehouseMonitorTimeoutsToTerraform = lakehouseMonitorTimeoutsToTerraform; exports.lakehouseMonitorTimeoutsToHclTerraform = lakehouseMonitorTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function lakehouseMonitorCustomMetricsToTerraform(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 { definition: cdktf.stringToTerraform(struct.definition), input_columns: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.inputColumns), name: cdktf.stringToTerraform(struct.name), output_data_type: cdktf.stringToTerraform(struct.outputDataType), type: cdktf.stringToTerraform(struct.type), }; } function lakehouseMonitorCustomMetricsToHclTerraform(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 = { definition: { value: cdktf.stringToHclTerraform(struct.definition), isBlock: false, type: "simple", storageClassType: "string", }, input_columns: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.inputColumns), isBlock: false, type: "list", storageClassType: "stringList", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, output_data_type: { value: cdktf.stringToHclTerraform(struct.outputDataType), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakehouseMonitorCustomMetricsOutputReference 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._definition !== undefined) { hasAnyValues = true; internalValueResult.definition = this._definition; } if (this._inputColumns !== undefined) { hasAnyValues = true; internalValueResult.inputColumns = this._inputColumns; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._outputDataType !== undefined) { hasAnyValues = true; internalValueResult.outputDataType = this._outputDataType; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._definition = undefined; this._inputColumns = undefined; this._name = undefined; this._outputDataType = undefined; this._type = 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._definition = value.definition; this._inputColumns = value.inputColumns; this._name = value.name; this._outputDataType = value.outputDataType; this._type = value.type; } } get definition() { return this.getStringAttribute('definition'); } set definition(value) { this._definition = value; } // Temporarily expose input value. Use with caution. get definitionInput() { return this._definition; } get inputColumns() { return this.getListAttribute('input_columns'); } set inputColumns(value) { this._inputColumns = value; } // Temporarily expose input value. Use with caution. get inputColumnsInput() { return this._inputColumns; } 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 outputDataType() { return this.getStringAttribute('output_data_type'); } set outputDataType(value) { this._outputDataType = value; } // Temporarily expose input value. Use with caution. get outputDataTypeInput() { return this._outputDataType; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.LakehouseMonitorCustomMetricsOutputReference = LakehouseMonitorCustomMetricsOutputReference; _a = JSII_RTTI_SYMBOL_1; LakehouseMonitorCustomMetricsOutputReference[_a] = { fqn: "@cdktf/provider-databricks.lakehouseMonitor.LakehouseMonitorCustomMetricsOutputReference", version: "15.16.1" }; class LakehouseMonitorCustomMetricsList 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 LakehouseMonitorCustomMetricsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.LakehouseMonitorCustomMetricsList = LakehouseMonitorCustomMetricsList; _b = JSII_RTTI_SYMBOL_1; LakehouseMonitorCustomMetricsList[_b] = { fqn: "@cdktf/provider-databricks.lakehouseMonitor.LakehouseMonitorCustomMetricsList", version: "15.16.1" }; function lakehouseMonitorDataClassificationConfigToTerraform(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 { enabled: cdktf.booleanToTerraform(struct.enabled), }; } function lakehouseMonitorDataClassificationConfigToHclTerraform(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 = { enabled: { value: cdktf.booleanToHclTerraform(struct.enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakehouseMonitorDataClassificationConfigOutputReference 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._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._enabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._enabled = value.enabled; } } 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; } } exports.LakehouseMonitorDataClassificationConfigOutputReference = LakehouseMonitorDataClassificationConfigOutputReference; _c = JSII_RTTI_SYMBOL_1; LakehouseMonitorDataClassificationConfigOutputReference[_c] = { fqn: "@cdktf/provider-databricks.lakehouseMonitor.LakehouseMonitorDataClassificationConfigOutputReference", version: "15.16.1" }; function lakehouseMonitorInferenceLogToTerraform(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 { granularities: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.granularities), label_col: cdktf.stringToTerraform(struct.labelCol), model_id_col: cdktf.stringToTerraform(struct.modelIdCol), prediction_col: cdktf.stringToTerraform(struct.predictionCol), prediction_proba_col: cdktf.stringToTerraform(struct.predictionProbaCol), problem_type: cdktf.stringToTerraform(struct.problemType), timestamp_col: cdktf.stringToTerraform(struct.timestampCol), }; } function lakehouseMonitorInferenceLogToHclTerraform(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 = { granularities: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.granularities), isBlock: false, type: "list", storageClassType: "stringList", }, label_col: { value: cdktf.stringToHclTerraform(struct.labelCol), isBlock: false, type: "simple", storageClassType: "string", }, model_id_col: { value: cdktf.stringToHclTerraform(struct.modelIdCol), isBlock: false, type: "simple", storageClassType: "string", }, prediction_col: { value: cdktf.stringToHclTerraform(struct.predictionCol), isBlock: false, type: "simple", storageClassType: "string", }, prediction_proba_col: { value: cdktf.stringToHclTerraform(struct.predictionProbaCol), isBlock: false, type: "simple", storageClassType: "string", }, problem_type: { value: cdktf.stringToHclTerraform(struct.problemType), isBlock: false, type: "simple", storageClassType: "string", }, timestamp_col: { value: cdktf.stringToHclTerraform(struct.timestampCol), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakehouseMonitorInferenceLogOutputReference 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._granularities !== undefined) { hasAnyValues = true; internalValueResult.granularities = this._granularities; } if (this._labelCol !== undefined) { hasAnyValues = true; internalValueResult.labelCol = this._labelCol; } if (this._modelIdCol !== undefined) { hasAnyValues = true; internalValueResult.modelIdCol = this._modelIdCol; } if (this._predictionCol !== undefined) { hasAnyValues = true; internalValueResult.predictionCol = this._predictionCol; } if (this._predictionProbaCol !== undefined) { hasAnyValues = true; internalValueResult.predictionProbaCol = this._predictionProbaCol; } if (this._problemType !== undefined) { hasAnyValues = true; internalValueResult.problemType = this._problemType; } if (this._timestampCol !== undefined) { hasAnyValues = true; internalValueResult.timestampCol = this._timestampCol; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._granularities = undefined; this._labelCol = undefined; this._modelIdCol = undefined; this._predictionCol = undefined; this._predictionProbaCol = undefined; this._problemType = undefined; this._timestampCol = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._granularities = value.granularities; this._labelCol = value.labelCol; this._modelIdCol = value.modelIdCol; this._predictionCol = value.predictionCol; this._predictionProbaCol = value.predictionProbaCol; this._problemType = value.problemType; this._timestampCol = value.timestampCol; } } get granularities() { return this.getListAttribute('granularities'); } set granularities(value) { this._granularities = value; } // Temporarily expose input value. Use with caution. get granularitiesInput() { return this._granularities; } get labelCol() { return this.getStringAttribute('label_col'); } set labelCol(value) { this._labelCol = value; } resetLabelCol() { this._labelCol = undefined; } // Temporarily expose input value. Use with caution. get labelColInput() { return this._labelCol; } get modelIdCol() { return this.getStringAttribute('model_id_col'); } set modelIdCol(value) { this._modelIdCol = value; } // Temporarily expose input value. Use with caution. get modelIdColInput() { return this._modelIdCol; } get predictionCol() { return this.getStringAttribute('prediction_col'); } set predictionCol(value) { this._predictionCol = value; } // Temporarily expose input value. Use with caution. get predictionColInput() { return this._predictionCol; } get predictionProbaCol() { return this.getStringAttribute('prediction_proba_col'); } set predictionProbaCol(value) { this._predictionProbaCol = value; } resetPredictionProbaCol() { this._predictionProbaCol = undefined; } // Temporarily expose input value. Use with caution. get predictionProbaColInput() { return this._predictionProbaCol; } get problemType() { return this.getStringAttribute('problem_type'); } set problemType(value) { this._problemType = value; } // Temporarily expose input value. Use with caution. get problemTypeInput() { return this._problemType; } get timestampCol() { return this.getStringAttribute('timestamp_col'); } set timestampCol(value) { this._timestampCol = value; } // Temporarily expose input value. Use with caution. get timestampColInput() { return this._timestampCol; } } exports.LakehouseMonitorInferenceLogOutputReference = LakehouseMonitorInferenceLogOutputReference; _d = JSII_RTTI_SYMBOL_1; LakehouseMonitorInferenceLogOutputReference[_d] = { fqn: "@cdktf/provider-databricks.lakehouseMonitor.LakehouseMonitorInferenceLogOutputReference", version: "15.16.1" }; function lakehouseMonitorNotificationsOnFailureToTerraform(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 { email_addresses: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.emailAddresses), }; } function lakehouseMonitorNotificationsOnFailureToHclTerraform(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 = { email_addresses: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.emailAddresses), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakehouseMonitorNotificationsOnFailureOutputReference 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._emailAddresses !== undefined) { hasAnyValues = true; internalValueResult.emailAddresses = this._emailAddresses; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._emailAddresses = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._emailAddresses = value.emailAddresses; } } get emailAddresses() { return this.getListAttribute('email_addresses'); } set emailAddresses(value) { this._emailAddresses = value; } resetEmailAddresses() { this._emailAddresses = undefined; } // Temporarily expose input value. Use with caution. get emailAddressesInput() { return this._emailAddresses; } } exports.LakehouseMonitorNotificationsOnFailureOutputReference = LakehouseMonitorNotificationsOnFailureOutputReference; _e = JSII_RTTI_SYMBOL_1; LakehouseMonitorNotificationsOnFailureOutputReference[_e] = { fqn: "@cdktf/provider-databricks.lakehouseMonitor.LakehouseMonitorNotificationsOnFailureOutputReference", version: "15.16.1" }; function lakehouseMonitorNotificationsOnNewClassificationTagDetectedToTerraform(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 { email_addresses: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.emailAddresses), }; } function lakehouseMonitorNotificationsOnNewClassificationTagDetectedToHclTerraform(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 = { email_addresses: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.emailAddresses), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakehouseMonitorNotificationsOnNewClassificationTagDetectedOutputReference 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._emailAddresses !== undefined) { hasAnyValues = true; internalValueResult.emailAddresses = this._emailAddresses; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._emailAddresses = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._emailAddresses = value.emailAddresses; } } get emailAddresses() { return this.getListAttribute('email_addresses'); } set emailAddresses(value) { this._emailAddresses = value; } resetEmailAddresses() { this._emailAddresses = undefined; } // Temporarily expose input value. Use with caution. get emailAddressesInput() { return this._emailAddresses; } } exports.LakehouseMonitorNotificationsOnNewClassificationTagDetectedOutputReference = LakehouseMonitorNotificationsOnNewClassificationTagDetectedOutputReference; _f = JSII_RTTI_SYMBOL_1; LakehouseMonitorNotificationsOnNewClassificationTagDetectedOutputReference[_f] = { fqn: "@cdktf/provider-databricks.lakehouseMonitor.LakehouseMonitorNotificationsOnNewClassificationTagDetectedOutputReference", version: "15.16.1" }; function lakehouseMonitorNotificationsToTerraform(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 { on_failure: lakehouseMonitorNotificationsOnFailureToTerraform(struct.onFailure), on_new_classification_tag_detected: lakehouseMonitorNotificationsOnNewClassificationTagDetectedToTerraform(struct.onNewClassificationTagDetected), }; } function lakehouseMonitorNotificationsToHclTerraform(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 = { on_failure: { value: lakehouseMonitorNotificationsOnFailureToHclTerraform(struct.onFailure), isBlock: true, type: "list", storageClassType: "LakehouseMonitorNotificationsOnFailureList", }, on_new_classification_tag_detected: { value: lakehouseMonitorNotificationsOnNewClassificationTagDetectedToHclTerraform(struct.onNewClassificationTagDetected), isBlock: true, type: "list", storageClassType: "LakehouseMonitorNotificationsOnNewClassificationTagDetectedList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakehouseMonitorNotificationsOutputReference 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; // on_failure - computed: false, optional: true, required: false this._onFailure = new LakehouseMonitorNotificationsOnFailureOutputReference(this, "on_failure"); // on_new_classification_tag_detected - computed: false, optional: true, required: false this._onNewClassificationTagDetected = new LakehouseMonitorNotificationsOnNewClassificationTagDetectedOutputReference(this, "on_new_classification_tag_detected"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._onFailure?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.onFailure = this._onFailure?.internalValue; } if (this._onNewClassificationTagDetected?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.onNewClassificationTagDetected = this._onNewClassificationTagDetected?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._onFailure.internalValue = undefined; this._onNewClassificationTagDetected.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._onFailure.internalValue = value.onFailure; this._onNewClassificationTagDetected.internalValue = value.onNewClassificationTagDetected; } } get onFailure() { return this._onFailure; } putOnFailure(value) { this._onFailure.internalValue = value; } resetOnFailure() { this._onFailure.internalValue = undefined; } // Temporarily expose input value. Use with caution. get onFailureInput() { return this._onFailure.internalValue; } get onNewClassificationTagDetected() { return this._onNewClassificationTagDetected; } putOnNewClassificationTagDetected(value) { this._onNewClassificationTagDetected.internalValue = value; } resetOnNewClassificationTagDetected() { this._onNewClassificationTagDetected.internalValue = undefined; } // Temporarily expose input value. Use with caution. get onNewClassificationTagDetectedInput() { return this._onNewClassificationTagDetected.internalValue; } } exports.LakehouseMonitorNotificationsOutputReference = LakehouseMonitorNotificationsOutputReference; _g = JSII_RTTI_SYMBOL_1; LakehouseMonitorNotificationsOutputReference[_g] = { fqn: "@cdktf/provider-databricks.lakehouseMonitor.LakehouseMonitorNotificationsOutputReference", version: "15.16.1" }; function lakehouseMonitorScheduleToTerraform(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 { quartz_cron_expression: cdktf.stringToTerraform(struct.quartzCronExpression), timezone_id: cdktf.stringToTerraform(struct.timezoneId), }; } function lakehouseMonitorScheduleToHclTerraform(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 = { quartz_cron_expression: { value: cdktf.stringToHclTerraform(struct.quartzCronExpression), isBlock: false, type: "simple", storageClassType: "string", }, timezone_id: { value: cdktf.stringToHclTerraform(struct.timezoneId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakehouseMonitorScheduleOutputReference 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._quartzCronExpression !== undefined) { hasAnyValues = true; internalValueResult.quartzCronExpression = this._quartzCronExpression; } if (this._timezoneId !== undefined) { hasAnyValues = true; internalValueResult.timezoneId = this._timezoneId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._quartzCronExpression = undefined; this._timezoneId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._quartzCronExpression = value.quartzCronExpression; this._timezoneId = value.timezoneId; } } // pause_status - computed: true, optional: false, required: false get pauseStatus() { return this.getStringAttribute('pause_status'); } get quartzCronExpression() { return this.getStringAttribute('quartz_cron_expression'); } set quartzCronExpression(value) { this._quartzCronExpression = value; } // Temporarily expose input value. Use with caution. get quartzCronExpressionInput() { return this._quartzCronExpression; } get timezoneId() { return this.getStringAttribute('timezone_id'); } set timezoneId(value) { this._timezoneId = value; } // Temporarily expose input value. Use with caution. get timezoneIdInput() { return this._timezoneId; } } exports.LakehouseMonitorScheduleOutputReference = LakehouseMonitorScheduleOutputReference; _h = JSII_RTTI_SYMBOL_1; LakehouseMonitorScheduleOutputReference[_h] = { fqn: "@cdktf/provider-databricks.lakehouseMonitor.LakehouseMonitorScheduleOutputReference", version: "15.16.1" }; function lakehouseMonitorSnapshotToTerraform(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 {}; } function lakehouseMonitorSnapshotToHclTerraform(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 = {}; return attrs; } class LakehouseMonitorSnapshotOutputReference 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 = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } } exports.LakehouseMonitorSnapshotOutputReference = LakehouseMonitorSnapshotOutputReference; _j = JSII_RTTI_SYMBOL_1; LakehouseMonitorSnapshotOutputReference[_j] = { fqn: "@cdktf/provider-databricks.lakehouseMonitor.LakehouseMonitorSnapshotOutputReference", version: "15.16.1" }; function lakehouseMonitorTimeSeriesToTerraform(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 { granularities: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.granularities), timestamp_col: cdktf.stringToTerraform(struct.timestampCol), }; } function lakehouseMonitorTimeSeriesToHclTerraform(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 = { granularities: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.granularities), isBlock: false, type: "list", storageClassType: "stringList", }, timestamp_col: { value: cdktf.stringToHclTerraform(struct.timestampCol), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakehouseMonitorTimeSeriesOutputReference 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._granularities !== undefined) { hasAnyValues = true; internalValueResult.granularities = this._granularities; } if (this._timestampCol !== undefined) { hasAnyValues = true; internalValueResult.timestampCol = this._timestampCol; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._granularities = undefined; this._timestampCol = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._granularities = value.granularities; this._timestampCol = value.timestampCol; } } get granularities() { return this.getListAttribute('granularities'); } set granularities(value) { this._granularities = value; } // Temporarily expose input value. Use with caution. get granularitiesInput() { return this._granularities; } get timestampCol() { return this.getStringAttribute('timestamp_col'); } set timestampCol(value) { this._timestampCol = value; } // Temporarily expose input value. Use with caution. get timestampColInput() { return this._timestampCol; } } exports.LakehouseMonitorTimeSeriesOutputReference = LakehouseMonitorTimeSeriesOutputReference; _k = JSII_RTTI_SYMBOL_1; LakehouseMonitorTimeSeriesOutputReference[_k] = { fqn: "@cdktf/provider-databricks.lakehouseMonitor.LakehouseMonitorTimeSeriesOutputReference", version: "15.16.1" }; function lakehouseMonitorTimeoutsToTerraform(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), }; } function lakehouseMonitorTimeoutsToHclTerraform(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", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakehouseMonitorTimeoutsOutputReference 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); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = 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._create = value.create; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } } exports.LakehouseMonitorTimeoutsOutputReference = LakehouseMonitorTimeoutsOutputReference; _l = JSII_RTTI_SYMBOL_1; LakehouseMonitorTimeoutsOutputReference[_l] = { fqn: "@cdktf/provider-databricks.lakehouseMonitor.LakehouseMonitorTimeoutsOutputReference", version: "15.16.1" }; /** * Represents a {@link https://registry.terraform.io/providers/databricks/databricks/1.99.0/docs/resources/lakehouse_monitor databricks_lakehouse_monitor} */ class LakehouseMonitor extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a LakehouseMonitor 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 LakehouseMonitor to import * @param importFromId The id of the existing LakehouseMonitor that should be imported. Refer to the {@link https://registry.terraform.io/providers/databricks/databricks/1.99.0/docs/resources/lakehouse_monitor#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the LakehouseMonitor to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "databricks_lakehouse_monitor", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/databricks/databricks/1.99.0/docs/resources/lakehouse_monitor databricks_lakehouse_monitor} 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 LakehouseMonitorConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'databricks_lakehouse_monitor', terraformGeneratorMetadata: { providerName: 'databricks', providerVersion: '1.99.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 }); // custom_metrics - computed: false, optional: true, required: false this._customMetrics = new LakehouseMonitorCustomMetricsList(this, "custom_metrics", false); // data_classification_config - computed: false, optional: true, required: false this._dataClassificationConfig = new LakehouseMonitorDataClassificationConfigOutputReference(this, "data_classification_config"); // inference_log - computed: false, optional: true, required: false this._inferenceLog = new LakehouseMonitorInferenceLogOutputReference(this, "inference_log"); // notifications - computed: false, optional: true, required: false this._notifications = new LakehouseMonitorNotificationsOutputReference(this, "notifications"); // schedule - computed: false, optional: true, required: false this._schedule = new LakehouseMonitorScheduleOutputReference(this, "schedule"); // snapshot - computed: false, optional: true, required: false this._snapshot = new LakehouseMonitorSnapshotOutputReference(this, "snapshot"); // time_series - computed: false, optional: true, required: false this._timeSeries = new LakehouseMonitorTimeSeriesOutputReference(this, "time_series"); // timeouts - computed: false, optional: true, required: false this._timeouts = new LakehouseMonitorTimeoutsOutputReference(this, "timeouts"); this._assetsDir = config.assetsDir; this._baselineTableName = config.baselineTableName; this._id = config.id; this._latestMonitorFailureMsg = config.latestMonitorFailureMsg; this._outputSchemaName = config.outputSchemaName; this._skipBuiltinDashboard = config.skipBuiltinDashboard; this._slicingExprs = config.slicingExprs; this._tableName = config.tableName; this._warehouseId = config.warehouseId; this._customMetrics.internalValue = config.customMetrics; this._dataClassificationConfig.internalValue = config.dataClassificationConfig; this._inferenceLog.internalValue = config.inferenceLog; this._notifications.internalValue = config.notifications; this._schedule.internalValue = config.schedule; this._snapshot.internalValue = config.snapshot; this._timeSeries.internalValue = config.timeSeries; this._timeouts.internalValue = config.timeouts; } get assetsDir() { return this.getStringAttribute('assets_dir'); } set assetsDir(value) { this._assetsDir = value; } // Temporarily expose input value. Use with caution. get assetsDirInput() {