Commit Graph

5546 Commits

Author SHA1 Message Date
Martin Atkins 382e1ca821 lang: yamldecode and yamlencode functions
These follow the same principle as jsondecode and jsonencode, but use
YAML instead of JSON.

YAML has a much more complex information model than JSON, so we can only
support a subset of it during decoding, but hopefully the subset supported
here is a useful one.

Because there are many different ways to _generate_ YAML, the yamlencode
function is forced to make some decisions, and those decisions are likely
to affect compatibility with other real-world YAML parsers. Although the
format here is intended to be generic and compatible, we may find that
there are problems with it that'll we'll want to adjust for in a future
release, so yamlencode is therefore marked as experimental for now until
the underlying library is ready to commit to ongoing byte-for-byte
compatibility in serialization.

The main use-case here is met by yamldecode, which will allow reading in
files written in YAML format by humans for use in Terraform modules, in
situations where a higher-level input format than direct Terraform
language declarations is helpful.
2019-06-04 16:24:09 -07:00
Martin Atkins f9a73d48db lang: "range" function
This is similar to the function of the same name in Python, generating a
sequence of numbers as a list that can then be used in other
sequence-oriented operations.

The primary use-case for it is to turn a count expressed as a number into
a list of that length, which can then be iterated over or passed to a
collection function to produce that number of something else, as shown
in the example at the end of its documentation page.
2019-06-04 16:20:17 -07:00
cgriggs01 55fe3c7a28 new community links + update signalFX 2019-06-03 17:19:52 -07:00
David Liao 97ad35f90c website: Update taint command docs to reflect new 0.12 usage 2019-06-03 15:36:38 -07:00
Brian Flad 3865b74780
Merge pull request #21122 from fbcbarbosa/patch-1
Document AWS_SDK_LOAD_CONFIG on s3 backend
2019-05-28 21:05:40 -05:00
Joe Tavin 2c176fdf4b website/0.12 upgrade: Fix typo (#21426) 2019-05-24 10:06:01 -04:00
Chris Marchesi 340aa7c598
website: add Sentinel 0.12 upgrade guide details
This adds details for using Sentinel in Terraform 0.12. It largely
links to the corresponding guide in the Terraform Enterprise
documentation.
2019-05-22 09:58:18 -07:00
Justin Weissig 7335f1fdc8 docs: fixed typo (#21297)
Spelling: varable/variable.
2019-05-21 15:55:44 -04:00
Justin Weissig 778cae91a8 website: fix typo in the 'terraform' block documentation page 2019-05-20 14:37:03 -07:00
Martin Atkins fe8c380fe1 website: Remove the Sentinel section from 0.12 upgrade guide
A longer-form guide will follow in the Sentinel section of the Terraform
Enterprise documentation, once it's ready. For now, this section isn't
saying anything useful since it was always just a stub for a guide we
planned to write later.
2019-05-20 14:16:56 -07:00
Martin Atkins 5af8bcff2f
website: correct the synopsis on the formatdate function page
Was using "format" instead of "formatdate".
2019-05-17 14:42:00 -07:00
Peter 02d03d2d25 website: Fix odd spacing on the provider configuration syntax page 2019-05-17 08:45:08 -07:00
Martin Atkins 32d19b9574 website: 0.12 upgrade guide about variable type constraints
The upgrade tool is assuming that a type of "list" means list(string) and
a type of "map" means map(string), because that was what we documented
those as meaning.

In practice, Terraform 0.11 was lacking some validation which allowed
more complex nested structures in some cases even though they were pretty
inconvenient to use due to other language limitations.

The upgrade tool doesn't have enough context to make a reliable decision
on this, so instead we'll rely on the upgrade guide for this. We don't
need a TF-UPGRADE-TODO comment in this case because we reserve those for
things where a subsequent operation might cause the configuration to be
misinterpred, rather than just causing an error. Instead, we'll show an
example of the comment in the upgrade guide so the reader can easily
match it, and give some advice in the guide on how to address it.
2019-05-16 07:29:42 -07:00
Chris Griggs 4db9b40471
Merge pull request #21301 from hashicorp/cgriggs01-rancher2
[Website] Rancher2 provider doc links
2019-05-14 13:25:52 -07:00
cgriggs01 dc4811f898 [Website] Rancher2 provider links 2019-05-14 11:13:32 -07:00
Martin Atkins abdd680fd2 website: Special considerations about the "scp-like" git address syntax
We've seen in the past that some users try to use this form with the
ssh:// URL prefix, so we'll mention explicitly that this is invalid and
show a working example of how to use it without the URL scheme prefix.
2019-05-14 07:38:06 -07:00
Martin Atkins c6e32f148d website: v0.12 upgrade guide revisions preparing for final release
Our original upgrade guide was drafted while some things were still in
flux and not all of our upgrade tooling was in place yet.

This redraft now attempts to be more specific and direct, showing exact
commands to run and (where relevant) exact error messages that Terraform
might return.

I also took this opportunity for some general copy-editing, though we'll
probably want to do one more pass of that alone (without changing any
content at the same time) before final release.

This new content presumes the existence of a Terraform v0.11.14 release,
which isn't published yet at the time of writing but should be published
before v0.12.0 final, once we've done final verification and review of
the upgrade path including it.
2019-05-09 12:20:24 -07:00
Alexis 00cc5781ab website: Fix typo in the configuration language introduction page 2019-05-08 16:31:37 -07:00
cgriggs01 8c52fdcecf new community providers 2019-05-08 11:13:19 -07:00
Justin Weissig aa4c43b341 website: Fix typo on the "expressions" documentation page 2019-05-08 10:58:22 -07:00
Chris Griggs 9c4ff517b6
Merge pull request #21221 from hashicorp/cgriggs01-vmware
[Website] Add VMware vRA7 provider links
2019-05-06 15:57:34 -07:00
Nick Fagerlund 0172fed7d4 (website) Adjust intro of attr-blocks page
- Note that we intentionally omitted it from the sidebar, to reduce confusion.
- Write a summary up top so you can stop reading sooner if you don't actually need this.
2019-05-06 13:07:54 -07:00
cgriggs01 3911b0f310 [Website] add vra7 links 2019-05-06 12:33:21 -07:00
Kristin Laemmert b66d03bba7
Mildwonkey/upgrade doc remote backend (#21201)
* website/upgrade-guides: init -reconfigure is required with remote backend

* build: add a real and useful version of `.tfdev`
2019-05-03 15:34:54 -04:00
cgriggs01 dc889c4f08 two new community providers 2019-05-02 11:01:08 -07:00
Kristin Laemmert b1d0b1383f
lang/funcs: remove sethaselement function and documentation (#21164)
`contains` and `sethaselement` are effectively the same function, and
`contains` works with `sets` thanks to automatic HCL conversion.
2019-05-02 10:47:19 -04:00
Chris Griggs a0cd6156d1
Add to section 3 2019-05-01 15:16:25 -07:00
Chris Griggs 68847ac99b
Fixes grammer and spelling 2019-05-01 14:06:26 -07:00
cgriggs01 4194eff5da guide changes 2019-05-01 13:40:50 -07:00
Justin Weissig 299e0432bc
Fixed typo
Fixed typo: cafeful/careful.
2019-04-30 00:06:01 -07:00
Kristin Laemmert 394cf7f25e
lang/funcs: add acc tests for functions (#21112)
* lang/funcs: testing of functions through the lang package API
The function-specific unit tests do not cover the HCL conversion that happens when the functions are called in a terraform configuration. For e.g., HCL converts sets to lists before passing it to the function. This means that we could not test passing a set in the function _unit_ tests.
This adds a higher-level acceptance test, plus a check that every (pure) function has a test.

* website/docs: update function documentation
2019-04-29 13:11:28 -04:00
Justin Weissig 3d80aed6fe website/docs: Fixed Typo (#21137)
Fixed typo: separtely/separately.
2019-04-29 09:19:10 -04:00
cgriggs01 c7dc988741 update contactor listing 2019-04-26 11:28:43 -07:00
Fernando Barbosa 47e32b5399
Update s3.html.md 2019-04-26 11:10:31 -03:00
Chris Griggs b7705d20a0
Merge pull request #21098 from hashicorp/cgriggs01-add-gridscale
[Website] Add Gridscale provider
2019-04-24 15:02:12 -07:00
Chris Griggs 103f56e0a3
Merge pull request #21090 from hashicorp/cgriggs01-name-update
[Website] Fix FortiOS typo
2019-04-24 14:54:05 -07:00
cgriggs01 bad3c57f00 [Website] Add Gridscale provider 2019-04-24 14:46:22 -07:00
Kit Ewbank efc08de5d6 lang/funcs: add 'strrev' interpolation function. (#21091) 2019-04-24 14:52:39 -04:00
cgriggs01 bd1b2c8641 fix FortiOS caps 2019-04-24 10:21:16 -07:00
Ross McKelvie ce1fba5817 website: update required_providers block for terraform 0.12 compatibility 2019-04-19 11:54:19 -07:00
Chris Griggs aeabdf1a0d
Merge pull request #21054 from cgriggs01/cgriggs01-community-patch
[Website] Adding community provider
2019-04-18 09:19:39 -07:00
Martin Atkins 533cbf4c3f
website: Update "Local Values" docs to use v0.12 syntax in example
There was some leftover v0.11-style interpolation syntax here.

We prefer to use a "naked" expression in situations like this where the result
isn't a string, because interpolations returning non-strings is a common source
of confusion for new users.
2019-04-18 09:03:34 -07:00
Chris Griggs f66b563ccd
Merge pull request #21051 from cgriggs01/cgriggs01-fortios-links
[Website] Adding Fortios provider links
2019-04-18 08:37:21 -07:00
cgriggs01 55b816853a [Website] Adding Fortios provider links 2019-04-18 07:46:30 -07:00
Martin Atkins 62d32e9bb3 website: Fix incorrect example in Module Composition page
The example above treats recordsets as a list, but the declaration was for a single object.
2019-04-18 07:13:16 -07:00
cgriggs01 26d515e40a Adding community provider 2019-04-17 15:57:24 -07:00
Martin Atkins 2238fbda1b website: v0.12 upgrade guide about list variables and brackets 2019-04-17 11:16:16 -07:00
Martin Atkins c94f8f9067 website: Document division behavior change in v0.12 upgrade guide
The division operator now always performs floating point division, whereas
before it would choose between float and int division based on the types
of its arguments.

We have a specific error message for when a fractional number is used as
an index in HCL, but this additional upgrade guidance provides a specific
solution to the problem: the floor function.

Sadly we don't have enough context in the current design of the upgrade
tool to make this fix automatic. With some refactoring it may be possible
to apply the fix automatically within list brackets, but since that is
a relatively complex change we'll first try this manual solution prompted
by an error message, because in practice so far we've seen this reported
only in the context of list indexing and our error check will catch that
and make the user aware of the need for a fix there.
2019-04-16 10:03:37 -07:00
Nick Fagerlund b4042947d1 website: null_resource isn't a type of provisioner
This page is useful, but it's easier to tell what it's for if we
put it next to the page about connections.
2019-04-15 14:11:02 -07:00
Kristin Laemmert d4669246c7
funcs/coalesce: return the first non-null, non-empty-string element from a sequence (#21002)
* funcs/coalesce: return the first non-null, non-empty element from a
sequence.

The go-cty coalesce function, which was originally used here, returns the
first non-null element from a sequence. Terraform 0.11's coalesce,
however, returns the first non-empty string from a list of strings.

This new coalesce function aims to preserve terraform's documented
functionality while adding support for additional argument types. The
tests include those in go-cty and adapted tests from the 0.11 version of
coalesce.

* website/docs: update coalesce function document
2019-04-12 13:57:52 -04:00