@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,087 lines • 276 kB
JavaScript
"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