@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
907 lines • 186 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
Object.defineProperty(exports, "__esModule", { value: true });
exports.S3BucketMetadataConfiguration = exports.S3BucketMetadataConfigurationTimeoutsOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationList = exports.S3BucketMetadataConfigurationMetadataConfigurationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList = exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList = exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList = exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference = exports.S3BucketMetadataConfigurationMetadataConfigurationDestinationList = exports.S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference = void 0;
exports.s3BucketMetadataConfigurationMetadataConfigurationDestinationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationDestinationToTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationDestinationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationDestinationToHclTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToHclTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToHclTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToHclTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToHclTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToHclTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationToTerraform = s3BucketMetadataConfigurationMetadataConfigurationToTerraform;
exports.s3BucketMetadataConfigurationMetadataConfigurationToHclTerraform = s3BucketMetadataConfigurationMetadataConfigurationToHclTerraform;
exports.s3BucketMetadataConfigurationTimeoutsToTerraform = s3BucketMetadataConfigurationTimeoutsToTerraform;
exports.s3BucketMetadataConfigurationTimeoutsToHclTerraform = s3BucketMetadataConfigurationTimeoutsToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function s3BucketMetadataConfigurationMetadataConfigurationDestinationToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {};
}
function s3BucketMetadataConfigurationMetadataConfigurationDestinationToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {};
return attrs;
}
class S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
}
}
// table_bucket_arn - computed: true, optional: false, required: false
get tableBucketArn() {
return this.getStringAttribute('table_bucket_arn');
}
// table_bucket_type - computed: true, optional: false, required: false
get tableBucketType() {
return this.getStringAttribute('table_bucket_type');
}
// table_namespace - computed: true, optional: false, required: false
get tableNamespace() {
return this.getStringAttribute('table_namespace');
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference;
_a = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference[_a] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference", version: "21.22.1" };
class S3BucketMetadataConfigurationMetadataConfigurationDestinationList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource = terraformResource;
this.terraformAttribute = terraformAttribute;
this.wrapsSet = wrapsSet;
}
/**
* @param index the index of the item to return
*/
get(index) {
return new S3BucketMetadataConfigurationMetadataConfigurationDestinationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationDestinationList = S3BucketMetadataConfigurationMetadataConfigurationDestinationList;
_b = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationDestinationList[_b] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationDestinationList", version: "21.22.1" };
function s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
kms_key_arn: cdktf.stringToTerraform(struct.kmsKeyArn),
sse_algorithm: cdktf.stringToTerraform(struct.sseAlgorithm),
};
}
function s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
kms_key_arn: {
value: cdktf.stringToHclTerraform(struct.kmsKeyArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
sse_algorithm: {
value: cdktf.stringToHclTerraform(struct.sseAlgorithm),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._kmsKeyArn !== undefined) {
hasAnyValues = true;
internalValueResult.kmsKeyArn = this._kmsKeyArn;
}
if (this._sseAlgorithm !== undefined) {
hasAnyValues = true;
internalValueResult.sseAlgorithm = this._sseAlgorithm;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._kmsKeyArn = undefined;
this._sseAlgorithm = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._kmsKeyArn = value.kmsKeyArn;
this._sseAlgorithm = value.sseAlgorithm;
}
}
get kmsKeyArn() {
return this.getStringAttribute('kms_key_arn');
}
set kmsKeyArn(value) {
this._kmsKeyArn = value;
}
resetKmsKeyArn() {
this._kmsKeyArn = undefined;
}
// Temporarily expose input value. Use with caution.
get kmsKeyArnInput() {
return this._kmsKeyArn;
}
get sseAlgorithm() {
return this.getStringAttribute('sse_algorithm');
}
set sseAlgorithm(value) {
this._sseAlgorithm = value;
}
// Temporarily expose input value. Use with caution.
get sseAlgorithmInput() {
return this._sseAlgorithm;
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference;
_c = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference[_c] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference", version: "21.22.1" };
class S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource = terraformResource;
this.terraformAttribute = terraformAttribute;
this.wrapsSet = wrapsSet;
}
/**
* @param index the index of the item to return
*/
get(index) {
return new S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList = S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList;
_d = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList[_d] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList", version: "21.22.1" };
function s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
configuration_state: cdktf.stringToTerraform(struct.configurationState),
encryption_configuration: cdktf.listMapper(s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToTerraform, true)(struct.encryptionConfiguration),
};
}
function s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
configuration_state: {
value: cdktf.stringToHclTerraform(struct.configurationState),
isBlock: false,
type: "simple",
storageClassType: "string",
},
encryption_configuration: {
value: cdktf.listMapperHcl(s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationToHclTerraform, true)(struct.encryptionConfiguration),
isBlock: true,
type: "list",
storageClassType: "S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
// encryption_configuration - computed: false, optional: true, required: false
this._encryptionConfiguration = new S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationEncryptionConfigurationList(this, "encryption_configuration", false);
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._configurationState !== undefined) {
hasAnyValues = true;
internalValueResult.configurationState = this._configurationState;
}
if (this._encryptionConfiguration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.encryptionConfiguration = this._encryptionConfiguration?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._configurationState = undefined;
this._encryptionConfiguration.internalValue = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._configurationState = value.configurationState;
this._encryptionConfiguration.internalValue = value.encryptionConfiguration;
}
}
get configurationState() {
return this.getStringAttribute('configuration_state');
}
set configurationState(value) {
this._configurationState = value;
}
// Temporarily expose input value. Use with caution.
get configurationStateInput() {
return this._configurationState;
}
// table_arn - computed: true, optional: false, required: false
get tableArn() {
return this.getStringAttribute('table_arn');
}
// table_name - computed: true, optional: false, required: false
get tableName() {
return this.getStringAttribute('table_name');
}
get encryptionConfiguration() {
return this._encryptionConfiguration;
}
putEncryptionConfiguration(value) {
this._encryptionConfiguration.internalValue = value;
}
resetEncryptionConfiguration() {
this._encryptionConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get encryptionConfigurationInput() {
return this._encryptionConfiguration.internalValue;
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference;
_e = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference[_e] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference", version: "21.22.1" };
class S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource = terraformResource;
this.terraformAttribute = terraformAttribute;
this.wrapsSet = wrapsSet;
}
/**
* @param index the index of the item to return
*/
get(index) {
return new S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList = S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList;
_f = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList[_f] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList", version: "21.22.1" };
function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
kms_key_arn: cdktf.stringToTerraform(struct.kmsKeyArn),
sse_algorithm: cdktf.stringToTerraform(struct.sseAlgorithm),
};
}
function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
kms_key_arn: {
value: cdktf.stringToHclTerraform(struct.kmsKeyArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
sse_algorithm: {
value: cdktf.stringToHclTerraform(struct.sseAlgorithm),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._kmsKeyArn !== undefined) {
hasAnyValues = true;
internalValueResult.kmsKeyArn = this._kmsKeyArn;
}
if (this._sseAlgorithm !== undefined) {
hasAnyValues = true;
internalValueResult.sseAlgorithm = this._sseAlgorithm;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._kmsKeyArn = undefined;
this._sseAlgorithm = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._kmsKeyArn = value.kmsKeyArn;
this._sseAlgorithm = value.sseAlgorithm;
}
}
get kmsKeyArn() {
return this.getStringAttribute('kms_key_arn');
}
set kmsKeyArn(value) {
this._kmsKeyArn = value;
}
resetKmsKeyArn() {
this._kmsKeyArn = undefined;
}
// Temporarily expose input value. Use with caution.
get kmsKeyArnInput() {
return this._kmsKeyArn;
}
get sseAlgorithm() {
return this.getStringAttribute('sse_algorithm');
}
set sseAlgorithm(value) {
this._sseAlgorithm = value;
}
// Temporarily expose input value. Use with caution.
get sseAlgorithmInput() {
return this._sseAlgorithm;
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference;
_g = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference[_g] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference", version: "21.22.1" };
class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource = terraformResource;
this.terraformAttribute = terraformAttribute;
this.wrapsSet = wrapsSet;
}
/**
* @param index the index of the item to return
*/
get(index) {
return new S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList;
_h = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList[_h] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList", version: "21.22.1" };
function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
days: cdktf.numberToTerraform(struct.days),
expiration: cdktf.stringToTerraform(struct.expiration),
};
}
function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
days: {
value: cdktf.numberToHclTerraform(struct.days),
isBlock: false,
type: "simple",
storageClassType: "number",
},
expiration: {
value: cdktf.stringToHclTerraform(struct.expiration),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._days !== undefined) {
hasAnyValues = true;
internalValueResult.days = this._days;
}
if (this._expiration !== undefined) {
hasAnyValues = true;
internalValueResult.expiration = this._expiration;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._days = undefined;
this._expiration = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._days = value.days;
this._expiration = value.expiration;
}
}
get days() {
return this.getNumberAttribute('days');
}
set days(value) {
this._days = value;
}
resetDays() {
this._days = undefined;
}
// Temporarily expose input value. Use with caution.
get daysInput() {
return this._days;
}
get expiration() {
return this.getStringAttribute('expiration');
}
set expiration(value) {
this._expiration = value;
}
// Temporarily expose input value. Use with caution.
get expirationInput() {
return this._expiration;
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference;
_j = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference[_j] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference", version: "21.22.1" };
class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource = terraformResource;
this.terraformAttribute = terraformAttribute;
this.wrapsSet = wrapsSet;
}
/**
* @param index the index of the item to return
*/
get(index) {
return new S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList;
_k = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList[_k] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList", version: "21.22.1" };
function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
encryption_configuration: cdktf.listMapper(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToTerraform, true)(struct.encryptionConfiguration),
record_expiration: cdktf.listMapper(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToTerraform, true)(struct.recordExpiration),
};
}
function s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
encryption_configuration: {
value: cdktf.listMapperHcl(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationToHclTerraform, true)(struct.encryptionConfiguration),
isBlock: true,
type: "list",
storageClassType: "S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList",
},
record_expiration: {
value: cdktf.listMapperHcl(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationToHclTerraform, true)(struct.recordExpiration),
isBlock: true,
type: "list",
storageClassType: "S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
// encryption_configuration - computed: false, optional: true, required: false
this._encryptionConfiguration = new S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationEncryptionConfigurationList(this, "encryption_configuration", false);
// record_expiration - computed: false, optional: true, required: false
this._recordExpiration = new S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationRecordExpirationList(this, "record_expiration", false);
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._encryptionConfiguration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.encryptionConfiguration = this._encryptionConfiguration?.internalValue;
}
if (this._recordExpiration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.recordExpiration = this._recordExpiration?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._encryptionConfiguration.internalValue = undefined;
this._recordExpiration.internalValue = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._encryptionConfiguration.internalValue = value.encryptionConfiguration;
this._recordExpiration.internalValue = value.recordExpiration;
}
}
// table_arn - computed: true, optional: false, required: false
get tableArn() {
return this.getStringAttribute('table_arn');
}
// table_name - computed: true, optional: false, required: false
get tableName() {
return this.getStringAttribute('table_name');
}
get encryptionConfiguration() {
return this._encryptionConfiguration;
}
putEncryptionConfiguration(value) {
this._encryptionConfiguration.internalValue = value;
}
resetEncryptionConfiguration() {
this._encryptionConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get encryptionConfigurationInput() {
return this._encryptionConfiguration.internalValue;
}
get recordExpiration() {
return this._recordExpiration;
}
putRecordExpiration(value) {
this._recordExpiration.internalValue = value;
}
resetRecordExpiration() {
this._recordExpiration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get recordExpirationInput() {
return this._recordExpiration.internalValue;
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference;
_l = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference[_l] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference", version: "21.22.1" };
class S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource = terraformResource;
this.terraformAttribute = terraformAttribute;
this.wrapsSet = wrapsSet;
}
/**
* @param index the index of the item to return
*/
get(index) {
return new S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList = S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList;
_m = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList[_m] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList", version: "21.22.1" };
function s3BucketMetadataConfigurationMetadataConfigurationToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
inventory_table_configuration: cdktf.listMapper(s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToTerraform, true)(struct.inventoryTableConfiguration),
journal_table_configuration: cdktf.listMapper(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToTerraform, true)(struct.journalTableConfiguration),
};
}
function s3BucketMetadataConfigurationMetadataConfigurationToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
inventory_table_configuration: {
value: cdktf.listMapperHcl(s3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationToHclTerraform, true)(struct.inventoryTableConfiguration),
isBlock: true,
type: "list",
storageClassType: "S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList",
},
journal_table_configuration: {
value: cdktf.listMapperHcl(s3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationToHclTerraform, true)(struct.journalTableConfiguration),
isBlock: true,
type: "list",
storageClassType: "S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketMetadataConfigurationMetadataConfigurationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
// destination - computed: true, optional: false, required: false
this._destination = new S3BucketMetadataConfigurationMetadataConfigurationDestinationList(this, "destination", false);
// inventory_table_configuration - computed: false, optional: true, required: false
this._inventoryTableConfiguration = new S3BucketMetadataConfigurationMetadataConfigurationInventoryTableConfigurationList(this, "inventory_table_configuration", false);
// journal_table_configuration - computed: false, optional: true, required: false
this._journalTableConfiguration = new S3BucketMetadataConfigurationMetadataConfigurationJournalTableConfigurationList(this, "journal_table_configuration", false);
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._inventoryTableConfiguration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.inventoryTableConfiguration = this._inventoryTableConfiguration?.internalValue;
}
if (this._journalTableConfiguration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.journalTableConfiguration = this._journalTableConfiguration?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._inventoryTableConfiguration.internalValue = undefined;
this._journalTableConfiguration.internalValue = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._inventoryTableConfiguration.internalValue = value.inventoryTableConfiguration;
this._journalTableConfiguration.internalValue = value.journalTableConfiguration;
}
}
get destination() {
return this._destination;
}
get inventoryTableConfiguration() {
return this._inventoryTableConfiguration;
}
putInventoryTableConfiguration(value) {
this._inventoryTableConfiguration.internalValue = value;
}
resetInventoryTableConfiguration() {
this._inventoryTableConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get inventoryTableConfigurationInput() {
return this._inventoryTableConfiguration.internalValue;
}
get journalTableConfiguration() {
return this._journalTableConfiguration;
}
putJournalTableConfiguration(value) {
this._journalTableConfiguration.internalValue = value;
}
resetJournalTableConfiguration() {
this._journalTableConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get journalTableConfigurationInput() {
return this._journalTableConfiguration.internalValue;
}
}
exports.S3BucketMetadataConfigurationMetadataConfigurationOutputReference = S3BucketMetadataConfigurationMetadataConfigurationOutputReference;
_o = JSII_RTTI_SYMBOL_1;
S3BucketMetadataConfigurationMetadataConfigurationOutputReference[_o] = { fqn: "@cdktf/provider-aws.s3BucketMetadataConfiguration.S3BucketMetadataConfigurationMetadataConfigurationOutputReference", version: "21.22.1" };
class S3BucketMetadataConfigurationMetadataConfigurationList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource