@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,083 lines • 565 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, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
Object.defineProperty(exports, "__esModule", { value: true });
exports.S3BucketReplicationConfigurationRulesDestinationOutputReference = exports.s3BucketReplicationConfigurationRulesDestinationToHclTerraform = exports.s3BucketReplicationConfigurationRulesDestinationToTerraform = exports.S3BucketReplicationConfigurationRulesDestinationReplicationTimeOutputReference = exports.s3BucketReplicationConfigurationRulesDestinationReplicationTimeToHclTerraform = exports.s3BucketReplicationConfigurationRulesDestinationReplicationTimeToTerraform = exports.S3BucketReplicationConfigurationRulesDestinationMetricsOutputReference = exports.s3BucketReplicationConfigurationRulesDestinationMetricsToHclTerraform = exports.s3BucketReplicationConfigurationRulesDestinationMetricsToTerraform = exports.S3BucketReplicationConfigurationRulesDestinationAccessControlTranslationOutputReference = exports.s3BucketReplicationConfigurationRulesDestinationAccessControlTranslationToHclTerraform = exports.s3BucketReplicationConfigurationRulesDestinationAccessControlTranslationToTerraform = exports.S3BucketObjectLockConfigurationOutputReference = exports.s3BucketObjectLockConfigurationToHclTerraform = exports.s3BucketObjectLockConfigurationToTerraform = exports.S3BucketObjectLockConfigurationRuleOutputReference = exports.s3BucketObjectLockConfigurationRuleToHclTerraform = exports.s3BucketObjectLockConfigurationRuleToTerraform = exports.S3BucketObjectLockConfigurationRuleDefaultRetentionOutputReference = exports.s3BucketObjectLockConfigurationRuleDefaultRetentionToHclTerraform = exports.s3BucketObjectLockConfigurationRuleDefaultRetentionToTerraform = exports.S3BucketLoggingOutputReference = exports.s3BucketLoggingToHclTerraform = exports.s3BucketLoggingToTerraform = exports.S3BucketLifecycleRuleList = exports.S3BucketLifecycleRuleOutputReference = exports.s3BucketLifecycleRuleToHclTerraform = exports.s3BucketLifecycleRuleToTerraform = exports.S3BucketLifecycleRuleTransitionList = exports.S3BucketLifecycleRuleTransitionOutputReference = exports.s3BucketLifecycleRuleTransitionToHclTerraform = exports.s3BucketLifecycleRuleTransitionToTerraform = exports.S3BucketLifecycleRuleNoncurrentVersionTransitionList = exports.S3BucketLifecycleRuleNoncurrentVersionTransitionOutputReference = exports.s3BucketLifecycleRuleNoncurrentVersionTransitionToHclTerraform = exports.s3BucketLifecycleRuleNoncurrentVersionTransitionToTerraform = exports.S3BucketLifecycleRuleNoncurrentVersionExpirationOutputReference = exports.s3BucketLifecycleRuleNoncurrentVersionExpirationToHclTerraform = exports.s3BucketLifecycleRuleNoncurrentVersionExpirationToTerraform = exports.S3BucketLifecycleRuleExpirationOutputReference = exports.s3BucketLifecycleRuleExpirationToHclTerraform = exports.s3BucketLifecycleRuleExpirationToTerraform = exports.S3BucketGrantList = exports.S3BucketGrantOutputReference = exports.s3BucketGrantToHclTerraform = exports.s3BucketGrantToTerraform = exports.S3BucketCorsRuleList = exports.S3BucketCorsRuleOutputReference = exports.s3BucketCorsRuleToHclTerraform = exports.s3BucketCorsRuleToTerraform = void 0;
exports.S3Bucket = exports.S3BucketWebsiteOutputReference = exports.s3BucketWebsiteToHclTerraform = exports.s3BucketWebsiteToTerraform = exports.S3BucketVersioningOutputReference = exports.s3BucketVersioningToHclTerraform = exports.s3BucketVersioningToTerraform = exports.S3BucketTimeoutsOutputReference = exports.s3BucketTimeoutsToHclTerraform = exports.s3BucketTimeoutsToTerraform = exports.S3BucketServerSideEncryptionConfigurationOutputReference = exports.s3BucketServerSideEncryptionConfigurationToHclTerraform = exports.s3BucketServerSideEncryptionConfigurationToTerraform = exports.S3BucketServerSideEncryptionConfigurationRuleOutputReference = exports.s3BucketServerSideEncryptionConfigurationRuleToHclTerraform = exports.s3BucketServerSideEncryptionConfigurationRuleToTerraform = exports.S3BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutputReference = exports.s3BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultToHclTerraform = exports.s3BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultToTerraform = exports.S3BucketReplicationConfigurationOutputReference = exports.s3BucketReplicationConfigurationToHclTerraform = exports.s3BucketReplicationConfigurationToTerraform = exports.S3BucketReplicationConfigurationRulesList = exports.S3BucketReplicationConfigurationRulesOutputReference = exports.s3BucketReplicationConfigurationRulesToHclTerraform = exports.s3BucketReplicationConfigurationRulesToTerraform = exports.S3BucketReplicationConfigurationRulesSourceSelectionCriteriaOutputReference = exports.s3BucketReplicationConfigurationRulesSourceSelectionCriteriaToHclTerraform = exports.s3BucketReplicationConfigurationRulesSourceSelectionCriteriaToTerraform = exports.S3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjectsOutputReference = exports.s3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjectsToHclTerraform = exports.s3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjectsToTerraform = exports.S3BucketReplicationConfigurationRulesFilterOutputReference = exports.s3BucketReplicationConfigurationRulesFilterToHclTerraform = exports.s3BucketReplicationConfigurationRulesFilterToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function s3BucketCorsRuleToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
allowed_headers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowedHeaders),
allowed_methods: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowedMethods),
allowed_origins: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowedOrigins),
expose_headers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.exposeHeaders),
max_age_seconds: cdktf.numberToTerraform(struct.maxAgeSeconds),
};
}
exports.s3BucketCorsRuleToTerraform = s3BucketCorsRuleToTerraform;
function s3BucketCorsRuleToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
allowed_headers: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowedHeaders),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
allowed_methods: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowedMethods),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
allowed_origins: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowedOrigins),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
expose_headers: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.exposeHeaders),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
max_age_seconds: {
value: cdktf.numberToHclTerraform(struct.maxAgeSeconds),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.s3BucketCorsRuleToHclTerraform = s3BucketCorsRuleToHclTerraform;
class S3BucketCorsRuleOutputReference 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._allowedHeaders !== undefined) {
hasAnyValues = true;
internalValueResult.allowedHeaders = this._allowedHeaders;
}
if (this._allowedMethods !== undefined) {
hasAnyValues = true;
internalValueResult.allowedMethods = this._allowedMethods;
}
if (this._allowedOrigins !== undefined) {
hasAnyValues = true;
internalValueResult.allowedOrigins = this._allowedOrigins;
}
if (this._exposeHeaders !== undefined) {
hasAnyValues = true;
internalValueResult.exposeHeaders = this._exposeHeaders;
}
if (this._maxAgeSeconds !== undefined) {
hasAnyValues = true;
internalValueResult.maxAgeSeconds = this._maxAgeSeconds;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._allowedHeaders = undefined;
this._allowedMethods = undefined;
this._allowedOrigins = undefined;
this._exposeHeaders = undefined;
this._maxAgeSeconds = 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._allowedHeaders = value.allowedHeaders;
this._allowedMethods = value.allowedMethods;
this._allowedOrigins = value.allowedOrigins;
this._exposeHeaders = value.exposeHeaders;
this._maxAgeSeconds = value.maxAgeSeconds;
}
}
get allowedHeaders() {
return this.getListAttribute('allowed_headers');
}
set allowedHeaders(value) {
this._allowedHeaders = value;
}
resetAllowedHeaders() {
this._allowedHeaders = undefined;
}
// Temporarily expose input value. Use with caution.
get allowedHeadersInput() {
return this._allowedHeaders;
}
get allowedMethods() {
return this.getListAttribute('allowed_methods');
}
set allowedMethods(value) {
this._allowedMethods = value;
}
// Temporarily expose input value. Use with caution.
get allowedMethodsInput() {
return this._allowedMethods;
}
get allowedOrigins() {
return this.getListAttribute('allowed_origins');
}
set allowedOrigins(value) {
this._allowedOrigins = value;
}
// Temporarily expose input value. Use with caution.
get allowedOriginsInput() {
return this._allowedOrigins;
}
get exposeHeaders() {
return this.getListAttribute('expose_headers');
}
set exposeHeaders(value) {
this._exposeHeaders = value;
}
resetExposeHeaders() {
this._exposeHeaders = undefined;
}
// Temporarily expose input value. Use with caution.
get exposeHeadersInput() {
return this._exposeHeaders;
}
get maxAgeSeconds() {
return this.getNumberAttribute('max_age_seconds');
}
set maxAgeSeconds(value) {
this._maxAgeSeconds = value;
}
resetMaxAgeSeconds() {
this._maxAgeSeconds = undefined;
}
// Temporarily expose input value. Use with caution.
get maxAgeSecondsInput() {
return this._maxAgeSeconds;
}
}
exports.S3BucketCorsRuleOutputReference = S3BucketCorsRuleOutputReference;
_a = JSII_RTTI_SYMBOL_1;
S3BucketCorsRuleOutputReference[_a] = { fqn: "@cdktf/provider-aws.s3Bucket.S3BucketCorsRuleOutputReference", version: "19.50.0" };
class S3BucketCorsRuleList 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 S3BucketCorsRuleOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.S3BucketCorsRuleList = S3BucketCorsRuleList;
_b = JSII_RTTI_SYMBOL_1;
S3BucketCorsRuleList[_b] = { fqn: "@cdktf/provider-aws.s3Bucket.S3BucketCorsRuleList", version: "19.50.0" };
function s3BucketGrantToTerraform(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 {
id: cdktf.stringToTerraform(struct.id),
permissions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.permissions),
type: cdktf.stringToTerraform(struct.type),
uri: cdktf.stringToTerraform(struct.uri),
};
}
exports.s3BucketGrantToTerraform = s3BucketGrantToTerraform;
function s3BucketGrantToHclTerraform(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 = {
id: {
value: cdktf.stringToHclTerraform(struct.id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
permissions: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.permissions),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
uri: {
value: cdktf.stringToHclTerraform(struct.uri),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.s3BucketGrantToHclTerraform = s3BucketGrantToHclTerraform;
class S3BucketGrantOutputReference 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._id !== undefined) {
hasAnyValues = true;
internalValueResult.id = this._id;
}
if (this._permissions !== undefined) {
hasAnyValues = true;
internalValueResult.permissions = this._permissions;
}
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
if (this._uri !== undefined) {
hasAnyValues = true;
internalValueResult.uri = this._uri;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._id = undefined;
this._permissions = undefined;
this._type = undefined;
this._uri = 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._id = value.id;
this._permissions = value.permissions;
this._type = value.type;
this._uri = value.uri;
}
}
get id() {
return this.getStringAttribute('id');
}
set id(value) {
this._id = value;
}
resetId() {
this._id = undefined;
}
// Temporarily expose input value. Use with caution.
get idInput() {
return this._id;
}
get permissions() {
return cdktf.Fn.tolist(this.getListAttribute('permissions'));
}
set permissions(value) {
this._permissions = value;
}
// Temporarily expose input value. Use with caution.
get permissionsInput() {
return this._permissions;
}
get type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
get uri() {
return this.getStringAttribute('uri');
}
set uri(value) {
this._uri = value;
}
resetUri() {
this._uri = undefined;
}
// Temporarily expose input value. Use with caution.
get uriInput() {
return this._uri;
}
}
exports.S3BucketGrantOutputReference = S3BucketGrantOutputReference;
_c = JSII_RTTI_SYMBOL_1;
S3BucketGrantOutputReference[_c] = { fqn: "@cdktf/provider-aws.s3Bucket.S3BucketGrantOutputReference", version: "19.50.0" };
class S3BucketGrantList 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 S3BucketGrantOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.S3BucketGrantList = S3BucketGrantList;
_d = JSII_RTTI_SYMBOL_1;
S3BucketGrantList[_d] = { fqn: "@cdktf/provider-aws.s3Bucket.S3BucketGrantList", version: "19.50.0" };
function s3BucketLifecycleRuleExpirationToTerraform(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),
};
}
exports.s3BucketLifecycleRuleExpirationToTerraform = s3BucketLifecycleRuleExpirationToTerraform;
function s3BucketLifecycleRuleExpirationToHclTerraform(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));
}
exports.s3BucketLifecycleRuleExpirationToHclTerraform = s3BucketLifecycleRuleExpirationToHclTerraform;
class S3BucketLifecycleRuleExpirationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false, 0);
this.isEmptyObject = false;
}
get internalValue() {
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._date = undefined;
this._days = undefined;
this._expiredObjectDeleteMarker = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
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.S3BucketLifecycleRuleExpirationOutputReference = S3BucketLifecycleRuleExpirationOutputReference;
_e = JSII_RTTI_SYMBOL_1;
S3BucketLifecycleRuleExpirationOutputReference[_e] = { fqn: "@cdktf/provider-aws.s3Bucket.S3BucketLifecycleRuleExpirationOutputReference", version: "19.50.0" };
function s3BucketLifecycleRuleNoncurrentVersionExpirationToTerraform(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),
};
}
exports.s3BucketLifecycleRuleNoncurrentVersionExpirationToTerraform = s3BucketLifecycleRuleNoncurrentVersionExpirationToTerraform;
function s3BucketLifecycleRuleNoncurrentVersionExpirationToHclTerraform(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",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.s3BucketLifecycleRuleNoncurrentVersionExpirationToHclTerraform = s3BucketLifecycleRuleNoncurrentVersionExpirationToHclTerraform;
class S3BucketLifecycleRuleNoncurrentVersionExpirationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._days !== undefined) {
hasAnyValues = true;
internalValueResult.days = this._days;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._days = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._days = value.days;
}
}
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;
}
}
exports.S3BucketLifecycleRuleNoncurrentVersionExpirationOutputReference = S3BucketLifecycleRuleNoncurrentVersionExpirationOutputReference;
_f = JSII_RTTI_SYMBOL_1;
S3BucketLifecycleRuleNoncurrentVersionExpirationOutputReference[_f] = { fqn: "@cdktf/provider-aws.s3Bucket.S3BucketLifecycleRuleNoncurrentVersionExpirationOutputReference", version: "19.50.0" };
function s3BucketLifecycleRuleNoncurrentVersionTransitionToTerraform(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),
storage_class: cdktf.stringToTerraform(struct.storageClass),
};
}
exports.s3BucketLifecycleRuleNoncurrentVersionTransitionToTerraform = s3BucketLifecycleRuleNoncurrentVersionTransitionToTerraform;
function s3BucketLifecycleRuleNoncurrentVersionTransitionToHclTerraform(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",
},
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));
}
exports.s3BucketLifecycleRuleNoncurrentVersionTransitionToHclTerraform = s3BucketLifecycleRuleNoncurrentVersionTransitionToHclTerraform;
class S3BucketLifecycleRuleNoncurrentVersionTransitionOutputReference 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._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._days = 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._days = value.days;
this._storageClass = value.storageClass;
}
}
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 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.S3BucketLifecycleRuleNoncurrentVersionTransitionOutputReference = S3BucketLifecycleRuleNoncurrentVersionTransitionOutputReference;
_g = JSII_RTTI_SYMBOL_1;
S3BucketLifecycleRuleNoncurrentVersionTransitionOutputReference[_g] = { fqn: "@cdktf/provider-aws.s3Bucket.S3BucketLifecycleRuleNoncurrentVersionTransitionOutputReference", version: "19.50.0" };
class S3BucketLifecycleRuleNoncurrentVersionTransitionList 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 S3BucketLifecycleRuleNoncurrentVersionTransitionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.S3BucketLifecycleRuleNoncurrentVersionTransitionList = S3BucketLifecycleRuleNoncurrentVersionTransitionList;
_h = JSII_RTTI_SYMBOL_1;
S3BucketLifecycleRuleNoncurrentVersionTransitionList[_h] = { fqn: "@cdktf/provider-aws.s3Bucket.S3BucketLifecycleRuleNoncurrentVersionTransitionList", version: "19.50.0" };
function s3BucketLifecycleRuleTransitionToTerraform(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),
storage_class: cdktf.stringToTerraform(struct.storageClass),
};
}
exports.s3BucketLifecycleRuleTransitionToTerraform = s3BucketLifecycleRuleTransitionToTerraform;
function s3BucketLifecycleRuleTransitionToHclTerraform(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",
},
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));
}
exports.s3BucketLifecycleRuleTransitionToHclTerraform = s3BucketLifecycleRuleTransitionToHclTerraform;
class S3BucketLifecycleRuleTransitionOutputReference 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._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._date = undefined;
this._days = 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._date = value.date;
this._days = value.days;
this._storageClass = value.storageClass;
}
}
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 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.S3BucketLifecycleRuleTransitionOutputReference = S3BucketLifecycleRuleTransitionOutputReference;
_j = JSII_RTTI_SYMBOL_1;
S3BucketLifecycleRuleTransitionOutputReference[_j] = { fqn: "@cdktf/provider-aws.s3Bucket.S3BucketLifecycleRuleTransitionOutputReference", version: "19.50.0" };
class S3BucketLifecycleRuleTransitionList 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 S3BucketLifecycleRuleTransitionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.S3BucketLifecycleRuleTransitionList = S3BucketLifecycleRuleTransitionList;
_k = JSII_RTTI_SYMBOL_1;
S3BucketLifecycleRuleTransitionList[_k] = { fqn: "@cdktf/provider-aws.s3Bucket.S3BucketLifecycleRuleTransitionList", version: "19.50.0" };
function s3BucketLifecycleRuleToTerraform(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 {
abort_incomplete_multipart_upload_days: cdktf.numberToTerraform(struct.abortIncompleteMultipartUploadDays),
enabled: cdktf.booleanToTerraform(struct.enabled),
id: cdktf.stringToTerraform(struct.id),
prefix: cdktf.stringToTerraform(struct.prefix),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(struct.tags),
expiration: s3BucketLifecycleRuleExpirationToTerraform(struct.expiration),
noncurrent_version_expiration: s3BucketLifecycleRuleNoncurrentVersionExpirationToTerraform(struct.noncurrentVersionExpiration),
noncurrent_version_transition: cdktf.listMapper(s3BucketLifecycleRuleNoncurrentVersionTransitionToTerraform, true)(struct.noncurrentVersionTransition),
transition: cdktf.listMapper(s3BucketLifecycleRuleTransitionToTerraform, true)(struct.transition),
};
}
exports.s3BucketLifecycleRuleToTerraform = s3BucketLifecycleRuleToTerraform;
function s3BucketLifecycleRuleToHclTerraform(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 = {
abort_incomplete_multipart_upload_days: {
value: cdktf.numberToHclTerraform(struct.abortIncompleteMultipartUploadDays),
isBlock: false,
type: "simple",
storageClassType: "number",
},
enabled: {
value: cdktf.booleanToHclTerraform(struct.enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
id: {
value: cdktf.stringToHclTerraform(struct.id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
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",
},
expiration: {
value: s3BucketLifecycleRuleExpirationToHclTerraform(struct.expiration),
isBlock: true,
type: "list",
storageClassType: "S3BucketLifecycleRuleExpirationList",
},
noncurrent_version_expiration: {
value: s3BucketLifecycleRuleNoncurrentVersionExpirationToHclTerraform(struct.noncurrentVersionExpiration),
isBlock: true,
type: "list",
storageClassType: "S3BucketLifecycleRuleNoncurrentVersionExpirationList",
},
noncurrent_version_transition: {
value: cdktf.listMapperHcl(s3BucketLifecycleRuleNoncurrentVersionTransitionToHclTerraform, true)(struct.noncurrentVersionTransition),
isBlock: true,
type: "set",
storageClassType: "S3BucketLifecycleRuleNoncurrentVersionTransitionList",
},
transition: {
value: cdktf.listMapperHcl(s3BucketLifecycleRuleTransitionToHclTerraform, true)(struct.transition),
isBlock: true,
type: "set",
storageClassType: "S3BucketLifecycleRuleTransitionList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.s3BucketLifecycleRuleToHclTerraform = s3BucketLifecycleRuleToHclTerraform;
class S3BucketLifecycleRuleOutputReference 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;
// expiration - computed: false, optional: true, required: false
this._expiration = new S3BucketLifecycleRuleExpirationOutputReference(this, "expiration");
// noncurrent_version_expiration - computed: false, optional: true, required: false
this._noncurrentVersionExpiration = new S3BucketLifecycleRuleNoncurrentVersionExpirationOutputReference(this, "noncurrent_version_expiration");
// noncurrent_version_transition - computed: false, optional: true, required: false
this._noncurrentVersionTransition = new S3BucketLifecycleRuleNoncurrentVersionTransitionList(this, "noncurrent_version_transition", true);
// transition - computed: false, optional: true, required: false
this._transition = new S3BucketLifecycleRuleTransitionList(this, "transition", true);
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._abortIncompleteMultipartUploadDays !== undefined) {
hasAnyValues = true;
internalValueResult.abortIncompleteMultipartUploadDays = this._abortIncompleteMultipartUploadDays;
}
if (this._enabled !== undefined) {
hasAnyValues = true;
internalValueResult.enabled = this._enabled;
}
if (this._id !== undefined) {
hasAnyValues = true;
internalValueResult.id = this._id;
}
if (this._prefix !== undefined) {
hasAnyValues = true;
internalValueResult.prefix = this._prefix;
}
if (this._tags !== undefined) {
hasAnyValues = true;
internalValueResult.tags = this._tags;
}
if (this._expiration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.expiration = this._expiration?.internalValue;
}
if (this._noncurrentVersionExpiration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.noncurrentVersionExpiration = this._noncurrentVersionExpiration?.internalValue;
}
if (this._noncurrentVersionTransition?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.noncurrentVersionTransition = this._noncurrentVersionTransition?.internalValue;
}
if (this._transition?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.transition = this._transition?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._abortIncompleteMultipartUploadDays = undefined;
this._enabled = undefined;
this._id = undefined;
this._prefix = undefined;
this._tags = undefined;
this._expiration.internalValue = undefined;
this._noncurrentVersionExpiration.internalValue = undefined;
this._noncurrentVersionTransition.internalValue = undefined;
this._transition.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._abortIncompleteMultipartUploadDays = value.abortIncompleteMultipartUploadDays;
this._enabled = value.enabled;
this._id = value.id;
this._prefix = value.prefix;
this._tags = value.tags;
this._expiration.internalValue = value.expiration;
this._noncurrentVersionExpiration.internalValue = value.noncurrentVersionExpiration;
this._noncurrentVersionTransition.internalValue = value.noncurrentVersionTransition;
this._transition.internalValue = value.transition;
}
}
get abortIncompleteMultipartUploadDays() {
return this.getNumberAttribute('abort_incomplete_multipart_upload_days');
}
set abortIncompleteMultipartUploadDays(value) {
this._abortIncompleteMultipartUploadDays = value;
}
resetAbortIncompleteMultipartUploadDays() {
this._abortIncompleteMultipartUploadDays = undefined;
}
// Temporarily expose input value. Use with caution.
get abortIncompleteMultipartUploadDaysInput() {
return this._abortInc