UNPKG

@cdktf/provider-databricks

Version:

Prebuilt databricks Provider for Terraform CDK (cdktf)

1,019 lines 138 kB
"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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