UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,155 lines 416 kB
"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; Object.defineProperty(exports, "__esModule", { value: true }); exports.DynamodbTable = exports.DynamodbTableWarmThroughputOutputReference = exports.DynamodbTableTtlOutputReference = exports.DynamodbTableTimeoutsOutputReference = exports.DynamodbTableServerSideEncryptionOutputReference = exports.DynamodbTableReplicaList = exports.DynamodbTableReplicaOutputReference = exports.DynamodbTablePointInTimeRecoveryOutputReference = exports.DynamodbTableOnDemandThroughputOutputReference = exports.DynamodbTableLocalSecondaryIndexList = exports.DynamodbTableLocalSecondaryIndexOutputReference = exports.DynamodbTableImportTableOutputReference = exports.DynamodbTableImportTableS3BucketSourceOutputReference = exports.DynamodbTableImportTableInputFormatOptionsOutputReference = exports.DynamodbTableImportTableInputFormatOptionsCsvOutputReference = exports.DynamodbTableGlobalTableWitnessOutputReference = exports.DynamodbTableGlobalSecondaryIndexList = exports.DynamodbTableGlobalSecondaryIndexOutputReference = exports.DynamodbTableGlobalSecondaryIndexWarmThroughputOutputReference = exports.DynamodbTableGlobalSecondaryIndexOnDemandThroughputOutputReference = exports.DynamodbTableAttributeList = exports.DynamodbTableAttributeOutputReference = void 0; exports.dynamodbTableAttributeToTerraform = dynamodbTableAttributeToTerraform; exports.dynamodbTableAttributeToHclTerraform = dynamodbTableAttributeToHclTerraform; exports.dynamodbTableGlobalSecondaryIndexOnDemandThroughputToTerraform = dynamodbTableGlobalSecondaryIndexOnDemandThroughputToTerraform; exports.dynamodbTableGlobalSecondaryIndexOnDemandThroughputToHclTerraform = dynamodbTableGlobalSecondaryIndexOnDemandThroughputToHclTerraform; exports.dynamodbTableGlobalSecondaryIndexWarmThroughputToTerraform = dynamodbTableGlobalSecondaryIndexWarmThroughputToTerraform; exports.dynamodbTableGlobalSecondaryIndexWarmThroughputToHclTerraform = dynamodbTableGlobalSecondaryIndexWarmThroughputToHclTerraform; exports.dynamodbTableGlobalSecondaryIndexToTerraform = dynamodbTableGlobalSecondaryIndexToTerraform; exports.dynamodbTableGlobalSecondaryIndexToHclTerraform = dynamodbTableGlobalSecondaryIndexToHclTerraform; exports.dynamodbTableGlobalTableWitnessToTerraform = dynamodbTableGlobalTableWitnessToTerraform; exports.dynamodbTableGlobalTableWitnessToHclTerraform = dynamodbTableGlobalTableWitnessToHclTerraform; exports.dynamodbTableImportTableInputFormatOptionsCsvToTerraform = dynamodbTableImportTableInputFormatOptionsCsvToTerraform; exports.dynamodbTableImportTableInputFormatOptionsCsvToHclTerraform = dynamodbTableImportTableInputFormatOptionsCsvToHclTerraform; exports.dynamodbTableImportTableInputFormatOptionsToTerraform = dynamodbTableImportTableInputFormatOptionsToTerraform; exports.dynamodbTableImportTableInputFormatOptionsToHclTerraform = dynamodbTableImportTableInputFormatOptionsToHclTerraform; exports.dynamodbTableImportTableS3BucketSourceToTerraform = dynamodbTableImportTableS3BucketSourceToTerraform; exports.dynamodbTableImportTableS3BucketSourceToHclTerraform = dynamodbTableImportTableS3BucketSourceToHclTerraform; exports.dynamodbTableImportTableToTerraform = dynamodbTableImportTableToTerraform; exports.dynamodbTableImportTableToHclTerraform = dynamodbTableImportTableToHclTerraform; exports.dynamodbTableLocalSecondaryIndexToTerraform = dynamodbTableLocalSecondaryIndexToTerraform; exports.dynamodbTableLocalSecondaryIndexToHclTerraform = dynamodbTableLocalSecondaryIndexToHclTerraform; exports.dynamodbTableOnDemandThroughputToTerraform = dynamodbTableOnDemandThroughputToTerraform; exports.dynamodbTableOnDemandThroughputToHclTerraform = dynamodbTableOnDemandThroughputToHclTerraform; exports.dynamodbTablePointInTimeRecoveryToTerraform = dynamodbTablePointInTimeRecoveryToTerraform; exports.dynamodbTablePointInTimeRecoveryToHclTerraform = dynamodbTablePointInTimeRecoveryToHclTerraform; exports.dynamodbTableReplicaToTerraform = dynamodbTableReplicaToTerraform; exports.dynamodbTableReplicaToHclTerraform = dynamodbTableReplicaToHclTerraform; exports.dynamodbTableServerSideEncryptionToTerraform = dynamodbTableServerSideEncryptionToTerraform; exports.dynamodbTableServerSideEncryptionToHclTerraform = dynamodbTableServerSideEncryptionToHclTerraform; exports.dynamodbTableTimeoutsToTerraform = dynamodbTableTimeoutsToTerraform; exports.dynamodbTableTimeoutsToHclTerraform = dynamodbTableTimeoutsToHclTerraform; exports.dynamodbTableTtlToTerraform = dynamodbTableTtlToTerraform; exports.dynamodbTableTtlToHclTerraform = dynamodbTableTtlToHclTerraform; exports.dynamodbTableWarmThroughputToTerraform = dynamodbTableWarmThroughputToTerraform; exports.dynamodbTableWarmThroughputToHclTerraform = dynamodbTableWarmThroughputToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function dynamodbTableAttributeToTerraform(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 { name: cdktf.stringToTerraform(struct.name), type: cdktf.stringToTerraform(struct.type), }; } function dynamodbTableAttributeToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DynamodbTableAttributeOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._type = 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._name = value.name; this._type = value.type; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.DynamodbTableAttributeOutputReference = DynamodbTableAttributeOutputReference; _a = JSII_RTTI_SYMBOL_1; DynamodbTableAttributeOutputReference[_a] = { fqn: "@cdktf/provider-aws.dynamodbTable.DynamodbTableAttributeOutputReference", version: "21.22.1" }; class DynamodbTableAttributeList 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 DynamodbTableAttributeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DynamodbTableAttributeList = DynamodbTableAttributeList; _b = JSII_RTTI_SYMBOL_1; DynamodbTableAttributeList[_b] = { fqn: "@cdktf/provider-aws.dynamodbTable.DynamodbTableAttributeList", version: "21.22.1" }; function dynamodbTableGlobalSecondaryIndexOnDemandThroughputToTerraform(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 { max_read_request_units: cdktf.numberToTerraform(struct.maxReadRequestUnits), max_write_request_units: cdktf.numberToTerraform(struct.maxWriteRequestUnits), }; } function dynamodbTableGlobalSecondaryIndexOnDemandThroughputToHclTerraform(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 = { max_read_request_units: { value: cdktf.numberToHclTerraform(struct.maxReadRequestUnits), isBlock: false, type: "simple", storageClassType: "number", }, max_write_request_units: { value: cdktf.numberToHclTerraform(struct.maxWriteRequestUnits), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DynamodbTableGlobalSecondaryIndexOnDemandThroughputOutputReference 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._maxReadRequestUnits !== undefined) { hasAnyValues = true; internalValueResult.maxReadRequestUnits = this._maxReadRequestUnits; } if (this._maxWriteRequestUnits !== undefined) { hasAnyValues = true; internalValueResult.maxWriteRequestUnits = this._maxWriteRequestUnits; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxReadRequestUnits = undefined; this._maxWriteRequestUnits = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxReadRequestUnits = value.maxReadRequestUnits; this._maxWriteRequestUnits = value.maxWriteRequestUnits; } } get maxReadRequestUnits() { return this.getNumberAttribute('max_read_request_units'); } set maxReadRequestUnits(value) { this._maxReadRequestUnits = value; } resetMaxReadRequestUnits() { this._maxReadRequestUnits = undefined; } // Temporarily expose input value. Use with caution. get maxReadRequestUnitsInput() { return this._maxReadRequestUnits; } get maxWriteRequestUnits() { return this.getNumberAttribute('max_write_request_units'); } set maxWriteRequestUnits(value) { this._maxWriteRequestUnits = value; } resetMaxWriteRequestUnits() { this._maxWriteRequestUnits = undefined; } // Temporarily expose input value. Use with caution. get maxWriteRequestUnitsInput() { return this._maxWriteRequestUnits; } } exports.DynamodbTableGlobalSecondaryIndexOnDemandThroughputOutputReference = DynamodbTableGlobalSecondaryIndexOnDemandThroughputOutputReference; _c = JSII_RTTI_SYMBOL_1; DynamodbTableGlobalSecondaryIndexOnDemandThroughputOutputReference[_c] = { fqn: "@cdktf/provider-aws.dynamodbTable.DynamodbTableGlobalSecondaryIndexOnDemandThroughputOutputReference", version: "21.22.1" }; function dynamodbTableGlobalSecondaryIndexWarmThroughputToTerraform(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 { read_units_per_second: cdktf.numberToTerraform(struct.readUnitsPerSecond), write_units_per_second: cdktf.numberToTerraform(struct.writeUnitsPerSecond), }; } function dynamodbTableGlobalSecondaryIndexWarmThroughputToHclTerraform(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 = { read_units_per_second: { value: cdktf.numberToHclTerraform(struct.readUnitsPerSecond), isBlock: false, type: "simple", storageClassType: "number", }, write_units_per_second: { value: cdktf.numberToHclTerraform(struct.writeUnitsPerSecond), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DynamodbTableGlobalSecondaryIndexWarmThroughputOutputReference 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._readUnitsPerSecond !== undefined) { hasAnyValues = true; internalValueResult.readUnitsPerSecond = this._readUnitsPerSecond; } if (this._writeUnitsPerSecond !== undefined) { hasAnyValues = true; internalValueResult.writeUnitsPerSecond = this._writeUnitsPerSecond; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._readUnitsPerSecond = undefined; this._writeUnitsPerSecond = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._readUnitsPerSecond = value.readUnitsPerSecond; this._writeUnitsPerSecond = value.writeUnitsPerSecond; } } get readUnitsPerSecond() { return this.getNumberAttribute('read_units_per_second'); } set readUnitsPerSecond(value) { this._readUnitsPerSecond = value; } resetReadUnitsPerSecond() { this._readUnitsPerSecond = undefined; } // Temporarily expose input value. Use with caution. get readUnitsPerSecondInput() { return this._readUnitsPerSecond; } get writeUnitsPerSecond() { return this.getNumberAttribute('write_units_per_second'); } set writeUnitsPerSecond(value) { this._writeUnitsPerSecond = value; } resetWriteUnitsPerSecond() { this._writeUnitsPerSecond = undefined; } // Temporarily expose input value. Use with caution. get writeUnitsPerSecondInput() { return this._writeUnitsPerSecond; } } exports.DynamodbTableGlobalSecondaryIndexWarmThroughputOutputReference = DynamodbTableGlobalSecondaryIndexWarmThroughputOutputReference; _d = JSII_RTTI_SYMBOL_1; DynamodbTableGlobalSecondaryIndexWarmThroughputOutputReference[_d] = { fqn: "@cdktf/provider-aws.dynamodbTable.DynamodbTableGlobalSecondaryIndexWarmThroughputOutputReference", version: "21.22.1" }; function dynamodbTableGlobalSecondaryIndexToTerraform(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 { hash_key: cdktf.stringToTerraform(struct.hashKey), name: cdktf.stringToTerraform(struct.name), non_key_attributes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.nonKeyAttributes), projection_type: cdktf.stringToTerraform(struct.projectionType), range_key: cdktf.stringToTerraform(struct.rangeKey), read_capacity: cdktf.numberToTerraform(struct.readCapacity), write_capacity: cdktf.numberToTerraform(struct.writeCapacity), on_demand_throughput: dynamodbTableGlobalSecondaryIndexOnDemandThroughputToTerraform(struct.onDemandThroughput), warm_throughput: dynamodbTableGlobalSecondaryIndexWarmThroughputToTerraform(struct.warmThroughput), }; } function dynamodbTableGlobalSecondaryIndexToHclTerraform(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 = { hash_key: { value: cdktf.stringToHclTerraform(struct.hashKey), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, non_key_attributes: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.nonKeyAttributes), isBlock: false, type: "set", storageClassType: "stringList", }, projection_type: { value: cdktf.stringToHclTerraform(struct.projectionType), isBlock: false, type: "simple", storageClassType: "string", }, range_key: { value: cdktf.stringToHclTerraform(struct.rangeKey), isBlock: false, type: "simple", storageClassType: "string", }, read_capacity: { value: cdktf.numberToHclTerraform(struct.readCapacity), isBlock: false, type: "simple", storageClassType: "number", }, write_capacity: { value: cdktf.numberToHclTerraform(struct.writeCapacity), isBlock: false, type: "simple", storageClassType: "number", }, on_demand_throughput: { value: dynamodbTableGlobalSecondaryIndexOnDemandThroughputToHclTerraform(struct.onDemandThroughput), isBlock: true, type: "list", storageClassType: "DynamodbTableGlobalSecondaryIndexOnDemandThroughputList", }, warm_throughput: { value: dynamodbTableGlobalSecondaryIndexWarmThroughputToHclTerraform(struct.warmThroughput), isBlock: true, type: "list", storageClassType: "DynamodbTableGlobalSecondaryIndexWarmThroughputList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DynamodbTableGlobalSecondaryIndexOutputReference 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; // on_demand_throughput - computed: false, optional: true, required: false this._onDemandThroughput = new DynamodbTableGlobalSecondaryIndexOnDemandThroughputOutputReference(this, "on_demand_throughput"); // warm_throughput - computed: false, optional: true, required: false this._warmThroughput = new DynamodbTableGlobalSecondaryIndexWarmThroughputOutputReference(this, "warm_throughput"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._hashKey !== undefined) { hasAnyValues = true; internalValueResult.hashKey = this._hashKey; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._nonKeyAttributes !== undefined) { hasAnyValues = true; internalValueResult.nonKeyAttributes = this._nonKeyAttributes; } if (this._projectionType !== undefined) { hasAnyValues = true; internalValueResult.projectionType = this._projectionType; } if (this._rangeKey !== undefined) { hasAnyValues = true; internalValueResult.rangeKey = this._rangeKey; } if (this._readCapacity !== undefined) { hasAnyValues = true; internalValueResult.readCapacity = this._readCapacity; } if (this._writeCapacity !== undefined) { hasAnyValues = true; internalValueResult.writeCapacity = this._writeCapacity; } if (this._onDemandThroughput?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.onDemandThroughput = this._onDemandThroughput?.internalValue; } if (this._warmThroughput?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.warmThroughput = this._warmThroughput?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._hashKey = undefined; this._name = undefined; this._nonKeyAttributes = undefined; this._projectionType = undefined; this._rangeKey = undefined; this._readCapacity = undefined; this._writeCapacity = undefined; this._onDemandThroughput.internalValue = undefined; this._warmThroughput.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._hashKey = value.hashKey; this._name = value.name; this._nonKeyAttributes = value.nonKeyAttributes; this._projectionType = value.projectionType; this._rangeKey = value.rangeKey; this._readCapacity = value.readCapacity; this._writeCapacity = value.writeCapacity; this._onDemandThroughput.internalValue = value.onDemandThroughput; this._warmThroughput.internalValue = value.warmThroughput; } } get hashKey() { return this.getStringAttribute('hash_key'); } set hashKey(value) { this._hashKey = value; } // Temporarily expose input value. Use with caution. get hashKeyInput() { return this._hashKey; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get nonKeyAttributes() { return cdktf.Fn.tolist(this.getListAttribute('non_key_attributes')); } set nonKeyAttributes(value) { this._nonKeyAttributes = value; } resetNonKeyAttributes() { this._nonKeyAttributes = undefined; } // Temporarily expose input value. Use with caution. get nonKeyAttributesInput() { return this._nonKeyAttributes; } get projectionType() { return this.getStringAttribute('projection_type'); } set projectionType(value) { this._projectionType = value; } // Temporarily expose input value. Use with caution. get projectionTypeInput() { return this._projectionType; } get rangeKey() { return this.getStringAttribute('range_key'); } set rangeKey(value) { this._rangeKey = value; } resetRangeKey() { this._rangeKey = undefined; } // Temporarily expose input value. Use with caution. get rangeKeyInput() { return this._rangeKey; } get readCapacity() { return this.getNumberAttribute('read_capacity'); } set readCapacity(value) { this._readCapacity = value; } resetReadCapacity() { this._readCapacity = undefined; } // Temporarily expose input value. Use with caution. get readCapacityInput() { return this._readCapacity; } get writeCapacity() { return this.getNumberAttribute('write_capacity'); } set writeCapacity(value) { this._writeCapacity = value; } resetWriteCapacity() { this._writeCapacity = undefined; } // Temporarily expose input value. Use with caution. get writeCapacityInput() { return this._writeCapacity; } get onDemandThroughput() { return this._onDemandThroughput; } putOnDemandThroughput(value) { this._onDemandThroughput.internalValue = value; } resetOnDemandThroughput() { this._onDemandThroughput.internalValue = undefined; } // Temporarily expose input value. Use with caution. get onDemandThroughputInput() { return this._onDemandThroughput.internalValue; } get warmThroughput() { return this._warmThroughput; } putWarmThroughput(value) { this._warmThroughput.internalValue = value; } resetWarmThroughput() { this._warmThroughput.internalValue = undefined; } // Temporarily expose input value. Use with caution. get warmThroughputInput() { return this._warmThroughput.internalValue; } } exports.DynamodbTableGlobalSecondaryIndexOutputReference = DynamodbTableGlobalSecondaryIndexOutputReference; _e = JSII_RTTI_SYMBOL_1; DynamodbTableGlobalSecondaryIndexOutputReference[_e] = { fqn: "@cdktf/provider-aws.dynamodbTable.DynamodbTableGlobalSecondaryIndexOutputReference", version: "21.22.1" }; class DynamodbTableGlobalSecondaryIndexList 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 DynamodbTableGlobalSecondaryIndexOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DynamodbTableGlobalSecondaryIndexList = DynamodbTableGlobalSecondaryIndexList; _f = JSII_RTTI_SYMBOL_1; DynamodbTableGlobalSecondaryIndexList[_f] = { fqn: "@cdktf/provider-aws.dynamodbTable.DynamodbTableGlobalSecondaryIndexList", version: "21.22.1" }; function dynamodbTableGlobalTableWitnessToTerraform(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 { region_name: cdktf.stringToTerraform(struct.regionName), }; } function dynamodbTableGlobalTableWitnessToHclTerraform(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 = { region_name: { value: cdktf.stringToHclTerraform(struct.regionName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DynamodbTableGlobalTableWitnessOutputReference 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._regionName !== undefined) { hasAnyValues = true; internalValueResult.regionName = this._regionName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._regionName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._regionName = value.regionName; } } get regionName() { return this.getStringAttribute('region_name'); } set regionName(value) { this._regionName = value; } resetRegionName() { this._regionName = undefined; } // Temporarily expose input value. Use with caution. get regionNameInput() { return this._regionName; } } exports.DynamodbTableGlobalTableWitnessOutputReference = DynamodbTableGlobalTableWitnessOutputReference; _g = JSII_RTTI_SYMBOL_1; DynamodbTableGlobalTableWitnessOutputReference[_g] = { fqn: "@cdktf/provider-aws.dynamodbTable.DynamodbTableGlobalTableWitnessOutputReference", version: "21.22.1" }; function dynamodbTableImportTableInputFormatOptionsCsvToTerraform(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 { delimiter: cdktf.stringToTerraform(struct.delimiter), header_list: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.headerList), }; } function dynamodbTableImportTableInputFormatOptionsCsvToHclTerraform(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 = { delimiter: { value: cdktf.stringToHclTerraform(struct.delimiter), isBlock: false, type: "simple", storageClassType: "string", }, header_list: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.headerList), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DynamodbTableImportTableInputFormatOptionsCsvOutputReference 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._delimiter !== undefined) { hasAnyValues = true; internalValueResult.delimiter = this._delimiter; } if (this._headerList !== undefined) { hasAnyValues = true; internalValueResult.headerList = this._headerList; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._delimiter = undefined; this._headerList = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._delimiter = value.delimiter; this._headerList = value.headerList; } } get delimiter() { return this.getStringAttribute('delimiter'); } set delimiter(value) { this._delimiter = value; } resetDelimiter() { this._delimiter = undefined; } // Temporarily expose input value. Use with caution. get delimiterInput() { return this._delimiter; } get headerList() { return cdktf.Fn.tolist(this.getListAttribute('header_list')); } set headerList(value) { this._headerList = value; } resetHeaderList() { this._headerList = undefined; } // Temporarily expose input value. Use with caution. get headerListInput() { return this._headerList; } } exports.DynamodbTableImportTableInputFormatOptionsCsvOutputReference = DynamodbTableImportTableInputFormatOptionsCsvOutputReference; _h = JSII_RTTI_SYMBOL_1; DynamodbTableImportTableInputFormatOptionsCsvOutputReference[_h] = { fqn: "@cdktf/provider-aws.dynamodbTable.DynamodbTableImportTableInputFormatOptionsCsvOutputReference", version: "21.22.1" }; function dynamodbTableImportTableInputFormatOptionsToTerraform(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 { csv: dynamodbTableImportTableInputFormatOptionsCsvToTerraform(struct.csv), }; } function dynamodbTableImportTableInputFormatOptionsToHclTerraform(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 = { csv: { value: dynamodbTableImportTableInputFormatOptionsCsvToHclTerraform(struct.csv), isBlock: true, type: "list", storageClassType: "DynamodbTableImportTableInputFormatOptionsCsvList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DynamodbTableImportTableInputFormatOptionsOutputReference 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; // csv - computed: false, optional: true, required: false this._csv = new DynamodbTableImportTableInputFormatOptionsCsvOutputReference(this, "csv"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._csv?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.csv = this._csv?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._csv.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._csv.internalValue = value.csv; } } get csv() { return this._csv; } putCsv(value) { this._csv.internalValue = value; } resetCsv() { this._csv.internalValue = undefined; } // Temporarily expose input value. Use with caution. get csvInput() { return this._csv.internalValue; } } exports.DynamodbTableImportTableInputFormatOptionsOutputReference = DynamodbTableImportTableInputFormatOptionsOutputReference; _j = JSII_RTTI_SYMBOL_1; DynamodbTableImportTableInputFormatOptionsOutputReference[_j] = { fqn: "@cdktf/provider-aws.dynamodbTable.DynamodbTableImportTableInputFormatOptionsOutputReference", version: "21.22.1" }; function dynamodbTableImportTableS3BucketSourceToTerraform(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 { bucket: cdktf.stringToTerraform(struct.bucket), bucket_owner: cdktf.stringToTerraform(struct.bucketOwner), key_prefix: cdktf.stringToTerraform(struct.keyPrefix), }; } function dynamodbTableImportTableS3BucketSourceToHclTerraform(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 = { bucket: { value: cdktf.stringToHclTerraform(struct.bucket), isBlock: false, type: "simple", storageClassType: "string", }, bucket_owner: { value: cdktf.stringToHclTerraform(struct.bucketOwner), isBlock: false, type: "simple", storageClassType: "string", }, key_prefix: { value: cdktf.stringToHclTerraform(struct.keyPrefix), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DynamodbTableImportTableS3BucketSourceOutputReference 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._bucket !== undefined) { hasAnyValues = true; internalValueResult.bucket = this._bucket; } if (this._bucketOwner !== undefined) { hasAnyValues = true; internalValueResult.bucketOwner = this._bucketOwner; } if (this._keyPrefix !== undefined) { hasAnyValues = true; internalValueResult.keyPrefix = this._keyPrefix; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._bucket = undefined; this._bucketOwner = undefined; this._keyPrefix = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._bucket = value.bucket; this._bucketOwner = value.bucketOwner; this._keyPrefix = value.keyPrefix; } } 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 bucketOwner() { return this.getStringAttribute('bucket_owner'); } set bucketOwner(value) { this._bucketOwner = value; } resetBucketOwner() { this._bucketOwner = undefined; } // Temporarily expose input value. Use with caution. get bucketOwnerInput() { return this._bucketOwner; } get keyPrefix() { return this.getStringAttribute('key_prefix'); } set keyPrefix(value) { this._keyPrefix = value; } resetKeyPrefix() { this._keyPrefix = undefined; } // Temporarily expose input value. Use with caution. get keyPrefixInput() { return this._keyPrefix; } } exports.DynamodbTableImportTableS3BucketSourceOutputReference = DynamodbTableImportTableS3BucketSourceOutputReference; _k = JSII_RTTI_SYMBOL_1; DynamodbTableImportTableS3BucketSourceOutputReference[_k] = { fqn: "@cdktf/provider-aws.dynamodbTable.DynamodbTableImportTableS3BucketSourceOutputReference", version: "21.22.1" }; function dynamodbTableImportTableToTerraform(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 { input_compression_type: cdktf.stringToTerraform(struct.inputCompressionType), input_format: cdktf.stringToTerraform(struct.inputFormat), input_format_options: dynamodbTableImportTableInputFormatOptionsToTerraform(struct.inputFormatOptions), s3_bucket_source: dynamodbTableImportTableS3BucketSourceToTerraform(struct.s3BucketSource), }; } function dynamodbTableImportTableToHclTerraform(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 = { input_compression_type: { value: cdktf.stringToHclTerraform(struct.inputCompressionType), isBlock: false, type: "simple", storageClassType: "string", }, input_format: { value: cdktf.stringToHclTerraform(struct.inputFormat), isBlock: false, type: "simple", storageClassType: "string", }, input_format_options: { value: dynamodbTableImportTableInputFormatOptionsToHclTerraform(struct.inputFormatOptions), isBlock: true, type: "list", storageClassType: "DynamodbTableImportTableInputFormatOptionsList", }, s3_bucket_source: { value: dynamodbTableImportTableS3BucketSourceToHclTerraform(struct.s3BucketSource), isBlock: true, type: "list", storageClassType: "DynamodbTableImportTableS3BucketSourceList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DynamodbTableImportTableOutputReference 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; // input_format_options - computed: false, optional: true, required: false this._inputFormatOptions = new DynamodbTableImportTableInputFormatOptionsOutputReference(this, "input_format_options"); // s3_bucket_source - computed: false, optional: false, required: true this._s3BucketSource = new DynamodbTableImportTableS3BucketSourceOutputReference(this, "s3_bucket_source"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._inputCompressionType !== undefined) { hasAnyValues = true; internalValueResult.inputCompressionType = this._inputCompressionType; } if (this._inputFormat !== undefined) { hasAnyValues = true; internalValueResult.inputFormat = this._inputFormat; } if (this._inputFormatOptions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.inputFormatOptions = this._inputFormatOptions?.internalValue; } if (this._s3BucketSource?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.s3BucketSource = this._s3BucketSource?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._inputCompressionType = undefined; this._inputFormat = undefined; this._inputFormatOptions.internalValue = undefined; this._s3BucketSource.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._inputCompressionType = value.inputCompressionType; this._inputFormat = value.inputFormat; this._inputFormatOptions.internalValue = value.inputFormatOptions; this._s3BucketSource.internalValue = value.s3BucketSource; } } get inputCompressionType() { return this.getStringAttribute('input_compression_type'); } set inputCompressionType(value) { this._inputCompressi