Renders a template from a file.

Example Usage

data "template_file" "init" {
    template = "${file("${path.module}/init.tpl")}"

    vars {
        consul_address = "${aws_instance.consul.private_ip}"

Argument Reference

The following arguments are supported:

  • template - (Required) The contents of the template. These can be loaded from a file on disk using the file() interpolation function.

  • vars - (Optional) Variables for interpolation within the template. Note that variables must all be primitives. Direct references to lists or maps will cause a validation error.

The following arguments are maintained for backwards compatibility and may be removed in a future version:

  • filename - Deprecated, please use template instead. The filename for the template. Use path variables to make this path relative to different path roots.

Attributes Reference

The following attributes are exported:

  • template - See Argument Reference above.
  • vars - See Argument Reference above.
  • rendered - The final rendered template.

Template files syntax

The syntax of the template files is documented here, under the "Templates" section.