@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,060 lines • 292 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
Object.defineProperty(exports, "__esModule", { value: true });
exports.S3BucketReplicationConfigurationA = exports.S3BucketReplicationConfigurationRuleList = exports.S3BucketReplicationConfigurationRuleOutputReference = exports.S3BucketReplicationConfigurationRuleSourceSelectionCriteriaOutputReference = exports.S3BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutputReference = exports.S3BucketReplicationConfigurationRuleSourceSelectionCriteriaReplicaModificationsOutputReference = exports.S3BucketReplicationConfigurationRuleFilterOutputReference = exports.S3BucketReplicationConfigurationRuleFilterTagOutputReference = exports.S3BucketReplicationConfigurationRuleFilterAndOutputReference = exports.S3BucketReplicationConfigurationRuleExistingObjectReplicationOutputReference = exports.S3BucketReplicationConfigurationRuleDestinationOutputReference = exports.S3BucketReplicationConfigurationRuleDestinationReplicationTimeOutputReference = exports.S3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeOutputReference = exports.S3BucketReplicationConfigurationRuleDestinationMetricsOutputReference = exports.S3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdOutputReference = exports.S3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationOutputReference = exports.S3BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutputReference = exports.S3BucketReplicationConfigurationRuleDeleteMarkerReplicationOutputReference = void 0;
exports.s3BucketReplicationConfigurationRuleDeleteMarkerReplicationToTerraform = s3BucketReplicationConfigurationRuleDeleteMarkerReplicationToTerraform;
exports.s3BucketReplicationConfigurationRuleDeleteMarkerReplicationToHclTerraform = s3BucketReplicationConfigurationRuleDeleteMarkerReplicationToHclTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationAccessControlTranslationToTerraform = s3BucketReplicationConfigurationRuleDestinationAccessControlTranslationToTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationAccessControlTranslationToHclTerraform = s3BucketReplicationConfigurationRuleDestinationAccessControlTranslationToHclTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationToTerraform = s3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationToTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationToHclTerraform = s3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationToHclTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdToTerraform = s3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdToTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdToHclTerraform = s3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdToHclTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationMetricsToTerraform = s3BucketReplicationConfigurationRuleDestinationMetricsToTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationMetricsToHclTerraform = s3BucketReplicationConfigurationRuleDestinationMetricsToHclTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeToTerraform = s3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeToTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeToHclTerraform = s3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeToHclTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationReplicationTimeToTerraform = s3BucketReplicationConfigurationRuleDestinationReplicationTimeToTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationReplicationTimeToHclTerraform = s3BucketReplicationConfigurationRuleDestinationReplicationTimeToHclTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationToTerraform = s3BucketReplicationConfigurationRuleDestinationToTerraform;
exports.s3BucketReplicationConfigurationRuleDestinationToHclTerraform = s3BucketReplicationConfigurationRuleDestinationToHclTerraform;
exports.s3BucketReplicationConfigurationRuleExistingObjectReplicationToTerraform = s3BucketReplicationConfigurationRuleExistingObjectReplicationToTerraform;
exports.s3BucketReplicationConfigurationRuleExistingObjectReplicationToHclTerraform = s3BucketReplicationConfigurationRuleExistingObjectReplicationToHclTerraform;
exports.s3BucketReplicationConfigurationRuleFilterAndToTerraform = s3BucketReplicationConfigurationRuleFilterAndToTerraform;
exports.s3BucketReplicationConfigurationRuleFilterAndToHclTerraform = s3BucketReplicationConfigurationRuleFilterAndToHclTerraform;
exports.s3BucketReplicationConfigurationRuleFilterTagToTerraform = s3BucketReplicationConfigurationRuleFilterTagToTerraform;
exports.s3BucketReplicationConfigurationRuleFilterTagToHclTerraform = s3BucketReplicationConfigurationRuleFilterTagToHclTerraform;
exports.s3BucketReplicationConfigurationRuleFilterToTerraform = s3BucketReplicationConfigurationRuleFilterToTerraform;
exports.s3BucketReplicationConfigurationRuleFilterToHclTerraform = s3BucketReplicationConfigurationRuleFilterToHclTerraform;
exports.s3BucketReplicationConfigurationRuleSourceSelectionCriteriaReplicaModificationsToTerraform = s3BucketReplicationConfigurationRuleSourceSelectionCriteriaReplicaModificationsToTerraform;
exports.s3BucketReplicationConfigurationRuleSourceSelectionCriteriaReplicaModificationsToHclTerraform = s3BucketReplicationConfigurationRuleSourceSelectionCriteriaReplicaModificationsToHclTerraform;
exports.s3BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsToTerraform = s3BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsToTerraform;
exports.s3BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsToHclTerraform = s3BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsToHclTerraform;
exports.s3BucketReplicationConfigurationRuleSourceSelectionCriteriaToTerraform = s3BucketReplicationConfigurationRuleSourceSelectionCriteriaToTerraform;
exports.s3BucketReplicationConfigurationRuleSourceSelectionCriteriaToHclTerraform = s3BucketReplicationConfigurationRuleSourceSelectionCriteriaToHclTerraform;
exports.s3BucketReplicationConfigurationRuleToTerraform = s3BucketReplicationConfigurationRuleToTerraform;
exports.s3BucketReplicationConfigurationRuleToHclTerraform = s3BucketReplicationConfigurationRuleToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function s3BucketReplicationConfigurationRuleDeleteMarkerReplicationToTerraform(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 {
status: cdktf.stringToTerraform(struct.status),
};
}
function s3BucketReplicationConfigurationRuleDeleteMarkerReplicationToHclTerraform(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 = {
status: {
value: cdktf.stringToHclTerraform(struct.status),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketReplicationConfigurationRuleDeleteMarkerReplicationOutputReference 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._status !== undefined) {
hasAnyValues = true;
internalValueResult.status = this._status;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._status = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._status = value.status;
}
}
get status() {
return this.getStringAttribute('status');
}
set status(value) {
this._status = value;
}
// Temporarily expose input value. Use with caution.
get statusInput() {
return this._status;
}
}
exports.S3BucketReplicationConfigurationRuleDeleteMarkerReplicationOutputReference = S3BucketReplicationConfigurationRuleDeleteMarkerReplicationOutputReference;
_a = JSII_RTTI_SYMBOL_1;
S3BucketReplicationConfigurationRuleDeleteMarkerReplicationOutputReference[_a] = { fqn: "@cdktf/provider-aws.s3BucketReplicationConfiguration.S3BucketReplicationConfigurationRuleDeleteMarkerReplicationOutputReference", version: "21.22.1" };
function s3BucketReplicationConfigurationRuleDestinationAccessControlTranslationToTerraform(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 {
owner: cdktf.stringToTerraform(struct.owner),
};
}
function s3BucketReplicationConfigurationRuleDestinationAccessControlTranslationToHclTerraform(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 = {
owner: {
value: cdktf.stringToHclTerraform(struct.owner),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutputReference 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._owner !== undefined) {
hasAnyValues = true;
internalValueResult.owner = this._owner;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._owner = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._owner = value.owner;
}
}
get owner() {
return this.getStringAttribute('owner');
}
set owner(value) {
this._owner = value;
}
// Temporarily expose input value. Use with caution.
get ownerInput() {
return this._owner;
}
}
exports.S3BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutputReference = S3BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutputReference;
_b = JSII_RTTI_SYMBOL_1;
S3BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutputReference[_b] = { fqn: "@cdktf/provider-aws.s3BucketReplicationConfiguration.S3BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutputReference", version: "21.22.1" };
function s3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationToTerraform(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 {
replica_kms_key_id: cdktf.stringToTerraform(struct.replicaKmsKeyId),
};
}
function s3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationToHclTerraform(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 = {
replica_kms_key_id: {
value: cdktf.stringToHclTerraform(struct.replicaKmsKeyId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationOutputReference 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._replicaKmsKeyId !== undefined) {
hasAnyValues = true;
internalValueResult.replicaKmsKeyId = this._replicaKmsKeyId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._replicaKmsKeyId = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._replicaKmsKeyId = value.replicaKmsKeyId;
}
}
get replicaKmsKeyId() {
return this.getStringAttribute('replica_kms_key_id');
}
set replicaKmsKeyId(value) {
this._replicaKmsKeyId = value;
}
// Temporarily expose input value. Use with caution.
get replicaKmsKeyIdInput() {
return this._replicaKmsKeyId;
}
}
exports.S3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationOutputReference = S3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationOutputReference;
_c = JSII_RTTI_SYMBOL_1;
S3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationOutputReference[_c] = { fqn: "@cdktf/provider-aws.s3BucketReplicationConfiguration.S3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationOutputReference", version: "21.22.1" };
function s3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdToTerraform(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 {
minutes: cdktf.numberToTerraform(struct.minutes),
};
}
function s3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdToHclTerraform(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 = {
minutes: {
value: cdktf.numberToHclTerraform(struct.minutes),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdOutputReference 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._minutes !== undefined) {
hasAnyValues = true;
internalValueResult.minutes = this._minutes;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._minutes = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._minutes = value.minutes;
}
}
get minutes() {
return this.getNumberAttribute('minutes');
}
set minutes(value) {
this._minutes = value;
}
// Temporarily expose input value. Use with caution.
get minutesInput() {
return this._minutes;
}
}
exports.S3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdOutputReference = S3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdOutputReference;
_d = JSII_RTTI_SYMBOL_1;
S3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdOutputReference[_d] = { fqn: "@cdktf/provider-aws.s3BucketReplicationConfiguration.S3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdOutputReference", version: "21.22.1" };
function s3BucketReplicationConfigurationRuleDestinationMetricsToTerraform(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 {
status: cdktf.stringToTerraform(struct.status),
event_threshold: s3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdToTerraform(struct.eventThreshold),
};
}
function s3BucketReplicationConfigurationRuleDestinationMetricsToHclTerraform(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 = {
status: {
value: cdktf.stringToHclTerraform(struct.status),
isBlock: false,
type: "simple",
storageClassType: "string",
},
event_threshold: {
value: s3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdToHclTerraform(struct.eventThreshold),
isBlock: true,
type: "list",
storageClassType: "S3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketReplicationConfigurationRuleDestinationMetricsOutputReference 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;
// event_threshold - computed: false, optional: true, required: false
this._eventThreshold = new S3BucketReplicationConfigurationRuleDestinationMetricsEventThresholdOutputReference(this, "event_threshold");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._status !== undefined) {
hasAnyValues = true;
internalValueResult.status = this._status;
}
if (this._eventThreshold?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.eventThreshold = this._eventThreshold?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._status = undefined;
this._eventThreshold.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._status = value.status;
this._eventThreshold.internalValue = value.eventThreshold;
}
}
get status() {
return this.getStringAttribute('status');
}
set status(value) {
this._status = value;
}
// Temporarily expose input value. Use with caution.
get statusInput() {
return this._status;
}
get eventThreshold() {
return this._eventThreshold;
}
putEventThreshold(value) {
this._eventThreshold.internalValue = value;
}
resetEventThreshold() {
this._eventThreshold.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get eventThresholdInput() {
return this._eventThreshold.internalValue;
}
}
exports.S3BucketReplicationConfigurationRuleDestinationMetricsOutputReference = S3BucketReplicationConfigurationRuleDestinationMetricsOutputReference;
_e = JSII_RTTI_SYMBOL_1;
S3BucketReplicationConfigurationRuleDestinationMetricsOutputReference[_e] = { fqn: "@cdktf/provider-aws.s3BucketReplicationConfiguration.S3BucketReplicationConfigurationRuleDestinationMetricsOutputReference", version: "21.22.1" };
function s3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeToTerraform(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 {
minutes: cdktf.numberToTerraform(struct.minutes),
};
}
function s3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeToHclTerraform(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 = {
minutes: {
value: cdktf.numberToHclTerraform(struct.minutes),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeOutputReference 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._minutes !== undefined) {
hasAnyValues = true;
internalValueResult.minutes = this._minutes;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._minutes = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._minutes = value.minutes;
}
}
get minutes() {
return this.getNumberAttribute('minutes');
}
set minutes(value) {
this._minutes = value;
}
// Temporarily expose input value. Use with caution.
get minutesInput() {
return this._minutes;
}
}
exports.S3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeOutputReference = S3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeOutputReference;
_f = JSII_RTTI_SYMBOL_1;
S3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeOutputReference[_f] = { fqn: "@cdktf/provider-aws.s3BucketReplicationConfiguration.S3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeOutputReference", version: "21.22.1" };
function s3BucketReplicationConfigurationRuleDestinationReplicationTimeToTerraform(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 {
status: cdktf.stringToTerraform(struct.status),
time: s3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeToTerraform(struct.time),
};
}
function s3BucketReplicationConfigurationRuleDestinationReplicationTimeToHclTerraform(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 = {
status: {
value: cdktf.stringToHclTerraform(struct.status),
isBlock: false,
type: "simple",
storageClassType: "string",
},
time: {
value: s3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeToHclTerraform(struct.time),
isBlock: true,
type: "list",
storageClassType: "S3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketReplicationConfigurationRuleDestinationReplicationTimeOutputReference 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;
// time - computed: false, optional: false, required: true
this._time = new S3BucketReplicationConfigurationRuleDestinationReplicationTimeTimeOutputReference(this, "time");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._status !== undefined) {
hasAnyValues = true;
internalValueResult.status = this._status;
}
if (this._time?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.time = this._time?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._status = undefined;
this._time.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._status = value.status;
this._time.internalValue = value.time;
}
}
get status() {
return this.getStringAttribute('status');
}
set status(value) {
this._status = value;
}
// Temporarily expose input value. Use with caution.
get statusInput() {
return this._status;
}
get time() {
return this._time;
}
putTime(value) {
this._time.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get timeInput() {
return this._time.internalValue;
}
}
exports.S3BucketReplicationConfigurationRuleDestinationReplicationTimeOutputReference = S3BucketReplicationConfigurationRuleDestinationReplicationTimeOutputReference;
_g = JSII_RTTI_SYMBOL_1;
S3BucketReplicationConfigurationRuleDestinationReplicationTimeOutputReference[_g] = { fqn: "@cdktf/provider-aws.s3BucketReplicationConfiguration.S3BucketReplicationConfigurationRuleDestinationReplicationTimeOutputReference", version: "21.22.1" };
function s3BucketReplicationConfigurationRuleDestinationToTerraform(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 {
account: cdktf.stringToTerraform(struct.account),
bucket: cdktf.stringToTerraform(struct.bucket),
storage_class: cdktf.stringToTerraform(struct.storageClass),
access_control_translation: s3BucketReplicationConfigurationRuleDestinationAccessControlTranslationToTerraform(struct.accessControlTranslation),
encryption_configuration: s3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationToTerraform(struct.encryptionConfiguration),
metrics: s3BucketReplicationConfigurationRuleDestinationMetricsToTerraform(struct.metrics),
replication_time: s3BucketReplicationConfigurationRuleDestinationReplicationTimeToTerraform(struct.replicationTime),
};
}
function s3BucketReplicationConfigurationRuleDestinationToHclTerraform(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 = {
account: {
value: cdktf.stringToHclTerraform(struct.account),
isBlock: false,
type: "simple",
storageClassType: "string",
},
bucket: {
value: cdktf.stringToHclTerraform(struct.bucket),
isBlock: false,
type: "simple",
storageClassType: "string",
},
storage_class: {
value: cdktf.stringToHclTerraform(struct.storageClass),
isBlock: false,
type: "simple",
storageClassType: "string",
},
access_control_translation: {
value: s3BucketReplicationConfigurationRuleDestinationAccessControlTranslationToHclTerraform(struct.accessControlTranslation),
isBlock: true,
type: "list",
storageClassType: "S3BucketReplicationConfigurationRuleDestinationAccessControlTranslationList",
},
encryption_configuration: {
value: s3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationToHclTerraform(struct.encryptionConfiguration),
isBlock: true,
type: "list",
storageClassType: "S3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationList",
},
metrics: {
value: s3BucketReplicationConfigurationRuleDestinationMetricsToHclTerraform(struct.metrics),
isBlock: true,
type: "list",
storageClassType: "S3BucketReplicationConfigurationRuleDestinationMetricsList",
},
replication_time: {
value: s3BucketReplicationConfigurationRuleDestinationReplicationTimeToHclTerraform(struct.replicationTime),
isBlock: true,
type: "list",
storageClassType: "S3BucketReplicationConfigurationRuleDestinationReplicationTimeList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketReplicationConfigurationRuleDestinationOutputReference 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;
// access_control_translation - computed: false, optional: true, required: false
this._accessControlTranslation = new S3BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutputReference(this, "access_control_translation");
// encryption_configuration - computed: false, optional: true, required: false
this._encryptionConfiguration = new S3BucketReplicationConfigurationRuleDestinationEncryptionConfigurationOutputReference(this, "encryption_configuration");
// metrics - computed: false, optional: true, required: false
this._metrics = new S3BucketReplicationConfigurationRuleDestinationMetricsOutputReference(this, "metrics");
// replication_time - computed: false, optional: true, required: false
this._replicationTime = new S3BucketReplicationConfigurationRuleDestinationReplicationTimeOutputReference(this, "replication_time");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._account !== undefined) {
hasAnyValues = true;
internalValueResult.account = this._account;
}
if (this._bucket !== undefined) {
hasAnyValues = true;
internalValueResult.bucket = this._bucket;
}
if (this._storageClass !== undefined) {
hasAnyValues = true;
internalValueResult.storageClass = this._storageClass;
}
if (this._accessControlTranslation?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.accessControlTranslation = this._accessControlTranslation?.internalValue;
}
if (this._encryptionConfiguration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.encryptionConfiguration = this._encryptionConfiguration?.internalValue;
}
if (this._metrics?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.metrics = this._metrics?.internalValue;
}
if (this._replicationTime?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.replicationTime = this._replicationTime?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._account = undefined;
this._bucket = undefined;
this._storageClass = undefined;
this._accessControlTranslation.internalValue = undefined;
this._encryptionConfiguration.internalValue = undefined;
this._metrics.internalValue = undefined;
this._replicationTime.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._account = value.account;
this._bucket = value.bucket;
this._storageClass = value.storageClass;
this._accessControlTranslation.internalValue = value.accessControlTranslation;
this._encryptionConfiguration.internalValue = value.encryptionConfiguration;
this._metrics.internalValue = value.metrics;
this._replicationTime.internalValue = value.replicationTime;
}
}
get account() {
return this.getStringAttribute('account');
}
set account(value) {
this._account = value;
}
resetAccount() {
this._account = undefined;
}
// Temporarily expose input value. Use with caution.
get accountInput() {
return this._account;
}
get bucket() {
return this.getStringAttribute('bucket');
}
set bucket(value) {
this._bucket = value;
}
// Temporarily expose input value. Use with caution.
get bucketInput() {
return this._bucket;
}
get storageClass() {
return this.getStringAttribute('storage_class');
}
set storageClass(value) {
this._storageClass = value;
}
resetStorageClass() {
this._storageClass = undefined;
}
// Temporarily expose input value. Use with caution.
get storageClassInput() {
return this._storageClass;
}
get accessControlTranslation() {
return this._accessControlTranslation;
}
putAccessControlTranslation(value) {
this._accessControlTranslation.internalValue = value;
}
resetAccessControlTranslation() {
this._accessControlTranslation.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get accessControlTranslationInput() {
return this._accessControlTranslation.internalValue;
}
get encryptionConfiguration() {
return this._encryptionConfiguration;
}
putEncryptionConfiguration(value) {
this._encryptionConfiguration.internalValue = value;
}
resetEncryptionConfiguration() {
this._encryptionConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get encryptionConfigurationInput() {
return this._encryptionConfiguration.internalValue;
}
get metrics() {
return this._metrics;
}
putMetrics(value) {
this._metrics.internalValue = value;
}
resetMetrics() {
this._metrics.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get metricsInput() {
return this._metrics.internalValue;
}
get replicationTime() {
return this._replicationTime;
}
putReplicationTime(value) {
this._replicationTime.internalValue = value;
}
resetReplicationTime() {
this._replicationTime.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get replicationTimeInput() {
return this._replicationTime.internalValue;
}
}
exports.S3BucketReplicationConfigurationRuleDestinationOutputReference = S3BucketReplicationConfigurationRuleDestinationOutputReference;
_h = JSII_RTTI_SYMBOL_1;
S3BucketReplicationConfigurationRuleDestinationOutputReference[_h] = { fqn: "@cdktf/provider-aws.s3BucketReplicationConfiguration.S3BucketReplicationConfigurationRuleDestinationOutputReference", version: "21.22.1" };
function s3BucketReplicationConfigurationRuleExistingObjectReplicationToTerraform(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 {
status: cdktf.stringToTerraform(struct.status),
};
}
function s3BucketReplicationConfigurationRuleExistingObjectReplicationToHclTerraform(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 = {
status: {
value: cdktf.stringToHclTerraform(struct.status),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketReplicationConfigurationRuleExistingObjectReplicationOutputReference 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._status !== undefined) {
hasAnyValues = true;
internalValueResult.status = this._status;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._status = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._status = value.status;
}
}
get status() {
return this.getStringAttribute('status');
}
set status(value) {
this._status = value;
}
// Temporarily expose input value. Use with caution.
get statusInput() {
return this._status;
}
}
exports.S3BucketReplicationConfigurationRuleExistingObjectReplicationOutputReference = S3BucketReplicationConfigurationRuleExistingObjectReplicationOutputReference;
_j = JSII_RTTI_SYMBOL_1;
S3BucketReplicationConfigurationRuleExistingObjectReplicationOutputReference[_j] = { fqn: "@cdktf/provider-aws.s3BucketReplicationConfiguration.S3BucketReplicationConfigurationRuleExistingObjectReplicationOutputReference", version: "21.22.1" };
function s3BucketReplicationConfigurationRuleFilterAndToTerraform(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 {
prefix: cdktf.stringToTerraform(struct.prefix),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(struct.tags),
};
}
function s3BucketReplicationConfigurationRuleFilterAndToHclTerraform(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 = {
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 S3BucketReplicationConfigurationRuleFilterAndOutputReference 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._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._prefix = undefined;
this._tags = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._prefix = value.prefix;
this._tags = value.tags;
}
}
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.S3BucketReplicationConfigurationRuleFilterAndOutputReference = S3BucketReplicationConfigurationRuleFilterAndOutputReference;
_k = JSII_RTTI_SYMBOL_1;
S3BucketReplicationConfigurationRuleFilterAndOutputReference[_k] = { fqn: "@cdktf/provider-aws.s3BucketReplicationConfiguration.S3BucketReplicationConfigurationRuleFilterAndOutputReference", version: "21.22.1" };
function s3BucketReplicationConfigurationRuleFilterTagToTerraform(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 s3BucketReplicationConfigurationRuleFilterTagToHclTerraform(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 S3BucketReplicationConfigurationRuleFilterTagOutputReference 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._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._key = undefined;
this._value = undefined;
}
else {
this.isEmptyObject = Object.keys(v