UNPKG

@cdktf/provider-databricks

Version:

Prebuilt databricks Provider for Terraform CDK (cdktf)

1,201 lines (1,200 loc) 196 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExternalLocation = exports.ExternalLocationFileEventQueueOutputReference = exports.ExternalLocationFileEventQueueProvidedSqsOutputReference = exports.ExternalLocationFileEventQueueProvidedPubsubOutputReference = exports.ExternalLocationFileEventQueueProvidedAqsOutputReference = exports.ExternalLocationFileEventQueueManagedSqsOutputReference = exports.ExternalLocationFileEventQueueManagedPubsubOutputReference = exports.ExternalLocationFileEventQueueManagedAqsOutputReference = exports.ExternalLocationEncryptionDetailsOutputReference = exports.ExternalLocationEncryptionDetailsSseEncryptionDetailsOutputReference = void 0; exports.externalLocationEncryptionDetailsSseEncryptionDetailsToTerraform = externalLocationEncryptionDetailsSseEncryptionDetailsToTerraform; exports.externalLocationEncryptionDetailsSseEncryptionDetailsToHclTerraform = externalLocationEncryptionDetailsSseEncryptionDetailsToHclTerraform; exports.externalLocationEncryptionDetailsToTerraform = externalLocationEncryptionDetailsToTerraform; exports.externalLocationEncryptionDetailsToHclTerraform = externalLocationEncryptionDetailsToHclTerraform; exports.externalLocationFileEventQueueManagedAqsToTerraform = externalLocationFileEventQueueManagedAqsToTerraform; exports.externalLocationFileEventQueueManagedAqsToHclTerraform = externalLocationFileEventQueueManagedAqsToHclTerraform; exports.externalLocationFileEventQueueManagedPubsubToTerraform = externalLocationFileEventQueueManagedPubsubToTerraform; exports.externalLocationFileEventQueueManagedPubsubToHclTerraform = externalLocationFileEventQueueManagedPubsubToHclTerraform; exports.externalLocationFileEventQueueManagedSqsToTerraform = externalLocationFileEventQueueManagedSqsToTerraform; exports.externalLocationFileEventQueueManagedSqsToHclTerraform = externalLocationFileEventQueueManagedSqsToHclTerraform; exports.externalLocationFileEventQueueProvidedAqsToTerraform = externalLocationFileEventQueueProvidedAqsToTerraform; exports.externalLocationFileEventQueueProvidedAqsToHclTerraform = externalLocationFileEventQueueProvidedAqsToHclTerraform; exports.externalLocationFileEventQueueProvidedPubsubToTerraform = externalLocationFileEventQueueProvidedPubsubToTerraform; exports.externalLocationFileEventQueueProvidedPubsubToHclTerraform = externalLocationFileEventQueueProvidedPubsubToHclTerraform; exports.externalLocationFileEventQueueProvidedSqsToTerraform = externalLocationFileEventQueueProvidedSqsToTerraform; exports.externalLocationFileEventQueueProvidedSqsToHclTerraform = externalLocationFileEventQueueProvidedSqsToHclTerraform; exports.externalLocationFileEventQueueToTerraform = externalLocationFileEventQueueToTerraform; exports.externalLocationFileEventQueueToHclTerraform = externalLocationFileEventQueueToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function externalLocationEncryptionDetailsSseEncryptionDetailsToTerraform(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 { algorithm: cdktf.stringToTerraform(struct.algorithm), aws_kms_key_arn: cdktf.stringToTerraform(struct.awsKmsKeyArn), }; } function externalLocationEncryptionDetailsSseEncryptionDetailsToHclTerraform(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 = { algorithm: { value: cdktf.stringToHclTerraform(struct.algorithm), isBlock: false, type: "simple", storageClassType: "string", }, aws_kms_key_arn: { value: cdktf.stringToHclTerraform(struct.awsKmsKeyArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ExternalLocationEncryptionDetailsSseEncryptionDetailsOutputReference 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._algorithm !== undefined) { hasAnyValues = true; internalValueResult.algorithm = this._algorithm; } if (this._awsKmsKeyArn !== undefined) { hasAnyValues = true; internalValueResult.awsKmsKeyArn = this._awsKmsKeyArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._algorithm = undefined; this._awsKmsKeyArn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._algorithm = value.algorithm; this._awsKmsKeyArn = value.awsKmsKeyArn; } } get algorithm() { return this.getStringAttribute('algorithm'); } set algorithm(value) { this._algorithm = value; } resetAlgorithm() { this._algorithm = undefined; } // Temporarily expose input value. Use with caution. get algorithmInput() { return this._algorithm; } get awsKmsKeyArn() { return this.getStringAttribute('aws_kms_key_arn'); } set awsKmsKeyArn(value) { this._awsKmsKeyArn = value; } resetAwsKmsKeyArn() { this._awsKmsKeyArn = undefined; } // Temporarily expose input value. Use with caution. get awsKmsKeyArnInput() { return this._awsKmsKeyArn; } } exports.ExternalLocationEncryptionDetailsSseEncryptionDetailsOutputReference = ExternalLocationEncryptionDetailsSseEncryptionDetailsOutputReference; _a = JSII_RTTI_SYMBOL_1; ExternalLocationEncryptionDetailsSseEncryptionDetailsOutputReference[_a] = { fqn: "@cdktf/provider-databricks.externalLocation.ExternalLocationEncryptionDetailsSseEncryptionDetailsOutputReference", version: "15.7.0" }; function externalLocationEncryptionDetailsToTerraform(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 { sse_encryption_details: externalLocationEncryptionDetailsSseEncryptionDetailsToTerraform(struct.sseEncryptionDetails), }; } function externalLocationEncryptionDetailsToHclTerraform(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 = { sse_encryption_details: { value: externalLocationEncryptionDetailsSseEncryptionDetailsToHclTerraform(struct.sseEncryptionDetails), isBlock: true, type: "list", storageClassType: "ExternalLocationEncryptionDetailsSseEncryptionDetailsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ExternalLocationEncryptionDetailsOutputReference 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; // sse_encryption_details - computed: false, optional: true, required: false this._sseEncryptionDetails = new ExternalLocationEncryptionDetailsSseEncryptionDetailsOutputReference(this, "sse_encryption_details"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._sseEncryptionDetails?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.sseEncryptionDetails = this._sseEncryptionDetails?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._sseEncryptionDetails.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._sseEncryptionDetails.internalValue = value.sseEncryptionDetails; } } get sseEncryptionDetails() { return this._sseEncryptionDetails; } putSseEncryptionDetails(value) { this._sseEncryptionDetails.internalValue = value; } resetSseEncryptionDetails() { this._sseEncryptionDetails.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sseEncryptionDetailsInput() { return this._sseEncryptionDetails.internalValue; } } exports.ExternalLocationEncryptionDetailsOutputReference = ExternalLocationEncryptionDetailsOutputReference; _b = JSII_RTTI_SYMBOL_1; ExternalLocationEncryptionDetailsOutputReference[_b] = { fqn: "@cdktf/provider-databricks.externalLocation.ExternalLocationEncryptionDetailsOutputReference", version: "15.7.0" }; function externalLocationFileEventQueueManagedAqsToTerraform(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 { queue_url: cdktf.stringToTerraform(struct.queueUrl), resource_group: cdktf.stringToTerraform(struct.resourceGroup), subscription_id: cdktf.stringToTerraform(struct.subscriptionId), }; } function externalLocationFileEventQueueManagedAqsToHclTerraform(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 = { queue_url: { value: cdktf.stringToHclTerraform(struct.queueUrl), isBlock: false, type: "simple", storageClassType: "string", }, resource_group: { value: cdktf.stringToHclTerraform(struct.resourceGroup), isBlock: false, type: "simple", storageClassType: "string", }, subscription_id: { value: cdktf.stringToHclTerraform(struct.subscriptionId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ExternalLocationFileEventQueueManagedAqsOutputReference 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._queueUrl !== undefined) { hasAnyValues = true; internalValueResult.queueUrl = this._queueUrl; } if (this._resourceGroup !== undefined) { hasAnyValues = true; internalValueResult.resourceGroup = this._resourceGroup; } if (this._subscriptionId !== undefined) { hasAnyValues = true; internalValueResult.subscriptionId = this._subscriptionId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._queueUrl = undefined; this._resourceGroup = undefined; this._subscriptionId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._queueUrl = value.queueUrl; this._resourceGroup = value.resourceGroup; this._subscriptionId = value.subscriptionId; } } // managed_resource_id - computed: true, optional: false, required: false get managedResourceId() { return this.getStringAttribute('managed_resource_id'); } get queueUrl() { return this.getStringAttribute('queue_url'); } set queueUrl(value) { this._queueUrl = value; } resetQueueUrl() { this._queueUrl = undefined; } // Temporarily expose input value. Use with caution. get queueUrlInput() { return this._queueUrl; } get resourceGroup() { return this.getStringAttribute('resource_group'); } set resourceGroup(value) { this._resourceGroup = value; } // Temporarily expose input value. Use with caution. get resourceGroupInput() { return this._resourceGroup; } get subscriptionId() { return this.getStringAttribute('subscription_id'); } set subscriptionId(value) { this._subscriptionId = value; } // Temporarily expose input value. Use with caution. get subscriptionIdInput() { return this._subscriptionId; } } exports.ExternalLocationFileEventQueueManagedAqsOutputReference = ExternalLocationFileEventQueueManagedAqsOutputReference; _c = JSII_RTTI_SYMBOL_1; ExternalLocationFileEventQueueManagedAqsOutputReference[_c] = { fqn: "@cdktf/provider-databricks.externalLocation.ExternalLocationFileEventQueueManagedAqsOutputReference", version: "15.7.0" }; function externalLocationFileEventQueueManagedPubsubToTerraform(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 { subscription_name: cdktf.stringToTerraform(struct.subscriptionName), }; } function externalLocationFileEventQueueManagedPubsubToHclTerraform(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 = { subscription_name: { value: cdktf.stringToHclTerraform(struct.subscriptionName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ExternalLocationFileEventQueueManagedPubsubOutputReference 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._subscriptionName !== undefined) { hasAnyValues = true; internalValueResult.subscriptionName = this._subscriptionName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._subscriptionName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._subscriptionName = value.subscriptionName; } } // managed_resource_id - computed: true, optional: false, required: false get managedResourceId() { return this.getStringAttribute('managed_resource_id'); } get subscriptionName() { return this.getStringAttribute('subscription_name'); } set subscriptionName(value) { this._subscriptionName = value; } resetSubscriptionName() { this._subscriptionName = undefined; } // Temporarily expose input value. Use with caution. get subscriptionNameInput() { return this._subscriptionName; } } exports.ExternalLocationFileEventQueueManagedPubsubOutputReference = ExternalLocationFileEventQueueManagedPubsubOutputReference; _d = JSII_RTTI_SYMBOL_1; ExternalLocationFileEventQueueManagedPubsubOutputReference[_d] = { fqn: "@cdktf/provider-databricks.externalLocation.ExternalLocationFileEventQueueManagedPubsubOutputReference", version: "15.7.0" }; function externalLocationFileEventQueueManagedSqsToTerraform(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 { queue_url: cdktf.stringToTerraform(struct.queueUrl), }; } function externalLocationFileEventQueueManagedSqsToHclTerraform(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 = { queue_url: { value: cdktf.stringToHclTerraform(struct.queueUrl), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ExternalLocationFileEventQueueManagedSqsOutputReference 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._queueUrl !== undefined) { hasAnyValues = true; internalValueResult.queueUrl = this._queueUrl; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._queueUrl = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._queueUrl = value.queueUrl; } } // managed_resource_id - computed: true, optional: false, required: false get managedResourceId() { return this.getStringAttribute('managed_resource_id'); } get queueUrl() { return this.getStringAttribute('queue_url'); } set queueUrl(value) { this._queueUrl = value; } resetQueueUrl() { this._queueUrl = undefined; } // Temporarily expose input value. Use with caution. get queueUrlInput() { return this._queueUrl; } } exports.ExternalLocationFileEventQueueManagedSqsOutputReference = ExternalLocationFileEventQueueManagedSqsOutputReference; _e = JSII_RTTI_SYMBOL_1; ExternalLocationFileEventQueueManagedSqsOutputReference[_e] = { fqn: "@cdktf/provider-databricks.externalLocation.ExternalLocationFileEventQueueManagedSqsOutputReference", version: "15.7.0" }; function externalLocationFileEventQueueProvidedAqsToTerraform(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 { queue_url: cdktf.stringToTerraform(struct.queueUrl), resource_group: cdktf.stringToTerraform(struct.resourceGroup), subscription_id: cdktf.stringToTerraform(struct.subscriptionId), }; } function externalLocationFileEventQueueProvidedAqsToHclTerraform(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 = { queue_url: { value: cdktf.stringToHclTerraform(struct.queueUrl), isBlock: false, type: "simple", storageClassType: "string", }, resource_group: { value: cdktf.stringToHclTerraform(struct.resourceGroup), isBlock: false, type: "simple", storageClassType: "string", }, subscription_id: { value: cdktf.stringToHclTerraform(struct.subscriptionId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ExternalLocationFileEventQueueProvidedAqsOutputReference 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._queueUrl !== undefined) { hasAnyValues = true; internalValueResult.queueUrl = this._queueUrl; } if (this._resourceGroup !== undefined) { hasAnyValues = true; internalValueResult.resourceGroup = this._resourceGroup; } if (this._subscriptionId !== undefined) { hasAnyValues = true; internalValueResult.subscriptionId = this._subscriptionId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._queueUrl = undefined; this._resourceGroup = undefined; this._subscriptionId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._queueUrl = value.queueUrl; this._resourceGroup = value.resourceGroup; this._subscriptionId = value.subscriptionId; } } // managed_resource_id - computed: true, optional: false, required: false get managedResourceId() { return this.getStringAttribute('managed_resource_id'); } get queueUrl() { return this.getStringAttribute('queue_url'); } set queueUrl(value) { this._queueUrl = value; } // Temporarily expose input value. Use with caution. get queueUrlInput() { return this._queueUrl; } get resourceGroup() { return this.getStringAttribute('resource_group'); } set resourceGroup(value) { this._resourceGroup = value; } resetResourceGroup() { this._resourceGroup = undefined; } // Temporarily expose input value. Use with caution. get resourceGroupInput() { return this._resourceGroup; } get subscriptionId() { return this.getStringAttribute('subscription_id'); } set subscriptionId(value) { this._subscriptionId = value; } resetSubscriptionId() { this._subscriptionId = undefined; } // Temporarily expose input value. Use with caution. get subscriptionIdInput() { return this._subscriptionId; } } exports.ExternalLocationFileEventQueueProvidedAqsOutputReference = ExternalLocationFileEventQueueProvidedAqsOutputReference; _f = JSII_RTTI_SYMBOL_1; ExternalLocationFileEventQueueProvidedAqsOutputReference[_f] = { fqn: "@cdktf/provider-databricks.externalLocation.ExternalLocationFileEventQueueProvidedAqsOutputReference", version: "15.7.0" }; function externalLocationFileEventQueueProvidedPubsubToTerraform(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 { subscription_name: cdktf.stringToTerraform(struct.subscriptionName), }; } function externalLocationFileEventQueueProvidedPubsubToHclTerraform(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 = { subscription_name: { value: cdktf.stringToHclTerraform(struct.subscriptionName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ExternalLocationFileEventQueueProvidedPubsubOutputReference 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._subscriptionName !== undefined) { hasAnyValues = true; internalValueResult.subscriptionName = this._subscriptionName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._subscriptionName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._subscriptionName = value.subscriptionName; } } // managed_resource_id - computed: true, optional: false, required: false get managedResourceId() { return this.getStringAttribute('managed_resource_id'); } get subscriptionName() { return this.getStringAttribute('subscription_name'); } set subscriptionName(value) { this._subscriptionName = value; } // Temporarily expose input value. Use with caution. get subscriptionNameInput() { return this._subscriptionName; } } exports.ExternalLocationFileEventQueueProvidedPubsubOutputReference = ExternalLocationFileEventQueueProvidedPubsubOutputReference; _g = JSII_RTTI_SYMBOL_1; ExternalLocationFileEventQueueProvidedPubsubOutputReference[_g] = { fqn: "@cdktf/provider-databricks.externalLocation.ExternalLocationFileEventQueueProvidedPubsubOutputReference", version: "15.7.0" }; function externalLocationFileEventQueueProvidedSqsToTerraform(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 { queue_url: cdktf.stringToTerraform(struct.queueUrl), }; } function externalLocationFileEventQueueProvidedSqsToHclTerraform(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 = { queue_url: { value: cdktf.stringToHclTerraform(struct.queueUrl), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ExternalLocationFileEventQueueProvidedSqsOutputReference 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._queueUrl !== undefined) { hasAnyValues = true; internalValueResult.queueUrl = this._queueUrl; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._queueUrl = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._queueUrl = value.queueUrl; } } // managed_resource_id - computed: true, optional: false, required: false get managedResourceId() { return this.getStringAttribute('managed_resource_id'); } get queueUrl() { return this.getStringAttribute('queue_url'); } set queueUrl(value) { this._queueUrl = value; } // Temporarily expose input value. Use with caution. get queueUrlInput() { return this._queueUrl; } } exports.ExternalLocationFileEventQueueProvidedSqsOutputReference = ExternalLocationFileEventQueueProvidedSqsOutputReference; _h = JSII_RTTI_SYMBOL_1; ExternalLocationFileEventQueueProvidedSqsOutputReference[_h] = { fqn: "@cdktf/provider-databricks.externalLocation.ExternalLocationFileEventQueueProvidedSqsOutputReference", version: "15.7.0" }; function externalLocationFileEventQueueToTerraform(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 { managed_aqs: externalLocationFileEventQueueManagedAqsToTerraform(struct.managedAqs), managed_pubsub: externalLocationFileEventQueueManagedPubsubToTerraform(struct.managedPubsub), managed_sqs: externalLocationFileEventQueueManagedSqsToTerraform(struct.managedSqs), provided_aqs: externalLocationFileEventQueueProvidedAqsToTerraform(struct.providedAqs), provided_pubsub: externalLocationFileEventQueueProvidedPubsubToTerraform(struct.providedPubsub), provided_sqs: externalLocationFileEventQueueProvidedSqsToTerraform(struct.providedSqs), }; } function externalLocationFileEventQueueToHclTerraform(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 = { managed_aqs: { value: externalLocationFileEventQueueManagedAqsToHclTerraform(struct.managedAqs), isBlock: true, type: "list", storageClassType: "ExternalLocationFileEventQueueManagedAqsList", }, managed_pubsub: { value: externalLocationFileEventQueueManagedPubsubToHclTerraform(struct.managedPubsub), isBlock: true, type: "list", storageClassType: "ExternalLocationFileEventQueueManagedPubsubList", }, managed_sqs: { value: externalLocationFileEventQueueManagedSqsToHclTerraform(struct.managedSqs), isBlock: true, type: "list", storageClassType: "ExternalLocationFileEventQueueManagedSqsList", }, provided_aqs: { value: externalLocationFileEventQueueProvidedAqsToHclTerraform(struct.providedAqs), isBlock: true, type: "list", storageClassType: "ExternalLocationFileEventQueueProvidedAqsList", }, provided_pubsub: { value: externalLocationFileEventQueueProvidedPubsubToHclTerraform(struct.providedPubsub), isBlock: true, type: "list", storageClassType: "ExternalLocationFileEventQueueProvidedPubsubList", }, provided_sqs: { value: externalLocationFileEventQueueProvidedSqsToHclTerraform(struct.providedSqs), isBlock: true, type: "list", storageClassType: "ExternalLocationFileEventQueueProvidedSqsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ExternalLocationFileEventQueueOutputReference 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; // managed_aqs - computed: false, optional: true, required: false this._managedAqs = new ExternalLocationFileEventQueueManagedAqsOutputReference(this, "managed_aqs"); // managed_pubsub - computed: false, optional: true, required: false this._managedPubsub = new ExternalLocationFileEventQueueManagedPubsubOutputReference(this, "managed_pubsub"); // managed_sqs - computed: false, optional: true, required: false this._managedSqs = new ExternalLocationFileEventQueueManagedSqsOutputReference(this, "managed_sqs"); // provided_aqs - computed: false, optional: true, required: false this._providedAqs = new ExternalLocationFileEventQueueProvidedAqsOutputReference(this, "provided_aqs"); // provided_pubsub - computed: false, optional: true, required: false this._providedPubsub = new ExternalLocationFileEventQueueProvidedPubsubOutputReference(this, "provided_pubsub"); // provided_sqs - computed: false, optional: true, required: false this._providedSqs = new ExternalLocationFileEventQueueProvidedSqsOutputReference(this, "provided_sqs"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._managedAqs?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.managedAqs = this._managedAqs?.internalValue; } if (this._managedPubsub?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.managedPubsub = this._managedPubsub?.internalValue; } if (this._managedSqs?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.managedSqs = this._managedSqs?.internalValue; } if (this._providedAqs?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.providedAqs = this._providedAqs?.internalValue; } if (this._providedPubsub?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.providedPubsub = this._providedPubsub?.internalValue; } if (this._providedSqs?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.providedSqs = this._providedSqs?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._managedAqs.internalValue = undefined; this._managedPubsub.internalValue = undefined; this._managedSqs.internalValue = undefined; this._providedAqs.internalValue = undefined; this._providedPubsub.internalValue = undefined; this._providedSqs.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._managedAqs.internalValue = value.managedAqs; this._managedPubsub.internalValue = value.managedPubsub; this._managedSqs.internalValue = value.managedSqs; this._providedAqs.internalValue = value.providedAqs; this._providedPubsub.internalValue = value.providedPubsub; this._providedSqs.internalValue = value.providedSqs; } } get managedAqs() { return this._managedAqs; } putManagedAqs(value) { this._managedAqs.internalValue = value; } resetManagedAqs() { this._managedAqs.internalValue = undefined; } // Temporarily expose input value. Use with caution. get managedAqsInput() { return this._managedAqs.internalValue; } get managedPubsub() { return this._managedPubsub; } putManagedPubsub(value) { this._managedPubsub.internalValue = value; } resetManagedPubsub() { this._managedPubsub.internalValue = undefined; } // Temporarily expose input value. Use with caution. get managedPubsubInput() { return this._managedPubsub.internalValue; } get managedSqs() { return this._managedSqs; } putManagedSqs(value) { this._managedSqs.internalValue = value; } resetManagedSqs() { this._managedSqs.internalValue = undefined; } // Temporarily expose input value. Use with caution. get managedSqsInput() { return this._managedSqs.internalValue; } get providedAqs() { return this._providedAqs; } putProvidedAqs(value) { this._providedAqs.internalValue = value; } resetProvidedAqs() { this._providedAqs.internalValue = undefined; } // Temporarily expose input value. Use with caution. get providedAqsInput() { return this._providedAqs.internalValue; } get providedPubsub() { return this._providedPubsub; } putProvidedPubsub(value) { this._providedPubsub.internalValue = value; } resetProvidedPubsub() { this._providedPubsub.internalValue = undefined; } // Temporarily expose input value. Use with caution. get providedPubsubInput() { return this._providedPubsub.internalValue; } get providedSqs() { return this._providedSqs; } putProvidedSqs(value) { this._providedSqs.internalValue = value; } resetProvidedSqs() { this._providedSqs.internalValue = undefined; } // Temporarily expose input value. Use with caution. get providedSqsInput() { return this._providedSqs.internalValue; } } exports.ExternalLocationFileEventQueueOutputReference = ExternalLocationFileEventQueueOutputReference; _j = JSII_RTTI_SYMBOL_1; ExternalLocationFileEventQueueOutputReference[_j] = { fqn: "@cdktf/provider-databricks.externalLocation.ExternalLocationFileEventQueueOutputReference", version: "15.7.0" }; /** * Represents a {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/external_location databricks_external_location} */ class ExternalLocation extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a ExternalLocation 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 ExternalLocation to import * @param importFromId The id of the existing ExternalLocation that should be imported. Refer to the {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/external_location#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ExternalLocation to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "databricks_external_location", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/external_location databricks_external_location} 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 ExternalLocationConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'databricks_external_location', 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 }); // encryption_details - computed: false, optional: true, required: false this._encryptionDetails = new ExternalLocationEncryptionDetailsOutputReference(this, "encryption_details"); // file_event_queue - computed: false, optional: true, required: false this._fileEventQueue = new ExternalLocationFileEventQueueOutputReference(this, "file_event_queue"); this._comment = config.comment; this._credentialName = config.credentialName; this._enableFileEvents = config.enableFileEvents; this._fallback = config.fallback; this._forceDestroy = config.forceDestroy; this._forceUpdate = config.forceUpdate; this._id = config.id; this._isolationMode = config.isolationMode; this._metastoreId = config.metastoreId; this._name = config.name; this._owner = config.owner; this._readOnly = config.readOnly; this._skipValidation = config.skipValidation; this._url = config.url; this._encryptionDetails.internalValue = config.encryptionDetails; this._fileEventQueue.internalValue = config.fileEventQueue; } // ========== // ATTRIBUTES // ========== // browse_only - computed: true, optional: false, required: false get browseOnly() { return this.getBooleanAttribute('browse_only'); } get comment() { return this.getStringAttribute('comment'); } set comment(value) { this._comment = value; } resetComment() { this._comment = undefined; } // Temporarily expose input value. Use with caution. get commentInput() { return this._comment; } // created_at - computed: true, optional: false, required: false get createdAt() { return this.getNumberAttribute('created_at'); } // created_by - computed: true, optional: false, required: false get createdBy() { return this.getStringAttribute('created_by'); } // credential_id - computed: true, optional: false, required: false get credentialId() { return this.getStringAttribute('credential_id'); } get credentialName() { return this.getStringAttribute('credential_name'); } set credentialName(value) { this._credentialName = value; } // Temporarily expose input value. Use with caution. get credentialNameInput() { return this._credentialName; } get enableFileEvents() { return this.getBooleanAttribute('enable_file_events'); } set enableFileEvents(value) { this._enableFileEvents = value; } resetEnableFileEvents() { this._enableFileEvents = undefined; } // Temporarily expose input value. Use with caution. get enableFileEventsInput() { return this._enableFileEvents; } get fallback() { return this.getBooleanAttribute('fallback'); } set fallback(value) { this._fallback = value; } resetFallback() { this._fallback = undefined; } // Temporarily expose input value. Use with caution. get fallbackInput() { return this._fallback; } get forceDestroy() { return this.getBooleanAttribute('force_destroy'); } set forceDestroy(value) { this._forceDestroy = value; } resetForceDestroy() { this._forceDestroy = undefined; } // Temporarily expose input value. Use with caution. get forceDestroyInput() { return this._forceDestroy; } get forceUpdate() { return this.getBooleanAttribute('force_update'); } set forceUpdate(value) { this._forceUpdate = value; } resetForceUpdate() { this._forceUpdate = undefined; } // Temporarily expose input value. Use with caution. get forceUpdateInput() { return this._forceUpdate; } 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 isolationMode() { return this.getStringAttribute('isolation_mode'); } set isolationMode(value) { this._isolationMode = value; } resetIsolationMode() { this._isolationMode = undefined; } // Temporarily expose input value. Use with caution. get isolationModeInput() { return this._isolationMode; } get metastoreId() { return this.getStringAttribute('metastore_id'); } set metastoreId(value) { this._metastoreId = value; } resetMetastoreId() { this._metastoreId = undefined; } // Temporarily expose input value. Use with caution. get metastoreIdInput() { return this._metastoreId; } 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 owner() { return this.getStringAttribute('owner'); } set owner(value) { this._owner = value; } resetOwner() { this._owner = undefined; } // Temporarily expose input value. Use with caution. get ownerInput() { return this._owner; } get readOnly() { return this.getBooleanAttribute('read_only'); } set readOnly(value) { this._readOnly = value; } resetReadOnly() {