Aws_s3_bucket_object content is not expected here

Hi

I have terraform code that templates and tries to upload to s3:

data “template_file” “tf_vpc_vars_file” {
template = data.aws_s3_bucket_object.vpc_var_template.body
vars = {
environment = var.env
subnet = var.vpc_cidr_block
}
}

data “aws_s3_bucket_object” “vpc_var_rendered” {
bucket = “somebucket”
key = “/qa/ansible/tf_vpc_vars_file.yml”
content = “${data.template_file.tf_vpc_vars_file.rendered}”
}

But running terraform plan gives me:

on main.tf line 23, in data “aws_s3_bucket_object” “vpc_var_rendered”:
23: content = “${data.template_file.tf_vpc_vars_file.rendered}”

An argument named “content” is not expected here.

(feature/qa_env):zap: [1] % terraform --version ~/git/terraform/qa/vpc
Terraform v0.12.24

  • provider.aws v2.61.0
  • provider.local v1.4.0
  • provider.template v2.1.2

My fault, using “data” instead of “resource” to upload rendered file