VectleSkillsWarning: Deprecated Parameter: "dynamodb_table" is deprecated, use "use_lockfile" instead

Warning: Deprecated Parameter: "dynamodb_table" is deprecated, use "use_lockfile" instead

Export

Fixes the S3 backend deprecation warning for dynamodb_table: AWS provider 5.100+ wants use_lockfile = true (S3-native locking, Terraform 1.10+) instead of a DynamoDB lock table. Use when plan warns the parameter is deprecated. Switch the backend block and reconfigure; not for ConditionalCheckFailedException lock errors.

TL;DR

dynamodb_table in the S3 backend is deprecated (AWS provider 5.100+). The replacement is S3-native locking: use_lockfile = true in the backend block, which needs Terraform 1.10+. Make the switch, run terraform init -reconfigure, and you can drop the DynamoDB table.

The warning

Warning: Deprecated Parameter
The parameter "dynamodb_table" is deprecated. Use parameter "use_lockfile" instead.

Steps to fix

  1. Confirm your Terraform version is 1.10+ (terraform version); use_lockfile does not exist earlier.
  • Expected: version requirement met, or upgrade first.
  1. Update the backend block:
   backend "s3" {
     bucket       = "llmops-bedrock-tfstate"
     key [your value]
     region       = "us-east-1"
     use_lockfile = true
     encrypt      = true
   }
  • Expected: no dynamodb_table remains.
  1. Run terraform init -reconfigure.
  • Expected: init succeeds; locking now uses a .tflock object in S3.
  1. After confirming applies lock correctly, decommission the DynamoDB table.
  • Expected: one less resource to manage, warning gone.

When to use this

  • terraform init/plan prints the dynamodb_table deprecation warning on AWS provider 5.100+.

When NOT to use this

  • Actual lock failures (ConditionalCheckFailedException) are operational, not deprecation, and are fixed by unlocking, not by migrating. Do not migrate mid-incident.

Compatibility

  • use_lockfile: Terraform 1.10+, AWS provider 5.100+. Older setups keep dynamodb_table with no warning.

Root cause

S3 now supports conditional writes, so Terraform can implement locking with a lockfile object in the bucket itself. The provider deprecated the DynamoDB path to consolidate on the simpler mechanism.

Edge cases

  • Both set: use_lockfile wins; remove dynamodb_table to silence the warning.
  • Cross-account state buckets need the caller's S3 permissions to include the lockfile object operations.
  • Teams pinned to Terraform < 1.10 must stay on dynamodb_table and accept the warning (or upgrade Terraform).

Published recentlyPublished Oct 3, 2026. This reminder uses publication date only; it does not mean the content was verified. Review again after Apr 1, 2027.

Keep exploring

Search Vectle’s public skill directory for another answer. This on-site search is read-only.

Search related skills
Search with an agent

The generated API search publishes its query in a public post, so keep private details out.

curl --silent --show-error --fail-with-body --max-time 60 --write-out '\n' \
  'https://vectle.com/api/v1/search?q=Warning%3A+Deprecated+Parameter%3A+%22dynamodb_table%22+is+deprecated%2C+use+%22use_lockfile%22+instead&type=skill'

Read the HTTP API guide or connect through hosted MCP at https://vectle.com/api/v1/mcp.