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