@cdktf/provider-databricks
Version:
Prebuilt databricks Provider for Terraform CDK (cdktf)
1,130 lines • 159 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StorageCredential = exports.StorageCredentialGcpServiceAccountKeyOutputReference = exports.StorageCredentialDatabricksGcpServiceAccountOutputReference = exports.StorageCredentialCloudflareApiTokenOutputReference = exports.StorageCredentialAzureServicePrincipalOutputReference = exports.StorageCredentialAzureManagedIdentityOutputReference = exports.StorageCredentialAwsIamRoleOutputReference = void 0;
exports.storageCredentialAwsIamRoleToTerraform = storageCredentialAwsIamRoleToTerraform;
exports.storageCredentialAwsIamRoleToHclTerraform = storageCredentialAwsIamRoleToHclTerraform;
exports.storageCredentialAzureManagedIdentityToTerraform = storageCredentialAzureManagedIdentityToTerraform;
exports.storageCredentialAzureManagedIdentityToHclTerraform = storageCredentialAzureManagedIdentityToHclTerraform;
exports.storageCredentialAzureServicePrincipalToTerraform = storageCredentialAzureServicePrincipalToTerraform;
exports.storageCredentialAzureServicePrincipalToHclTerraform = storageCredentialAzureServicePrincipalToHclTerraform;
exports.storageCredentialCloudflareApiTokenToTerraform = storageCredentialCloudflareApiTokenToTerraform;
exports.storageCredentialCloudflareApiTokenToHclTerraform = storageCredentialCloudflareApiTokenToHclTerraform;
exports.storageCredentialDatabricksGcpServiceAccountToTerraform = storageCredentialDatabricksGcpServiceAccountToTerraform;
exports.storageCredentialDatabricksGcpServiceAccountToHclTerraform = storageCredentialDatabricksGcpServiceAccountToHclTerraform;
exports.storageCredentialGcpServiceAccountKeyToTerraform = storageCredentialGcpServiceAccountKeyToTerraform;
exports.storageCredentialGcpServiceAccountKeyToHclTerraform = storageCredentialGcpServiceAccountKeyToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function storageCredentialAwsIamRoleToTerraform(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 {
external_id: cdktf.stringToTerraform(struct.externalId),
role_arn: cdktf.stringToTerraform(struct.roleArn),
unity_catalog_iam_arn: cdktf.stringToTerraform(struct.unityCatalogIamArn),
};
}
function storageCredentialAwsIamRoleToHclTerraform(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 = {
external_id: {
value: cdktf.stringToHclTerraform(struct.externalId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
role_arn: {
value: cdktf.stringToHclTerraform(struct.roleArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
unity_catalog_iam_arn: {
value: cdktf.stringToHclTerraform(struct.unityCatalogIamArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class StorageCredentialAwsIamRoleOutputReference 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._externalId !== undefined) {
hasAnyValues = true;
internalValueResult.externalId = this._externalId;
}
if (this._roleArn !== undefined) {
hasAnyValues = true;
internalValueResult.roleArn = this._roleArn;
}
if (this._unityCatalogIamArn !== undefined) {
hasAnyValues = true;
internalValueResult.unityCatalogIamArn = this._unityCatalogIamArn;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._externalId = undefined;
this._roleArn = undefined;
this._unityCatalogIamArn = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._externalId = value.externalId;
this._roleArn = value.roleArn;
this._unityCatalogIamArn = value.unityCatalogIamArn;
}
}
get externalId() {
return this.getStringAttribute('external_id');
}
set externalId(value) {
this._externalId = value;
}
resetExternalId() {
this._externalId = undefined;
}
// Temporarily expose input value. Use with caution.
get externalIdInput() {
return this._externalId;
}
get roleArn() {
return this.getStringAttribute('role_arn');
}
set roleArn(value) {
this._roleArn = value;
}
// Temporarily expose input value. Use with caution.
get roleArnInput() {
return this._roleArn;
}
get unityCatalogIamArn() {
return this.getStringAttribute('unity_catalog_iam_arn');
}
set unityCatalogIamArn(value) {
this._unityCatalogIamArn = value;
}
resetUnityCatalogIamArn() {
this._unityCatalogIamArn = undefined;
}
// Temporarily expose input value. Use with caution.
get unityCatalogIamArnInput() {
return this._unityCatalogIamArn;
}
}
exports.StorageCredentialAwsIamRoleOutputReference = StorageCredentialAwsIamRoleOutputReference;
_a = JSII_RTTI_SYMBOL_1;
StorageCredentialAwsIamRoleOutputReference[_a] = { fqn: "@cdktf/provider-databricks.storageCredential.StorageCredentialAwsIamRoleOutputReference", version: "15.16.1" };
function storageCredentialAzureManagedIdentityToTerraform(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 {
access_connector_id: cdktf.stringToTerraform(struct.accessConnectorId),
credential_id: cdktf.stringToTerraform(struct.credentialId),
managed_identity_id: cdktf.stringToTerraform(struct.managedIdentityId),
};
}
function storageCredentialAzureManagedIdentityToHclTerraform(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 = {
access_connector_id: {
value: cdktf.stringToHclTerraform(struct.accessConnectorId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
credential_id: {
value: cdktf.stringToHclTerraform(struct.credentialId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
managed_identity_id: {
value: cdktf.stringToHclTerraform(struct.managedIdentityId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class StorageCredentialAzureManagedIdentityOutputReference 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._accessConnectorId !== undefined) {
hasAnyValues = true;
internalValueResult.accessConnectorId = this._accessConnectorId;
}
if (this._credentialId !== undefined) {
hasAnyValues = true;
internalValueResult.credentialId = this._credentialId;
}
if (this._managedIdentityId !== undefined) {
hasAnyValues = true;
internalValueResult.managedIdentityId = this._managedIdentityId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._accessConnectorId = undefined;
this._credentialId = undefined;
this._managedIdentityId = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._accessConnectorId = value.accessConnectorId;
this._credentialId = value.credentialId;
this._managedIdentityId = value.managedIdentityId;
}
}
get accessConnectorId() {
return this.getStringAttribute('access_connector_id');
}
set accessConnectorId(value) {
this._accessConnectorId = value;
}
// Temporarily expose input value. Use with caution.
get accessConnectorIdInput() {
return this._accessConnectorId;
}
get credentialId() {
return this.getStringAttribute('credential_id');
}
set credentialId(value) {
this._credentialId = value;
}
resetCredentialId() {
this._credentialId = undefined;
}
// Temporarily expose input value. Use with caution.
get credentialIdInput() {
return this._credentialId;
}
get managedIdentityId() {
return this.getStringAttribute('managed_identity_id');
}
set managedIdentityId(value) {
this._managedIdentityId = value;
}
resetManagedIdentityId() {
this._managedIdentityId = undefined;
}
// Temporarily expose input value. Use with caution.
get managedIdentityIdInput() {
return this._managedIdentityId;
}
}
exports.StorageCredentialAzureManagedIdentityOutputReference = StorageCredentialAzureManagedIdentityOutputReference;
_b = JSII_RTTI_SYMBOL_1;
StorageCredentialAzureManagedIdentityOutputReference[_b] = { fqn: "@cdktf/provider-databricks.storageCredential.StorageCredentialAzureManagedIdentityOutputReference", version: "15.16.1" };
function storageCredentialAzureServicePrincipalToTerraform(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 {
application_id: cdktf.stringToTerraform(struct.applicationId),
client_secret: cdktf.stringToTerraform(struct.clientSecret),
directory_id: cdktf.stringToTerraform(struct.directoryId),
};
}
function storageCredentialAzureServicePrincipalToHclTerraform(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 = {
application_id: {
value: cdktf.stringToHclTerraform(struct.applicationId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
client_secret: {
value: cdktf.stringToHclTerraform(struct.clientSecret),
isBlock: false,
type: "simple",
storageClassType: "string",
},
directory_id: {
value: cdktf.stringToHclTerraform(struct.directoryId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class StorageCredentialAzureServicePrincipalOutputReference 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._applicationId !== undefined) {
hasAnyValues = true;
internalValueResult.applicationId = this._applicationId;
}
if (this._clientSecret !== undefined) {
hasAnyValues = true;
internalValueResult.clientSecret = this._clientSecret;
}
if (this._directoryId !== undefined) {
hasAnyValues = true;
internalValueResult.directoryId = this._directoryId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._applicationId = undefined;
this._clientSecret = undefined;
this._directoryId = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._applicationId = value.applicationId;
this._clientSecret = value.clientSecret;
this._directoryId = value.directoryId;
}
}
get applicationId() {
return this.getStringAttribute('application_id');
}
set applicationId(value) {
this._applicationId = value;
}
// Temporarily expose input value. Use with caution.
get applicationIdInput() {
return this._applicationId;
}
get clientSecret() {
return this.getStringAttribute('client_secret');
}
set clientSecret(value) {
this._clientSecret = value;
}
// Temporarily expose input value. Use with caution.
get clientSecretInput() {
return this._clientSecret;
}
get directoryId() {
return this.getStringAttribute('directory_id');
}
set directoryId(value) {
this._directoryId = value;
}
// Temporarily expose input value. Use with caution.
get directoryIdInput() {
return this._directoryId;
}
}
exports.StorageCredentialAzureServicePrincipalOutputReference = StorageCredentialAzureServicePrincipalOutputReference;
_c = JSII_RTTI_SYMBOL_1;
StorageCredentialAzureServicePrincipalOutputReference[_c] = { fqn: "@cdktf/provider-databricks.storageCredential.StorageCredentialAzureServicePrincipalOutputReference", version: "15.16.1" };
function storageCredentialCloudflareApiTokenToTerraform(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 {
access_key_id: cdktf.stringToTerraform(struct.accessKeyId),
account_id: cdktf.stringToTerraform(struct.accountId),
secret_access_key: cdktf.stringToTerraform(struct.secretAccessKey),
};
}
function storageCredentialCloudflareApiTokenToHclTerraform(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 = {
access_key_id: {
value: cdktf.stringToHclTerraform(struct.accessKeyId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
account_id: {
value: cdktf.stringToHclTerraform(struct.accountId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
secret_access_key: {
value: cdktf.stringToHclTerraform(struct.secretAccessKey),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class StorageCredentialCloudflareApiTokenOutputReference 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._accessKeyId !== undefined) {
hasAnyValues = true;
internalValueResult.accessKeyId = this._accessKeyId;
}
if (this._accountId !== undefined) {
hasAnyValues = true;
internalValueResult.accountId = this._accountId;
}
if (this._secretAccessKey !== undefined) {
hasAnyValues = true;
internalValueResult.secretAccessKey = this._secretAccessKey;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._accessKeyId = undefined;
this._accountId = undefined;
this._secretAccessKey = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._accessKeyId = value.accessKeyId;
this._accountId = value.accountId;
this._secretAccessKey = value.secretAccessKey;
}
}
get accessKeyId() {
return this.getStringAttribute('access_key_id');
}
set accessKeyId(value) {
this._accessKeyId = value;
}
// Temporarily expose input value. Use with caution.
get accessKeyIdInput() {
return this._accessKeyId;
}
get accountId() {
return this.getStringAttribute('account_id');
}
set accountId(value) {
this._accountId = value;
}
// Temporarily expose input value. Use with caution.
get accountIdInput() {
return this._accountId;
}
get secretAccessKey() {
return this.getStringAttribute('secret_access_key');
}
set secretAccessKey(value) {
this._secretAccessKey = value;
}
// Temporarily expose input value. Use with caution.
get secretAccessKeyInput() {
return this._secretAccessKey;
}
}
exports.StorageCredentialCloudflareApiTokenOutputReference = StorageCredentialCloudflareApiTokenOutputReference;
_d = JSII_RTTI_SYMBOL_1;
StorageCredentialCloudflareApiTokenOutputReference[_d] = { fqn: "@cdktf/provider-databricks.storageCredential.StorageCredentialCloudflareApiTokenOutputReference", version: "15.16.1" };
function storageCredentialDatabricksGcpServiceAccountToTerraform(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 {
credential_id: cdktf.stringToTerraform(struct.credentialId),
email: cdktf.stringToTerraform(struct.email),
};
}
function storageCredentialDatabricksGcpServiceAccountToHclTerraform(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 = {
credential_id: {
value: cdktf.stringToHclTerraform(struct.credentialId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
email: {
value: cdktf.stringToHclTerraform(struct.email),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class StorageCredentialDatabricksGcpServiceAccountOutputReference 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._credentialId !== undefined) {
hasAnyValues = true;
internalValueResult.credentialId = this._credentialId;
}
if (this._email !== undefined) {
hasAnyValues = true;
internalValueResult.email = this._email;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._credentialId = undefined;
this._email = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._credentialId = value.credentialId;
this._email = value.email;
}
}
get credentialId() {
return this.getStringAttribute('credential_id');
}
set credentialId(value) {
this._credentialId = value;
}
resetCredentialId() {
this._credentialId = undefined;
}
// Temporarily expose input value. Use with caution.
get credentialIdInput() {
return this._credentialId;
}
get email() {
return this.getStringAttribute('email');
}
set email(value) {
this._email = value;
}
resetEmail() {
this._email = undefined;
}
// Temporarily expose input value. Use with caution.
get emailInput() {
return this._email;
}
}
exports.StorageCredentialDatabricksGcpServiceAccountOutputReference = StorageCredentialDatabricksGcpServiceAccountOutputReference;
_e = JSII_RTTI_SYMBOL_1;
StorageCredentialDatabricksGcpServiceAccountOutputReference[_e] = { fqn: "@cdktf/provider-databricks.storageCredential.StorageCredentialDatabricksGcpServiceAccountOutputReference", version: "15.16.1" };
function storageCredentialGcpServiceAccountKeyToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
email: cdktf.stringToTerraform(struct.email),
private_key: cdktf.stringToTerraform(struct.privateKey),
private_key_id: cdktf.stringToTerraform(struct.privateKeyId),
};
}
function storageCredentialGcpServiceAccountKeyToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
email: {
value: cdktf.stringToHclTerraform(struct.email),
isBlock: false,
type: "simple",
storageClassType: "string",
},
private_key: {
value: cdktf.stringToHclTerraform(struct.privateKey),
isBlock: false,
type: "simple",
storageClassType: "string",
},
private_key_id: {
value: cdktf.stringToHclTerraform(struct.privateKeyId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class StorageCredentialGcpServiceAccountKeyOutputReference 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._email !== undefined) {
hasAnyValues = true;
internalValueResult.email = this._email;
}
if (this._privateKey !== undefined) {
hasAnyValues = true;
internalValueResult.privateKey = this._privateKey;
}
if (this._privateKeyId !== undefined) {
hasAnyValues = true;
internalValueResult.privateKeyId = this._privateKeyId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._email = undefined;
this._privateKey = undefined;
this._privateKeyId = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._email = value.email;
this._privateKey = value.privateKey;
this._privateKeyId = value.privateKeyId;
}
}
get email() {
return this.getStringAttribute('email');
}
set email(value) {
this._email = value;
}
// Temporarily expose input value. Use with caution.
get emailInput() {
return this._email;
}
get privateKey() {
return this.getStringAttribute('private_key');
}
set privateKey(value) {
this._privateKey = value;
}
// Temporarily expose input value. Use with caution.
get privateKeyInput() {
return this._privateKey;
}
get privateKeyId() {
return this.getStringAttribute('private_key_id');
}
set privateKeyId(value) {
this._privateKeyId = value;
}
// Temporarily expose input value. Use with caution.
get privateKeyIdInput() {
return this._privateKeyId;
}
}
exports.StorageCredentialGcpServiceAccountKeyOutputReference = StorageCredentialGcpServiceAccountKeyOutputReference;
_f = JSII_RTTI_SYMBOL_1;
StorageCredentialGcpServiceAccountKeyOutputReference[_f] = { fqn: "@cdktf/provider-databricks.storageCredential.StorageCredentialGcpServiceAccountKeyOutputReference", version: "15.16.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/databricks/databricks/1.99.0/docs/resources/storage_credential databricks_storage_credential}
*/
class StorageCredential extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a StorageCredential 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 StorageCredential to import
* @param importFromId The id of the existing StorageCredential that should be imported. Refer to the {@link https://registry.terraform.io/providers/databricks/databricks/1.99.0/docs/resources/storage_credential#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the StorageCredential to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "databricks_storage_credential", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/databricks/databricks/1.99.0/docs/resources/storage_credential databricks_storage_credential} 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 StorageCredentialConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'databricks_storage_credential',
terraformGeneratorMetadata: {
providerName: 'databricks',
providerVersion: '1.99.0',
providerVersionConstraint: '~> 1.0'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// aws_iam_role - computed: false, optional: true, required: false
this._awsIamRole = new StorageCredentialAwsIamRoleOutputReference(this, "aws_iam_role");
// azure_managed_identity - computed: false, optional: true, required: false
this._azureManagedIdentity = new StorageCredentialAzureManagedIdentityOutputReference(this, "azure_managed_identity");
// azure_service_principal - computed: false, optional: true, required: false
this._azureServicePrincipal = new StorageCredentialAzureServicePrincipalOutputReference(this, "azure_service_principal");
// cloudflare_api_token - computed: false, optional: true, required: false
this._cloudflareApiToken = new StorageCredentialCloudflareApiTokenOutputReference(this, "cloudflare_api_token");
// databricks_gcp_service_account - computed: false, optional: true, required: false
this._databricksGcpServiceAccount = new StorageCredentialDatabricksGcpServiceAccountOutputReference(this, "databricks_gcp_service_account");
// gcp_service_account_key - computed: false, optional: true, required: false
this._gcpServiceAccountKey = new StorageCredentialGcpServiceAccountKeyOutputReference(this, "gcp_service_account_key");
this._comment = config.comment;
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._awsIamRole.internalValue = config.awsIamRole;
this._azureManagedIdentity.internalValue = config.azureManagedIdentity;
this._azureServicePrincipal.internalValue = config.azureServicePrincipal;
this._cloudflareApiToken.internalValue = config.cloudflareApiToken;
this._databricksGcpServiceAccount.internalValue = config.databricksGcpServiceAccount;
this._gcpServiceAccountKey.internalValue = config.gcpServiceAccountKey;
}
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;
}
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() {
this._readOnly = undefined;
}
// Temporarily expose input value. Use with caution.
get readOnlyInput() {
return this._readOnly;
}
get skipValidation() {
return this.getBooleanAttribute('skip_validation');
}
set skipValidation(value) {
this._skipValidation = value;
}
resetSkipValidation() {
this._skipValidation = undefined;
}
// Temporarily expose input value. Use with caution.
get skipValidationInput() {
return this._skipValidation;
}
// storage_credential_id - computed: true, optional: false, required: false
get storageCredentialId() {
return this.getStringAttribute('storage_credential_id');
}
get awsIamRole() {
return this._awsIamRole;
}
putAwsIamRole(value) {
this._awsIamRole.internalValue = value;
}
resetAwsIamRole() {
this._awsIamRole.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get awsIamRoleInput() {
return this._awsIamRole.internalValue;
}
get azureManagedIdentity() {
return this._azureManagedIdentity;
}
putAzureManagedIdentity(value) {
this._azureManagedIdentity.internalValue = value;
}
resetAzureManagedIdentity() {
this._azureManagedIdentity.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get azureManagedIdentityInput() {
return this._azureManagedIdentity.internalValue;
}
get azureServicePrincipal() {
return this._azureServicePrincipal;
}
putAzureServicePrincipal(value) {
this._azureServicePrincipal.internalValue = value;
}
resetAzureServicePrincipal() {
this._azureServicePrincipal.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get azureServicePrincipalInput() {
return this._azureServicePrincipal.internalValue;
}
get cloudflareApiToken() {
return this._cloudflareApiToken;
}
putCloudflareApiToken(value) {
this._cloudflareApiToken.internalValue = value;
}
resetCloudflareApiToken() {
this._cloudflareApiToken.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get cloudflareApiTokenInput() {
return this._cloudflareApiToken.internalValue;
}
get databricksGcpServiceAccount() {
return this._databricksGcpServiceAccount;
}
putDatabricksGcpServiceAccount(value) {
this._databricksGcpServiceAccount.internalValue = value;
}
resetDatabricksGcpServiceAccount() {
this._databricksGcpServiceAccount.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get databricksGcpServiceAccountInput() {
return this._databricksGcpServiceAccount.internalValue;
}
get gcpServiceAccountKey() {
return this._gcpServiceAccountKey;
}
putGcpServiceAccountKey(value) {
this._gcpServiceAccountKey.internalValue = value;
}
resetGcpServiceAccountKey() {
this._gcpServiceAccountKey.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get gcpServiceAccountKeyInput() {
return this._gcpServiceAccountKey.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
comment: cdktf.stringToTerraform(this._comment),
force_destroy: cdktf.booleanToTerraform(this._forceDestroy),
force_update: cdktf.booleanToTerraform(this._forceUpdate),
id: cdktf.stringToTerraform(this._id),
isolation_mode: cdktf.stringToTerraform(this._isolationMode),
metastore_id: cdktf.stringToTerraform(this._metastoreId),
name: cdktf.stringToTerraform(this._name),
owner: cdktf.stringToTerraform(this._owner),
read_only: cdktf.booleanToTerraform(this._readOnly),
skip_validation: cdktf.booleanToTerraform(this._skipValidation),
aws_iam_role: storageCredentialAwsIamRoleToTerraform(this._awsIamRole.internalValue),
azure_managed_identity: storageCredentialAzureManagedIdentityToTerraform(this._azureManagedIdentity.internalValue),
azure_service_principal: storageCredentialAzureServicePrincipalToTerraform(this._azureServicePrincipal.internalValue),
cloudflare_api_token: storageCredentialCloudflareApiTokenToTerraform(this._cloudflareApiToken.internalValue),
databricks_gcp_service_account: storageCredentialDatabricksGcpServiceAccountToTerraform(this._databricksGcpServiceAccount.internalValue),
gcp_service_account_key: storageCredentialGcpServiceAccountKeyToTerraform(this._gcpServiceAccountKey.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
comment: {
value: cdktf.stringToHclTerraform(this._comment),
isBlock: false,
type: "simple",
storageClassType: "string",
},
force_destroy: {
value: cdktf.booleanToHclTerraform(this._forceDestroy),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
force_update: {
value: cdktf.booleanToHclTerraform(this._forceUpdate),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
isolation_mode: {
value: cdktf.stringToHclTerraform(this._isolationMode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
metastore_id: {
value: cdktf.stringToHclTerraform(this._metastoreId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
owner: {
value: cdktf.stringToHclTerraform(this._owner),
isBlock: false,
type: "simple",
storageClassType: "string",
},
read_only: {
value: cdktf.booleanToHclTerraform(this._readOnly),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
skip_validation: {
value: cdktf.booleanToHclTerraform(this._skipValidation),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
aws_iam_role: {
value: storageCredentialAwsIamRoleToHclTerraform(this._awsIamRole.internalValue),
isBlock: true,
type: "list",
storageClassType: "StorageCredentialAwsIamRoleList",
},
azure_managed_identity: {
value: storageCredentialAzureManagedIdentityToHclTerraform(this._azureManagedIdentity.internalValue),
isBlock: true,
type: "list",
storageClassType: "StorageCredentialAzureManagedIdentityList",
},
azure_service_principal: {
value: storageCredentialAzureServicePrincipalToHclTerraform(this._azureServicePrincipal.internalValue),
isBlock: true,
type: "list",
storageClassType: "StorageCredentialAzureServicePrincipalList",
},
cloudflare_api_token: {
value: storageCredentialCloudflareApiTokenToHclTerraform(this._cloudflareApiToken.internalValue),
isBlock: true,
type: "list",
storageClassType: "StorageCredentialCloudflareApiTokenList",
},
databricks_gcp_service_account: {
value: storageCredentialDatabricksGcpServiceAccountToHclTerraform(this._databricksGcpServiceAccount.internalValue),
isBlock: true,
type: "list",
storageClassType: "StorageCredentialDatabricksGcpServiceAccountList",
},
gcp_service_account_key: {
value: storageCredentialGcpServiceAccountKeyToHclTerraform(this._gcpServiceAccountKey.internalValue),
isBlock: true,
type: "list",
storageClassType: "StorageCredentialGcpServiceAccountKeyList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.StorageCredential = StorageCredential;
_g = JSII_RTTI_SYMBOL_1;
StorageCredential[_g] = { fqn: "@cdktf/provider-databricks.storageCredential.StorageCredential", version: "15.16.1" };
// =================
// STATIC PROPERTIES
// =================
StorageCredential.tfResourceType = "databricks_storage_credential";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS1jcmVkZW50aWFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUE2R0Esd0ZBVUM7QUFHRCw4RkE0QkM7QUEwR0QsNEdBVUM7QUFHRCxrSEE0QkM7QUEwR0QsOEdBVUM7QUFHRCxvSEE0QkM7QUFvR0Qsd0dBVUM7QUFHRCw4R0E0QkM7QUFnR0QsMEhBU0M7QUFHRCxnSUFzQkM7QUF1RkQsNEdBVUM7QUFHRCxrSEE0QkM7O0FBbDBCRCwrQkFBK0I7QUFvRy9CLFNBQWdCLHNDQUFzQyxDQUFDLE1BQWlGO0lBQ3RJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxXQUFXLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxVQUFVLENBQUM7UUFDeEQsUUFBUSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2xELHFCQUFxQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsa0JBQWtCLENBQUM7S0FDM0UsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQix5Q0FBeUMsQ0FBQyxNQUFpRjtJQUN6SSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FB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