Commit Graph

13 Commits

Author SHA1 Message Date
Quentin Machu f721608e4e provider/template: Add a 'dir' resource to template entire directories
When TerraForm is used to configure and deploy infrastructure
applications that require dozens templated files, such as Kubernetes, it
becomes extremely burdensome to template them individually: each of them
requires a data source block as well as an upload/export (file
provisioner, AWS S3, ...).

Instead, this commit introduces a mean to template an entire folder of
files (recursively), that can then be treated as a whole by any provider
or provisioner that support directory inputs (such as the
file provisioner, the archive provider, ...).

This does not intend to make TerraForm a full-fledged templating system
as the templating grammar and capabilities are left unchanged. This only
aims at improving the user-experience of the existing templating
provider by significantly reducing the overhead when several files are
to be generated - without forcing the users to rely on external tools
when these templates stay simple and that their generation in TerraForm
is justified.
2017-04-25 10:48:26 -07:00
Martin Atkins 861ac536dd provider/template: convert resources to data sources
The template resources don't actually need to retain any state, so they
are good candidates to be data sources.

This includes a few tweaks to the acceptance tests -- now configured to
run as unit tests -- since it seems that they have been slightly broken
for a while now. In particular, the "update" cases are no longer tested
because updating is not a meaningful operation for a data source.
2016-07-08 17:11:17 +01:00
Cameron Stokes 0857b13cb9 Fix markdown issue in template_file docs
Extra underscore was breaking markdown.
2016-06-24 07:53:21 -07:00
Peter Marton 2df53f283d Add gzip and base64 default values to cloudinit template docs (#4875) 2016-04-11 14:19:04 -05:00
Paul Hinze b6907f9bd4 docs: cloudinit_config - correct syntax and add sidebar link 2016-01-08 13:34:16 -06:00
James Nugent a4568c596e Fix CloudInit doc format and give better example 2015-12-21 13:32:26 -05:00
James Nugent 16c8750bab Make minor alterations to the cloudinit docs 2015-12-21 13:32:26 -05:00
James Nugent a926fa6fdd Adds template_cloudinit_config resource to template
This adds a new resource to template to generate multipart cloudinit
configurations to be used with other providers/resources.

The resource has the ability gzip and base64 encode the parts.
2015-12-21 13:32:26 -05:00
Luke Amdor f23a4994ae docs: fix template_file syntax error 2015-11-17 16:45:08 -06:00
Paul Hinze 928f534cfc template_file: source contents instead of path
Building on the work of #3846, deprecate `filename` in favor of a
`template` attribute that accepts file contents instead of a path.

Required a bit of work in the interpolation code to prevent Terraform
from assuming that template interpolations were resource variables that
needed to be resolved. Leaving them as "Unknown Variables" prevents
interpolation from happening early and lets the `template_file` resource
do its thing.
2015-11-13 11:24:20 -06:00
Paul Hinze 2cea7c7d0c docs: clarify template_file path information
- change example to use the most commonly necessary path format w/
   `path.module`
 - link to path variable page in description

/cc @KFishner
2015-07-31 11:44:07 -05:00
7heo ff9b74c7e8 More internal links in template documentation. 2015-05-27 12:22:52 +02:00
Mitchell Hashimoto f1ae920aa9 website: document templating as a provider 2015-05-07 18:20:22 -07:00