@cdktf/provider-databricks
Version:
Prebuilt databricks Provider for Terraform CDK (cdktf)
1,019 lines • 138 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Credential = exports.CredentialDatabricksGcpServiceAccountOutputReference = exports.CredentialAzureServicePrincipalOutputReference = exports.CredentialAzureManagedIdentityOutputReference = exports.CredentialAwsIamRoleOutputReference = void 0;
exports.credentialAwsIamRoleToTerraform = credentialAwsIamRoleToTerraform;
exports.credentialAwsIamRoleToHclTerraform = credentialAwsIamRoleToHclTerraform;
exports.credentialAzureManagedIdentityToTerraform = credentialAzureManagedIdentityToTerraform;
exports.credentialAzureManagedIdentityToHclTerraform = credentialAzureManagedIdentityToHclTerraform;
exports.credentialAzureServicePrincipalToTerraform = credentialAzureServicePrincipalToTerraform;
exports.credentialAzureServicePrincipalToHclTerraform = credentialAzureServicePrincipalToHclTerraform;
exports.credentialDatabricksGcpServiceAccountToTerraform = credentialDatabricksGcpServiceAccountToTerraform;
exports.credentialDatabricksGcpServiceAccountToHclTerraform = credentialDatabricksGcpServiceAccountToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function credentialAwsIamRoleToTerraform(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 credentialAwsIamRoleToHclTerraform(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 CredentialAwsIamRoleOutputReference 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;
}
resetRoleArn() {
this._roleArn = undefined;
}
// 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.CredentialAwsIamRoleOutputReference = CredentialAwsIamRoleOutputReference;
_a = JSII_RTTI_SYMBOL_1;
CredentialAwsIamRoleOutputReference[_a] = { fqn: "@cdktf/provider-databricks.credential.CredentialAwsIamRoleOutputReference", version: "15.7.0" };
function credentialAzureManagedIdentityToTerraform(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 credentialAzureManagedIdentityToHclTerraform(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 CredentialAzureManagedIdentityOutputReference 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.CredentialAzureManagedIdentityOutputReference = CredentialAzureManagedIdentityOutputReference;
_b = JSII_RTTI_SYMBOL_1;
CredentialAzureManagedIdentityOutputReference[_b] = { fqn: "@cdktf/provider-databricks.credential.CredentialAzureManagedIdentityOutputReference", version: "15.7.0" };
function credentialAzureServicePrincipalToTerraform(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 credentialAzureServicePrincipalToHclTerraform(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 CredentialAzureServicePrincipalOutputReference 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.CredentialAzureServicePrincipalOutputReference = CredentialAzureServicePrincipalOutputReference;
_c = JSII_RTTI_SYMBOL_1;
CredentialAzureServicePrincipalOutputReference[_c] = { fqn: "@cdktf/provider-databricks.credential.CredentialAzureServicePrincipalOutputReference", version: "15.7.0" };
function credentialDatabricksGcpServiceAccountToTerraform(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),
private_key_id: cdktf.stringToTerraform(struct.privateKeyId),
};
}
function credentialDatabricksGcpServiceAccountToHclTerraform(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",
},
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 CredentialDatabricksGcpServiceAccountOutputReference 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;
}
if (this._privateKeyId !== undefined) {
hasAnyValues = true;
internalValueResult.privateKeyId = this._privateKeyId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._credentialId = undefined;
this._email = undefined;
this._privateKeyId = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._credentialId = value.credentialId;
this._email = value.email;
this._privateKeyId = value.privateKeyId;
}
}
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;
}
get privateKeyId() {
return this.getStringAttribute('private_key_id');
}
set privateKeyId(value) {
this._privateKeyId = value;
}
resetPrivateKeyId() {
this._privateKeyId = undefined;
}
// Temporarily expose input value. Use with caution.
get privateKeyIdInput() {
return this._privateKeyId;
}
}
exports.CredentialDatabricksGcpServiceAccountOutputReference = CredentialDatabricksGcpServiceAccountOutputReference;
_d = JSII_RTTI_SYMBOL_1;
CredentialDatabricksGcpServiceAccountOutputReference[_d] = { fqn: "@cdktf/provider-databricks.credential.CredentialDatabricksGcpServiceAccountOutputReference", version: "15.7.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/credential databricks_credential}
*/
class Credential extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a Credential 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 Credential to import
* @param importFromId The id of the existing Credential that should be imported. Refer to the {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/credential#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the Credential to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "databricks_credential", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/databricks/databricks/1.90.0/docs/resources/credential databricks_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 CredentialConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'databricks_credential',
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
});
// aws_iam_role - computed: false, optional: true, required: false
this._awsIamRole = new CredentialAwsIamRoleOutputReference(this, "aws_iam_role");
// azure_managed_identity - computed: false, optional: true, required: false
this._azureManagedIdentity = new CredentialAzureManagedIdentityOutputReference(this, "azure_managed_identity");
// azure_service_principal - computed: false, optional: true, required: false
this._azureServicePrincipal = new CredentialAzureServicePrincipalOutputReference(this, "azure_service_principal");
// databricks_gcp_service_account - computed: false, optional: true, required: false
this._databricksGcpServiceAccount = new CredentialDatabricksGcpServiceAccountOutputReference(this, "databricks_gcp_service_account");
this._comment = config.comment;
this._createdAt = config.createdAt;
this._createdBy = config.createdBy;
this._forceDestroy = config.forceDestroy;
this._forceUpdate = config.forceUpdate;
this._fullName = config.fullName;
this._id = config.id;
this._isolationMode = config.isolationMode;
this._metastoreId = config.metastoreId;
this._name = config.name;
this._owner = config.owner;
this._purpose = config.purpose;
this._readOnly = config.readOnly;
this._skipValidation = config.skipValidation;
this._updatedAt = config.updatedAt;
this._updatedBy = config.updatedBy;
this._usedForManagedStorage = config.usedForManagedStorage;
this._awsIamRole.internalValue = config.awsIamRole;
this._azureManagedIdentity.internalValue = config.azureManagedIdentity;
this._azureServicePrincipal.internalValue = config.azureServicePrincipal;
this._databricksGcpServiceAccount.internalValue = config.databricksGcpServiceAccount;
}
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 createdAt() {
return this.getNumberAttribute('created_at');
}
set createdAt(value) {
this._createdAt = value;
}
resetCreatedAt() {
this._createdAt = undefined;
}
// Temporarily expose input value. Use with caution.
get createdAtInput() {
return this._createdAt;
}
get createdBy() {
return this.getStringAttribute('created_by');
}
set createdBy(value) {
this._createdBy = value;
}
resetCreatedBy() {
this._createdBy = undefined;
}
// Temporarily expose input value. Use with caution.
get createdByInput() {
return this._createdBy;
}
// credential_id - computed: true, optional: false, required: false
get credentialId() {
return this.getStringAttribute('credential_id');
}
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 fullName() {
return this.getStringAttribute('full_name');
}
set fullName(value) {
this._fullName = value;
}
resetFullName() {
this._fullName = undefined;
}
// Temporarily expose input value. Use with caution.
get fullNameInput() {
return this._fullName;
}
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 purpose() {
return this.getStringAttribute('purpose');
}
set purpose(value) {
this._purpose = value;
}
// Temporarily expose input value. Use with caution.
get purposeInput() {
return this._purpose;
}
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;
}
get updatedAt() {
return this.getNumberAttribute('updated_at');
}
set updatedAt(value) {
this._updatedAt = value;
}
resetUpdatedAt() {
this._updatedAt = undefined;
}
// Temporarily expose input value. Use with caution.
get updatedAtInput() {
return this._updatedAt;
}
get updatedBy() {
return this.getStringAttribute('updated_by');
}
set updatedBy(value) {
this._updatedBy = value;
}
resetUpdatedBy() {
this._updatedBy = undefined;
}
// Temporarily expose input value. Use with caution.
get updatedByInput() {
return this._updatedBy;
}
get usedForManagedStorage() {
return this.getBooleanAttribute('used_for_managed_storage');
}
set usedForManagedStorage(value) {
this._usedForManagedStorage = value;
}
resetUsedForManagedStorage() {
this._usedForManagedStorage = undefined;
}
// Temporarily expose input value. Use with caution.
get usedForManagedStorageInput() {
return this._usedForManagedStorage;
}
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 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;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
comment: cdktf.stringToTerraform(this._comment),
created_at: cdktf.numberToTerraform(this._createdAt),
created_by: cdktf.stringToTerraform(this._createdBy),
force_destroy: cdktf.booleanToTerraform(this._forceDestroy),
force_update: cdktf.booleanToTerraform(this._forceUpdate),
full_name: cdktf.stringToTerraform(this._fullName),
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),
purpose: cdktf.stringToTerraform(this._purpose),
read_only: cdktf.booleanToTerraform(this._readOnly),
skip_validation: cdktf.booleanToTerraform(this._skipValidation),
updated_at: cdktf.numberToTerraform(this._updatedAt),
updated_by: cdktf.stringToTerraform(this._updatedBy),
used_for_managed_storage: cdktf.booleanToTerraform(this._usedForManagedStorage),
aws_iam_role: credentialAwsIamRoleToTerraform(this._awsIamRole.internalValue),
azure_managed_identity: credentialAzureManagedIdentityToTerraform(this._azureManagedIdentity.internalValue),
azure_service_principal: credentialAzureServicePrincipalToTerraform(this._azureServicePrincipal.internalValue),
databricks_gcp_service_account: credentialDatabricksGcpServiceAccountToTerraform(this._databricksGcpServiceAccount.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
comment: {
value: cdktf.stringToHclTerraform(this._comment),
isBlock: false,
type: "simple",
storageClassType: "string",
},
created_at: {
value: cdktf.numberToHclTerraform(this._createdAt),
isBlock: false,
type: "simple",
storageClassType: "number",
},
created_by: {
value: cdktf.stringToHclTerraform(this._createdBy),
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",
},
full_name: {
value: cdktf.stringToHclTerraform(this._fullName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
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",
},
purpose: {
value: cdktf.stringToHclTerraform(this._purpose),
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",
},
updated_at: {
value: cdktf.numberToHclTerraform(this._updatedAt),
isBlock: false,
type: "simple",
storageClassType: "number",
},
updated_by: {
value: cdktf.stringToHclTerraform(this._updatedBy),
isBlock: false,
type: "simple",
storageClassType: "string",
},
used_for_managed_storage: {
value: cdktf.booleanToHclTerraform(this._usedForManagedStorage),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
aws_iam_role: {
value: credentialAwsIamRoleToHclTerraform(this._awsIamRole.internalValue),
isBlock: true,
type: "list",
storageClassType: "CredentialAwsIamRoleList",
},
azure_managed_identity: {
value: credentialAzureManagedIdentityToHclTerraform(this._azureManagedIdentity.internalValue),
isBlock: true,
type: "list",
storageClassType: "CredentialAzureManagedIdentityList",
},
azure_service_principal: {
value: credentialAzureServicePrincipalToHclTerraform(this._azureServicePrincipal.internalValue),
isBlock: true,
type: "list",
storageClassType: "CredentialAzureServicePrincipalList",
},
databricks_gcp_service_account: {
value: credentialDatabricksGcpServiceAccountToHclTerraform(this._databricksGcpServiceAccount.internalValue),
isBlock: true,
type: "list",
storageClassType: "CredentialDatabricksGcpServiceAccountList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.Credential = Credential;
_e = JSII_RTTI_SYMBOL_1;
Credential[_e] = { fqn: "@cdktf/provider-databricks.credential.Credential", version: "15.7.0" };
// =================
// STATIC PROPERTIES
// =================
Credential.tfResourceType = "databricks_credential";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3JlZGVudGlhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBNkhBLDBFQVVDO0FBR0QsZ0ZBNEJDO0FBNkdELDhGQVVDO0FBR0Qsb0dBNEJDO0FBMEdELGdHQVVDO0FBR0Qsc0dBNEJDO0FBb0dELDRHQVVDO0FBR0Qsa0hBNEJDOztBQW5sQkQsK0JBQStCO0FBb0gvQixTQUFnQiwrQkFBK0IsQ0FBQyxNQUFtRTtJQUNqSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsV0FBVyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3hELFFBQVEsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLE9BQU8sQ0FBQztRQUNsRCxxQkFBcUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLGtCQUFrQixDQUFDO0tBQzNFLENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0Isa0NBQWtDLENBQUMsTUFBbUU7SUFDcEgsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxN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