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