My team relies heavily on S3 remote state from within Terraform. We use the -backend-config
feature of the CLI to specify the S3 configuration when initializing projects, so our actual terraform code looks like:
terraform {
backend "s3" {}
}
The above works great as long as all the S3 attributes are specified on the CLI with -backend-config
.
We would like to use a similar strategy for referencing these states elsewhere in our configurations. Since the parameters for the backend are dynamic and specified on the CLI, we are looking to do the same.
data "terraform_remote_state" "dns" {
backend = "s3"
config {
key = "configurations/production/dns/terraform.tfstate"
}
}
In the above example, we've omitted the required region
and bucket
parameters, which of course causes plan/apply to fail (with not a valid region:
).
Is there a method by which we can specify the region and bucket for remote state references from the CLI instead of hard-coding them?