Terraform initializes the backend before it evaluates anything else in the configuration, because it needs the backend to read state. At that early point, input variables, locals and data sources have not been processed. As a result, a backend block cannot contain references such as var.bucket, local.key or any other expression that depends on configuration values. Only literal values are allowed, and Terraform reports an error if you try to use a variable there.
Keep reading for free
Create a free StudyToCert account to read the rest of this lesson: 5 more sections, 4 key terms, a real-world example, an exam tip and self-check questions. Every lesson, lab and practice test is free with an account.