UNPKG

@cdktf/provider-databricks

Version:

Prebuilt databricks Provider for Terraform CDK (cdktf)

849 lines 127 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h; Object.defineProperty(exports, "__esModule", { value: true }); exports.AccountNetworkPolicy = exports.AccountNetworkPolicyEgressOutputReference = exports.AccountNetworkPolicyEgressNetworkAccessOutputReference = exports.AccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference = exports.AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList = exports.AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference = exports.AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList = exports.AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference = void 0; exports.accountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToTerraform = accountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToTerraform; exports.accountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToHclTerraform = accountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToHclTerraform; exports.accountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToTerraform = accountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToTerraform; exports.accountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToHclTerraform = accountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToHclTerraform; exports.accountNetworkPolicyEgressNetworkAccessPolicyEnforcementToTerraform = accountNetworkPolicyEgressNetworkAccessPolicyEnforcementToTerraform; exports.accountNetworkPolicyEgressNetworkAccessPolicyEnforcementToHclTerraform = accountNetworkPolicyEgressNetworkAccessPolicyEnforcementToHclTerraform; exports.accountNetworkPolicyEgressNetworkAccessToTerraform = accountNetworkPolicyEgressNetworkAccessToTerraform; exports.accountNetworkPolicyEgressNetworkAccessToHclTerraform = accountNetworkPolicyEgressNetworkAccessToHclTerraform; exports.accountNetworkPolicyEgressToTerraform = accountNetworkPolicyEgressToTerraform; exports.accountNetworkPolicyEgressToHclTerraform = accountNetworkPolicyEgressToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function accountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToTerraform(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 { destination: cdktf.stringToTerraform(struct.destination), internet_destination_type: cdktf.stringToTerraform(struct.internetDestinationType), }; } function accountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToHclTerraform(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 = { destination: { value: cdktf.stringToHclTerraform(struct.destination), isBlock: false, type: "simple", storageClassType: "string", }, internet_destination_type: { value: cdktf.stringToHclTerraform(struct.internetDestinationType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._destination !== undefined) { hasAnyValues = true; internalValueResult.destination = this._destination; } if (this._internetDestinationType !== undefined) { hasAnyValues = true; internalValueResult.internetDestinationType = this._internetDestinationType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._destination = undefined; this._internetDestinationType = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._destination = value.destination; this._internetDestinationType = value.internetDestinationType; } } get destination() { return this.getStringAttribute('destination'); } set destination(value) { this._destination = value; } resetDestination() { this._destination = undefined; } // Temporarily expose input value. Use with caution. get destinationInput() { return this._destination; } get internetDestinationType() { return this.getStringAttribute('internet_destination_type'); } set internetDestinationType(value) { this._internetDestinationType = value; } resetInternetDestinationType() { this._internetDestinationType = undefined; } // Temporarily expose input value. Use with caution. get internetDestinationTypeInput() { return this._internetDestinationType; } } exports.AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference = AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference; _a = JSII_RTTI_SYMBOL_1; AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference[_a] = { fqn: "@cdktf/provider-databricks.accountNetworkPolicy.AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference", version: "15.16.1" }; class AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList = AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList; _b = JSII_RTTI_SYMBOL_1; AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList[_b] = { fqn: "@cdktf/provider-databricks.accountNetworkPolicy.AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList", version: "15.16.1" }; function accountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToTerraform(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 { azure_storage_account: cdktf.stringToTerraform(struct.azureStorageAccount), azure_storage_service: cdktf.stringToTerraform(struct.azureStorageService), bucket_name: cdktf.stringToTerraform(struct.bucketName), region: cdktf.stringToTerraform(struct.region), storage_destination_type: cdktf.stringToTerraform(struct.storageDestinationType), }; } function accountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToHclTerraform(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 = { azure_storage_account: { value: cdktf.stringToHclTerraform(struct.azureStorageAccount), isBlock: false, type: "simple", storageClassType: "string", }, azure_storage_service: { value: cdktf.stringToHclTerraform(struct.azureStorageService), isBlock: false, type: "simple", storageClassType: "string", }, bucket_name: { value: cdktf.stringToHclTerraform(struct.bucketName), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(struct.region), isBlock: false, type: "simple", storageClassType: "string", }, storage_destination_type: { value: cdktf.stringToHclTerraform(struct.storageDestinationType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._azureStorageAccount !== undefined) { hasAnyValues = true; internalValueResult.azureStorageAccount = this._azureStorageAccount; } if (this._azureStorageService !== undefined) { hasAnyValues = true; internalValueResult.azureStorageService = this._azureStorageService; } if (this._bucketName !== undefined) { hasAnyValues = true; internalValueResult.bucketName = this._bucketName; } if (this._region !== undefined) { hasAnyValues = true; internalValueResult.region = this._region; } if (this._storageDestinationType !== undefined) { hasAnyValues = true; internalValueResult.storageDestinationType = this._storageDestinationType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._azureStorageAccount = undefined; this._azureStorageService = undefined; this._bucketName = undefined; this._region = undefined; this._storageDestinationType = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._azureStorageAccount = value.azureStorageAccount; this._azureStorageService = value.azureStorageService; this._bucketName = value.bucketName; this._region = value.region; this._storageDestinationType = value.storageDestinationType; } } get azureStorageAccount() { return this.getStringAttribute('azure_storage_account'); } set azureStorageAccount(value) { this._azureStorageAccount = value; } resetAzureStorageAccount() { this._azureStorageAccount = undefined; } // Temporarily expose input value. Use with caution. get azureStorageAccountInput() { return this._azureStorageAccount; } get azureStorageService() { return this.getStringAttribute('azure_storage_service'); } set azureStorageService(value) { this._azureStorageService = value; } resetAzureStorageService() { this._azureStorageService = undefined; } // Temporarily expose input value. Use with caution. get azureStorageServiceInput() { return this._azureStorageService; } get bucketName() { return this.getStringAttribute('bucket_name'); } set bucketName(value) { this._bucketName = value; } resetBucketName() { this._bucketName = undefined; } // Temporarily expose input value. Use with caution. get bucketNameInput() { return this._bucketName; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } get storageDestinationType() { return this.getStringAttribute('storage_destination_type'); } set storageDestinationType(value) { this._storageDestinationType = value; } resetStorageDestinationType() { this._storageDestinationType = undefined; } // Temporarily expose input value. Use with caution. get storageDestinationTypeInput() { return this._storageDestinationType; } } exports.AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference = AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference; _c = JSII_RTTI_SYMBOL_1; AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference[_c] = { fqn: "@cdktf/provider-databricks.accountNetworkPolicy.AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference", version: "15.16.1" }; class AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList = AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList; _d = JSII_RTTI_SYMBOL_1; AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList[_d] = { fqn: "@cdktf/provider-databricks.accountNetworkPolicy.AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList", version: "15.16.1" }; function accountNetworkPolicyEgressNetworkAccessPolicyEnforcementToTerraform(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 { dry_run_mode_product_filter: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.dryRunModeProductFilter), enforcement_mode: cdktf.stringToTerraform(struct.enforcementMode), }; } function accountNetworkPolicyEgressNetworkAccessPolicyEnforcementToHclTerraform(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 = { dry_run_mode_product_filter: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.dryRunModeProductFilter), isBlock: false, type: "list", storageClassType: "stringList", }, enforcement_mode: { value: cdktf.stringToHclTerraform(struct.enforcementMode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference 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); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._dryRunModeProductFilter !== undefined) { hasAnyValues = true; internalValueResult.dryRunModeProductFilter = this._dryRunModeProductFilter; } if (this._enforcementMode !== undefined) { hasAnyValues = true; internalValueResult.enforcementMode = this._enforcementMode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._dryRunModeProductFilter = undefined; this._enforcementMode = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._dryRunModeProductFilter = value.dryRunModeProductFilter; this._enforcementMode = value.enforcementMode; } } get dryRunModeProductFilter() { return this.getListAttribute('dry_run_mode_product_filter'); } set dryRunModeProductFilter(value) { this._dryRunModeProductFilter = value; } resetDryRunModeProductFilter() { this._dryRunModeProductFilter = undefined; } // Temporarily expose input value. Use with caution. get dryRunModeProductFilterInput() { return this._dryRunModeProductFilter; } get enforcementMode() { return this.getStringAttribute('enforcement_mode'); } set enforcementMode(value) { this._enforcementMode = value; } resetEnforcementMode() { this._enforcementMode = undefined; } // Temporarily expose input value. Use with caution. get enforcementModeInput() { return this._enforcementMode; } } exports.AccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference = AccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference; _e = JSII_RTTI_SYMBOL_1; AccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference[_e] = { fqn: "@cdktf/provider-databricks.accountNetworkPolicy.AccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference", version: "15.16.1" }; function accountNetworkPolicyEgressNetworkAccessToTerraform(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 { allowed_internet_destinations: cdktf.listMapper(accountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToTerraform, false)(struct.allowedInternetDestinations), allowed_storage_destinations: cdktf.listMapper(accountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToTerraform, false)(struct.allowedStorageDestinations), policy_enforcement: accountNetworkPolicyEgressNetworkAccessPolicyEnforcementToTerraform(struct.policyEnforcement), restriction_mode: cdktf.stringToTerraform(struct.restrictionMode), }; } function accountNetworkPolicyEgressNetworkAccessToHclTerraform(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 = { allowed_internet_destinations: { value: cdktf.listMapperHcl(accountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToHclTerraform, false)(struct.allowedInternetDestinations), isBlock: true, type: "list", storageClassType: "AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList", }, allowed_storage_destinations: { value: cdktf.listMapperHcl(accountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToHclTerraform, false)(struct.allowedStorageDestinations), isBlock: true, type: "list", storageClassType: "AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList", }, policy_enforcement: { value: accountNetworkPolicyEgressNetworkAccessPolicyEnforcementToHclTerraform(struct.policyEnforcement), isBlock: true, type: "struct", storageClassType: "AccountNetworkPolicyEgressNetworkAccessPolicyEnforcement", }, restriction_mode: { value: cdktf.stringToHclTerraform(struct.restrictionMode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccountNetworkPolicyEgressNetworkAccessOutputReference 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); this.isEmptyObject = false; // allowed_internet_destinations - computed: false, optional: true, required: false this._allowedInternetDestinations = new AccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList(this, "allowed_internet_destinations", false); // allowed_storage_destinations - computed: false, optional: true, required: false this._allowedStorageDestinations = new AccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList(this, "allowed_storage_destinations", false); // policy_enforcement - computed: false, optional: true, required: false this._policyEnforcement = new AccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference(this, "policy_enforcement"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._allowedInternetDestinations?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.allowedInternetDestinations = this._allowedInternetDestinations?.internalValue; } if (this._allowedStorageDestinations?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.allowedStorageDestinations = this._allowedStorageDestinations?.internalValue; } if (this._policyEnforcement?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.policyEnforcement = this._policyEnforcement?.internalValue; } if (this._restrictionMode !== undefined) { hasAnyValues = true; internalValueResult.restrictionMode = this._restrictionMode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._allowedInternetDestinations.internalValue = undefined; this._allowedStorageDestinations.internalValue = undefined; this._policyEnforcement.internalValue = undefined; this._restrictionMode = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._allowedInternetDestinations.internalValue = value.allowedInternetDestinations; this._allowedStorageDestinations.internalValue = value.allowedStorageDestinations; this._policyEnforcement.internalValue = value.policyEnforcement; this._restrictionMode = value.restrictionMode; } } get allowedInternetDestinations() { return this._allowedInternetDestinations; } putAllowedInternetDestinations(value) { this._allowedInternetDestinations.internalValue = value; } resetAllowedInternetDestinations() { this._allowedInternetDestinations.internalValue = undefined; } // Temporarily expose input value. Use with caution. get allowedInternetDestinationsInput() { return this._allowedInternetDestinations.internalValue; } get allowedStorageDestinations() { return this._allowedStorageDestinations; } putAllowedStorageDestinations(value) { this._allowedStorageDestinations.internalValue = value; } resetAllowedStorageDestinations() { this._allowedStorageDestinations.internalValue = undefined; } // Temporarily expose input value. Use with caution. get allowedStorageDestinationsInput() { return this._allowedStorageDestinations.internalValue; } get policyEnforcement() { return this._policyEnforcement; } putPolicyEnforcement(value) { this._policyEnforcement.internalValue = value; } resetPolicyEnforcement() { this._policyEnforcement.internalValue = undefined; } // Temporarily expose input value. Use with caution. get policyEnforcementInput() { return this._policyEnforcement.internalValue; } get restrictionMode() { return this.getStringAttribute('restriction_mode'); } set restrictionMode(value) { this._restrictionMode = value; } // Temporarily expose input value. Use with caution. get restrictionModeInput() { return this._restrictionMode; } } exports.AccountNetworkPolicyEgressNetworkAccessOutputReference = AccountNetworkPolicyEgressNetworkAccessOutputReference; _f = JSII_RTTI_SYMBOL_1; AccountNetworkPolicyEgressNetworkAccessOutputReference[_f] = { fqn: "@cdktf/provider-databricks.accountNetworkPolicy.AccountNetworkPolicyEgressNetworkAccessOutputReference", version: "15.16.1" }; function accountNetworkPolicyEgressToTerraform(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 { network_access: accountNetworkPolicyEgressNetworkAccessToTerraform(struct.networkAccess), }; } function accountNetworkPolicyEgressToHclTerraform(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 = { network_access: { value: accountNetworkPolicyEgressNetworkAccessToHclTerraform(struct.networkAccess), isBlock: true, type: "struct", storageClassType: "AccountNetworkPolicyEgressNetworkAccess", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccountNetworkPolicyEgressOutputReference 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); this.isEmptyObject = false; // network_access - computed: false, optional: true, required: false this._networkAccess = new AccountNetworkPolicyEgressNetworkAccessOutputReference(this, "network_access"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._networkAccess?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.networkAccess = this._networkAccess?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._networkAccess.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._networkAccess.internalValue = value.networkAccess; } } get networkAccess() { return this._networkAccess; } putNetworkAccess(value) { this._networkAccess.internalValue = value; } resetNetworkAccess() { this._networkAccess.internalValue = undefined; } // Temporarily expose input value. Use with caution. get networkAccessInput() { return this._networkAccess.internalValue; } } exports.AccountNetworkPolicyEgressOutputReference = AccountNetworkPolicyEgressOutputReference; _g = JSII_RTTI_SYMBOL_1; AccountNetworkPolicyEgressOutputReference[_g] = { fqn: "@cdktf/provider-databricks.accountNetworkPolicy.AccountNetworkPolicyEgressOutputReference", version: "15.16.1" }; /** * Represents a {@link https://registry.terraform.io/providers/databricks/databricks/1.99.0/docs/resources/account_network_policy databricks_account_network_policy} */ class AccountNetworkPolicy extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a AccountNetworkPolicy 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 AccountNetworkPolicy to import * @param importFromId The id of the existing AccountNetworkPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/databricks/databricks/1.99.0/docs/resources/account_network_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the AccountNetworkPolicy to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "databricks_account_network_policy", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/databricks/databricks/1.99.0/docs/resources/account_network_policy databricks_account_network_policy} 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 AccountNetworkPolicyConfig = {} */ constructor(scope, id, config = {}) { super(scope, id, { terraformResourceType: 'databricks_account_network_policy', 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 }); // egress - computed: false, optional: true, required: false this._egress = new AccountNetworkPolicyEgressOutputReference(this, "egress"); this._accountId = config.accountId; this._egress.internalValue = config.egress; this._networkPolicyId = config.networkPolicyId; } get accountId() { return this.getStringAttribute('account_id'); } set accountId(value) { this._accountId = value; } resetAccountId() { this._accountId = undefined; } // Temporarily expose input value. Use with caution. get accountIdInput() { return this._accountId; } get egress() { return this._egress; } putEgress(value) { this._egress.internalValue = value; } resetEgress() { this._egress.internalValue = undefined; } // Temporarily expose input value. Use with caution. get egressInput() { return this._egress.internalValue; } get networkPolicyId() { return this.getStringAttribute('network_policy_id'); } set networkPolicyId(value) { this._networkPolicyId = value; } resetNetworkPolicyId() { this._networkPolicyId = undefined; } // Temporarily expose input value. Use with caution. get networkPolicyIdInput() { return this._networkPolicyId; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { account_id: cdktf.stringToTerraform(this._accountId), egress: accountNetworkPolicyEgressToTerraform(this._egress.internalValue), network_policy_id: cdktf.stringToTerraform(this._networkPolicyId), }; } synthesizeHclAttributes() { const attrs = { account_id: { value: cdktf.stringToHclTerraform(this._accountId), isBlock: false, type: "simple", storageClassType: "string", }, egress: { value: accountNetworkPolicyEgressToHclTerraform(this._egress.internalValue), isBlock: true, type: "struct", storageClassType: "AccountNetworkPolicyEgress", }, network_policy_id: { value: cdktf.stringToHclTerraform(this._networkPolicyId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.AccountNetworkPolicy = AccountNetworkPolicy; _h = JSII_RTTI_SYMBOL_1; AccountNetworkPolicy[_h] = { fqn: "@cdktf/provider-databricks.accountNetworkPolicy.AccountNetworkPolicy", version: "15.16.1" }; // ================= // STATIC PROPERTIES // ================= AccountNetworkPolicy.tfResourceType = "databricks_account_network_policy"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudC1uZXR3b3JrLXBvbGljeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBc0NBLHNLQVNDO0FBR0QsNEtBc0JDO0FBK0hELG9LQVlDO0FBR0QsMEtBd0NDO0FBcUxELGtKQVNDO0FBR0Qsd0pBc0JDO0FBcUdELGdIQVdDO0FBR0Qsc0hBa0NDO0FBa0lELHNGQVFDO0FBR0QsNEZBZ0JDOztBQTl2QkQsK0JBQStCO0FBNkIvQixTQUFnQiw2RUFBNkUsQ0FBQyxNQUErRjtJQUMzTCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsV0FBVyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3pELHlCQUF5QixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsdUJBQXVCLENBQUM7S0FDcEYsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQixnRkFBZ0YsQ0FBQyxNQUErRjtJQUM5TCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFD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