@cdktf/provider-databricks
Version:
Prebuilt databricks Provider for Terraform CDK (cdktf)
849 lines • 127 kB
JavaScript
"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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudC1uZXR3b3JrLXBvbGljeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBc0NBLHNLQVNDO0FBR0QsNEtBc0JDO0FBK0hELG9LQVlDO0FBR0QsMEtBd0NDO0FBcUxELGtKQVNDO0FBR0Qsd0pBc0JDO0FBcUdELGdIQVdDO0FBR0Qsc0hBa0NDO0FBa0lELHNGQVFDO0FBR0QsNEZBZ0JDOztBQTl2QkQsK0JBQStCO0FBNkIvQixTQUFnQiw2RUFBNkUsQ0FBQyxNQUErRjtJQUMzTCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsV0FBVyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3pELHlCQUF5QixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsdUJBQXVCLENBQUM7S0FDcEYsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQixnRkFBZ0YsQ0FBQyxNQUErRjtJQUM5TCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLFdBQVcsRUFBRTtZQUNYLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLFdBQVcsQ0FBQztZQUN0RCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtRQUNELHlCQUF5QixFQUFFO1lBQ3pCLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLHVCQUF1QixDQUFDO1lBQ2xFLE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCO0tBQ0YsQ0FBQztJQUVGLDhCQUE4QjtJQUM5QixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDNUgsQ0FBQztBQUVELE1BQWEsaUZBQWtGLFNBQVEsS0FBSyxDQUFDLGFBQWE7SUFJeEg7Ozs7O01BS0U7SUFDRixZQUFtQixpQkFBNkMsRUFBRSxrQkFBMEIsRUFBRSxrQkFBMEIsRUFBRSxzQkFBK0I7UUFDdkosS0FBSyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFWbkYsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFXOUIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLHdCQUF3QixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hELFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQzlFLENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBVyxhQUFhLENBQUMsS0FBeUc7UUFDaEksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7WUFDOUIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLFNBQVMsQ0FBQztRQUM1QyxDQUFDO2FBQ0ksSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUM7YUFDSSxDQUFDO1lBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1lBQ3RDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUMsdUJBQXVCLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUM7SUFJRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELElBQVcsV0FBVyxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBQ0Qsb0RBQW9EO0lBQ3BELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBSUQsSUFBVyx1QkFBdUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsSUFBVyx1QkFBdUIsQ0FBQyxLQUFhO1FBQzlDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUNNLDRCQUE0QjtRQUNqQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFDO0lBQzVDLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyw0QkFBNEI7UUFDckMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUM7SUFDdkMsQ0FBQzs7QUFoRkgsOEtBaUZDOzs7QUFFRCxNQUFhLHNFQUF1RSxTQUFRLEtBQUssQ0FBQyxXQUFXO0lBRzNHOzs7O01BSUU7SUFDRixZQUFzQixpQkFBNkMsRUFBWSxrQkFBMEIsRUFBWSxRQUFpQjtRQUNwSSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFEbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE0QjtRQUFZLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBUTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQVM7SUFFdEksQ0FBQztJQUVEOztNQUVFO0lBQ0ssR0FBRyxDQUFDLEtBQWE7UUFDdEIsT0FBTyxJQUFJLGlGQUFpRixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0SyxDQUFDOztBQWpCSCx3SkFrQkM7OztBQXdCRCxTQUFnQiw0RUFBNEUsQ0FBQyxNQUE4RjtJQUN6TCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wscUJBQXFCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxtQkFBbUIsQ0FBQztRQUMzRSxxQkFBcUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLG1CQUFtQixDQUFDO1FBQzNFLFdBQVcsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFVBQVUsQ0FBQztRQUN4RCxNQUFNLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxNQUFNLENBQUM7UUFDL0Msd0JBQXdCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxzQkFBc0IsQ0FBQztLQUNsRixDQUFBO0FBQ0gsQ0FBQztBQUdELFNBQWdCLCtFQUErRSxDQUFDLE1BQThGO0lBQzVMLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHO1FBQ1oscUJBQXFCLEVBQUU7WUFDckIsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFPLENBQUMsbUJBQW1CLENBQUM7WUFDOUQsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsUUFBUTtZQUNkLGdCQUFnQixFQUFFLFFBQVE7U0FDM0I7UUFDRCxxQkFBcUIsRUFBRTtZQUNyQixLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUM5RCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtRQUNELFdBQVcsRUFBRTtZQUNYLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLFVBQVUsQ0FBQztZQUNyRCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtRQUNELE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLE1BQU0sQ0FBQztZQUNqRCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtRQUNELHdCQUF3QixFQUFFO1lBQ3hCLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLHNCQUFzQixDQUFDO1lBQ2pFLE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCO0tBQ0YsQ0FBQztJQUVGLDhCQUE4QjtJQUM5QixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDNUgsQ0FBQztBQUVELE1BQWEsZ0ZBQWlGLFNBQVEsS0FBSyxDQUFDLGFBQWE7SUFJdkg7Ozs7O01BS0U7SUFDRixZQUFtQixpQkFBNkMsRUFBRSxrQkFBMEIsRUFBRSxrQkFBMEIsRUFBRSxzQkFBK0I7UUFDdkosS0FBSyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFWbkYsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFXOUIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDdEUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLG9CQUFvQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3RFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbkMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLHVCQUF1QixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9DLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDO1FBQzVFLENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBVyxhQUFhLENBQUMsS0FBd0c7UUFDL0gsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7WUFDakMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztZQUN0QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1lBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1lBQ3pCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7UUFDM0MsQ0FBQzthQUNJLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDO2FBQ0ksQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUM7WUFDdEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztZQUN0RCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQzVCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsc0JBQXNCLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7SUFJRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxJQUFXLG1CQUFtQixDQUFDLEtBQWE7UUFDMUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBQ00sd0JBQXdCO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLHdCQUF3QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBSUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsSUFBVyxtQkFBbUIsQ0FBQyxLQUFhO1FBQzFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUNNLHdCQUF3QjtRQUM3QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyx3QkFBd0I7UUFDakMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUlELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQU