@cdktf/provider-databricks
Version:
Prebuilt databricks Provider for Terraform CDK (cdktf)
805 lines • 124 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataDatabricksAccountNetworkPolicy = exports.DataDatabricksAccountNetworkPolicyEgressOutputReference = exports.DataDatabricksAccountNetworkPolicyEgressNetworkAccessOutputReference = exports.DataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference = exports.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList = exports.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference = exports.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList = exports.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference = void 0;
exports.dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToTerraform = dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToTerraform;
exports.dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToHclTerraform = dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToHclTerraform;
exports.dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToTerraform = dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToTerraform;
exports.dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToHclTerraform = dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToHclTerraform;
exports.dataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementToTerraform = dataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementToTerraform;
exports.dataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementToHclTerraform = dataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementToHclTerraform;
exports.dataDatabricksAccountNetworkPolicyEgressNetworkAccessToTerraform = dataDatabricksAccountNetworkPolicyEgressNetworkAccessToTerraform;
exports.dataDatabricksAccountNetworkPolicyEgressNetworkAccessToHclTerraform = dataDatabricksAccountNetworkPolicyEgressNetworkAccessToHclTerraform;
exports.dataDatabricksAccountNetworkPolicyEgressToTerraform = dataDatabricksAccountNetworkPolicyEgressToTerraform;
exports.dataDatabricksAccountNetworkPolicyEgressToHclTerraform = dataDatabricksAccountNetworkPolicyEgressToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToTerraform(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 dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToHclTerraform(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 DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference 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.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference = DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference;
_a = JSII_RTTI_SYMBOL_1;
DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference[_a] = { fqn: "@cdktf/provider-databricks.dataDatabricksAccountNetworkPolicy.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference", version: "15.16.1" };
class DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList 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 DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList = DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList;
_b = JSII_RTTI_SYMBOL_1;
DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList[_b] = { fqn: "@cdktf/provider-databricks.dataDatabricksAccountNetworkPolicy.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList", version: "15.16.1" };
function dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToTerraform(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 dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToHclTerraform(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 DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference 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.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference = DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference;
_c = JSII_RTTI_SYMBOL_1;
DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference[_c] = { fqn: "@cdktf/provider-databricks.dataDatabricksAccountNetworkPolicy.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference", version: "15.16.1" };
class DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList 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 DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList = DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList;
_d = JSII_RTTI_SYMBOL_1;
DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList[_d] = { fqn: "@cdktf/provider-databricks.dataDatabricksAccountNetworkPolicy.DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList", version: "15.16.1" };
function dataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementToTerraform(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 dataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementToHclTerraform(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 DataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference 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.DataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference = DataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference;
_e = JSII_RTTI_SYMBOL_1;
DataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference[_e] = { fqn: "@cdktf/provider-databricks.dataDatabricksAccountNetworkPolicy.DataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference", version: "15.16.1" };
function dataDatabricksAccountNetworkPolicyEgressNetworkAccessToTerraform(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(dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToTerraform, false)(struct.allowedInternetDestinations),
allowed_storage_destinations: cdktf.listMapper(dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToTerraform, false)(struct.allowedStorageDestinations),
policy_enforcement: dataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementToTerraform(struct.policyEnforcement),
restriction_mode: cdktf.stringToTerraform(struct.restrictionMode),
};
}
function dataDatabricksAccountNetworkPolicyEgressNetworkAccessToHclTerraform(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(dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsToHclTerraform, false)(struct.allowedInternetDestinations),
isBlock: true,
type: "list",
storageClassType: "DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList",
},
allowed_storage_destinations: {
value: cdktf.listMapperHcl(dataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsToHclTerraform, false)(struct.allowedStorageDestinations),
isBlock: true,
type: "list",
storageClassType: "DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList",
},
policy_enforcement: {
value: dataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementToHclTerraform(struct.policyEnforcement),
isBlock: true,
type: "struct",
storageClassType: "DataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcement",
},
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 DataDatabricksAccountNetworkPolicyEgressNetworkAccessOutputReference 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: true, optional: true, required: false
this._allowedInternetDestinations = new DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinationsList(this, "allowed_internet_destinations", false);
// allowed_storage_destinations - computed: true, optional: true, required: false
this._allowedStorageDestinations = new DataDatabricksAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinationsList(this, "allowed_storage_destinations", false);
// policy_enforcement - computed: true, optional: true, required: false
this._policyEnforcement = new DataDatabricksAccountNetworkPolicyEgressNetworkAccessPolicyEnforcementOutputReference(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.DataDatabricksAccountNetworkPolicyEgressNetworkAccessOutputReference = DataDatabricksAccountNetworkPolicyEgressNetworkAccessOutputReference;
_f = JSII_RTTI_SYMBOL_1;
DataDatabricksAccountNetworkPolicyEgressNetworkAccessOutputReference[_f] = { fqn: "@cdktf/provider-databricks.dataDatabricksAccountNetworkPolicy.DataDatabricksAccountNetworkPolicyEgressNetworkAccessOutputReference", version: "15.16.1" };
function dataDatabricksAccountNetworkPolicyEgressToTerraform(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: dataDatabricksAccountNetworkPolicyEgressNetworkAccessToTerraform(struct.networkAccess),
};
}
function dataDatabricksAccountNetworkPolicyEgressToHclTerraform(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: dataDatabricksAccountNetworkPolicyEgressNetworkAccessToHclTerraform(struct.networkAccess),
isBlock: true,
type: "struct",
storageClassType: "DataDatabricksAccountNetworkPolicyEgressNetworkAccess",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class DataDatabricksAccountNetworkPolicyEgressOutputReference 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: true, optional: true, required: false
this._networkAccess = new DataDatabricksAccountNetworkPolicyEgressNetworkAccessOutputReference(this, "network_access");
}
get internalValue() {
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._networkAccess.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
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.DataDatabricksAccountNetworkPolicyEgressOutputReference = DataDatabricksAccountNetworkPolicyEgressOutputReference;
_g = JSII_RTTI_SYMBOL_1;
DataDatabricksAccountNetworkPolicyEgressOutputReference[_g] = { fqn: "@cdktf/provider-databricks.dataDatabricksAccountNetworkPolicy.DataDatabricksAccountNetworkPolicyEgressOutputReference", version: "15.16.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/databricks/databricks/1.99.0/docs/data-sources/account_network_policy databricks_account_network_policy}
*/
class DataDatabricksAccountNetworkPolicy extends cdktf.TerraformDataSource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a DataDatabricksAccountNetworkPolicy 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 DataDatabricksAccountNetworkPolicy to import
* @param importFromId The id of the existing DataDatabricksAccountNetworkPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/databricks/databricks/1.99.0/docs/data-sources/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 DataDatabricksAccountNetworkPolicy 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/data-sources/account_network_policy databricks_account_network_policy} Data Source
*
* @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 DataDatabricksAccountNetworkPolicyConfig
*/
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: true, optional: false, required: false
this._egress = new DataDatabricksAccountNetworkPolicyEgressOutputReference(this, "egress");
this._networkPolicyId = config.networkPolicyId;
}
// ==========
// ATTRIBUTES
// ==========
// account_id - computed: true, optional: false, required: false
get accountId() {
return this.getStringAttribute('account_id');
}
get egress() {
return this._egress;
}
get networkPolicyId() {
return this.getStringAttribute('network_policy_id');
}
set networkPolicyId(value) {
this._networkPolicyId = value;
}
// Temporarily expose input value. Use with caution.
get networkPolicyIdInput() {
return this._networkPolicyId;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
network_policy_id: cdktf.stringToTerraform(this._networkPolicyId),
};
}
synthesizeHclAttributes() {
const attrs = {
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.DataDatabricksAccountNetworkPolicy = DataDatabricksAccountNetworkPolicy;
_h = JSII_RTTI_SYMBOL_1;
DataDatabricksAccountNetworkPolicy[_h] = { fqn: "@cdktf/provider-databricks.dataDatabricksAccountNetworkPolicy.DataDatabricksAccountNetworkPolicy", version: "15.16.1" };
// =================
// STATIC PROPERTIES
// =================
DataDatabricksAccountNetworkPolicy.tfResourceType = "databricks_account_network_policy";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS1kYXRhYnJpY2tzLWFjY291bnQtbmV0d29yay1wb2xpY3kvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQThCQSxrTUFTQztBQUdELHdNQXNCQztBQStIRCxnTUFZQztBQUdELHNNQXdDQztBQXFMRCw4S0FTQztBQUdELG9MQXNCQztBQXFHRCw0SUFXQztBQUdELGtKQWtDQztBQWtJRCxrSEFRQztBQUdELHdIQWdCQzs7QUF0dkJELCtCQUErQjtBQXFCL0IsU0FBZ0IsMkZBQTJGLENBQUMsTUFBNkc7SUFDdk4sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLFdBQVcsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFdBQVcsQ0FBQztRQUN6RCx5QkFBeUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLHVCQUF1QixDQUFDO0tBQ3BGLENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsOEZBQThGLENBQUMsTUFBNkc7SUFDMU4sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENB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