UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

907 lines 186 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r; Object.defineProperty(exports, "__esModule", { value: true }); exports.S3BucketMetadataConfiguration = exports.S3BucketMetadataConfigurationTimeoutsOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationList = exports.S3BucketMetadataConfigurationMetadataConfigurationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList = exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList = exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationDestinationList = exports.S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference = void 0; exports.s3BucketMetadataConfigurationMetadataConfigurationDestinationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationDestinationToTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationDestinationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationDestinationToHclTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToHclTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToHclTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToHclTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToHclTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToHclTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationToTerraform; exports.s3BucketMetadataConfigurationMetadataConfigurationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationToHclTerraform; exports.s3BucketMetadataConfigurationTimeoutsToTerraform = s3BucketMetadataConfigurationTimeoutsToTerraform; exports.s3BucketMetadataConfigurationTimeoutsToHclTerraform = s3BucketMetadataConfigurationTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function s3BucketMetadataConfigurationMetadataConfigurationDestinationToTerraform(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 {}; } function s3BucketMetadataConfigurationMetadataConfigurationDestinationToHclTerraform(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 = {}; return attrs; } class S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference 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() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // table_bucket_arn - computed: true, optional: false, required: false get tableBucketArn() { return this.getStringAttribute('table_bucket_arn'); } // table_bucket_type - computed: true, optional: false, required: false get tableBucketType() { return this.getStringAttribute('table_bucket_type'); } // table_namespace - computed: true, optional: false, required: false get tableNamespace() { return this.getStringAttribute('table_namespace'); } } exports.S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference; _a = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference[_a] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference", version: "21.22.1" }; class S3BucketMetadataConfigurationMetadataConfigurationDestinationList 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 S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketMetadataConfigurationMetadataConfigurationDestinationList = S3BucketMetadataConfigurationMetadataConfigurationDestinationList; _b = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationDestinationList[_b] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationDestinationList", version: "21.22.1" }; function s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToTerraform(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 { kms_key_arn: cdktf.stringToTerraform(struct.kmsKeyArn), sse_algorithm: cdktf.stringToTerraform(struct.sseAlgorithm), }; } function s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToHclTerraform(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 = { kms_key_arn: { value: cdktf.stringToHclTerraform(struct.kmsKeyArn), isBlock: false, type: "simple", storageClassType: "string", }, sse_algorithm: { value: cdktf.stringToHclTerraform(struct.sseAlgorithm), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference 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._kmsKeyArn !== undefined) { hasAnyValues = true; internalValueResult.kmsKeyArn = this._kmsKeyArn; } if (this._sseAlgorithm !== undefined) { hasAnyValues = true; internalValueResult.sseAlgorithm = this._sseAlgorithm; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._kmsKeyArn = undefined; this._sseAlgorithm = 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._kmsKeyArn = value.kmsKeyArn; this._sseAlgorithm = value.sseAlgorithm; } } get kmsKeyArn() { return this.getStringAttribute('kms_key_arn'); } set kmsKeyArn(value) { this._kmsKeyArn = value; } resetKmsKeyArn() { this._kmsKeyArn = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyArnInput() { return this._kmsKeyArn; } get sseAlgorithm() { return this.getStringAttribute('sse_algorithm'); } set sseAlgorithm(value) { this._sseAlgorithm = value; } // Temporarily expose input value. Use with caution. get sseAlgorithmInput() { return this._sseAlgorithm; } } exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference; _c = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference[_c] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference", version: "21.22.1" }; class S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList 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 S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList = S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList; _d = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList[_d] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList", version: "21.22.1" }; function s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToTerraform(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 { configuration_state: cdktf.stringToTerraform(struct.configurationState), encryption_configuration: cdktf.listMapper(s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToTerraform, true)(struct.encryptionConfiguration), }; } function s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToHclTerraform(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 = { configuration_state: { value: cdktf.stringToHclTerraform(struct.configurationState), isBlock: false, type: "simple", storageClassType: "string", }, encryption_configuration: { value: cdktf.listMapperHcl(s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToHclTerraform, true)(struct.encryptionConfiguration), isBlock: true, type: "list", storageClassType: "S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference 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; // encryption_configuration - computed: false, optional: true, required: false this._encryptionConfiguration = new S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList(this, "encryption_configuration", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._configurationState !== undefined) { hasAnyValues = true; internalValueResult.configurationState = this._configurationState; } if (this._encryptionConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.encryptionConfiguration = this._encryptionConfiguration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._configurationState = undefined; this._encryptionConfiguration.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._configurationState = value.configurationState; this._encryptionConfiguration.internalValue = value.encryptionConfiguration; } } get configurationState() { return this.getStringAttribute('configuration_state'); } set configurationState(value) { this._configurationState = value; } // Temporarily expose input value. Use with caution. get configurationStateInput() { return this._configurationState; } // table_arn - computed: true, optional: false, required: false get tableArn() { return this.getStringAttribute('table_arn'); } // table_name - computed: true, optional: false, required: false get tableName() { return this.getStringAttribute('table_name'); } get encryptionConfiguration() { return this._encryptionConfiguration; } putEncryptionConfiguration(value) { this._encryptionConfiguration.internalValue = value; } resetEncryptionConfiguration() { this._encryptionConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get encryptionConfigurationInput() { return this._encryptionConfiguration.internalValue; } } exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference; _e = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference[_e] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference", version: "21.22.1" }; class S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList 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 S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList = S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList; _f = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList[_f] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList", version: "21.22.1" }; function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToTerraform(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 { kms_key_arn: cdktf.stringToTerraform(struct.kmsKeyArn), sse_algorithm: cdktf.stringToTerraform(struct.sseAlgorithm), }; } function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToHclTerraform(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 = { kms_key_arn: { value: cdktf.stringToHclTerraform(struct.kmsKeyArn), isBlock: false, type: "simple", storageClassType: "string", }, sse_algorithm: { value: cdktf.stringToHclTerraform(struct.sseAlgorithm), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference 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._kmsKeyArn !== undefined) { hasAnyValues = true; internalValueResult.kmsKeyArn = this._kmsKeyArn; } if (this._sseAlgorithm !== undefined) { hasAnyValues = true; internalValueResult.sseAlgorithm = this._sseAlgorithm; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._kmsKeyArn = undefined; this._sseAlgorithm = 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._kmsKeyArn = value.kmsKeyArn; this._sseAlgorithm = value.sseAlgorithm; } } get kmsKeyArn() { return this.getStringAttribute('kms_key_arn'); } set kmsKeyArn(value) { this._kmsKeyArn = value; } resetKmsKeyArn() { this._kmsKeyArn = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyArnInput() { return this._kmsKeyArn; } get sseAlgorithm() { return this.getStringAttribute('sse_algorithm'); } set sseAlgorithm(value) { this._sseAlgorithm = value; } // Temporarily expose input value. Use with caution. get sseAlgorithmInput() { return this._sseAlgorithm; } } exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference; _g = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference[_g] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference", version: "21.22.1" }; class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList 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 S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList; _h = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList[_h] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList", version: "21.22.1" }; function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToTerraform(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 { days: cdktf.numberToTerraform(struct.days), expiration: cdktf.stringToTerraform(struct.expiration), }; } function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToHclTerraform(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 = { days: { value: cdktf.numberToHclTerraform(struct.days), isBlock: false, type: "simple", storageClassType: "number", }, expiration: { value: cdktf.stringToHclTerraform(struct.expiration), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference 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._days !== undefined) { hasAnyValues = true; internalValueResult.days = this._days; } if (this._expiration !== undefined) { hasAnyValues = true; internalValueResult.expiration = this._expiration; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._days = undefined; this._expiration = 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._days = value.days; this._expiration = value.expiration; } } get days() { return this.getNumberAttribute('days'); } set days(value) { this._days = value; } resetDays() { this._days = undefined; } // Temporarily expose input value. Use with caution. get daysInput() { return this._days; } get expiration() { return this.getStringAttribute('expiration'); } set expiration(value) { this._expiration = value; } // Temporarily expose input value. Use with caution. get expirationInput() { return this._expiration; } } exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference; _j = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference[_j] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference", version: "21.22.1" }; class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList 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 S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList; _k = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList[_k] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList", version: "21.22.1" }; function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToTerraform(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 { encryption_configuration: cdktf.listMapper(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToTerraform, true)(struct.encryptionConfiguration), record_expiration: cdktf.listMapper(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToTerraform, true)(struct.recordExpiration), }; } function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToHclTerraform(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 = { encryption_configuration: { value: cdktf.listMapperHcl(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToHclTerraform, true)(struct.encryptionConfiguration), isBlock: true, type: "list", storageClassType: "S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList", }, record_expiration: { value: cdktf.listMapperHcl(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToHclTerraform, true)(struct.recordExpiration), isBlock: true, type: "list", storageClassType: "S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference 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; // encryption_configuration - computed: false, optional: true, required: false this._encryptionConfiguration = new S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList(this, "encryption_configuration", false); // record_expiration - computed: false, optional: true, required: false this._recordExpiration = new S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList(this, "record_expiration", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._encryptionConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.encryptionConfiguration = this._encryptionConfiguration?.internalValue; } if (this._recordExpiration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.recordExpiration = this._recordExpiration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._encryptionConfiguration.internalValue = undefined; this._recordExpiration.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._encryptionConfiguration.internalValue = value.encryptionConfiguration; this._recordExpiration.internalValue = value.recordExpiration; } } // table_arn - computed: true, optional: false, required: false get tableArn() { return this.getStringAttribute('table_arn'); } // table_name - computed: true, optional: false, required: false get tableName() { return this.getStringAttribute('table_name'); } get encryptionConfiguration() { return this._encryptionConfiguration; } putEncryptionConfiguration(value) { this._encryptionConfiguration.internalValue = value; } resetEncryptionConfiguration() { this._encryptionConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get encryptionConfigurationInput() { return this._encryptionConfiguration.internalValue; } get recordExpiration() { return this._recordExpiration; } putRecordExpiration(value) { this._recordExpiration.internalValue = value; } resetRecordExpiration() { this._recordExpiration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get recordExpirationInput() { return this._recordExpiration.internalValue; } } exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference; _l = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference[_l] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference", version: "21.22.1" }; class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList 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 S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList; _m = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList[_m] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList", version: "21.22.1" }; function s3BucketMetadataConfigurationMetadataConfigurationToTerraform(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 { inventory_table_configuration: cdktf.listMapper(s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToTerraform, true)(struct.inventoryTableConfiguration), journal_table_configuration: cdktf.listMapper(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToTerraform, true)(struct.journalTableConfiguration), }; } function s3BucketMetadataConfigurationMetadataConfigurationToHclTerraform(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 = { inventory_table_configuration: { value: cdktf.listMapperHcl(s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToHclTerraform, true)(struct.inventoryTableConfiguration), isBlock: true, type: "list", storageClassType: "S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList", }, journal_table_configuration: { value: cdktf.listMapperHcl(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToHclTerraform, true)(struct.journalTableConfiguration), isBlock: true, type: "list", storageClassType: "S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketMetadataConfigurationMetadataConfigurationOutputReference 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; // destination - computed: true, optional: false, required: false this._destination = new S3BucketMetadataConfigurationMetadataConfigurationDestinationList(this, "destination", false); // inventory_table_configuration - computed: false, optional: true, required: false this._inventoryTableConfiguration = new S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList(this, "inventory_table_configuration", false); // journal_table_configuration - computed: false, optional: true, required: false this._journalTableConfiguration = new S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList(this, "journal_table_configuration", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._inventoryTableConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.inventoryTableConfiguration = this._inventoryTableConfiguration?.internalValue; } if (this._journalTableConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.journalTableConfiguration = this._journalTableConfiguration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._inventoryTableConfiguration.internalValue = undefined; this._journalTableConfiguration.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._inventoryTableConfiguration.internalValue = value.inventoryTableConfiguration; this._journalTableConfiguration.internalValue = value.journalTableConfiguration; } } get destination() { return this._destination; } get inventoryTableConfiguration() { return this._inventoryTableConfiguration; } putInventoryTableConfiguration(value) { this._inventoryTableConfiguration.internalValue = value; } resetInventoryTableConfiguration() { this._inventoryTableConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get inventoryTableConfigurationInput() { return this._inventoryTableConfiguration.internalValue; } get journalTableConfiguration() { return this._journalTableConfiguration; } putJournalTableConfiguration(value) { this._journalTableConfiguration.internalValue = value; } resetJournalTableConfiguration() { this._journalTableConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get journalTableConfigurationInput() { return this._journalTableConfiguration.internalValue; } } exports.S3BucketMetadataConfigurationMetadataConfigurationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationOutputReference; _o = JSII_RTTI_SYMBOL_1; S3BucketMetadataConfigurationMetadataConfigurationOutputReference[_o] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationOutputReference", version: "21.22.1" }; class S3BucketMetadataConfigurationMetadataConfigurationList 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