UNPKG

@cdktf/provider-databricks

Version:

Prebuilt databricks Provider for Terraform CDK (cdktf)

1,225 lines 637 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8; Object.defineProperty(exports, "__esModule", { value: true }); exports.Cluster = exports.ClusterWorkloadTypeOutputReference = exports.ClusterWorkloadTypeClientsOutputReference = exports.ClusterTimeoutsOutputReference = exports.ClusterProviderConfigOutputReference = exports.ClusterLibraryList = exports.ClusterLibraryOutputReference = exports.ClusterLibraryPypiOutputReference = exports.ClusterLibraryMavenOutputReference = exports.ClusterLibraryCranOutputReference = exports.ClusterInitScriptsList = exports.ClusterInitScriptsOutputReference = exports.ClusterInitScriptsWorkspaceOutputReference = exports.ClusterInitScriptsVolumesOutputReference = exports.ClusterInitScriptsS3OutputReference = exports.ClusterInitScriptsGcsOutputReference = exports.ClusterInitScriptsFileOutputReference = exports.ClusterInitScriptsDbfsOutputReference = exports.ClusterInitScriptsAbfssOutputReference = exports.ClusterGcpAttributesOutputReference = exports.ClusterDockerImageOutputReference = exports.ClusterDockerImageBasicAuthOutputReference = exports.ClusterClusterMountInfoList = exports.ClusterClusterMountInfoOutputReference = exports.ClusterClusterMountInfoNetworkFilesystemInfoOutputReference = exports.ClusterClusterLogConfOutputReference = exports.ClusterClusterLogConfVolumesOutputReference = exports.ClusterClusterLogConfS3OutputReference = exports.ClusterClusterLogConfDbfsOutputReference = exports.ClusterAzureAttributesOutputReference = exports.ClusterAzureAttributesLogAnalyticsInfoOutputReference = exports.ClusterAwsAttributesOutputReference = exports.ClusterAutoscaleOutputReference = void 0; exports.clusterAutoscaleToTerraform = clusterAutoscaleToTerraform; exports.clusterAutoscaleToHclTerraform = clusterAutoscaleToHclTerraform; exports.clusterAwsAttributesToTerraform = clusterAwsAttributesToTerraform; exports.clusterAwsAttributesToHclTerraform = clusterAwsAttributesToHclTerraform; exports.clusterAzureAttributesLogAnalyticsInfoToTerraform = clusterAzureAttributesLogAnalyticsInfoToTerraform; exports.clusterAzureAttributesLogAnalyticsInfoToHclTerraform = clusterAzureAttributesLogAnalyticsInfoToHclTerraform; exports.clusterAzureAttributesToTerraform = clusterAzureAttributesToTerraform; exports.clusterAzureAttributesToHclTerraform = clusterAzureAttributesToHclTerraform; exports.clusterClusterLogConfDbfsToTerraform = clusterClusterLogConfDbfsToTerraform; exports.clusterClusterLogConfDbfsToHclTerraform = clusterClusterLogConfDbfsToHclTerraform; exports.clusterClusterLogConfS3ToTerraform = clusterClusterLogConfS3ToTerraform; exports.clusterClusterLogConfS3ToHclTerraform = clusterClusterLogConfS3ToHclTerraform; exports.clusterClusterLogConfVolumesToTerraform = clusterClusterLogConfVolumesToTerraform; exports.clusterClusterLogConfVolumesToHclTerraform = clusterClusterLogConfVolumesToHclTerraform; exports.clusterClusterLogConfToTerraform = clusterClusterLogConfToTerraform; exports.clusterClusterLogConfToHclTerraform = clusterClusterLogConfToHclTerraform; exports.clusterClusterMountInfoNetworkFilesystemInfoToTerraform = clusterClusterMountInfoNetworkFilesystemInfoToTerraform; exports.clusterClusterMountInfoNetworkFilesystemInfoToHclTerraform = clusterClusterMountInfoNetworkFilesystemInfoToHclTerraform; exports.clusterClusterMountInfoToTerraform = clusterClusterMountInfoToTerraform; exports.clusterClusterMountInfoToHclTerraform = clusterClusterMountInfoToHclTerraform; exports.clusterDockerImageBasicAuthToTerraform = clusterDockerImageBasicAuthToTerraform; exports.clusterDockerImageBasicAuthToHclTerraform = clusterDockerImageBasicAuthToHclTerraform; exports.clusterDockerImageToTerraform = clusterDockerImageToTerraform; exports.clusterDockerImageToHclTerraform = clusterDockerImageToHclTerraform; exports.clusterGcpAttributesToTerraform = clusterGcpAttributesToTerraform; exports.clusterGcpAttributesToHclTerraform = clusterGcpAttributesToHclTerraform; exports.clusterInitScriptsAbfssToTerraform = clusterInitScriptsAbfssToTerraform; exports.clusterInitScriptsAbfssToHclTerraform = clusterInitScriptsAbfssToHclTerraform; exports.clusterInitScriptsDbfsToTerraform = clusterInitScriptsDbfsToTerraform; exports.clusterInitScriptsDbfsToHclTerraform = clusterInitScriptsDbfsToHclTerraform; exports.clusterInitScriptsFileToTerraform = clusterInitScriptsFileToTerraform; exports.clusterInitScriptsFileToHclTerraform = clusterInitScriptsFileToHclTerraform; exports.clusterInitScriptsGcsToTerraform = clusterInitScriptsGcsToTerraform; exports.clusterInitScriptsGcsToHclTerraform = clusterInitScriptsGcsToHclTerraform; exports.clusterInitScriptsS3ToTerraform = clusterInitScriptsS3ToTerraform; exports.clusterInitScriptsS3ToHclTerraform = clusterInitScriptsS3ToHclTerraform; exports.clusterInitScriptsVolumesToTerraform = clusterInitScriptsVolumesToTerraform; exports.clusterInitScriptsVolumesToHclTerraform = clusterInitScriptsVolumesToHclTerraform; exports.clusterInitScriptsWorkspaceToTerraform = clusterInitScriptsWorkspaceToTerraform; exports.clusterInitScriptsWorkspaceToHclTerraform = clusterInitScriptsWorkspaceToHclTerraform; exports.clusterInitScriptsToTerraform = clusterInitScriptsToTerraform; exports.clusterInitScriptsToHclTerraform = clusterInitScriptsToHclTerraform; exports.clusterLibraryCranToTerraform = clusterLibraryCranToTerraform; exports.clusterLibraryCranToHclTerraform = clusterLibraryCranToHclTerraform; exports.clusterLibraryMavenToTerraform = clusterLibraryMavenToTerraform; exports.clusterLibraryMavenToHclTerraform = clusterLibraryMavenToHclTerraform; exports.clusterLibraryPypiToTerraform = clusterLibraryPypiToTerraform; exports.clusterLibraryPypiToHclTerraform = clusterLibraryPypiToHclTerraform; exports.clusterLibraryToTerraform = clusterLibraryToTerraform; exports.clusterLibraryToHclTerraform = clusterLibraryToHclTerraform; exports.clusterProviderConfigToTerraform = clusterProviderConfigToTerraform; exports.clusterProviderConfigToHclTerraform = clusterProviderConfigToHclTerraform; exports.clusterTimeoutsToTerraform = clusterTimeoutsToTerraform; exports.clusterTimeoutsToHclTerraform = clusterTimeoutsToHclTerraform; exports.clusterWorkloadTypeClientsToTerraform = clusterWorkloadTypeClientsToTerraform; exports.clusterWorkloadTypeClientsToHclTerraform = clusterWorkloadTypeClientsToHclTerraform; exports.clusterWorkloadTypeToTerraform = clusterWorkloadTypeToTerraform; exports.clusterWorkloadTypeToHclTerraform = clusterWorkloadTypeToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function clusterAutoscaleToTerraform(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 { max_workers: cdktf.numberToTerraform(struct.maxWorkers), min_workers: cdktf.numberToTerraform(struct.minWorkers), }; } function clusterAutoscaleToHclTerraform(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 = { max_workers: { value: cdktf.numberToHclTerraform(struct.maxWorkers), isBlock: false, type: "simple", storageClassType: "number", }, min_workers: { value: cdktf.numberToHclTerraform(struct.minWorkers), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClusterAutoscaleOutputReference 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._maxWorkers !== undefined) { hasAnyValues = true; internalValueResult.maxWorkers = this._maxWorkers; } if (this._minWorkers !== undefined) { hasAnyValues = true; internalValueResult.minWorkers = this._minWorkers; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxWorkers = undefined; this._minWorkers = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxWorkers = value.maxWorkers; this._minWorkers = value.minWorkers; } } get maxWorkers() { return this.getNumberAttribute('max_workers'); } set maxWorkers(value) { this._maxWorkers = value; } resetMaxWorkers() { this._maxWorkers = undefined; } // Temporarily expose input value. Use with caution. get maxWorkersInput() { return this._maxWorkers; } get minWorkers() { return this.getNumberAttribute('min_workers'); } set minWorkers(value) { this._minWorkers = value; } resetMinWorkers() { this._minWorkers = undefined; } // Temporarily expose input value. Use with caution. get minWorkersInput() { return this._minWorkers; } } exports.ClusterAutoscaleOutputReference = ClusterAutoscaleOutputReference; _a = JSII_RTTI_SYMBOL_1; ClusterAutoscaleOutputReference[_a] = { fqn: "@cdktf/provider-databricks.cluster.ClusterAutoscaleOutputReference", version: "15.16.1" }; function clusterAwsAttributesToTerraform(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 { availability: cdktf.stringToTerraform(struct.availability), ebs_volume_count: cdktf.numberToTerraform(struct.ebsVolumeCount), ebs_volume_iops: cdktf.numberToTerraform(struct.ebsVolumeIops), ebs_volume_size: cdktf.numberToTerraform(struct.ebsVolumeSize), ebs_volume_throughput: cdktf.numberToTerraform(struct.ebsVolumeThroughput), ebs_volume_type: cdktf.stringToTerraform(struct.ebsVolumeType), first_on_demand: cdktf.numberToTerraform(struct.firstOnDemand), instance_profile_arn: cdktf.stringToTerraform(struct.instanceProfileArn), spot_bid_price_percent: cdktf.numberToTerraform(struct.spotBidPricePercent), zone_id: cdktf.stringToTerraform(struct.zoneId), }; } function clusterAwsAttributesToHclTerraform(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 = { availability: { value: cdktf.stringToHclTerraform(struct.availability), isBlock: false, type: "simple", storageClassType: "string", }, ebs_volume_count: { value: cdktf.numberToHclTerraform(struct.ebsVolumeCount), isBlock: false, type: "simple", storageClassType: "number", }, ebs_volume_iops: { value: cdktf.numberToHclTerraform(struct.ebsVolumeIops), isBlock: false, type: "simple", storageClassType: "number", }, ebs_volume_size: { value: cdktf.numberToHclTerraform(struct.ebsVolumeSize), isBlock: false, type: "simple", storageClassType: "number", }, ebs_volume_throughput: { value: cdktf.numberToHclTerraform(struct.ebsVolumeThroughput), isBlock: false, type: "simple", storageClassType: "number", }, ebs_volume_type: { value: cdktf.stringToHclTerraform(struct.ebsVolumeType), isBlock: false, type: "simple", storageClassType: "string", }, first_on_demand: { value: cdktf.numberToHclTerraform(struct.firstOnDemand), isBlock: false, type: "simple", storageClassType: "number", }, instance_profile_arn: { value: cdktf.stringToHclTerraform(struct.instanceProfileArn), isBlock: false, type: "simple", storageClassType: "string", }, spot_bid_price_percent: { value: cdktf.numberToHclTerraform(struct.spotBidPricePercent), isBlock: false, type: "simple", storageClassType: "number", }, zone_id: { value: cdktf.stringToHclTerraform(struct.zoneId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClusterAwsAttributesOutputReference 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._availability !== undefined) { hasAnyValues = true; internalValueResult.availability = this._availability; } if (this._ebsVolumeCount !== undefined) { hasAnyValues = true; internalValueResult.ebsVolumeCount = this._ebsVolumeCount; } if (this._ebsVolumeIops !== undefined) { hasAnyValues = true; internalValueResult.ebsVolumeIops = this._ebsVolumeIops; } if (this._ebsVolumeSize !== undefined) { hasAnyValues = true; internalValueResult.ebsVolumeSize = this._ebsVolumeSize; } if (this._ebsVolumeThroughput !== undefined) { hasAnyValues = true; internalValueResult.ebsVolumeThroughput = this._ebsVolumeThroughput; } if (this._ebsVolumeType !== undefined) { hasAnyValues = true; internalValueResult.ebsVolumeType = this._ebsVolumeType; } if (this._firstOnDemand !== undefined) { hasAnyValues = true; internalValueResult.firstOnDemand = this._firstOnDemand; } if (this._instanceProfileArn !== undefined) { hasAnyValues = true; internalValueResult.instanceProfileArn = this._instanceProfileArn; } if (this._spotBidPricePercent !== undefined) { hasAnyValues = true; internalValueResult.spotBidPricePercent = this._spotBidPricePercent; } if (this._zoneId !== undefined) { hasAnyValues = true; internalValueResult.zoneId = this._zoneId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._availability = undefined; this._ebsVolumeCount = undefined; this._ebsVolumeIops = undefined; this._ebsVolumeSize = undefined; this._ebsVolumeThroughput = undefined; this._ebsVolumeType = undefined; this._firstOnDemand = undefined; this._instanceProfileArn = undefined; this._spotBidPricePercent = undefined; this._zoneId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._availability = value.availability; this._ebsVolumeCount = value.ebsVolumeCount; this._ebsVolumeIops = value.ebsVolumeIops; this._ebsVolumeSize = value.ebsVolumeSize; this._ebsVolumeThroughput = value.ebsVolumeThroughput; this._ebsVolumeType = value.ebsVolumeType; this._firstOnDemand = value.firstOnDemand; this._instanceProfileArn = value.instanceProfileArn; this._spotBidPricePercent = value.spotBidPricePercent; this._zoneId = value.zoneId; } } get availability() { return this.getStringAttribute('availability'); } set availability(value) { this._availability = value; } resetAvailability() { this._availability = undefined; } // Temporarily expose input value. Use with caution. get availabilityInput() { return this._availability; } get ebsVolumeCount() { return this.getNumberAttribute('ebs_volume_count'); } set ebsVolumeCount(value) { this._ebsVolumeCount = value; } resetEbsVolumeCount() { this._ebsVolumeCount = undefined; } // Temporarily expose input value. Use with caution. get ebsVolumeCountInput() { return this._ebsVolumeCount; } get ebsVolumeIops() { return this.getNumberAttribute('ebs_volume_iops'); } set ebsVolumeIops(value) { this._ebsVolumeIops = value; } resetEbsVolumeIops() { this._ebsVolumeIops = undefined; } // Temporarily expose input value. Use with caution. get ebsVolumeIopsInput() { return this._ebsVolumeIops; } get ebsVolumeSize() { return this.getNumberAttribute('ebs_volume_size'); } set ebsVolumeSize(value) { this._ebsVolumeSize = value; } resetEbsVolumeSize() { this._ebsVolumeSize = undefined; } // Temporarily expose input value. Use with caution. get ebsVolumeSizeInput() { return this._ebsVolumeSize; } get ebsVolumeThroughput() { return this.getNumberAttribute('ebs_volume_throughput'); } set ebsVolumeThroughput(value) { this._ebsVolumeThroughput = value; } resetEbsVolumeThroughput() { this._ebsVolumeThroughput = undefined; } // Temporarily expose input value. Use with caution. get ebsVolumeThroughputInput() { return this._ebsVolumeThroughput; } get ebsVolumeType() { return this.getStringAttribute('ebs_volume_type'); } set ebsVolumeType(value) { this._ebsVolumeType = value; } resetEbsVolumeType() { this._ebsVolumeType = undefined; } // Temporarily expose input value. Use with caution. get ebsVolumeTypeInput() { return this._ebsVolumeType; } get firstOnDemand() { return this.getNumberAttribute('first_on_demand'); } set firstOnDemand(value) { this._firstOnDemand = value; } resetFirstOnDemand() { this._firstOnDemand = undefined; } // Temporarily expose input value. Use with caution. get firstOnDemandInput() { return this._firstOnDemand; } get instanceProfileArn() { return this.getStringAttribute('instance_profile_arn'); } set instanceProfileArn(value) { this._instanceProfileArn = value; } resetInstanceProfileArn() { this._instanceProfileArn = undefined; } // Temporarily expose input value. Use with caution. get instanceProfileArnInput() { return this._instanceProfileArn; } get spotBidPricePercent() { return this.getNumberAttribute('spot_bid_price_percent'); } set spotBidPricePercent(value) { this._spotBidPricePercent = value; } resetSpotBidPricePercent() { this._spotBidPricePercent = undefined; } // Temporarily expose input value. Use with caution. get spotBidPricePercentInput() { return this._spotBidPricePercent; } get zoneId() { return this.getStringAttribute('zone_id'); } set zoneId(value) { this._zoneId = value; } resetZoneId() { this._zoneId = undefined; } // Temporarily expose input value. Use with caution. get zoneIdInput() { return this._zoneId; } } exports.ClusterAwsAttributesOutputReference = ClusterAwsAttributesOutputReference; _b = JSII_RTTI_SYMBOL_1; ClusterAwsAttributesOutputReference[_b] = { fqn: "@cdktf/provider-databricks.cluster.ClusterAwsAttributesOutputReference", version: "15.16.1" }; function clusterAzureAttributesLogAnalyticsInfoToTerraform(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 { log_analytics_primary_key: cdktf.stringToTerraform(struct.logAnalyticsPrimaryKey), log_analytics_workspace_id: cdktf.stringToTerraform(struct.logAnalyticsWorkspaceId), }; } function clusterAzureAttributesLogAnalyticsInfoToHclTerraform(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 = { log_analytics_primary_key: { value: cdktf.stringToHclTerraform(struct.logAnalyticsPrimaryKey), isBlock: false, type: "simple", storageClassType: "string", }, log_analytics_workspace_id: { value: cdktf.stringToHclTerraform(struct.logAnalyticsWorkspaceId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClusterAzureAttributesLogAnalyticsInfoOutputReference 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._logAnalyticsPrimaryKey !== undefined) { hasAnyValues = true; internalValueResult.logAnalyticsPrimaryKey = this._logAnalyticsPrimaryKey; } if (this._logAnalyticsWorkspaceId !== undefined) { hasAnyValues = true; internalValueResult.logAnalyticsWorkspaceId = this._logAnalyticsWorkspaceId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._logAnalyticsPrimaryKey = undefined; this._logAnalyticsWorkspaceId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._logAnalyticsPrimaryKey = value.logAnalyticsPrimaryKey; this._logAnalyticsWorkspaceId = value.logAnalyticsWorkspaceId; } } get logAnalyticsPrimaryKey() { return this.getStringAttribute('log_analytics_primary_key'); } set logAnalyticsPrimaryKey(value) { this._logAnalyticsPrimaryKey = value; } resetLogAnalyticsPrimaryKey() { this._logAnalyticsPrimaryKey = undefined; } // Temporarily expose input value. Use with caution. get logAnalyticsPrimaryKeyInput() { return this._logAnalyticsPrimaryKey; } get logAnalyticsWorkspaceId() { return this.getStringAttribute('log_analytics_workspace_id'); } set logAnalyticsWorkspaceId(value) { this._logAnalyticsWorkspaceId = value; } resetLogAnalyticsWorkspaceId() { this._logAnalyticsWorkspaceId = undefined; } // Temporarily expose input value. Use with caution. get logAnalyticsWorkspaceIdInput() { return this._logAnalyticsWorkspaceId; } } exports.ClusterAzureAttributesLogAnalyticsInfoOutputReference = ClusterAzureAttributesLogAnalyticsInfoOutputReference; _c = JSII_RTTI_SYMBOL_1; ClusterAzureAttributesLogAnalyticsInfoOutputReference[_c] = { fqn: "@cdktf/provider-databricks.cluster.ClusterAzureAttributesLogAnalyticsInfoOutputReference", version: "15.16.1" }; function clusterAzureAttributesToTerraform(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 { availability: cdktf.stringToTerraform(struct.availability), first_on_demand: cdktf.numberToTerraform(struct.firstOnDemand), spot_bid_max_price: cdktf.numberToTerraform(struct.spotBidMaxPrice), log_analytics_info: clusterAzureAttributesLogAnalyticsInfoToTerraform(struct.logAnalyticsInfo), }; } function clusterAzureAttributesToHclTerraform(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 = { availability: { value: cdktf.stringToHclTerraform(struct.availability), isBlock: false, type: "simple", storageClassType: "string", }, first_on_demand: { value: cdktf.numberToHclTerraform(struct.firstOnDemand), isBlock: false, type: "simple", storageClassType: "number", }, spot_bid_max_price: { value: cdktf.numberToHclTerraform(struct.spotBidMaxPrice), isBlock: false, type: "simple", storageClassType: "number", }, log_analytics_info: { value: clusterAzureAttributesLogAnalyticsInfoToHclTerraform(struct.logAnalyticsInfo), isBlock: true, type: "list", storageClassType: "ClusterAzureAttributesLogAnalyticsInfoList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClusterAzureAttributesOutputReference 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; // log_analytics_info - computed: false, optional: true, required: false this._logAnalyticsInfo = new ClusterAzureAttributesLogAnalyticsInfoOutputReference(this, "log_analytics_info"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._availability !== undefined) { hasAnyValues = true; internalValueResult.availability = this._availability; } if (this._firstOnDemand !== undefined) { hasAnyValues = true; internalValueResult.firstOnDemand = this._firstOnDemand; } if (this._spotBidMaxPrice !== undefined) { hasAnyValues = true; internalValueResult.spotBidMaxPrice = this._spotBidMaxPrice; } if (this._logAnalyticsInfo?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.logAnalyticsInfo = this._logAnalyticsInfo?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._availability = undefined; this._firstOnDemand = undefined; this._spotBidMaxPrice = undefined; this._logAnalyticsInfo.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._availability = value.availability; this._firstOnDemand = value.firstOnDemand; this._spotBidMaxPrice = value.spotBidMaxPrice; this._logAnalyticsInfo.internalValue = value.logAnalyticsInfo; } } get availability() { return this.getStringAttribute('availability'); } set availability(value) { this._availability = value; } resetAvailability() { this._availability = undefined; } // Temporarily expose input value. Use with caution. get availabilityInput() { return this._availability; } get firstOnDemand() { return this.getNumberAttribute('first_on_demand'); } set firstOnDemand(value) { this._firstOnDemand = value; } resetFirstOnDemand() { this._firstOnDemand = undefined; } // Temporarily expose input value. Use with caution. get firstOnDemandInput() { return this._firstOnDemand; } get spotBidMaxPrice() { return this.getNumberAttribute('spot_bid_max_price'); } set spotBidMaxPrice(value) { this._spotBidMaxPrice = value; } resetSpotBidMaxPrice() { this._spotBidMaxPrice = undefined; } // Temporarily expose input value. Use with caution. get spotBidMaxPriceInput() { return this._spotBidMaxPrice; } get logAnalyticsInfo() { return this._logAnalyticsInfo; } putLogAnalyticsInfo(value) { this._logAnalyticsInfo.internalValue = value; } resetLogAnalyticsInfo() { this._logAnalyticsInfo.internalValue = undefined; } // Temporarily expose input value. Use with caution. get logAnalyticsInfoInput() { return this._logAnalyticsInfo.internalValue; } } exports.ClusterAzureAttributesOutputReference = ClusterAzureAttributesOutputReference; _d = JSII_RTTI_SYMBOL_1; ClusterAzureAttributesOutputReference[_d] = { fqn: "@cdktf/provider-databricks.cluster.ClusterAzureAttributesOutputReference", version: "15.16.1" }; function clusterClusterLogConfDbfsToTerraform(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 { destination: cdktf.stringToTerraform(struct.destination), }; } function clusterClusterLogConfDbfsToHclTerraform(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 = { destination: { value: cdktf.stringToHclTerraform(struct.destination), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClusterClusterLogConfDbfsOutputReference 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._destination !== undefined) { hasAnyValues = true; internalValueResult.destination = this._destination; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._destination = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._destination = value.destination; } } get destination() { return this.getStringAttribute('destination'); } set destination(value) { this._destination = value; } // Temporarily expose input value. Use with caution. get destinationInput() { return this._destination; } } exports.ClusterClusterLogConfDbfsOutputReference = ClusterClusterLogConfDbfsOutputReference; _e = JSII_RTTI_SYMBOL_1; ClusterClusterLogConfDbfsOutputReference[_e] = { fqn: "@cdktf/provider-databricks.cluster.ClusterClusterLogConfDbfsOutputReference", version: "15.16.1" }; function clusterClusterLogConfS3ToTerraform(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 { canned_acl: cdktf.stringToTerraform(struct.cannedAcl), destination: cdktf.stringToTerraform(struct.destination), enable_encryption: cdktf.booleanToTerraform(struct.enableEncryption), encryption_type: cdktf.stringToTerraform(struct.encryptionType), endpoint: cdktf.stringToTerraform(struct.endpoint), kms_key: cdktf.stringToTerraform(struct.kmsKey), region: cdktf.stringToTerraform(struct.region), }; } function clusterClusterLogConfS3ToHclTerraform(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 = { canned_acl: { value: cdktf.stringToHclTerraform(struct.cannedAcl), isBlock: false, type: "simple", storageClassType: "string", }, destination: { value: cdktf.stringToHclTerraform(struct.destination), isBlock: false, type: "simple", storageClassType: "string", }, enable_encryption: { value: cdktf.booleanToHclTerraform(struct.enableEncryption), isBlock: false, type: "simple", storageClassType: "boolean", }, encryption_type: { value: cdktf.stringToHclTerraform(struct.encryptionType), isBlock: false, type: "simple", storageClassType: "string", }, endpoint: { value: cdktf.stringToHclTerraform(struct.endpoint), isBlock: false, type: "simple", storageClassType: "string", }, kms_key: { value: cdktf.stringToHclTerraform(struct.kmsKey), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(struct.region), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClusterClusterLogConfS3OutputReference 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._cannedAcl !== undefined) { hasAnyValues = true; internalValueResult.cannedAcl = this._cannedAcl; } if (this._destination !== undefined) { hasAnyValues = true; internalValueResult.destination = this._destination; } if (this._enableEncryption !== undefined) { hasAnyValues = true; internalValueResult.enableEncryption = this._enableEncryption; } if (this._encryptionType !== undefined) { hasAnyValues = true; internalValueResult.encryptionType = this._encryptionType; } if (this._endpoint !== undefined) { hasAnyValues = true; internalValueResult.endpoint = this._endpoint; } if (this._kmsKey !== undefined) { hasAnyValues = true; internalValueResult.kmsKey = this._kmsKey; } if (this._region !== undefined) { hasAnyValues = true; internalValueResult.region = this._region; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._cannedAcl = undefined; this._destination = undefined; this._enableEncryption = undefined; this._encryptionType = undefined; this._endpoint = undefined; this._kmsKey = undefined; this._region = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._cannedAcl = value.cannedAcl; this._destination = value.destination; this._enableEncryption = value.enableEncryption; this._encryptionType = value.encryptionType; this._endpoint = value.endpoint; this._kmsKey = value.kmsKey; this._region = value.region; } } get cannedAcl() { return this.getStringAttribute('canned_acl'); } set cannedAcl(value) { this._cannedAcl = value; } resetCannedAcl() { this._cannedAcl = undefined; } // Temporarily expose input value. Use with caution. get cannedAclInput() { return this._cannedAcl; } get destination() { return this.getStringAttribute('destination'); } set destination(value) { this._destination = value; } // Temporarily expose input value. Use with caution. get destinationInput() { return this._destination; } get enableEncryption() { return this.getBooleanAttribute('enable_encryption'); } set enableEncryption(value) { this._enableEncryption = value; } resetEnableEncryption() { this._enableEncryption = undefined; } // Temporarily expose input value. Use with caution. get enableEncryptionInput() { return this._enableEncryption; } get encryptionType() { return this.getStringAttribute('encryption_type'); } set encryptionType(value) { this._encryptionType = value; } resetEncryptionType() { this._encryptionType = undefined; } // Temporarily expose input value. Use with caution. get encryptionTypeInput() { return this._encryptionType; } get endpoint() { return this.getStringAttribute('endpoint'); } set endpoint(value) { this._endpoint = value; } resetEndpoint() { this._endpoint = undefined; } // Temporarily expose input value. Use with caution. get endpointInput() { return this._endpoint; } get kmsKey() { return this.getStringAttribute('kms_key'); } set kmsKey(value) { this._kmsKey = value; } resetKmsKey() { this._kmsKey = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyInput() { return this._kmsKey; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } } exports.ClusterClusterLogConfS3OutputReference = ClusterClusterLogConfS3OutputReference; _f = JSII_RTTI_SYMBOL_1; ClusterClusterLogConfS3OutputReference[_f] = { fqn: "@cdktf/provider-databricks.cluster.ClusterClusterLogConfS3OutputReference", version: "15.16.1" }; function clusterClusterLogConfVolumesToTerraform(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 { destination: cdktf.stringToTerraform(struct.destination), }; } function clusterClusterLogConfVolumesToHclTerraform(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 = { destination: { value: cdktf.stringToHclTerraform(struct.destination), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClusterClusterLogConfVolumesOutputReference 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._destination !== undefined) { hasAnyValues = true; internalValueResult.destination = this._destination; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._destination = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._destination = value.destination; } } get destination() { return this.getStringAttribute('destination'); } set destination(value) { this._destination = value; } // Temporarily expose input value. Use with caution. get destinationInput() { return this._destination; } } exports.ClusterClusterLogConfVolumesOutputReference = ClusterClusterLogConfVolumesOutputReference; _g = JSII_RTTI_SYMBOL_1; ClusterClusterLogConfVolumesOutputReference[_g] = { fqn: "@cdktf/provider-databricks.cluster.ClusterClusterLogConfVolumesOutputReference", version: "15.16.1" }; function clusterClusterLogConfToTerraform(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 { dbfs: clusterClusterLogConfDbfsToTerraform(struct.dbfs), s3: clusterClusterLogConfS3ToTerraform(struct.s3), volumes: clusterClusterLogConfVolumesToTerraform(struct.volumes), }; } function clusterClusterLogConfToHclTerraform(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 = { dbfs: { value: clusterClusterLogConfDbfsToHclTerraform(struct.dbfs), isBlock: true, type: "list", storageClassType: "ClusterClusterLogConfDbfsList", }, s3: { value: clusterClusterLogConfS3ToHclTerraform(struct.s3), isBlock: true, type: "list", storageClassType: "ClusterClusterLogConfS3List", }, volumes: { value: clusterClusterLogConfVolumesToHclTerraform(struct.volumes), isBlock: true, type: "list", storageClassType: "ClusterClusterLogConfVolumesList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClusterClusterLogConfOutputReference 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; // dbfs - computed: false, optional: true, required: false this._dbfs = new ClusterClusterLogConfDbfsOutputReference(this, "dbfs"); // s3 - computed: false, optional: true, required: false this._s3 = new ClusterClusterLogConfS3OutputReference(this, "s3"); // volumes - computed: false, optional: true, required: false this._volumes = new ClusterClusterLogConfVolumesOutputReference(this, "volumes"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._dbfs?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.dbfs = this._dbfs?.internalValue; } if (this._s3?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.s3 = this._s3?.internalValue; } if (this._volumes?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.volumes = this._volumes?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dbfs.internalValue = undefined; this._s3.internalValue = undefined; this._volumes.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dbfs.internalValue = value.dbfs; this._s3.internalValue = value.s3; this._volumes.internalValue = value.volumes; } } get dbfs() { return this._dbfs; } putDbfs(value) { this._dbfs.internalValue = value; } resetDbfs() { this._dbfs.internalValue = undefined; } // Temporarily expose input value. Use with caution. get dbfsInput() { return this._dbfs.internalValue; } get s3() { return this._s3; } putS3(value) { this._s3.internalValue = value; } resetS3() { this._s3.internalValue = undefined; } // Temporarily expose input value. Use with caution. get s3Input() { return this._s3.internalValue; } get volumes() { return this._volumes; } putVolumes(value) { this._volumes.internalValue = value; } resetVolumes() { this._volumes.internalValue = undefined; } // Temporarily expose input value. Use with caution. get volumesInput() { return this._volumes.internalValue; } } exports.ClusterClusterLogConfOutputRefer