Skip to main content
Version: v1.7

AWS DYNAMODB-TABLE

Description

Terraform module which creates DynamoDB table on AWS

Specification

Properties

NameDescriptionTypeRequiredDefault
attributesList of nested attribute definitions. Only required for hash_key and range_key attributes. Each attribute has two properties: name - (Required) The name of the attribute, type - (Required) Attribute type, which must be a scalar type: S, N, or B for (S)tring, (N)umber or (B)inary datalist(map(string))false
autoscaling_defaultsA map of default autoscaling settingsmap(string)false
autoscaling_enabledWhether or not to enable autoscaling. See note in README about this settingboolfalse
autoscaling_indexesA map of index autoscaling configurations. See example in examples/autoscalingmap(map(string))false
autoscaling_readA map of read autoscaling settings. max_capacity is the only required key. See example in examples/autoscalingmap(string)false
autoscaling_writeA map of write autoscaling settings. max_capacity is the only required key. See example in examples/autoscalingmap(string)false
billing_modeControls how you are billed for read/write throughput and how you manage capacity. The valid values are PROVISIONED or PAY_PER_REQUESTstringfalse
create_tableControls if DynamoDB table and associated resources are createdboolfalse
global_secondary_indexesDescribe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc.anyfalse
hash_keyThe attribute to use as the hash (partition) key. Must also be defined as an attributestringfalse
local_secondary_indexesDescribe an LSI on the table; these can only be allocated at creation so you cannot change this definition after you have created the resource.anyfalse
nameName of the DynamoDB tablestringfalse
point_in_time_recovery_enabledWhether to enable point-in-time recoveryboolfalse
range_keyThe attribute to use as the range (sort) key. Must also be defined as an attributestringfalse
read_capacityThe number of read units for this table. If the billing_mode is PROVISIONED, this field should be greater than 0numberfalse
replica_regionsRegion names for creating replicas for a global DynamoDB table.anyfalse
server_side_encryption_enabledWhether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK)boolfalse
server_side_encryption_kms_key_arnThe ARN of the CMK that should be used for the AWS KMS encryption. This attribute should only be specified if the key is different from the default DynamoDB CMK, alias/aws/dynamodb.stringfalse
stream_enabledIndicates whether Streams are to be enabled (true) or disabled (false).boolfalse
stream_view_typeWhen an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, NEW_AND_OLD_IMAGES.stringfalse
tagsA map of tags to add to all resourcesmap(string)false
timeoutsUpdated Terraform resource management timeoutsmap(string)false
ttl_attribute_nameThe name of the table attribute to store the TTL timestamp instringfalse
ttl_enabledIndicates whether ttl is enabledboolfalse
writeConnectionSecretToRefThe secret which the cloud resource connection will be written towriteConnectionSecretToReffalse
write_capacityThe number of write units for this table. If the billing_mode is PROVISIONED, this field should be greater than 0numberfalse

writeConnectionSecretToRef

NameDescriptionTypeRequiredDefault
nameThe secret name which the cloud resource connection will be written tostringtrue
namespaceThe secret namespace which the cloud resource connection will be written tostringfalse