Commit Graph

285 Commits

Author SHA1 Message Date
James Bardin
ee564a5ceb Merge pull request #26421 from hashicorp/jbardin/ignore-changes-map
allow ignore_changes to reference any map key
2020-10-05 12:06:05 -04:00
Nick Fagerlund
26f786959b website: Update all Learn crosslinks (#26442)
* website: Update all Learn crosslinks

The URL structure on Learn recently changed, so it's time to update some URLs.

Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2020-10-02 11:02:59 -07:00
Pam Selle
a7e43dfd46 Merge pull request #26431 from hashicorp/pselle/sensitive-vals-docs
docs: Docs for sensitive variables
2020-10-01 13:50:11 -04:00
Pam Selle
3ddbb4b009 Update provider caveat grammar 2020-10-01 13:19:14 -04:00
Pam Selle
93d38ff2d2 Update intro to code blocks 2020-10-01 13:16:15 -04:00
Pam Selle
be50089c7f Rephrase sensitive index description 2020-10-01 13:12:25 -04:00
Pam Selle
09551de078 Rewrite intro to section, rename section, move state info
Move the information about state from the "caveats" to the main
info section, using similar information to sensitive outputs.
Updates the header of the section from similar inspiration.
2020-10-01 13:09:52 -04:00
Pam Selle
5cf61448e7 Update website/docs/configuration/variables.html.md
Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
2020-10-01 12:58:43 -04:00
James Bardin
82793f8158 update ignore_changes doc
We can remove the caveat about changing map elements.

Add a little more text about the intended use case for ignore_changes,
as the common case of fixing erroneous provider behavior should not be
the primary motivation for the maintenance of this feature.
2020-10-01 09:36:36 -04:00
Pam Selle
2a35240a17 Merge pull request #26314 from hashicorp/remove-template-provider-link
docs: remove link to deprecated provider
2020-09-30 17:57:02 -04:00
Pam Selle
e369fe0559 Docs for sensitive variables 2020-09-30 11:57:03 -04:00
Pam Selle
b57248533d Re-organize variable page for sensitive argument addition 2020-09-30 11:57:03 -04:00
Alejandro Rosero Vicuña
6d66b8b616 website: Make template file extension more consistent (#25029)
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2020-09-28 16:08:24 -07:00
Arthur Burkart
6ed47c7241 lang/funcs: Add "alltrue" function (#25656)
This commit adds an `alltrue` function to Terraform configuration. A
reason we might want this function is because it will enable more
powerful custom variable validations. For example:

```hcl
variable "amis" {
  type = list(object({
    id = string
  }))

  validation {
    condition = (alltrue([
      for a in var.amis : length(a.id) > 4 && substr(a.id, 0, 4) == "ami-"
    ]))
    error_message = "The ID of at least one AMI was invalid."
  }
}
```
2020-09-22 09:06:42 -04:00
kmoe
f12bb4698e remove link to deprecated provider 2020-09-21 17:04:46 +01:00
Brian Flad
db2b710776 docs/function/timestamp: Mention Time Provider (#26232)
This utility Terraform Provider has resources designed to handle and store time information by participating normally in the graph.
2020-09-14 16:40:36 -04:00
Petros Kolyvas
2167f92096 website: Adding a note around data-sources and depends_on for 0.12 users (#26222)
* Adding not about data-sources and depends-on for 0.12 users

* Bold

* A little more markdown

* A little more markdown for data_sources in 0.12

* Some iteration based on good feedback
2020-09-11 15:16:05 -03:00
Jon "The Nice Guy" Spriggs
6f9ce7310c Website: Add map example to templatefile function docs (#26126)
This change adds an example of using a map with a few keys and shows how it runs it.

Co-authored-by: Nick Fagerlund <nick@hashicorp.com>
2020-09-09 12:30:06 -07:00
Pam Selle
5ec1868419 Merge pull request #25864 from alexnovak/patch-1
Correct annotation in expressions.html
2020-09-08 14:26:46 -04:00
Kristin Laemmert
923e157b5c configs: deprecate version argument inside provider configuration blocks (#26135)
The version argument is deprecated in Terraform v0.14 in favor of
required_providers and will be removed in a future version of terraform
(expected to be v0.15). The provider configuration documentation already
discourages use of 'version' inside provider configuration blocks, so it
only needed an extra note that it is actively deprecated.
2020-09-08 08:19:00 -04:00
Alisdair McDiarmid
9f19034fee website: Document jsonencode entity escaping 2020-09-04 09:18:52 -04:00
Nick Fagerlund
56c0e35243 website: Fix copy-paste error 2020-09-02 14:57:06 -07:00
Nick Fagerlund
a4776bfb40 website: Clarify locals vs. local.thing distinction
The subtle difference in keywords when creating vs. accessing locals trips
people up, even more than the "variable" vs. "var" distinction. It deserves its
own subheader on the page, plus a nice noisy callout.
2020-09-02 14:31:19 -07:00
Lance Kind
eb7a427fba Update locals.html.md
I've just wasted an hour to two hours trying to find the problem to finally realize that although I declare a "locals" block, it's referred to as "local".  This is pretty weird! So let's be be clear about this.
2020-09-02 14:31:19 -07:00
Jai Govindani
d8b36e5d12 style(providers): update syntax for terraform >= 0.11 2020-09-01 10:38:18 +07:00
Pam Selle
f2d213c461 Merge pull request #25657 from pdecat/typo_hierarchical
Typo: heirarchical => hierarchical
2020-08-28 12:37:49 -04:00
Roger Berlind
3070f21241 Fix foreach to for_each
`foreach` on modules should be `for_each`
2020-08-27 14:37:52 -04:00
Kristin Laemmert
4569a37de4 website/docs: provider source related clarifications 2020-08-26 13:50:07 -04:00
Kristin Laemmert
75e676f2f2 website/docs: remove unclear provider version constraint description (#25998) 2020-08-25 17:03:24 -04:00
Alisdair McDiarmid
93cd6b1b75 Merge pull request #25989 from pdecat/patch-1
Fix link to "v0.12-Compatible Provider Requirements" section
2020-08-25 15:59:25 -04:00
Alisdair McDiarmid
5f43934d5f website: Provider requirements are not inherited
Add a note to the provider configuration section explaining that only
config can be inherited by child modules, not source or version
requirements.
2020-08-25 13:02:16 -04:00
Patrick Decat
84c50f9efb Fix link to "v0.12-Compatible Provider Requirements" section
On the https://www.terraform.io/docs/configuration/provider-requirements.html#requiring-providers page, the link to the `v0.12-Compatible Provider Requirements` section is broken:
* current link: https://www.terraform.io/docs/configuration/provider-requirements.html#v012-compatible-provider-requirements
* correct link: https://www.terraform.io/docs/configuration/provider-requirements.html#v0-12-compatible-provider-requirements
2020-08-25 12:35:07 +02:00
Alex Novak
82aa2d4467 Correct annotation in expressions.html
`false` section was missing a finishing "`"
2020-08-14 16:33:54 -04:00
Kristin Laemmert
7111d8deb1 Merge pull request #25783 from nvogel/master
Fix documentation example for the indent function
2020-08-12 09:34:07 -04:00
Nick Fagerlund
2ffb71bcee website: Fix several broken links (#25808) 2020-08-11 15:24:51 -07:00
Nicolas Vogel
8f42f0fa77 Fix documentation example for the indent function
We must use interpolation, using the %{} directive will trigger the following error  "indent" is not a valid template control keyword
2020-08-10 11:45:28 +02:00
Nick Fagerlund
0ab7c1b90e website: Add links to relevant Learn guides in several docs pages (#25718)
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2020-07-31 13:16:35 -07:00
Nick Fagerlund
0e5651560b Website: 0.13 docs edits, mostly around provider requirements (#25686)
* Make sidebar nav in language docs more intuitive
* Minor display fixes for registry docs
* Explain providers in the registry in the providers index
* Revise a bunch of language docs around provider reqs

This is mostly an effort to smooth out some of the explanations, make sure
things are presented in a helpful order, make sure terminology lines up, draw
connections between related concepts, make default behavior more apparent, and
the like. It shouldn't include very much new information, but there might be one
or two things that came out of a conversation somewhere.

Co-authored-by: Judith Malnick <judith@hashicorp.com>
2020-07-30 21:07:36 -07:00
Martin Atkins
ef071f3d0e website: Generalized advice on modules with provider configs
As part of documenting the new module for_each capabilities we added a
section noting that shared modules using the legacy pattern of declaring
their own provider configurations would not be compatible with them.

However, that also applies to the new module depends_on and several folks
participating in the beta pointed out that the documentation wasn't
discussing that at all.

In order to generalize the advice, I've moved the old content we had
(since v0.11) recommending against provider configurations in shared
modules out into its own section, now being more explicit that it is
a legacy pattern and not recommended, and then folded the content about
for_each and count, now also including depends_on, into that expanded
section.

As is often the case, that had some knock-on effects on the content on
the rest of this page, so there's some general editing and reorganization
here. In particular, I moved the "Multiple Instances of a Module" section
much further up the page because it's content relevant to users of
shared modules, while the later content on this page is more aimed at
authors of shared modules, including the new section about the legacy
pattern.
2020-07-24 14:37:59 -07:00
Patrick Decat
062865735f Typo: heirarchical => hierarchical 2020-07-23 15:09:22 +02:00
MorganGeek
3b6c1ef156 Fix spelling mistakes/typos in documentation 2020-07-22 18:24:32 +02:00
Kristin Laemmert
c4ce84269a website/docs: document difference in formatting strings with width and precision (#25499) 2020-07-07 14:09:39 -04:00
Martin Atkins
02b130cd59 website: Terraform v0.13 upgrade guide 2020-06-25 09:24:41 -07:00
Alisdair McDiarmid
c093c50c80 Merge pull request #25255 from unki/patch-1
fix yamldecode()-example, missing a file() call
2020-06-24 10:31:08 -04:00
jessica-ritter
edbf59ed4c what happens when prefix is not in string
https://github.com/hashicorp/terraform/blob/master/lang/functions.go#L126 shows that Terraform's Trimprefix comes directly from the standard go library. 
When prefix is absent in the go standard library, the original string is returned; https://golang.org/pkg/strings/#TrimPrefix.
2020-06-22 11:31:08 -07:00
Martin Atkins
dc8fd14c1e website: "Provider Requirements" documentation
We previously covered everything about using providers on a single page,
but that was getting unwieldy already and we now have a lot more to
discuss with v0.13 introducing a new source address syntax and some other
concepts.

Here we split the provider-related content into two parts: "Provider
Requirements" covers how to find and declare dependencies on providers,
and then "Provider Configuration" (formerly just "Providers") then focuses
primarily on how to write zero or more provider configurations for a
particular provider.

Because "Provider Requirements" is now presented before "Provider
Configuration" in the navigation, I've also moved some of the introductory
content about providers in general onto the "Requirements" page. The
first paragraph of that content is duplicated onto the "Configuration"
page for discoverability, but we now link to the requirements page to get
the full story.
2020-06-18 09:31:52 -07:00
Nick Fagerlund
b1eb9dcfcf website: Configuration Language navigation refactoring
The "Configuration Language" section was becoming rather unweildy, both
by having a lot of pages and by some of the pages being quite large in
themselves.

This is a first step towards breaking things up a little more, starting
with two changes:

 - The "Configuration Language" navigation is now split into two
   sub-headings "Configuration Blocks" and "Syntax".

 - Some of the information about sub-blocks of the "terraform" block are
   now given their own pages, because their content is quite complex
   in itself.

 - "Version Constraints" is now a page in its own right, rather than this
   content being duplicated in slightly different forms across multiple
   contexts that make use of user-specified version constraints.
2020-06-18 09:31:52 -07:00
unki
214009e0f3 fix yamldecode()-example, missing a file() call 2020-06-16 09:56:03 +02:00
Martin Atkins
67311f73fd website: Draw better attention to for and for_each patterns
When helping folks in the community forum, I commonly see questions around
more complex patterns in transforming deep data structures into different
shapes to work with for_each. We have examples of these patterns in the
docs for the functions that they rely on, but they were not previously
very discoverable in the main configuration language documentation
sections.

Here I've moved the "Using Expressions in for_each" subsection on the
Resources page above some of the other sub-sections to hopefully make it
easier to see, and written out in more detail the two specific patterns
that answer a significant number of for_each-related user questions in
the hope that readers will be more likely to realize that the links are
relevant to what their goals.

I also added some more elaboration about the behavior of converting from
list to set in the "Using Sets" subsection, because this feature is often
a user's first encounter with the set data type and I've inferred from
some of the questions I've answered that a number of Terraform users don't
have prior experience with set data types in other languages to draw
assumptions from.

Finally, I added some similar links to the for_each patterns within the
for expression documentation itself, to try to make those examples more
visible to those who might be discovering the documentation in a different
sequence, e.g. by following a deep link shared in an answer to a question
in the community forum.
2020-06-01 14:17:47 -07:00
James Bardin
866449a78a Merge pull request #25069 from hashicorp/jbardin/depends-on-docs
depends_on doc updates
2020-05-29 16:50:39 -04:00