I've the file structure below, terraform CLI is not using the runtime variable value in S3 file's content. It's always defaulting to 0 value.
Structure:
terraform
main.tf
api/
variables.tf
s3.tf
main.tf
module "api" {
source = "./api"
providers = {
aws = "aws.us-east-1"
}
}
variables.tf
variable "build-number" {
description = "jenkins build number"
type = "string"
default = "0"
}
s3.tf
resource "aws_s3_bucket_object" "api-build-version" {
bucket = "api-code"
key = "build-version"
content = "${var.build-number}"
etag = "${md5("${var.build-number}")}"
}
terraform plan -var "build-number=2" -target aws_s3_bucket_object.api-build-version
My Terraform version is v0.11.8