UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,087 lines 276 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v; Object.defineProperty(exports, "__esModule", { value: true }); exports.S3BucketLifecycleConfiguration = exports.S3BucketLifecycleConfigurationTimeoutsOutputReference = exports.S3BucketLifecycleConfigurationRuleList = exports.S3BucketLifecycleConfigurationRuleOutputReference = exports.S3BucketLifecycleConfigurationRuleTransitionList = exports.S3BucketLifecycleConfigurationRuleTransitionOutputReference = exports.S3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionList = exports.S3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutputReference = exports.S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationList = exports.S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputReference = exports.S3BucketLifecycleConfigurationRuleFilterList = exports.S3BucketLifecycleConfigurationRuleFilterOutputReference = exports.S3BucketLifecycleConfigurationRuleFilterTagList = exports.S3BucketLifecycleConfigurationRuleFilterTagOutputReference = exports.S3BucketLifecycleConfigurationRuleFilterAndList = exports.S3BucketLifecycleConfigurationRuleFilterAndOutputReference = exports.S3BucketLifecycleConfigurationRuleExpirationList = exports.S3BucketLifecycleConfigurationRuleExpirationOutputReference = exports.S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadList = exports.S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputReference = void 0; exports.s3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadToTerraform = s3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadToTerraform; exports.s3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadToHclTerraform = s3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadToHclTerraform; exports.s3BucketLifecycleConfigurationRuleExpirationToTerraform = s3BucketLifecycleConfigurationRuleExpirationToTerraform; exports.s3BucketLifecycleConfigurationRuleExpirationToHclTerraform = s3BucketLifecycleConfigurationRuleExpirationToHclTerraform; exports.s3BucketLifecycleConfigurationRuleFilterAndToTerraform = s3BucketLifecycleConfigurationRuleFilterAndToTerraform; exports.s3BucketLifecycleConfigurationRuleFilterAndToHclTerraform = s3BucketLifecycleConfigurationRuleFilterAndToHclTerraform; exports.s3BucketLifecycleConfigurationRuleFilterTagToTerraform = s3BucketLifecycleConfigurationRuleFilterTagToTerraform; exports.s3BucketLifecycleConfigurationRuleFilterTagToHclTerraform = s3BucketLifecycleConfigurationRuleFilterTagToHclTerraform; exports.s3BucketLifecycleConfigurationRuleFilterToTerraform = s3BucketLifecycleConfigurationRuleFilterToTerraform; exports.s3BucketLifecycleConfigurationRuleFilterToHclTerraform = s3BucketLifecycleConfigurationRuleFilterToHclTerraform; exports.s3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationToTerraform = s3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationToTerraform; exports.s3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationToHclTerraform = s3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationToHclTerraform; exports.s3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionToTerraform = s3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionToTerraform; exports.s3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionToHclTerraform = s3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionToHclTerraform; exports.s3BucketLifecycleConfigurationRuleTransitionToTerraform = s3BucketLifecycleConfigurationRuleTransitionToTerraform; exports.s3BucketLifecycleConfigurationRuleTransitionToHclTerraform = s3BucketLifecycleConfigurationRuleTransitionToHclTerraform; exports.s3BucketLifecycleConfigurationRuleToTerraform = s3BucketLifecycleConfigurationRuleToTerraform; exports.s3BucketLifecycleConfigurationRuleToHclTerraform = s3BucketLifecycleConfigurationRuleToHclTerraform; exports.s3BucketLifecycleConfigurationTimeoutsToTerraform = s3BucketLifecycleConfigurationTimeoutsToTerraform; exports.s3BucketLifecycleConfigurationTimeoutsToHclTerraform = s3BucketLifecycleConfigurationTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function s3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadToTerraform(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_after_initiation: cdktf.numberToTerraform(struct.daysAfterInitiation), }; } function s3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadToHclTerraform(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_after_initiation: { value: cdktf.numberToHclTerraform(struct.daysAfterInitiation), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputReference 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._daysAfterInitiation !== undefined) { hasAnyValues = true; internalValueResult.daysAfterInitiation = this._daysAfterInitiation; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._daysAfterInitiation = 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._daysAfterInitiation = value.daysAfterInitiation; } } get daysAfterInitiation() { return this.getNumberAttribute('days_after_initiation'); } set daysAfterInitiation(value) { this._daysAfterInitiation = value; } resetDaysAfterInitiation() { this._daysAfterInitiation = undefined; } // Temporarily expose input value. Use with caution. get daysAfterInitiationInput() { return this._daysAfterInitiation; } } exports.S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputReference = S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputReference; _a = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputReference[_a] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputReference", version: "21.22.1" }; class S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadList 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 S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadList = S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadList; _b = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadList[_b] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadList", version: "21.22.1" }; function s3BucketLifecycleConfigurationRuleExpirationToTerraform(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 { date: cdktf.stringToTerraform(struct.date), days: cdktf.numberToTerraform(struct.days), expired_object_delete_marker: cdktf.booleanToTerraform(struct.expiredObjectDeleteMarker), }; } function s3BucketLifecycleConfigurationRuleExpirationToHclTerraform(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 = { date: { value: cdktf.stringToHclTerraform(struct.date), isBlock: false, type: "simple", storageClassType: "string", }, days: { value: cdktf.numberToHclTerraform(struct.days), isBlock: false, type: "simple", storageClassType: "number", }, expired_object_delete_marker: { value: cdktf.booleanToHclTerraform(struct.expiredObjectDeleteMarker), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketLifecycleConfigurationRuleExpirationOutputReference 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._date !== undefined) { hasAnyValues = true; internalValueResult.date = this._date; } if (this._days !== undefined) { hasAnyValues = true; internalValueResult.days = this._days; } if (this._expiredObjectDeleteMarker !== undefined) { hasAnyValues = true; internalValueResult.expiredObjectDeleteMarker = this._expiredObjectDeleteMarker; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._date = undefined; this._days = undefined; this._expiredObjectDeleteMarker = 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._date = value.date; this._days = value.days; this._expiredObjectDeleteMarker = value.expiredObjectDeleteMarker; } } get date() { return this.getStringAttribute('date'); } set date(value) { this._date = value; } resetDate() { this._date = undefined; } // Temporarily expose input value. Use with caution. get dateInput() { return this._date; } 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 expiredObjectDeleteMarker() { return this.getBooleanAttribute('expired_object_delete_marker'); } set expiredObjectDeleteMarker(value) { this._expiredObjectDeleteMarker = value; } resetExpiredObjectDeleteMarker() { this._expiredObjectDeleteMarker = undefined; } // Temporarily expose input value. Use with caution. get expiredObjectDeleteMarkerInput() { return this._expiredObjectDeleteMarker; } } exports.S3BucketLifecycleConfigurationRuleExpirationOutputReference = S3BucketLifecycleConfigurationRuleExpirationOutputReference; _c = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleExpirationOutputReference[_c] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleExpirationOutputReference", version: "21.22.1" }; class S3BucketLifecycleConfigurationRuleExpirationList 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 S3BucketLifecycleConfigurationRuleExpirationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketLifecycleConfigurationRuleExpirationList = S3BucketLifecycleConfigurationRuleExpirationList; _d = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleExpirationList[_d] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleExpirationList", version: "21.22.1" }; function s3BucketLifecycleConfigurationRuleFilterAndToTerraform(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 { object_size_greater_than: cdktf.numberToTerraform(struct.objectSizeGreaterThan), object_size_less_than: cdktf.numberToTerraform(struct.objectSizeLessThan), prefix: cdktf.stringToTerraform(struct.prefix), tags: cdktf.hashMapper(cdktf.stringToTerraform)(struct.tags), }; } function s3BucketLifecycleConfigurationRuleFilterAndToHclTerraform(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 = { object_size_greater_than: { value: cdktf.numberToHclTerraform(struct.objectSizeGreaterThan), isBlock: false, type: "simple", storageClassType: "number", }, object_size_less_than: { value: cdktf.numberToHclTerraform(struct.objectSizeLessThan), isBlock: false, type: "simple", storageClassType: "number", }, prefix: { value: cdktf.stringToHclTerraform(struct.prefix), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.tags), isBlock: false, type: "map", storageClassType: "stringMap", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketLifecycleConfigurationRuleFilterAndOutputReference 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._objectSizeGreaterThan !== undefined) { hasAnyValues = true; internalValueResult.objectSizeGreaterThan = this._objectSizeGreaterThan; } if (this._objectSizeLessThan !== undefined) { hasAnyValues = true; internalValueResult.objectSizeLessThan = this._objectSizeLessThan; } if (this._prefix !== undefined) { hasAnyValues = true; internalValueResult.prefix = this._prefix; } if (this._tags !== undefined) { hasAnyValues = true; internalValueResult.tags = this._tags; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._objectSizeGreaterThan = undefined; this._objectSizeLessThan = undefined; this._prefix = undefined; this._tags = 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._objectSizeGreaterThan = value.objectSizeGreaterThan; this._objectSizeLessThan = value.objectSizeLessThan; this._prefix = value.prefix; this._tags = value.tags; } } get objectSizeGreaterThan() { return this.getNumberAttribute('object_size_greater_than'); } set objectSizeGreaterThan(value) { this._objectSizeGreaterThan = value; } resetObjectSizeGreaterThan() { this._objectSizeGreaterThan = undefined; } // Temporarily expose input value. Use with caution. get objectSizeGreaterThanInput() { return this._objectSizeGreaterThan; } get objectSizeLessThan() { return this.getNumberAttribute('object_size_less_than'); } set objectSizeLessThan(value) { this._objectSizeLessThan = value; } resetObjectSizeLessThan() { this._objectSizeLessThan = undefined; } // Temporarily expose input value. Use with caution. get objectSizeLessThanInput() { return this._objectSizeLessThan; } get prefix() { return this.getStringAttribute('prefix'); } set prefix(value) { this._prefix = value; } resetPrefix() { this._prefix = undefined; } // Temporarily expose input value. Use with caution. get prefixInput() { return this._prefix; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } } exports.S3BucketLifecycleConfigurationRuleFilterAndOutputReference = S3BucketLifecycleConfigurationRuleFilterAndOutputReference; _e = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleFilterAndOutputReference[_e] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleFilterAndOutputReference", version: "21.22.1" }; class S3BucketLifecycleConfigurationRuleFilterAndList 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 S3BucketLifecycleConfigurationRuleFilterAndOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketLifecycleConfigurationRuleFilterAndList = S3BucketLifecycleConfigurationRuleFilterAndList; _f = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleFilterAndList[_f] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleFilterAndList", version: "21.22.1" }; function s3BucketLifecycleConfigurationRuleFilterTagToTerraform(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 { key: cdktf.stringToTerraform(struct.key), value: cdktf.stringToTerraform(struct.value), }; } function s3BucketLifecycleConfigurationRuleFilterTagToHclTerraform(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 = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, value: { value: cdktf.stringToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketLifecycleConfigurationRuleFilterTagOutputReference 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._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._key = undefined; this._value = 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._key = value.key; this._value = value.value; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get value() { return this.getStringAttribute('value'); } set value(value) { this._value = value; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.S3BucketLifecycleConfigurationRuleFilterTagOutputReference = S3BucketLifecycleConfigurationRuleFilterTagOutputReference; _g = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleFilterTagOutputReference[_g] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleFilterTagOutputReference", version: "21.22.1" }; class S3BucketLifecycleConfigurationRuleFilterTagList 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 S3BucketLifecycleConfigurationRuleFilterTagOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketLifecycleConfigurationRuleFilterTagList = S3BucketLifecycleConfigurationRuleFilterTagList; _h = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleFilterTagList[_h] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleFilterTagList", version: "21.22.1" }; function s3BucketLifecycleConfigurationRuleFilterToTerraform(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 { object_size_greater_than: cdktf.numberToTerraform(struct.objectSizeGreaterThan), object_size_less_than: cdktf.numberToTerraform(struct.objectSizeLessThan), prefix: cdktf.stringToTerraform(struct.prefix), and: cdktf.listMapper(s3BucketLifecycleConfigurationRuleFilterAndToTerraform, true)(struct.and), tag: cdktf.listMapper(s3BucketLifecycleConfigurationRuleFilterTagToTerraform, true)(struct.tag), }; } function s3BucketLifecycleConfigurationRuleFilterToHclTerraform(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 = { object_size_greater_than: { value: cdktf.numberToHclTerraform(struct.objectSizeGreaterThan), isBlock: false, type: "simple", storageClassType: "number", }, object_size_less_than: { value: cdktf.numberToHclTerraform(struct.objectSizeLessThan), isBlock: false, type: "simple", storageClassType: "number", }, prefix: { value: cdktf.stringToHclTerraform(struct.prefix), isBlock: false, type: "simple", storageClassType: "string", }, and: { value: cdktf.listMapperHcl(s3BucketLifecycleConfigurationRuleFilterAndToHclTerraform, true)(struct.and), isBlock: true, type: "list", storageClassType: "S3BucketLifecycleConfigurationRuleFilterAndList", }, tag: { value: cdktf.listMapperHcl(s3BucketLifecycleConfigurationRuleFilterTagToHclTerraform, true)(struct.tag), isBlock: true, type: "list", storageClassType: "S3BucketLifecycleConfigurationRuleFilterTagList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketLifecycleConfigurationRuleFilterOutputReference 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; // and - computed: false, optional: true, required: false this._and = new S3BucketLifecycleConfigurationRuleFilterAndList(this, "and", false); // tag - computed: false, optional: true, required: false this._tag = new S3BucketLifecycleConfigurationRuleFilterTagList(this, "tag", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._objectSizeGreaterThan !== undefined) { hasAnyValues = true; internalValueResult.objectSizeGreaterThan = this._objectSizeGreaterThan; } if (this._objectSizeLessThan !== undefined) { hasAnyValues = true; internalValueResult.objectSizeLessThan = this._objectSizeLessThan; } if (this._prefix !== undefined) { hasAnyValues = true; internalValueResult.prefix = this._prefix; } if (this._and?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.and = this._and?.internalValue; } if (this._tag?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.tag = this._tag?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._objectSizeGreaterThan = undefined; this._objectSizeLessThan = undefined; this._prefix = undefined; this._and.internalValue = undefined; this._tag.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._objectSizeGreaterThan = value.objectSizeGreaterThan; this._objectSizeLessThan = value.objectSizeLessThan; this._prefix = value.prefix; this._and.internalValue = value.and; this._tag.internalValue = value.tag; } } get objectSizeGreaterThan() { return this.getNumberAttribute('object_size_greater_than'); } set objectSizeGreaterThan(value) { this._objectSizeGreaterThan = value; } resetObjectSizeGreaterThan() { this._objectSizeGreaterThan = undefined; } // Temporarily expose input value. Use with caution. get objectSizeGreaterThanInput() { return this._objectSizeGreaterThan; } get objectSizeLessThan() { return this.getNumberAttribute('object_size_less_than'); } set objectSizeLessThan(value) { this._objectSizeLessThan = value; } resetObjectSizeLessThan() { this._objectSizeLessThan = undefined; } // Temporarily expose input value. Use with caution. get objectSizeLessThanInput() { return this._objectSizeLessThan; } get prefix() { return this.getStringAttribute('prefix'); } set prefix(value) { this._prefix = value; } resetPrefix() { this._prefix = undefined; } // Temporarily expose input value. Use with caution. get prefixInput() { return this._prefix; } get and() { return this._and; } putAnd(value) { this._and.internalValue = value; } resetAnd() { this._and.internalValue = undefined; } // Temporarily expose input value. Use with caution. get andInput() { return this._and.internalValue; } get tag() { return this._tag; } putTag(value) { this._tag.internalValue = value; } resetTag() { this._tag.internalValue = undefined; } // Temporarily expose input value. Use with caution. get tagInput() { return this._tag.internalValue; } } exports.S3BucketLifecycleConfigurationRuleFilterOutputReference = S3BucketLifecycleConfigurationRuleFilterOutputReference; _j = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleFilterOutputReference[_j] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleFilterOutputReference", version: "21.22.1" }; class S3BucketLifecycleConfigurationRuleFilterList 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 S3BucketLifecycleConfigurationRuleFilterOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketLifecycleConfigurationRuleFilterList = S3BucketLifecycleConfigurationRuleFilterList; _k = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleFilterList[_k] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleFilterList", version: "21.22.1" }; function s3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationToTerraform(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 { newer_noncurrent_versions: cdktf.numberToTerraform(struct.newerNoncurrentVersions), noncurrent_days: cdktf.numberToTerraform(struct.noncurrentDays), }; } function s3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationToHclTerraform(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 = { newer_noncurrent_versions: { value: cdktf.numberToHclTerraform(struct.newerNoncurrentVersions), isBlock: false, type: "simple", storageClassType: "number", }, noncurrent_days: { value: cdktf.numberToHclTerraform(struct.noncurrentDays), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputReference 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._newerNoncurrentVersions !== undefined) { hasAnyValues = true; internalValueResult.newerNoncurrentVersions = this._newerNoncurrentVersions; } if (this._noncurrentDays !== undefined) { hasAnyValues = true; internalValueResult.noncurrentDays = this._noncurrentDays; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._newerNoncurrentVersions = undefined; this._noncurrentDays = 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._newerNoncurrentVersions = value.newerNoncurrentVersions; this._noncurrentDays = value.noncurrentDays; } } get newerNoncurrentVersions() { return this.getNumberAttribute('newer_noncurrent_versions'); } set newerNoncurrentVersions(value) { this._newerNoncurrentVersions = value; } resetNewerNoncurrentVersions() { this._newerNoncurrentVersions = undefined; } // Temporarily expose input value. Use with caution. get newerNoncurrentVersionsInput() { return this._newerNoncurrentVersions; } get noncurrentDays() { return this.getNumberAttribute('noncurrent_days'); } set noncurrentDays(value) { this._noncurrentDays = value; } // Temporarily expose input value. Use with caution. get noncurrentDaysInput() { return this._noncurrentDays; } } exports.S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputReference = S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputReference; _l = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputReference[_l] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputReference", version: "21.22.1" }; class S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationList 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 S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationList = S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationList; _m = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationList[_m] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleNoncurrentVersionExpirationList", version: "21.22.1" }; function s3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionToTerraform(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 { newer_noncurrent_versions: cdktf.numberToTerraform(struct.newerNoncurrentVersions), noncurrent_days: cdktf.numberToTerraform(struct.noncurrentDays), storage_class: cdktf.stringToTerraform(struct.storageClass), }; } function s3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionToHclTerraform(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 = { newer_noncurrent_versions: { value: cdktf.numberToHclTerraform(struct.newerNoncurrentVersions), isBlock: false, type: "simple", storageClassType: "number", }, noncurrent_days: { value: cdktf.numberToHclTerraform(struct.noncurrentDays), isBlock: false, type: "simple", storageClassType: "number", }, storage_class: { value: cdktf.stringToHclTerraform(struct.storageClass), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class S3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutputReference 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._newerNoncurrentVersions !== undefined) { hasAnyValues = true; internalValueResult.newerNoncurrentVersions = this._newerNoncurrentVersions; } if (this._noncurrentDays !== undefined) { hasAnyValues = true; internalValueResult.noncurrentDays = this._noncurrentDays; } if (this._storageClass !== undefined) { hasAnyValues = true; internalValueResult.storageClass = this._storageClass; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._newerNoncurrentVersions = undefined; this._noncurrentDays = undefined; this._storageClass = 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._newerNoncurrentVersions = value.newerNoncurrentVersions; this._noncurrentDays = value.noncurrentDays; this._storageClass = value.storageClass; } } get newerNoncurrentVersions() { return this.getNumberAttribute('newer_noncurrent_versions'); } set newerNoncurrentVersions(value) { this._newerNoncurrentVersions = value; } resetNewerNoncurrentVersions() { this._newerNoncurrentVersions = undefined; } // Temporarily expose input value. Use with caution. get newerNoncurrentVersionsInput() { return this._newerNoncurrentVersions; } get noncurrentDays() { return this.getNumberAttribute('noncurrent_days'); } set noncurrentDays(value) { this._noncurrentDays = value; } // Temporarily expose input value. Use with caution. get noncurrentDaysInput() { return this._noncurrentDays; } get storageClass() { return this.getStringAttribute('storage_class'); } set storageClass(value) { this._storageClass = value; } // Temporarily expose input value. Use with caution. get storageClassInput() { return this._storageClass; } } exports.S3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutputReference = S3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutputReference; _o = JSII_RTTI_SYMBOL_1; S3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutputReference[_o] = { fqn: "@cdktf/provider-aws.s3BucketLifecycleConfiguration.S3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutputReference", version: "21.22.1" }; class S3BucketLifecycleConfigurationRuleNoncurrentVersionTransitionList 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, wrap