UNPKG

@cdktf/provider-databricks

Version:

Prebuilt databricks Provider for Terraform CDK (cdktf)

1,052 lines 149 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.Job = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); /** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ // generated from terraform resource schema const index_structs_1 = require("./index-structs"); __exportStar(require("./index-structs"), exports); const cdktf = require("cdktf"); /** * Represents a {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/job databricks_job} */ class Job extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a Job 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 Job to import * @param importFromId The id of the existing Job that should be imported. Refer to the {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/job#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Job to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "databricks_job", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/job databricks_job} 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 JobConfig = {} */ constructor(scope, id, config = {}) { super(scope, id, { terraformResourceType: 'databricks_job', terraformGeneratorMetadata: { providerName: 'databricks', providerVersion: '1.90.0', providerVersionConstraint: '~> 1.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // continuous - computed: false, optional: true, required: false this._continuous = new index_structs_1.JobContinuousOutputReference(this, "continuous"); // dbt_task - computed: false, optional: true, required: false this._dbtTask = new index_structs_1.JobDbtTaskOutputReference(this, "dbt_task"); // deployment - computed: false, optional: true, required: false this._deployment = new index_structs_1.JobDeploymentOutputReference(this, "deployment"); // email_notifications - computed: false, optional: true, required: false this._emailNotifications = new index_structs_1.JobEmailNotificationsOutputReference(this, "email_notifications"); // environment - computed: false, optional: true, required: false this._environment = new index_structs_1.JobEnvironmentList(this, "environment", false); // git_source - computed: false, optional: true, required: false this._gitSource = new index_structs_1.JobGitSourceOutputReference(this, "git_source"); // health - computed: false, optional: true, required: false this._health = new index_structs_1.JobHealthOutputReference(this, "health"); // job_cluster - computed: false, optional: true, required: false this._jobCluster = new index_structs_1.JobJobClusterList(this, "job_cluster", false); // library - computed: false, optional: true, required: false this._library = new index_structs_1.JobLibraryList(this, "library", false); // new_cluster - computed: false, optional: true, required: false this._newCluster = new index_structs_1.JobNewClusterOutputReference(this, "new_cluster"); // notebook_task - computed: false, optional: true, required: false this._notebookTask = new index_structs_1.JobNotebookTaskOutputReference(this, "notebook_task"); // notification_settings - computed: false, optional: true, required: false this._notificationSettings = new index_structs_1.JobNotificationSettingsOutputReference(this, "notification_settings"); // parameter - computed: false, optional: true, required: false this._parameter = new index_structs_1.JobParameterList(this, "parameter", false); // pipeline_task - computed: false, optional: true, required: false this._pipelineTask = new index_structs_1.JobPipelineTaskOutputReference(this, "pipeline_task"); // python_wheel_task - computed: false, optional: true, required: false this._pythonWheelTask = new index_structs_1.JobPythonWheelTaskOutputReference(this, "python_wheel_task"); // queue - computed: false, optional: true, required: false this._queue = new index_structs_1.JobQueueOutputReference(this, "queue"); // run_as - computed: false, optional: true, required: false this._runAs = new index_structs_1.JobRunAsOutputReference(this, "run_as"); // run_job_task - computed: false, optional: true, required: false this._runJobTask = new index_structs_1.JobRunJobTaskOutputReference(this, "run_job_task"); // schedule - computed: false, optional: true, required: false this._schedule = new index_structs_1.JobScheduleOutputReference(this, "schedule"); // spark_jar_task - computed: false, optional: true, required: false this._sparkJarTask = new index_structs_1.JobSparkJarTaskOutputReference(this, "spark_jar_task"); // spark_python_task - computed: false, optional: true, required: false this._sparkPythonTask = new index_structs_1.JobSparkPythonTaskOutputReference(this, "spark_python_task"); // spark_submit_task - computed: false, optional: true, required: false this._sparkSubmitTask = new index_structs_1.JobSparkSubmitTaskOutputReference(this, "spark_submit_task"); // task - computed: false, optional: true, required: false this._task = new index_structs_1.JobTaskList(this, "task", false); // timeouts - computed: false, optional: true, required: false this._timeouts = new index_structs_1.JobTimeoutsOutputReference(this, "timeouts"); // trigger - computed: false, optional: true, required: false this._trigger = new index_structs_1.JobTriggerOutputReference(this, "trigger"); // webhook_notifications - computed: false, optional: true, required: false this._webhookNotifications = new index_structs_1.JobWebhookNotificationsOutputReference(this, "webhook_notifications"); this._alwaysRunning = config.alwaysRunning; this._budgetPolicyId = config.budgetPolicyId; this._controlRunState = config.controlRunState; this._description = config.description; this._editMode = config.editMode; this._existingClusterId = config.existingClusterId; this._format = config.format; this._id = config.id; this._maxConcurrentRuns = config.maxConcurrentRuns; this._maxRetries = config.maxRetries; this._minRetryIntervalMillis = config.minRetryIntervalMillis; this._name = config.name; this._performanceTarget = config.performanceTarget; this._retryOnTimeout = config.retryOnTimeout; this._tags = config.tags; this._timeoutSeconds = config.timeoutSeconds; this._usagePolicyId = config.usagePolicyId; this._continuous.internalValue = config.continuous; this._dbtTask.internalValue = config.dbtTask; this._deployment.internalValue = config.deployment; this._emailNotifications.internalValue = config.emailNotifications; this._environment.internalValue = config.environment; this._gitSource.internalValue = config.gitSource; this._health.internalValue = config.health; this._jobCluster.internalValue = config.jobCluster; this._library.internalValue = config.library; this._newCluster.internalValue = config.newCluster; this._notebookTask.internalValue = config.notebookTask; this._notificationSettings.internalValue = config.notificationSettings; this._parameter.internalValue = config.parameter; this._pipelineTask.internalValue = config.pipelineTask; this._pythonWheelTask.internalValue = config.pythonWheelTask; this._queue.internalValue = config.queue; this._runAs.internalValue = config.runAs; this._runJobTask.internalValue = config.runJobTask; this._schedule.internalValue = config.schedule; this._sparkJarTask.internalValue = config.sparkJarTask; this._sparkPythonTask.internalValue = config.sparkPythonTask; this._sparkSubmitTask.internalValue = config.sparkSubmitTask; this._task.internalValue = config.task; this._timeouts.internalValue = config.timeouts; this._trigger.internalValue = config.trigger; this._webhookNotifications.internalValue = config.webhookNotifications; } get alwaysRunning() { return this.getBooleanAttribute('always_running'); } set alwaysRunning(value) { this._alwaysRunning = value; } resetAlwaysRunning() { this._alwaysRunning = undefined; } // Temporarily expose input value. Use with caution. get alwaysRunningInput() { return this._alwaysRunning; } get budgetPolicyId() { return this.getStringAttribute('budget_policy_id'); } set budgetPolicyId(value) { this._budgetPolicyId = value; } resetBudgetPolicyId() { this._budgetPolicyId = undefined; } // Temporarily expose input value. Use with caution. get budgetPolicyIdInput() { return this._budgetPolicyId; } get controlRunState() { return this.getBooleanAttribute('control_run_state'); } set controlRunState(value) { this._controlRunState = value; } resetControlRunState() { this._controlRunState = undefined; } // Temporarily expose input value. Use with caution. get controlRunStateInput() { return this._controlRunState; } get description() { return this.getStringAttribute('description'); } set description(value) { this._description = value; } resetDescription() { this._description = undefined; } // Temporarily expose input value. Use with caution. get descriptionInput() { return this._description; } get editMode() { return this.getStringAttribute('edit_mode'); } set editMode(value) { this._editMode = value; } resetEditMode() { this._editMode = undefined; } // Temporarily expose input value. Use with caution. get editModeInput() { return this._editMode; } get existingClusterId() { return this.getStringAttribute('existing_cluster_id'); } set existingClusterId(value) { this._existingClusterId = value; } resetExistingClusterId() { this._existingClusterId = undefined; } // Temporarily expose input value. Use with caution. get existingClusterIdInput() { return this._existingClusterId; } get format() { return this.getStringAttribute('format'); } set format(value) { this._format = value; } resetFormat() { this._format = undefined; } // Temporarily expose input value. Use with caution. get formatInput() { return this._format; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get maxConcurrentRuns() { return this.getNumberAttribute('max_concurrent_runs'); } set maxConcurrentRuns(value) { this._maxConcurrentRuns = value; } resetMaxConcurrentRuns() { this._maxConcurrentRuns = undefined; } // Temporarily expose input value. Use with caution. get maxConcurrentRunsInput() { return this._maxConcurrentRuns; } get maxRetries() { return this.getNumberAttribute('max_retries'); } set maxRetries(value) { this._maxRetries = value; } resetMaxRetries() { this._maxRetries = undefined; } // Temporarily expose input value. Use with caution. get maxRetriesInput() { return this._maxRetries; } get minRetryIntervalMillis() { return this.getNumberAttribute('min_retry_interval_millis'); } set minRetryIntervalMillis(value) { this._minRetryIntervalMillis = value; } resetMinRetryIntervalMillis() { this._minRetryIntervalMillis = undefined; } // Temporarily expose input value. Use with caution. get minRetryIntervalMillisInput() { return this._minRetryIntervalMillis; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get performanceTarget() { return this.getStringAttribute('performance_target'); } set performanceTarget(value) { this._performanceTarget = value; } resetPerformanceTarget() { this._performanceTarget = undefined; } // Temporarily expose input value. Use with caution. get performanceTargetInput() { return this._performanceTarget; } get retryOnTimeout() { return this.getBooleanAttribute('retry_on_timeout'); } set retryOnTimeout(value) { this._retryOnTimeout = value; } resetRetryOnTimeout() { this._retryOnTimeout = undefined; } // Temporarily expose input value. Use with caution. get retryOnTimeoutInput() { return this._retryOnTimeout; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get timeoutSeconds() { return this.getNumberAttribute('timeout_seconds'); } set timeoutSeconds(value) { this._timeoutSeconds = value; } resetTimeoutSeconds() { this._timeoutSeconds = undefined; } // Temporarily expose input value. Use with caution. get timeoutSecondsInput() { return this._timeoutSeconds; } // url - computed: true, optional: false, required: false get url() { return this.getStringAttribute('url'); } get usagePolicyId() { return this.getStringAttribute('usage_policy_id'); } set usagePolicyId(value) { this._usagePolicyId = value; } resetUsagePolicyId() { this._usagePolicyId = undefined; } // Temporarily expose input value. Use with caution. get usagePolicyIdInput() { return this._usagePolicyId; } get continuous() { return this._continuous; } putContinuous(value) { this._continuous.internalValue = value; } resetContinuous() { this._continuous.internalValue = undefined; } // Temporarily expose input value. Use with caution. get continuousInput() { return this._continuous.internalValue; } get dbtTask() { return this._dbtTask; } putDbtTask(value) { this._dbtTask.internalValue = value; } resetDbtTask() { this._dbtTask.internalValue = undefined; } // Temporarily expose input value. Use with caution. get dbtTaskInput() { return this._dbtTask.internalValue; } get deployment() { return this._deployment; } putDeployment(value) { this._deployment.internalValue = value; } resetDeployment() { this._deployment.internalValue = undefined; } // Temporarily expose input value. Use with caution. get deploymentInput() { return this._deployment.internalValue; } get emailNotifications() { return this._emailNotifications; } putEmailNotifications(value) { this._emailNotifications.internalValue = value; } resetEmailNotifications() { this._emailNotifications.internalValue = undefined; } // Temporarily expose input value. Use with caution. get emailNotificationsInput() { return this._emailNotifications.internalValue; } get environment() { return this._environment; } putEnvironment(value) { this._environment.internalValue = value; } resetEnvironment() { this._environment.internalValue = undefined; } // Temporarily expose input value. Use with caution. get environmentInput() { return this._environment.internalValue; } get gitSource() { return this._gitSource; } putGitSource(value) { this._gitSource.internalValue = value; } resetGitSource() { this._gitSource.internalValue = undefined; } // Temporarily expose input value. Use with caution. get gitSourceInput() { return this._gitSource.internalValue; } get health() { return this._health; } putHealth(value) { this._health.internalValue = value; } resetHealth() { this._health.internalValue = undefined; } // Temporarily expose input value. Use with caution. get healthInput() { return this._health.internalValue; } get jobCluster() { return this._jobCluster; } putJobCluster(value) { this._jobCluster.internalValue = value; } resetJobCluster() { this._jobCluster.internalValue = undefined; } // Temporarily expose input value. Use with caution. get jobClusterInput() { return this._jobCluster.internalValue; } get library() { return this._library; } putLibrary(value) { this._library.internalValue = value; } resetLibrary() { this._library.internalValue = undefined; } // Temporarily expose input value. Use with caution. get libraryInput() { return this._library.internalValue; } get newCluster() { return this._newCluster; } putNewCluster(value) { this._newCluster.internalValue = value; } resetNewCluster() { this._newCluster.internalValue = undefined; } // Temporarily expose input value. Use with caution. get newClusterInput() { return this._newCluster.internalValue; } get notebookTask() { return this._notebookTask; } putNotebookTask(value) { this._notebookTask.internalValue = value; } resetNotebookTask() { this._notebookTask.internalValue = undefined; } // Temporarily expose input value. Use with caution. get notebookTaskInput() { return this._notebookTask.internalValue; } get notificationSettings() { return this._notificationSettings; } putNotificationSettings(value) { this._notificationSettings.internalValue = value; } resetNotificationSettings() { this._notificationSettings.internalValue = undefined; } // Temporarily expose input value. Use with caution. get notificationSettingsInput() { return this._notificationSettings.internalValue; } get parameter() { return this._parameter; } putParameter(value) { this._parameter.internalValue = value; } resetParameter() { this._parameter.internalValue = undefined; } // Temporarily expose input value. Use with caution. get parameterInput() { return this._parameter.internalValue; } get pipelineTask() { return this._pipelineTask; } putPipelineTask(value) { this._pipelineTask.internalValue = value; } resetPipelineTask() { this._pipelineTask.internalValue = undefined; } // Temporarily expose input value. Use with caution. get pipelineTaskInput() { return this._pipelineTask.internalValue; } get pythonWheelTask() { return this._pythonWheelTask; } putPythonWheelTask(value) { this._pythonWheelTask.internalValue = value; } resetPythonWheelTask() { this._pythonWheelTask.internalValue = undefined; } // Temporarily expose input value. Use with caution. get pythonWheelTaskInput() { return this._pythonWheelTask.internalValue; } get queue() { return this._queue; } putQueue(value) { this._queue.internalValue = value; } resetQueue() { this._queue.internalValue = undefined; } // Temporarily expose input value. Use with caution. get queueInput() { return this._queue.internalValue; } get runAs() { return this._runAs; } putRunAs(value) { this._runAs.internalValue = value; } resetRunAs() { this._runAs.internalValue = undefined; } // Temporarily expose input value. Use with caution. get runAsInput() { return this._runAs.internalValue; } get runJobTask() { return this._runJobTask; } putRunJobTask(value) { this._runJobTask.internalValue = value; } resetRunJobTask() { this._runJobTask.internalValue = undefined; } // Temporarily expose input value. Use with caution. get runJobTaskInput() { return this._runJobTask.internalValue; } get schedule() { return this._schedule; } putSchedule(value) { this._schedule.internalValue = value; } resetSchedule() { this._schedule.internalValue = undefined; } // Temporarily expose input value. Use with caution. get scheduleInput() { return this._schedule.internalValue; } get sparkJarTask() { return this._sparkJarTask; } putSparkJarTask(value) { this._sparkJarTask.internalValue = value; } resetSparkJarTask() { this._sparkJarTask.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sparkJarTaskInput() { return this._sparkJarTask.internalValue; } get sparkPythonTask() { return this._sparkPythonTask; } putSparkPythonTask(value) { this._sparkPythonTask.internalValue = value; } resetSparkPythonTask() { this._sparkPythonTask.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sparkPythonTaskInput() { return this._sparkPythonTask.internalValue; } get sparkSubmitTask() { return this._sparkSubmitTask; } putSparkSubmitTask(value) { this._sparkSubmitTask.internalValue = value; } resetSparkSubmitTask() { this._sparkSubmitTask.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sparkSubmitTaskInput() { return this._sparkSubmitTask.internalValue; } get task() { return this._task; } putTask(value) { this._task.internalValue = value; } resetTask() { this._task.internalValue = undefined; } // Temporarily expose input value. Use with caution. get taskInput() { return this._task.internalValue; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } get trigger() { return this._trigger; } putTrigger(value) { this._trigger.internalValue = value; } resetTrigger() { this._trigger.internalValue = undefined; } // Temporarily expose input value. Use with caution. get triggerInput() { return this._trigger.internalValue; } get webhookNotifications() { return this._webhookNotifications; } putWebhookNotifications(value) { this._webhookNotifications.internalValue = value; } resetWebhookNotifications() { this._webhookNotifications.internalValue = undefined; } // Temporarily expose input value. Use with caution. get webhookNotificationsInput() { return this._webhookNotifications.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { always_running: cdktf.booleanToTerraform(this._alwaysRunning), budget_policy_id: cdktf.stringToTerraform(this._budgetPolicyId), control_run_state: cdktf.booleanToTerraform(this._controlRunState), description: cdktf.stringToTerraform(this._description), edit_mode: cdktf.stringToTerraform(this._editMode), existing_cluster_id: cdktf.stringToTerraform(this._existingClusterId), format: cdktf.stringToTerraform(this._format), id: cdktf.stringToTerraform(this._id), max_concurrent_runs: cdktf.numberToTerraform(this._maxConcurrentRuns), max_retries: cdktf.numberToTerraform(this._maxRetries), min_retry_interval_millis: cdktf.numberToTerraform(this._minRetryIntervalMillis), name: cdktf.stringToTerraform(this._name), performance_target: cdktf.stringToTerraform(this._performanceTarget), retry_on_timeout: cdktf.booleanToTerraform(this._retryOnTimeout), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), timeout_seconds: cdktf.numberToTerraform(this._timeoutSeconds), usage_policy_id: cdktf.stringToTerraform(this._usagePolicyId), continuous: (0, index_structs_1.jobContinuousToTerraform)(this._continuous.internalValue), dbt_task: (0, index_structs_1.jobDbtTaskToTerraform)(this._dbtTask.internalValue), deployment: (0, index_structs_1.jobDeploymentToTerraform)(this._deployment.internalValue), email_notifications: (0, index_structs_1.jobEmailNotificationsToTerraform)(this._emailNotifications.internalValue), environment: cdktf.listMapper(index_structs_1.jobEnvironmentToTerraform, true)(this._environment.internalValue), git_source: (0, index_structs_1.jobGitSourceToTerraform)(this._gitSource.internalValue), health: (0, index_structs_1.jobHealthToTerraform)(this._health.internalValue), job_cluster: cdktf.listMapper(index_structs_1.jobJobClusterToTerraform, true)(this._jobCluster.internalValue), library: cdktf.listMapper(index_structs_1.jobLibraryToTerraform, true)(this._library.internalValue), new_cluster: (0, index_structs_1.jobNewClusterToTerraform)(this._newCluster.internalValue), notebook_task: (0, index_structs_1.jobNotebookTaskToTerraform)(this._notebookTask.internalValue), notification_settings: (0, index_structs_1.jobNotificationSettingsToTerraform)(this._notificationSettings.internalValue), parameter: cdktf.listMapper(index_structs_1.jobParameterToTerraform, true)(this._parameter.internalValue), pipeline_task: (0, index_structs_1.jobPipelineTaskToTerraform)(this._pipelineTask.internalValue), python_wheel_task: (0, index_structs_1.jobPythonWheelTaskToTerraform)(this._pythonWheelTask.internalValue), queue: (0, index_structs_1.jobQueueToTerraform)(this._queue.internalValue), run_as: (0, index_structs_1.jobRunAsToTerraform)(this._runAs.internalValue), run_job_task: (0, index_structs_1.jobRunJobTaskToTerraform)(this._runJobTask.internalValue), schedule: (0, index_structs_1.jobScheduleToTerraform)(this._schedule.internalValue), spark_jar_task: (0, index_structs_1.jobSparkJarTaskToTerraform)(this._sparkJarTask.internalValue), spark_python_task: (0, index_structs_1.jobSparkPythonTaskToTerraform)(this._sparkPythonTask.internalValue), spark_submit_task: (0, index_structs_1.jobSparkSubmitTaskToTerraform)(this._sparkSubmitTask.internalValue), task: cdktf.listMapper(index_structs_1.jobTaskToTerraform, true)(this._task.internalValue), timeouts: (0, index_structs_1.jobTimeoutsToTerraform)(this._timeouts.internalValue), trigger: (0, index_structs_1.jobTriggerToTerraform)(this._trigger.internalValue), webhook_notifications: (0, index_structs_1.jobWebhookNotificationsToTerraform)(this._webhookNotifications.internalValue), }; } synthesizeHclAttributes() { const attrs = { always_running: { value: cdktf.booleanToHclTerraform(this._alwaysRunning), isBlock: false, type: "simple", storageClassType: "boolean", }, budget_policy_id: { value: cdktf.stringToHclTerraform(this._budgetPolicyId), isBlock: false, type: "simple", storageClassType: "string", }, control_run_state: { value: cdktf.booleanToHclTerraform(this._controlRunState), isBlock: false, type: "simple", storageClassType: "boolean", }, description: { value: cdktf.stringToHclTerraform(this._description), isBlock: false, type: "simple", storageClassType: "string", }, edit_mode: { value: cdktf.stringToHclTerraform(this._editMode), isBlock: false, type: "simple", storageClassType: "string", }, existing_cluster_id: { value: cdktf.stringToHclTerraform(this._existingClusterId), isBlock: false, type: "simple", storageClassType: "string", }, format: { value: cdktf.stringToHclTerraform(this._format), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, max_concurrent_runs: { value: cdktf.numberToHclTerraform(this._maxConcurrentRuns), isBlock: false, type: "simple", storageClassType: "number", }, max_retries: { value: cdktf.numberToHclTerraform(this._maxRetries), isBlock: false, type: "simple", storageClassType: "number", }, min_retry_interval_millis: { value: cdktf.numberToHclTerraform(this._minRetryIntervalMillis), isBlock: false, type: "simple", storageClassType: "number", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, performance_target: { value: cdktf.stringToHclTerraform(this._performanceTarget), isBlock: false, type: "simple", storageClassType: "string", }, retry_on_timeout: { value: cdktf.booleanToHclTerraform(this._retryOnTimeout), isBlock: false, type: "simple", storageClassType: "boolean", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, timeout_seconds: { value: cdktf.numberToHclTerraform(this._timeoutSeconds), isBlock: false, type: "simple", storageClassType: "number", }, usage_policy_id: { value: cdktf.stringToHclTerraform(this._usagePolicyId), isBlock: false, type: "simple", storageClassType: "string", }, continuous: { value: (0, index_structs_1.jobContinuousToHclTerraform)(this._continuous.internalValue), isBlock: true, type: "list", storageClassType: "JobContinuousList", }, dbt_task: { value: (0, index_structs_1.jobDbtTaskToHclTerraform)(this._dbtTask.internalValue), isBlock: true, type: "list", storageClassType: "JobDbtTaskList", }, deployment: { value: (0, index_structs_1.jobDeploymentToHclTerraform)(this._deployment.internalValue), isBlock: true, type: "list", storageClassType: "JobDeploymentList", }, email_notifications: { value: (0, index_structs_1.jobEmailNotificationsToHclTerraform)(this._emailNotifications.internalValue), isBlock: true, type: "list", storageClassType: "JobEmailNotificationsList", }, environment: { value: cdktf.listMapperHcl(index_structs_1.jobEnvironmentToHclTerraform, true)(this._environment.internalValue), isBlock: true, type: "list", storageClassType: "JobEnvironmentList", }, git_source: { value: (0, index_structs_1.jobGitSourceToHclTerraform)(this._gitSource.internalValue), isBlock: true, type: "list", storageClassType: "JobGitSourceList", }, health: { value: (0, index_structs_1.jobHealthToHclTerraform)(this._health.internalValue), isBlock: true, type: "list", storageClassType: "JobHealthList", }, job_cluster: { value: cdktf.listMapperHcl(index_structs_1.jobJobClusterToHclTerraform, true)(this._jobCluster.internalValue), isBlock: true, type: "list", storageClassType: "JobJobClusterList", }, library: { value: cdktf.listMapperHcl(index_structs_1.jobLibraryToHclTerraform, true)(this._library.internalValue), isBlock: true, type: "list", storageClassType: "JobLibraryList", }, new_cluster: { value: (0, index_structs_1.jobNewClusterToHclTerraform)(this._newCluster.internalValue), isBlock: true, type: "list", storageClassType: "JobNewClusterList", }, notebook_task: { value: (0, index_structs_1.jobNotebookTaskToHclTerraform)(this._notebookTask.internalValue), isBlock: true, type: "list", storageClassType: "JobNotebookTaskList", }, notification_settings: { value: (0, index_structs_1.jobNotificationSettingsToHclTerraform)(this._notificationSettings.internalValue), isBlock: true, type: "list", storageClassType: "JobNotificationSettingsList", }, parameter: { value: cdktf.listMapperHcl(index_structs_1.jobParameterToHclTerraform, true)(this._parameter.internalValue), isBlock: true, type: "list", storageClassType: "JobParameterList", }, pipeline_task: { value: (0, index_structs_1.jobPipelineTaskToHclTerraform)(this._pipelineTask.internalValue), isBlock: true, type: "list", storageClassType: "JobPipelineTaskList", }, python_wheel_task: { value: (0, index_structs_1.jobPythonWheelTaskToHclTerraform)(this._pythonWheelTask.internalValue), isBlock: true, type: "list", storageClassType: "JobPythonWheelTaskList", }, queue: { value: (0, index_structs_1.jobQueueToHclTerraform)(this._queue.internalValue), isBlock: true, type: "list", storageClassType: "JobQueueList", }, run_as: { value: (0, index_structs_1.jobRunAsToHclTerraform)(this._runAs.internalValue), isBlock: true, type: "list", storageClassType: "JobRunAsList", }, run_job_task: { value: (0, index_structs_1.jobRunJobTaskToHclTerraform)(this._runJobTask.internalValue), isBlock: true, type: "list", storageClassType: "JobRunJobTaskList", }, schedule: { value: (0, index_structs_1.jobScheduleToHclTerraform)(this._schedule.internalValue), isBlock: true, type: "list", storageClassType: "JobScheduleList", }, spark_jar_task: { value: (0, index_structs_1.jobSparkJarTaskToHclTerraform)(this._sparkJarTask.internalValue), isBlock: true, type: "list", storageClassType: "JobSparkJarTaskList", }, spark_python_task: { value: (0, index_structs_1.jobSparkPythonTaskToHclTerraform)(this._sparkPythonTask.internalValue), isBlock: true, type: "list", storageClassType: "JobSparkPythonTaskList", }, spark_submit_task: { value: (0, index_structs_1.jobSparkSubmitTaskToHclTerraform)(this._sparkSubmitTask.internalValue), isBlock: true, type: "list", storageClassType: "JobSparkSubmitTaskList", }, task: { value: cdktf.listMapperHcl(index_structs_1.jobTaskToHclTerraform, true)(this._task.internalValue), isBlock: true, type: "list", storageClassType: "JobTaskList", }, timeouts: { value: (0, index_structs_1.jobTimeoutsToHclTerraform)(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "JobTimeouts", }, trigger: { value: (0, index_structs_1.jobTriggerToHclTerraform)(this._trigger.internalValue), isBlock: true, type: "list", storageClassType: "JobTriggerList", }, webhook_notifications: { value: (0, index_structs_1.jobWebhookNotificationsToHclTerraform)(this._webhookNotifications.internalValue), isBlock: true, type: "list", storageClassType: "JobWebhookNotificationsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.Job = Job; _a = JSII_RTTI_SYMBOL_1; Job[_a] = { fqn: "@cdktf/provider-databricks.job.Job", version: "15.7.0" }; // ================= // STATIC PROPERTIES // ================= Job.tfResourceType = "databricks_job"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvam9iL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7O0dBR0c7QUFFSCwyQ0FBMkM7QUFFM0MsbURBdUc4RDtBQUM5RCxrREFBK0I7QUFFL0IsK0JBQStCO0FBdU8vQjs7RUFFRTtBQUNGLE1BQWEsR0FBSSxTQUFRLEtBQUssQ0FBQyxpQkFBaUI7SUFPOUMsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakI7Ozs7OztNQU1FO0lBQ0ssTUFBTSxDQUFDLHVCQUF1QixDQUFDLEtBQWdCLEVBQUUsVUFBa0IsRUFBRSxZQUFvQixFQUFFLFFBQWtDO1FBQzlILE9BQU8sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBRUwsY0FBYztJQUNkLGNBQWM7SUFDZCxjQUFjO0lBRWQ7Ozs7OztNQU1FO0lBQ0YsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsU0FBb0IsRUFBRTtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLHFCQUFxQixFQUFFLGdCQUFnQjtZQUN2QywwQkFBMEIsRUFBRTtnQkFDMUIsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLGVBQWUsRUFBRSxRQUFRO2dCQUN6Qix5QkFBeUIsRUFBRSxRQUFRO2FBQ3BDO1lBQ0QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtZQUNqQyxV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