Commit Graph

282 Commits

Author SHA1 Message Date
Laura Pacilio e1b702b8d0
Merge pull request #29417 from jonesetc/patch-1
Fix link to index function
2021-08-18 18:24:54 -04:00
Laura Pacilio b574c03dd1
Merge pull request #29271 from kebroad/patch-1
Fixed cidrhost() example 1 and 2 with correct function parameter
2021-08-18 18:22:06 -04:00
Kyle Jones e4e5f5a1a4
Fix link to index function
The element function page previously linked to the index page for all functions where it meant to link to the index function page.
2021-08-18 15:08:19 -07:00
Martin Atkins c23a7fce4e lang/funcs: Preserve IP address leading zero behavior from Go 1.16
Go 1.17 includes a breaking change to both net.ParseIP and net.ParseCIDR
functions to reject IPv4 address octets written with leading zeros.

Our use of these functions as part of the various CIDR functions in the
Terraform language doesn't have the same security concerns that the Go
team had in evaluating this change to the standard library, and so we
can't justify an exception to our v1.0 compatibility promises on the same
sort of security grounds that the Go team used to justify their
compatibility exception.

For that reason, we'll now use our own fork of the Go library functions
which has the new check disabled in order to preserve the prior behavior.
We're taking this path, rather than pre-normalizing the IP address before
calling into the standard library, because an additional normalization
layer would be entirely new code and additional complexity, whereas this
fork is relatively minor in terms of code size and avoids any significant
changes to our own calls to these functions.

Thanks to the Kubernetes team for their prior work on carving out a subset
of the "net" package for their similar backward-compatibility concern.
Our "ipaddr" package here is a lightly-modified fork of their fork, with
only the comments changed to talk about Terraform instead of Kubernetes.

This fork is not intended for use in any other future feature
implementations, because they wouldn't be subject to the same
compatibility constraints as our existing functions. We will use these
forked implementations for new callers only if consistency with the
behavior of the existing functions is a key requirement.
2021-08-17 15:20:05 -07:00
moajo b3e1a40499 Update website/docs/language/settings/backends/s3.html.md 2021-08-12 15:17:04 +09:00
45deg 494043ed24
Fix a result in examples for urlencode.html.md 2021-08-12 13:47:27 +09:00
Radek Simko 7a95bbf019
docs: Add note about multiple variable validation blocks (#29299) 2021-08-10 15:20:02 +01:00
Top 963771d398
Merge pull request #29304 from hashicorp/tf-swift-backend-swauth
Update swift.html.md
2021-08-10 08:16:26 +10:00
Laura Pacilio 3376752b08
Merge pull request #29273 from mellab/patch-1
Fixed typo on type-constraints.html.md
2021-08-09 11:44:33 -04:00
Alkis Tsitsigkos 1f5069d9dc
Update for.html.md
Boolean doesn't exist as an accepted type of variable
2021-08-06 12:54:26 +03:00
Tigran Tch 0103f58297
fix syntax 2021-08-05 17:04:40 +02:00
Top 21a5103551
Update swift.html.md
Add note for Swauth v1.0 support
2021-08-05 08:32:40 +10:00
Alex Khaerov 9d5f1752c8
oss backend: flattern assume_role block 2021-08-03 14:26:15 +08:00
Laura Pacilio 5b07bb7040
Merge pull request #29216 from hashicorp/laura-description-metadata-cli
Laura description metadata cli
2021-07-30 14:49:36 -04:00
Laura Pacilio 31af9adc00 Make all sentences start with caps + additional tweak wording edits 2021-07-30 14:44:17 -04:00
Laura Pacilio d59777c12f
Update website/docs/language/modules/sources.html.md
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2021-07-30 14:07:45 -04:00
Laura Pacilio 6874aad76d
Update website/docs/language/meta-arguments/resource-provider.html.md
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2021-07-30 14:07:19 -04:00
Laura Pacilio 809f50fbf2
Update website/docs/language/meta-arguments/module-providers.html.md
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2021-07-30 14:07:03 -04:00
Laura Pacilio 87348f97f8
Update website/docs/language/expressions/dynamic-blocks.html.md
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2021-07-30 14:06:20 -04:00
Laura Pacilio 3ae552fbc9 Remove back ticks from syntax index page 2021-07-30 10:57:44 -04:00
Laura Pacilio 2970efff00 Remove back ticks from settings index page 2021-07-30 10:56:11 -04:00
Laura Pacilio e6903e860a Remove back ticks from null_resource_page 2021-07-30 10:55:13 -04:00
Laura Pacilio 22588ca105 Remove back ticks from connection block page 2021-07-30 10:54:39 -04:00
Laura Pacilio 058fa43d5d Remove back ticks from resource index page 2021-07-30 10:53:58 -04:00
Laura Pacilio 8a919d98d4 Remove back ticks from resource behavior page 2021-07-30 10:53:17 -04:00
Laura Pacilio 6e0349645e Remove back ticks from configuration page 2021-07-30 10:52:25 -04:00
Laura Pacilio 277fe647b9 Remove back ticks from source module page 2021-07-30 10:51:46 -04:00
Laura Pacilio 2e34e7a727 Remove back ticks from module providers meta argument page 2021-07-30 10:50:39 -04:00
Laura Pacilio 512bb1a3c5 Remove back ticks from provider meta argument page 2021-07-30 10:49:28 -04:00
Laura Pacilio 051ce2ae6c Remove back ticks from lifecycle page 2021-07-30 10:47:31 -04:00
Laura Pacilio a7c1ae72a4 Remove back ticks from for_each page 2021-07-30 10:45:39 -04:00
Laura Pacilio 01f993b6f7 Remove back ticks from depends_on page 2021-07-30 10:45:13 -04:00
Laura Pacilio a448eaa41f Remove back ticks from count page 2021-07-30 10:44:44 -04:00
Laura Pacilio 20bdc25ffd Remove back ticks from for expressions page 2021-07-30 10:43:30 -04:00
Laura Pacilio ad9fb34c0b Remove backticks from dynamic blocks page 2021-07-30 10:42:57 -04:00
Laura Pacilio f75acc7129 Remove backticks from Dependency lock page 2021-07-30 10:42:15 -04:00
mellab c690247837
Update type-constraints.html.md
Fixed one typo found on the type constraints page:

recieving -> receiving
2021-07-30 00:08:42 -05:00
Kevin Broadbridge f5cbe59386 Fixed cidrhost example 1 and 2 with correct function parameter 2021-07-29 16:30:18 -05:00
Laura Pacilio a14272d022 Update extending link to "plugin development" 2021-07-26 14:52:44 -04:00
Daniel Schmidt 59dd7f8f51
terraform-workspace should be terraform.workspace
Closes #28881 by @abidmunirmalik
2021-07-26 09:41:51 +02:00
Laura Pacilio b9c0cbb1fd
Merge pull request #29117 from hashicorp/description-metadata-language-docs
Description metadata -  language docs
2021-07-21 16:30:05 -04:00
Laura Pacilio 06a2fdcf9d Merge branch 'main' into description-metadata-language-docs 2021-07-21 16:24:59 -04:00
James Bardin 570b70b02f
Merge pull request #28078 from jasons42/configure-etcdv3-client-max-request-size
Expose etcd client MaxCallSendMsgSize config
2021-07-20 15:49:14 -04:00
James Bardin 431aa0280e
Merge pull request #29157 from remilapeyre/unique-constraint
Add uniqueness constraint on workspaces name for the pg backend
2021-07-20 15:11:35 -04:00
Jason Smith 5ff9b7626b Fix broken link
Fix website-link-check failing as https://coreos.com/etcd/ 301's to https://etcd.io/. Updated link to https://etcd.io/.
2021-07-20 14:04:49 -05:00
Jason Smith 162f853841 Document max_request_bytes config 2021-07-20 14:04:47 -05:00
Laura Pacilio a780f625e9 Fix metadata description format on all pages 2021-07-19 12:11:10 -04:00
Laura Pacilio 603e156bb9 Update input variables page metadata 2021-07-16 17:32:24 -04:00
Laura Pacilio 1f1563b889 Fix formatting error on language home page 2021-07-16 17:28:40 -04:00
Laura Pacilio 725c1c2a86 Update style conventions page metadata 2021-07-16 17:28:13 -04:00
Laura Pacilio f67e7f6a9f Update json configuration syntax page metadata 2021-07-16 17:21:16 -04:00
Laura Pacilio df6135e4c7 Update languge syntax overview page metadata 2021-07-16 17:17:39 -04:00
Laura Pacilio b6b4340214 Add detail to backend overview page metadata 2021-07-16 17:08:24 -04:00
Laura Pacilio f46974dbb2 Add detail to settings intro page metadata 2021-07-16 17:03:13 -04:00
Laura Pacilio 80fee567a2 Add detail to resource block page metadata 2021-07-16 16:55:13 -04:00
Laura Pacilio 77c208d02f Add detail to declare provisioners page metadata 2021-07-16 16:50:55 -04:00
Laura Pacilio 6f056af08e Update null resource page metadata 2021-07-16 16:46:16 -04:00
Laura Pacilio 55ebc7eef4 Add detail to provisioners overview page metadata 2021-07-16 16:43:12 -04:00
Kristin Laemmert 563f1436eb
various docs updates (#29018)
* website/docs: add sensitivity warning to output documentation

fixes #28005

* website/docs: add note about ** to fileset documentation

closes #24220

* website/docs: add note that `dynamic` expressions aren't included in json config output

closes #28346

* website: the provider installer isn't necessarily concurrency safe

closes #28367
2021-07-15 12:22:17 -04:00
Laura Pacilio bc9065334e Update description metadata per PR feedback 2021-07-14 16:54:26 -04:00
Rémi Lapeyre 4177bd98b9 Change wording for the skip_... options of the pg backend 2021-07-14 12:01:54 +02:00
Laura Pacilio eebbdd6778 Update dynamic blocks description with more detail and to remove 'ing' 2021-07-13 17:48:28 -04:00
Laura Pacilio 8abbbc7c7f Update conditionals metadata to include more detail and remove 'ing' 2021-07-13 17:40:16 -04:00
Laura Pacilio a740d75882 Update dependency lock file description with more detail and remove 'ing' 2021-07-13 17:34:34 -04:00
Laura Pacilio 12d1706562 Update data sources metadata to remove ing and include more detailXy 2021-07-13 17:23:07 -04:00
Nick Fagerlund 0e004f2377
website: remove legacy provider docs index (#29134)
* website: Update or remove references to legacy provider docs

We've finally evicted the last of the legacy provider docs from terraform.io!
Let's celebrate by purging all memory of them.

The 0.11 docs are now so thoroughly legacy that I don't believe they need a new
destination for their provider links, so I just removed those.

* website: remove old provider docs index

This will require a redirect in the terraform-website repo.

* Apply suggestions from code review

Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>

Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2021-07-09 14:44:58 -07:00
Laura Pacilio 6cf2ad27a7 Fix typo in description on expressions overview page 2021-07-09 17:26:30 -04:00
Laura Pacilio 69ebfd6f03 Add/update description metadata on backend and state overview pages 2021-07-09 15:56:12 -04:00
Laura Pacilio a37fd2f5f7 Upate description metadata on terraform settings overview 2021-07-09 15:46:07 -04:00
Laura Pacilio 952cb33103 Add description metadata to functions overview page 2021-07-09 15:42:58 -04:00
Laura Pacilio 7dba0e511f Add description metadata to remaining expressions pages 2021-07-09 15:40:05 -04:00
Laura Pacilio 2718d2addc Add description metadata to module block page 2021-07-09 15:32:25 -04:00
Laura Pacilio df16096141 Add description metadata to dynamic blocks, types, and module providers 2021-07-09 15:28:28 -04:00
Laura Pacilio d9f7ce19fe Add description metadata to conditionals page 2021-07-09 15:17:18 -04:00
Laura Pacilio 3baddbef0e Add description metadata to creating modules pagey 2021-07-09 12:14:58 -04:00
Laura Pacilio e348477c79 Add description metadata to module sources 2021-07-09 12:08:48 -04:00
Laura Pacilio 4044fe30d3 Add description metadata to modules overview page 2021-07-09 11:59:38 -04:00
Laura Pacilio f4f8d7a6c5 Change use to using for consistency with other docs 2021-07-09 11:50:19 -04:00
Laura Pacilio adf4dbdf84 Update description metadata 2021-07-09 11:45:42 -04:00
Laura Pacilio 14d6e0dea9 Add Terraform key work to description metadata 2021-07-09 11:37:01 -04:00
Laura Pacilio 07accd7a38 Add page metadata to variables and outputs overview 2021-07-09 11:34:02 -04:00
Laura Pacilio 9dc008fa10 Add metadata description to dependency lock file page 2021-07-09 11:25:55 -04:00
Laura Pacilio 62b11f02e2 Make metadata description more concise 2021-07-09 11:15:10 -04:00
Laura Pacilio 62b444504d Add description metadata to provider requirements 2021-07-09 11:07:37 -04:00
Laura Pacilio d107b46270 Make description metadata more concise 2021-07-09 11:01:32 -04:00
Laura Pacilio bca3957e17 Update description metadata for input variables 2021-07-09 10:53:37 -04:00
Laura Pacilio 134170c121 Fixing broken link on syntax page 2021-07-09 10:32:17 -04:00
Laura Pacilio f5c463c27e Update broken link oon provisioners connection page 2021-07-09 10:30:35 -04:00
Laura Pacilio 493d4b8dc8 Update description metadata 2021-07-07 17:37:19 -04:00
Laura Pacilio f25d993b47 Update description metadata to include key words 2021-07-07 17:34:03 -04:00
Laura Pacilio 6f8774a8ed Add Terraform to description metadata for SEO 2021-07-07 17:24:58 -04:00
Laura Pacilio 2e25fd04c0 Add description metadata to provisioners index page 2021-07-07 15:10:14 -04:00
Laura Pacilio 6d0569ac45 Add description metadata to lifecycle page 2021-07-07 15:07:00 -04:00
Laura Pacilio 66103f273e Add description metadata to resource provider page 2021-07-07 15:05:02 -04:00
Laura Pacilio 96994d0b01 Add description metadata to for_each page 2021-07-07 15:02:01 -04:00
Laura Pacilio 4a2a6e8b52 Add description metadata to count and update depends_on 2021-07-07 14:59:20 -04:00
Laura Pacilio ddabca8c72 Add description metadata to depends_on page 2021-07-07 14:54:51 -04:00
Laura Pacilio e60e77c68f Add description metadata to behavior page 2021-07-07 14:42:30 -04:00
Laura Pacilio 66dfb56d4f Update description metadata to include key words 2021-07-07 14:42:30 -04:00
Laura Pacilio 810543b997 Add description metadata to resources overview page 2021-07-07 14:42:30 -04:00
Laura Pacilio 08f1d6c9e0 Update description metadata for style page 2021-07-07 14:42:30 -04:00
Laura Pacilio c33970bfa4 Add description metadata to JSON syntax page 2021-07-07 14:42:30 -04:00
Laura Pacilio 5384aacb5e Update description metadata for key words 2021-07-07 14:42:30 -04:00
Laura Pacilio 887b019761 Fix capitalization on Terraform language 2021-07-07 14:42:30 -04:00
Laura Pacilio a62e2825c7 Add description metadata to syntax overview 2021-07-07 14:42:30 -04:00
Laura Pacilio f6b500379d Update description metadata to include Terraform key word 2021-07-07 14:42:30 -04:00
Laura Pacilio ab06843f1d Add description metadata to files and directories 2021-07-07 14:42:30 -04:00
Laura Pacilio 8525befc22 Add description metadata to index page 2021-07-07 14:42:30 -04:00
Brent Woodruff 3a66236c14 note that output of jsonencode is minified 2021-07-02 15:36:47 -04:00
Laura Pacilio 577c3653f2
Merge pull request #28983 from KurtLehnardt/patch-1
fixed typo
2021-06-30 08:54:04 -04:00
Laura Pacilio de97a03528
Merge pull request #28908 from kondr57/patch-1
fix typo
2021-06-30 08:43:26 -04:00
Ben Moskovitz 21228e19df Fix broken links as pointed out by CI
See: https://app.circleci.com/pipelines/github/hashicorp/terraform/6853/workflows/cc37def1-6bf5-4f6c-89b1-10dfcc65ea5e/jobs/44887
2021-06-30 16:55:00 +12:00
Ben Moskovitz d29cdccb5b Add a note to the docs on the S3 backend around permissions needed for encrypted state storage 2021-06-30 16:45:17 +12:00
Martin Atkins a945b379d8 website: Explicit examples of -var escaping in various shells
The -var command line option comes with the disadvantage that a user must
contend both with Terraform's own parser and with the parser in whichever
shell they've decided to use, and different shells on different platforms
have different rules.

Previously we've largely just assumed that folks know the appropriate
syntax for the shell they chose, but it seems that command lines involving
spaces and other special characters arise rarely enough in other commands
that Terraform is often the first time someone needs to learn the
appropriate syntax for their shell.

We can't possibly capture all of the details of all shells in our docs,
because that's far outside of our own scope, but hopefully this new
section will go some way to give some real examples that will help folks
figure out how to write suitable escape sequences, if they choose to
set complex variable values on the command line rather than in .tfvars
as we recommend elsewhere on this page.
2021-06-22 14:10:04 -07:00
Robin Norwood 50fe980877
Merge pull request #28998 from hashicorp/rln-add-versions-tutorials-links
Add links to terraform versions tutorials
2021-06-22 11:50:18 -05:00
Robin Norwood 2c71bb3a2e Add links to terraform versions tutorials 2021-06-21 14:26:43 -05:00
Radek Simko bb868606ea
docs: Document naming conventions for templates & backend configs (#28924)
* docs: Document naming conventions for templates & backend configs

* Update website/docs/cli/config/config-file.html.md

Co-authored-by: Alisdair McDiarmid <alisdair@users.noreply.github.com>

* Update website/docs/language/functions/templatefile.html.md

Co-authored-by: Alisdair McDiarmid <alisdair@users.noreply.github.com>

Co-authored-by: Alisdair McDiarmid <alisdair@users.noreply.github.com>
2021-06-18 17:20:00 +01:00
Kurt Lehnardt 165b2a2509
fixed typo 2021-06-18 09:59:56 -06:00
Kristin Laemmert 9ca3cb4233
website/docs: move type func docs to a useful location (#28940)
* website/docs: move type func docs to a useful location

* docs don't exist if you don't put them in the index (again)
2021-06-14 08:54:27 -04:00
Vladimir Kondratiev 58a5207dc4
fix typo 2021-06-09 13:13:08 +03:00
Martin Atkins f52aec8e3d website: Fix formatting of v1 compatibility promises
Seems like we lost a newline in some of the shuffling it took to get this
into the live website, and so it's formatting oddly in the rendered
website. This restores the intended formatting of this as the start of
a bullet list, rather than as a continuation of the previous paragraph.
2021-06-08 10:35:23 -07:00
Judith Malnick 044c439dbc
Gloss of top docs pages (#28891)
* clarify input variables opening sentence

* adjust variables description

* claraify providers text and add learn callout

* add description to providers page

* add desscription and clarify provider configuration

* add deprecation note to versions in proivder configs

* add hands on callout and clarify next steps in intro

* link to language collection from language docs

* give more context about configurtion language up front

* clarify output top page

* reorganize for each intro to present feature before notes

* move description before link out and remove passive voice

* fix typo

* clarify purpose of plan

* move explanation before learn link and fully spell boolean

* add a syntax heading  to separate intro from details

* add learn callout to module source docs

* clean up intro to provider requirements and add link

* Apply suggestions from code review

Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>

Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2021-06-08 06:58:55 -07:00
Martin Atkins 07aa07f5b9 website: First Draft of Upgrade Guide 2021-06-07 17:23:39 -07:00
Judith Malnick d7f6000118 Revert "mclarify specifying provider versions"
This reverts commit 397494daca.
2021-05-28 14:34:05 -07:00
Judith Malnick 397494daca mclarify specifying provider versions 2021-05-28 13:51:16 -07:00
Martin Atkins 4e74a7a4f1 initwd: Error message for local paths escaping module packages
Our module installer has a somewhat-informal idea of a "module package",
which is some external thing we can go fetch in order to add one or more
modules to the current configuration. Our documentation doesn't talk much
about it because most users seem to have found the distinction between
external and local modules pretty intuitive without us throwing a lot of
funny terminology at them, but there are some situations where the
distinction between a module and a module package are material to the
end-user.

One such situation is when using an absolute rather than relative
filesystem path: we treat that as an external package in order to make the
resulting working directory theoretically "portable" (although users can
do various other things to defeat that), and so Terraform will copy the
directory into .terraform/modules in the same way as it would download and
extract a remote archive package or clone a git repository.

A consequence of this, though, is that any relative paths called from
inside a module loaded from an absolute path will fail if they try to
traverse upward into the parent directory, because at runtime we're
actually running from a copy of the directory that's been taking out of
its original context.

A similar sort of situation can occur in a truly remote module package if
the author accidentally writes a "../" source path that traverses up out
of the package root, and so this commit introduces a special error message
for both situations that tries to be a bit clearer about there being a
package boundary and use that to explain why installation failed.

We would ideally have made escaping local references like that illegal in
the first place, but sadly we did not and so when we rebuilt the module
installer for Terraform v0.12 we ended up keeping the previous behavior of
just trying it and letting it succeed if there happened to somehow be a
matching directory at the given path, in order to remain compatible with
situations that had worked by coincidence rather than intention. For that
same reason, I've implemented this as a replacement error message we will
return only if local module installation was going to fail anyway, and
thus it only modifies the error message for some existing error situations
rather than introducing new error situations.

This also includes some light updates to the documentation to say a little
more about how Terraform treats absolute paths, though aiming not to get
too much into the weeds about module packages since it's something that
most users can get away with never knowing.
2021-05-27 11:00:43 -07:00
TAY TS 511011335a
Update range.html.md
Fix the condition in the negative direction range pseudo code
2021-05-23 09:43:38 +08:00
James Bardin 65ee33a90d
Merge pull request #28748 from Bredoxon/patch-1
Fix typo in the docs
2021-05-19 12:18:21 -04:00
Bredoxon 06e756eb0c
Fix typo in the docs 2021-05-19 10:51:06 +10:00
James Bardin 760a59b3a7 negative substring 2021-05-18 16:04:47 -04:00
Kyle A. Matheny 3afa08b1bc
Remove duplicate word (#28716) 2021-05-18 11:04:54 -04:00
James Bardin 51a171c7f4 pg requires PostgreSQL 10 2021-05-18 09:39:05 -04:00
Alisdair McDiarmid 3e40a9a4eb
Merge pull request #28507 from stevematney/patch-1
Updating sensitive/nonsensitive docs with v0.14 specifics.
2021-05-14 13:46:12 -04:00
Steve Matney e27a927ba4 Updating sensitive and nonsensitive docs with correct v0.15 info. 2021-05-14 10:32:39 -06:00
Martin Atkins 0aa0e00fdc website: Backend docs link to new .gitignore anchor
The Git book seems to be using a different anchor format now, and so this
link was previously effectively linking to the page as a whole rather
than to the specific section we're trying to refer to.
2021-05-12 09:27:37 -07:00
Martin Atkins 874f1abb2b cli+website: -ignore-remote-version docs and other cleanup
We previously had only very short descriptions of what
-ignore-remote-version does due to having the documentation for it inline
on many different command pages and -help output.

Instead, we'll now centralize the documentation about this argument on
the remote backend page, and link to it or refer to it from all other
locations. This then allows us to spend more words on discussing what
Terraform normally does _without_ this option and warning about the
consequences of using it.

This continues earlier precedent for some local-backend-specific options
which we also don't recommend for typical use. While this does make these
options a little more "buried" than before, that feels justified given
that they are all "exceptional use only" sort of options where users ought
to learn about various caveats before using them.

While there I also took this opportunity to fix some earlier omissions
with the local-backend-specific options and a few other minor consistency
tweaks.
2021-05-12 09:27:37 -07:00
Roger Berlind b6885923d0
website: Add link to Modules in Package Sub-directories (#27980)
* Add link to Modules in Package Sub-directories

Add link to "Modules in Package Sub-directories" section at top of page

* Fix broken links

* Update aws link, fixes missing anchor linkcheck

Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2021-05-11 12:15:09 -07:00
Martin Atkins 6f68065326 website: Explicit example of for_each chaining between resources
This pattern follows as a natural consequence of how for_each is defined,
but I've noticed from community forum Q&A that newcomers often don't
immediately notice the connection between what for_each expects as input
and what a for_each resource produces as a result, so my aim here is to
show a short example of that in the hope of helping folks see the link
here and get ideas on how to employ the technique in other situations.
2021-05-10 10:49:04 -07:00
Rachel Sharp c302fa507f
Add link to lifecycle tutorial 2021-05-04 14:20:22 -04:00
Chad Bailey a303a03f2f
Added clarity: remote-exec connection requirement
This is a secondary change to PR #28578 

Details:
According to the [Provisioner Connection](https://www.terraform.io/docs/language/resources/provisioners/connection.html) page, provisioners require the connection block.

This change of behavior is shown prominently within a note on the [Provisioner Connection](https://www.terraform.io/docs/language/resources/provisioners/connection.html) page:

> Note: In Terraform 0.11 and earlier, providers could set default values for some connection settings, so that connection blocks could sometimes be omitted. This feature was removed in 0.12 in order to make Terraform's behavior more predictable.

However, this behavioral change is omitted from the [remote-exec provisioner](https://www.terraform.io/docs/language/resources/provisioners/remote-exec.html) page which is where a user will be if they are attempting to follow the prior behavior when this was permissible in versions prior to 0.12. This change prompts the user of that change and directs to the connection page.
2021-05-02 17:14:10 -05:00
joshschmitter 0c4e823ee6
setsubtract doc: use "Relative Complement" correctly
The explanation of the setsubtract function in terms of a Relative Complement is backwards.  Fixing it.
2021-04-22 08:26:50 -05:00
John Houston fabdf0bea1
Add config_paths and drop KUBECONFIG env variable in kubernetes backend (#26997) 2021-04-20 10:05:45 -04:00
Martin Atkins 5f5432e8ea
website: v0.15 upgrade guide for sensitive resource attributes (#28355)
* website: v0.15 upgrade guide for sensitive resource attributes

Our earlier draft of this guide didn't include a section about the
stabilization of the "provider_sensitive_attrs" language experiment. This
new section aims to address the situation where a module might previously
have been returning a sensitive value without having marked it as such,
and thus that module will begin returning an error after upgrading to
Terraform v0.15.

As part of that, I also reviewed the existing documentation about these
features and made some edits aiming to make these four different sections
work well together if users refer to them all at once, as they are likely
to do if they follow the new links from the upgrade guide. I aimed to
retain all of the content we had before, but some of it is now in a new
location.

In particular, I moved the discussion about the v0.14 language experiment
into the upgrade guide, because it seems like a topic only really relevant
to those upgrading from an earlier version and not something folks need to
know about if they are using Terraform for the first time in v0.15 or
later.

* minor fixups

Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
2021-04-14 09:04:40 -04:00
Yves Peter c6de87354a document that destroy provisioners don't run with create_before_destroy 2021-04-13 10:26:32 +02:00
Martin Atkins 140c613ae8 lang/funcs: "one" function
In the Terraform language we typically use lists of zero or one values in
some sense interchangably with single values that might be null, because
various Terraform language constructs are designed to work with
collections rather than with nullable values.

In Terraform v0.12 we made the splat operator [*] have a "special power"
of concisely converting from a possibly-null single value into a
zero-or-one list as a way to make that common operation more concise.

In a sense this "one" function is the opposite operation to that special
power: it goes from a zero-or-one collection (list, set, or tuple) to a
possibly-null single value.

This is a concise alternative to the following clunky conditional
expression, with the additional benefit that the following expression is
also not viable for set values, and it also properly handles the case
where there's unexpectedly more than one value:

    length(var.foo) != 0 ? var.foo[0] : null

Instead, we can write:

    one(var.foo)

As with the splat operator, this is a tricky tradeoff because it could be
argued that it's not something that'd be immediately intuitive to someone
unfamiliar with Terraform. However, I think that's justified given how
often zero-or-one collections arise in typical Terraform configurations.
Unlike the splat operator, it should at least be easier to search for its
name and find its documentation the first time you see it in a
configuration.

My expectation that this will become a common pattern is also my
justification for giving it a short, concise name. Arguably it could be
better named something like "oneornull", but that's a pretty clunky name
and I'm not convinced it really adds any clarity for someone who isn't
already familiar with it.
2021-04-12 15:32:03 -07:00
Paul Tyng b8a0929a5d
Add null to tostring docs 2021-04-10 15:55:29 -04:00
Paul Tyng b3fe8713e8
Add null to tonumber docs 2021-04-10 15:54:51 -04:00
Paul Tyng eb927958bd
Add null to tobool docs 2021-04-10 15:52:23 -04:00
Víctor Felipe Godoy Hernández a9487c7674
Fix yamldecode example from json to yaml (#28220)
* Fix yamldecode example from json to yaml

* inline yaml example
2021-04-05 13:41:07 -04:00
Martin Atkins f47c4efb1b website: Dynamic blocks can for_each any collection type
We previously added a hint to both resource for_each and dynamic blocks
about using the "flatten" and "setproduct" situations to construct
suitable collections to repeat over.

However, we used the same text in both places which ended up stating that
dynamic blocks can only accept map or set values, which is a constraint
that applies to resource for_each (because we need to assign a unique
identifier to each instance) and not to dynamic blocks (which don't have
any uniqueness enforced by Terraform Core itself).

To remove that contradiction with the text above which talks about what
is valid here, I've just generalized this to say "collection", because
the primary point of this paragraph is the "one element per desired nested
block" part, not specifically what sort of collections are permitted in
this location. (Text further up describes the supported types.)
2021-03-30 09:43:33 -07:00