dynamodb
cloudposse/dynamodb/aws
Terraform module that implements AWS DynamoDB with support for AutoScaling
Terraform module to provision a DynamoDB table with autoscaling. Autoscaler scales up/down the provisioned OPS for the DynamoDB table based on the load. Requirements This module requires AWS Provider >= 4.22.0 > [!TIP] > #### 👽 Use Atmos with Terraform > Cloud Posse uses atmos to easily orchestrate multiple environments using Terraform. > Works with Github Actions, Atlantis, or Spacelift. > > > Watch demo of using Atmos with Terraform > > Example of running atmos to manage infrastructure from our Quick Start tutorial. > Usage For a complete example, see examples/complete. For automated tests of the complete example using bats and Terratest (which tests and deploys the example on AWS), see test. ```hcl module "dynamodb_table" { source = "cloudposse/dynamodb/aws" # Cloud Posse recommends pin
| Name | Type | Description | Default |
|---|---|---|---|
| hash_key | string | DynamoDB table Hash Key | required |
| table_name | string | Table name. If provided, the bucket will be created with this name instead of ge | null |
| billing_mode | string | DynamoDB Billing mode. Can be PROVISIONED or PAY_PER_REQUEST | "PROVISIONED" |
| enable_streams | bool | Enable DynamoDB streams | false |
| autoscaler_tags | map(string) | Additional resource tags for the autoscaler module | {} |
| table_class | string | DynamoDB storage class of the table. Can be STANDARD or STANDARD_INFREQUENT_ACCE | "STANDARD" |
| stage | string | ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'bu | null |
| labels_as_tags | set(string) | Set of labels (ID elements) to include as tags in the `tags` output. Default is | [
"default"
] |
| label_value_case | string | Controls the letter case of ID elements (labels) as included in `id`, set as tag | null |
| label_key_case | string | Controls the letter case of the `tags` keys (label names) for tags generated by | null |
| tags_enabled | bool | Set to `false` to disable tagging. This can be helpful if you're managing tables | true |
| autoscale_min_read_capacity | number | DynamoDB autoscaling min read capacity | 5 |
| autoscale_max_write_capacity | number | DynamoDB autoscaling max write capacity | 20 |
| stream_view_type | string | When an item in the table is modified, what information is written to the stream | "" |
| ttl_enabled | bool | Set to false to disable DynamoDB table TTL | true |
| autoscaler_attributes | list(string) | Additional attributes for the autoscaler module | [] |
| namespace | string | ID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp' | null |
| delimiter | string | Delimiter to be used between ID elements. Defaults to `-` (hyphen). Set to `""` | null |
| autoscale_read_target | number | The target value (in %) for DynamoDB read autoscaling | 50 |
| import_table | object({ # Valid values ar | Import Amazon S3 data into a new table. | null |
| label_order | list(string) | The order in which the labels (ID elements) appear in the `id`. Defaults to ["na | null |
| … and 8 more inputs | |||
table_stream_arn — DynamoDB table stream ARNtable_stream_label — DynamoDB table stream labeltable_name — DynamoDB table nametable_id — DynamoDB table IDtable_arn — DynamoDB table ARNglobal_secondary_index_names — DynamoDB secondary index nameslocal_secondary_index_names — DynamoDB local index namesAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,