UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

870 lines 138 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; Object.defineProperty(exports, "__esModule", { value: true }); exports.GlueCatalogTableOptimizer = exports.GlueCatalogTableOptimizerConfigurationList = exports.GlueCatalogTableOptimizerConfigurationOutputReference = exports.glueCatalogTableOptimizerConfigurationToHclTerraform = exports.glueCatalogTableOptimizerConfigurationToTerraform = exports.GlueCatalogTableOptimizerConfigurationRetentionConfigurationList = exports.GlueCatalogTableOptimizerConfigurationRetentionConfigurationOutputReference = exports.glueCatalogTableOptimizerConfigurationRetentionConfigurationToHclTerraform = exports.glueCatalogTableOptimizerConfigurationRetentionConfigurationToTerraform = exports.GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationList = exports.GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutputReference = exports.glueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationToHclTerraform = exports.glueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationToTerraform = exports.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationList = exports.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutputReference = exports.glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationToHclTerraform = exports.glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationToTerraform = exports.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationList = exports.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutputReference = exports.glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationToHclTerraform = exports.glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationToTerraform(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 { location: cdktf.stringToTerraform(struct.location), orphan_file_retention_period_in_days: cdktf.numberToTerraform(struct.orphanFileRetentionPeriodInDays), }; } exports.glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationToTerraform = glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationToTerraform; function glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationToHclTerraform(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 = { location: { value: cdktf.stringToHclTerraform(struct.location), isBlock: false, type: "simple", storageClassType: "string", }, orphan_file_retention_period_in_days: { value: cdktf.numberToHclTerraform(struct.orphanFileRetentionPeriodInDays), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationToHclTerraform = glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationToHclTerraform; class GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutputReference 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._location !== undefined) { hasAnyValues = true; internalValueResult.location = this._location; } if (this._orphanFileRetentionPeriodInDays !== undefined) { hasAnyValues = true; internalValueResult.orphanFileRetentionPeriodInDays = this._orphanFileRetentionPeriodInDays; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._location = undefined; this._orphanFileRetentionPeriodInDays = 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._location = value.location; this._orphanFileRetentionPeriodInDays = value.orphanFileRetentionPeriodInDays; } } get location() { return this.getStringAttribute('location'); } set location(value) { this._location = value; } resetLocation() { this._location = undefined; } // Temporarily expose input value. Use with caution. get locationInput() { return this._location; } get orphanFileRetentionPeriodInDays() { return this.getNumberAttribute('orphan_file_retention_period_in_days'); } set orphanFileRetentionPeriodInDays(value) { this._orphanFileRetentionPeriodInDays = value; } resetOrphanFileRetentionPeriodInDays() { this._orphanFileRetentionPeriodInDays = undefined; } // Temporarily expose input value. Use with caution. get orphanFileRetentionPeriodInDaysInput() { return this._orphanFileRetentionPeriodInDays; } } exports.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutputReference = GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutputReference; _a = JSII_RTTI_SYMBOL_1; GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutputReference[_a] = { fqn: "@cdktf/provider-aws.glueCatalogTableOptimizer.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutputReference", version: "19.50.0" }; class GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationList 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 GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationList = GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationList; _b = JSII_RTTI_SYMBOL_1; GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationList[_b] = { fqn: "@cdktf/provider-aws.glueCatalogTableOptimizer.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationList", version: "19.50.0" }; function glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationToTerraform(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 { iceberg_configuration: cdktf.listMapper(glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationToTerraform, true)(struct.icebergConfiguration), }; } exports.glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationToTerraform = glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationToTerraform; function glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationToHclTerraform(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 = { iceberg_configuration: { value: cdktf.listMapperHcl(glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationToHclTerraform, true)(struct.icebergConfiguration), isBlock: true, type: "list", storageClassType: "GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationToHclTerraform = glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationToHclTerraform; class GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutputReference 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; // iceberg_configuration - computed: false, optional: true, required: false this._icebergConfiguration = new GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationList(this, "iceberg_configuration", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._icebergConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.icebergConfiguration = this._icebergConfiguration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._icebergConfiguration.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._icebergConfiguration.internalValue = value.icebergConfiguration; } } get icebergConfiguration() { return this._icebergConfiguration; } putIcebergConfiguration(value) { this._icebergConfiguration.internalValue = value; } resetIcebergConfiguration() { this._icebergConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get icebergConfigurationInput() { return this._icebergConfiguration.internalValue; } } exports.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutputReference = GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutputReference; _c = JSII_RTTI_SYMBOL_1; GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutputReference[_c] = { fqn: "@cdktf/provider-aws.glueCatalogTableOptimizer.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutputReference", version: "19.50.0" }; class GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationList 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 GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationList = GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationList; _d = JSII_RTTI_SYMBOL_1; GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationList[_d] = { fqn: "@cdktf/provider-aws.glueCatalogTableOptimizer.GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationList", version: "19.50.0" }; function glueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationToTerraform(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 { clean_expired_files: cdktf.booleanToTerraform(struct.cleanExpiredFiles), number_of_snapshots_to_retain: cdktf.numberToTerraform(struct.numberOfSnapshotsToRetain), snapshot_retention_period_in_days: cdktf.numberToTerraform(struct.snapshotRetentionPeriodInDays), }; } exports.glueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationToTerraform = glueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationToTerraform; function glueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationToHclTerraform(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 = { clean_expired_files: { value: cdktf.booleanToHclTerraform(struct.cleanExpiredFiles), isBlock: false, type: "simple", storageClassType: "boolean", }, number_of_snapshots_to_retain: { value: cdktf.numberToHclTerraform(struct.numberOfSnapshotsToRetain), isBlock: false, type: "simple", storageClassType: "number", }, snapshot_retention_period_in_days: { value: cdktf.numberToHclTerraform(struct.snapshotRetentionPeriodInDays), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.glueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationToHclTerraform = glueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationToHclTerraform; class GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutputReference 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._cleanExpiredFiles !== undefined) { hasAnyValues = true; internalValueResult.cleanExpiredFiles = this._cleanExpiredFiles; } if (this._numberOfSnapshotsToRetain !== undefined) { hasAnyValues = true; internalValueResult.numberOfSnapshotsToRetain = this._numberOfSnapshotsToRetain; } if (this._snapshotRetentionPeriodInDays !== undefined) { hasAnyValues = true; internalValueResult.snapshotRetentionPeriodInDays = this._snapshotRetentionPeriodInDays; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._cleanExpiredFiles = undefined; this._numberOfSnapshotsToRetain = undefined; this._snapshotRetentionPeriodInDays = 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._cleanExpiredFiles = value.cleanExpiredFiles; this._numberOfSnapshotsToRetain = value.numberOfSnapshotsToRetain; this._snapshotRetentionPeriodInDays = value.snapshotRetentionPeriodInDays; } } get cleanExpiredFiles() { return this.getBooleanAttribute('clean_expired_files'); } set cleanExpiredFiles(value) { this._cleanExpiredFiles = value; } resetCleanExpiredFiles() { this._cleanExpiredFiles = undefined; } // Temporarily expose input value. Use with caution. get cleanExpiredFilesInput() { return this._cleanExpiredFiles; } get numberOfSnapshotsToRetain() { return this.getNumberAttribute('number_of_snapshots_to_retain'); } set numberOfSnapshotsToRetain(value) { this._numberOfSnapshotsToRetain = value; } resetNumberOfSnapshotsToRetain() { this._numberOfSnapshotsToRetain = undefined; } // Temporarily expose input value. Use with caution. get numberOfSnapshotsToRetainInput() { return this._numberOfSnapshotsToRetain; } get snapshotRetentionPeriodInDays() { return this.getNumberAttribute('snapshot_retention_period_in_days'); } set snapshotRetentionPeriodInDays(value) { this._snapshotRetentionPeriodInDays = value; } resetSnapshotRetentionPeriodInDays() { this._snapshotRetentionPeriodInDays = undefined; } // Temporarily expose input value. Use with caution. get snapshotRetentionPeriodInDaysInput() { return this._snapshotRetentionPeriodInDays; } } exports.GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutputReference = GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutputReference; _e = JSII_RTTI_SYMBOL_1; GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutputReference[_e] = { fqn: "@cdktf/provider-aws.glueCatalogTableOptimizer.GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutputReference", version: "19.50.0" }; class GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationList 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 GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationList = GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationList; _f = JSII_RTTI_SYMBOL_1; GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationList[_f] = { fqn: "@cdktf/provider-aws.glueCatalogTableOptimizer.GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationList", version: "19.50.0" }; function glueCatalogTableOptimizerConfigurationRetentionConfigurationToTerraform(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 { iceberg_configuration: cdktf.listMapper(glueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationToTerraform, true)(struct.icebergConfiguration), }; } exports.glueCatalogTableOptimizerConfigurationRetentionConfigurationToTerraform = glueCatalogTableOptimizerConfigurationRetentionConfigurationToTerraform; function glueCatalogTableOptimizerConfigurationRetentionConfigurationToHclTerraform(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 = { iceberg_configuration: { value: cdktf.listMapperHcl(glueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationToHclTerraform, true)(struct.icebergConfiguration), isBlock: true, type: "list", storageClassType: "GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.glueCatalogTableOptimizerConfigurationRetentionConfigurationToHclTerraform = glueCatalogTableOptimizerConfigurationRetentionConfigurationToHclTerraform; class GlueCatalogTableOptimizerConfigurationRetentionConfigurationOutputReference 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; // iceberg_configuration - computed: false, optional: true, required: false this._icebergConfiguration = new GlueCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationList(this, "iceberg_configuration", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._icebergConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.icebergConfiguration = this._icebergConfiguration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._icebergConfiguration.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._icebergConfiguration.internalValue = value.icebergConfiguration; } } get icebergConfiguration() { return this._icebergConfiguration; } putIcebergConfiguration(value) { this._icebergConfiguration.internalValue = value; } resetIcebergConfiguration() { this._icebergConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get icebergConfigurationInput() { return this._icebergConfiguration.internalValue; } } exports.GlueCatalogTableOptimizerConfigurationRetentionConfigurationOutputReference = GlueCatalogTableOptimizerConfigurationRetentionConfigurationOutputReference; _g = JSII_RTTI_SYMBOL_1; GlueCatalogTableOptimizerConfigurationRetentionConfigurationOutputReference[_g] = { fqn: "@cdktf/provider-aws.glueCatalogTableOptimizer.GlueCatalogTableOptimizerConfigurationRetentionConfigurationOutputReference", version: "19.50.0" }; class GlueCatalogTableOptimizerConfigurationRetentionConfigurationList 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 GlueCatalogTableOptimizerConfigurationRetentionConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.GlueCatalogTableOptimizerConfigurationRetentionConfigurationList = GlueCatalogTableOptimizerConfigurationRetentionConfigurationList; _h = JSII_RTTI_SYMBOL_1; GlueCatalogTableOptimizerConfigurationRetentionConfigurationList[_h] = { fqn: "@cdktf/provider-aws.glueCatalogTableOptimizer.GlueCatalogTableOptimizerConfigurationRetentionConfigurationList", version: "19.50.0" }; function glueCatalogTableOptimizerConfigurationToTerraform(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 { enabled: cdktf.booleanToTerraform(struct.enabled), role_arn: cdktf.stringToTerraform(struct.roleArn), orphan_file_deletion_configuration: cdktf.listMapper(glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationToTerraform, true)(struct.orphanFileDeletionConfiguration), retention_configuration: cdktf.listMapper(glueCatalogTableOptimizerConfigurationRetentionConfigurationToTerraform, true)(struct.retentionConfiguration), }; } exports.glueCatalogTableOptimizerConfigurationToTerraform = glueCatalogTableOptimizerConfigurationToTerraform; function glueCatalogTableOptimizerConfigurationToHclTerraform(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 = { enabled: { value: cdktf.booleanToHclTerraform(struct.enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, role_arn: { value: cdktf.stringToHclTerraform(struct.roleArn), isBlock: false, type: "simple", storageClassType: "string", }, orphan_file_deletion_configuration: { value: cdktf.listMapperHcl(glueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationToHclTerraform, true)(struct.orphanFileDeletionConfiguration), isBlock: true, type: "list", storageClassType: "GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationList", }, retention_configuration: { value: cdktf.listMapperHcl(glueCatalogTableOptimizerConfigurationRetentionConfigurationToHclTerraform, true)(struct.retentionConfiguration), isBlock: true, type: "list", storageClassType: "GlueCatalogTableOptimizerConfigurationRetentionConfigurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.glueCatalogTableOptimizerConfigurationToHclTerraform = glueCatalogTableOptimizerConfigurationToHclTerraform; class GlueCatalogTableOptimizerConfigurationOutputReference 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; // orphan_file_deletion_configuration - computed: false, optional: true, required: false this._orphanFileDeletionConfiguration = new GlueCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationList(this, "orphan_file_deletion_configuration", false); // retention_configuration - computed: false, optional: true, required: false this._retentionConfiguration = new GlueCatalogTableOptimizerConfigurationRetentionConfigurationList(this, "retention_configuration", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } if (this._roleArn !== undefined) { hasAnyValues = true; internalValueResult.roleArn = this._roleArn; } if (this._orphanFileDeletionConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.orphanFileDeletionConfiguration = this._orphanFileDeletionConfiguration?.internalValue; } if (this._retentionConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.retentionConfiguration = this._retentionConfiguration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._enabled = undefined; this._roleArn = undefined; this._orphanFileDeletionConfiguration.internalValue = undefined; this._retentionConfiguration.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._enabled = value.enabled; this._roleArn = value.roleArn; this._orphanFileDeletionConfiguration.internalValue = value.orphanFileDeletionConfiguration; this._retentionConfiguration.internalValue = value.retentionConfiguration; } } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } get roleArn() { return this.getStringAttribute('role_arn'); } set roleArn(value) { this._roleArn = value; } // Temporarily expose input value. Use with caution. get roleArnInput() { return this._roleArn; } get orphanFileDeletionConfiguration() { return this._orphanFileDeletionConfiguration; } putOrphanFileDeletionConfiguration(value) { this._orphanFileDeletionConfiguration.internalValue = value; } resetOrphanFileDeletionConfiguration() { this._orphanFileDeletionConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get orphanFileDeletionConfigurationInput() { return this._orphanFileDeletionConfiguration.internalValue; } get retentionConfiguration() { return this._retentionConfiguration; } putRetentionConfiguration(value) { this._retentionConfiguration.internalValue = value; } resetRetentionConfiguration() { this._retentionConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get retentionConfigurationInput() { return this._retentionConfiguration.internalValue; } } exports.GlueCatalogTableOptimizerConfigurationOutputReference = GlueCatalogTableOptimizerConfigurationOutputReference; _j = JSII_RTTI_SYMBOL_1; GlueCatalogTableOptimizerConfigurationOutputReference[_j] = { fqn: "@cdktf/provider-aws.glueCatalogTableOptimizer.GlueCatalogTableOptimizerConfigurationOutputReference", version: "19.50.0" }; class GlueCatalogTableOptimizerConfigurationList 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 GlueCatalogTableOptimizerConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.GlueCatalogTableOptimizerConfigurationList = GlueCatalogTableOptimizerConfigurationList; _k = JSII_RTTI_SYMBOL_1; GlueCatalogTableOptimizerConfigurationList[_k] = { fqn: "@cdktf/provider-aws.glueCatalogTableOptimizer.GlueCatalogTableOptimizerConfigurationList", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/glue_catalog_table_optimizer aws_glue_catalog_table_optimizer} */ class GlueCatalogTableOptimizer extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a GlueCatalogTableOptimizer 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 GlueCatalogTableOptimizer to import * @param importFromId The id of the existing GlueCatalogTableOptimizer that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/glue_catalog_table_optimizer#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the GlueCatalogTableOptimizer to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_glue_catalog_table_optimizer", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/glue_catalog_table_optimizer aws_glue_catalog_table_optimizer} 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 GlueCatalogTableOptimizerConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_glue_catalog_table_optimizer', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '5.84.0', providerVersionConstraint: '~> 5.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // configuration - computed: false, optional: true, required: false this._configuration = new GlueCatalogTableOptimizerConfigurationList(this, "configuration", false); this._catalogId = config.catalogId; this._databaseName = config.databaseName; this._tableName = config.tableName; this._type = config.type; this._configuration.internalValue = config.configuration; } get catalogId() { return this.getStringAttribute('catalog_id'); } set catalogId(value) { this._catalogId = value; } // Temporarily expose input value. Use with caution. get catalogIdInput() { return this._catalogId; } get databaseName() { return this.getStringAttribute('database_name'); } set databaseName(value) { this._databaseName = value; } // Temporarily expose input value. Use with caution. get databaseNameInput() { return this._databaseName; } get tableName() { return this.getStringAttribute('table_name'); } set tableName(value) { this._tableName = value; } // Temporarily expose input value. Use with caution. get tableNameInput() { return this._tableName; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get configuration() { return this._configuration; } putConfiguration(value) { this._configuration.internalValue = value; } resetConfiguration() { this._configuration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get configurationInput() { return this._configuration.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { catalog_id: cdktf.stringToTerraform(this._catalogId), database_name: cdktf.stringToTerraform(this._databaseName), table_name: cdktf.stringToTerraform(this._tableName), type: cdktf.stringToTerraform(this._type), configuration: cdktf.listMapper(glueCatalogTableOptimizerConfigurationToTerraform, true)(this._configuration.internalValue), }; } synthesizeHclAttributes() { const attrs = { catalog_id: { value: cdktf.stringToHclTerraform(this._catalogId), isBlock: false, type: "simple", storageClassType: "string", }, database_name: { value: cdktf.stringToHclTerraform(this._databaseName), isBlock: false, type: "simple", storageClassType: "string", }, table_name: { value: cdktf.stringToHclTerraform(this._tableName), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(this._type), isBlock: false, type: "simple", storageClassType: "string", }, configuration: { value: cdktf.listMapperHcl(glueCatalogTableOptimizerConfigurationToHclTerraform, true)(this._configuration.internalValue), isBlock: true, type: "list", storageClassType: "GlueCatalogTableOptimizerConfigurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.GlueCatalogTableOptimizer = GlueCatalogTableOptimizer; _l = JSII_RTTI_SYMBOL_1; GlueCatalogTableOptimizer[_l] = { fqn: "@cdktf/provider-aws.glueCatalogTableOptimizer.GlueCatalogTableOptimizer", version: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= GlueCatalogTableOptimizer.tfResourceType = "aws_glue_catalog_table_optimizer"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2x1ZS1jYXRhbG9nLXRhYmxlLW9wdGltaXplci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQXVDL0IsU0FBZ0Isb0dBQW9HLENBQUMsTUFBc0g7SUFDek8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLFFBQVEsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFFBQVEsQ0FBQztRQUNuRCxvQ0FBb0MsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLCtCQUErQixDQUFDO0tBQ3ZHLENBQUE7QUFDSCxDQUFDO0FBVEQsb05BU0M7QUFHRCxTQUFnQix1R0FBdUcsQ0FBQyxNQUFzSDtJQUM1TyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxLQUFL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