Commit Graph

29503 Commits

Author SHA1 Message Date
Ben Partridge
252865c6a0
Improvements to wording of substr function documentation
Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2022-02-15 10:23:37 +11:00
Ben Partridge
fa8a87fab5
Adds documentation to substr function to cover when length longer than input string
The `substr` function allows the `length` parameter to be longer than the remaining characters in the input after the offset. This is useful for when you want to truncate a string to a maximum number of characters. However, the documentation isn't clear on this so I had to do a test deployment to confirm the behaviour after finding the behaviour in an old issue https://github.com/hashicorp/terraform/issues/15751
2022-02-07 15:12:22 +11:00
Alisdair McDiarmid
d1ac8b71d4
Merge pull request #30471 from hashicorp/alisdair/what-even-is-validate
core: Remove unused PlanOpts.Validate
2022-02-04 08:21:09 -05:00
Alisdair McDiarmid
639eb5212f core: Remove unused PlanOpts.Validate
This vestigial field was written to but never read.
2022-02-03 14:16:25 -05:00
Alisdair McDiarmid
eea706aaef
Merge pull request #30462 from hashicorp/alisdair/preconditions-postconditions-self-references
configs: Validate pre/postcondition self-refs
2022-02-03 10:11:40 -05:00
Alisdair McDiarmid
7ded73f266 configs: Validate pre/postcondition self-refs
Preconditions and postconditions for resources and data sources may not
refer to the address of the containing resource or data source. This
commit adds a parse-time validation for this rule.
2022-02-03 09:37:22 -05:00
Alisdair McDiarmid
013170dd1b
Update CHANGELOG.md 2022-02-02 15:45:14 -05:00
Alisdair McDiarmid
0634c9437a
Merge pull request #30401 from hashicorp/f-preconditions-postconditions-rebased
Preconditions and Postconditions
2022-02-02 15:31:03 -05:00
Laura Pacilio
d3bc3a63dd
Merge pull request #30431 from hashicorp/replace-flag-clarifications
Make -replace flag clearer
2022-02-01 10:47:04 -05:00
Alisdair McDiarmid
cdae6d4396 core: Add context tests for pre/post conditions 2022-01-31 15:38:26 -05:00
Alisdair McDiarmid
a95ad997e1 core: Document postconditions as valid use of self
This is not currently gated by the experiment only because it is awkward
to do so in the context of evaluationStateData, which doesn't have any
concept of experiments at the moment.
2022-01-31 14:34:35 -05:00
Laura Pacilio
a794c80e0d final nits 2022-01-31 14:17:36 -05:00
Laura Pacilio
d14e04bf36 Fix notes according to PR feedback 2022-01-31 14:03:03 -05:00
Martin Atkins
f1b7f12f1c website: Initial draft docs for Preconditions and Postconditions 2022-01-31 14:02:53 -05:00
Martin Atkins
5573868cd0 core: Check pre- and postconditions for resources and output values
If the configuration contains preconditions and/or postconditions for any
objects, we'll check them during evaluation of those objects and generate
errors if any do not pass.

The handling of post-conditions is particularly interesting here because
we intentionally evaluate them _after_ we've committed our record of the
resulting side-effects to the state/plan, with the intent that future
plans against the same object will keep failing until the problem is
addressed either by changing the object so it would pass the precondition
or changing the precondition to accept the current object. That then
avoids the need for us to proactively taint managed resources whose
postconditions fail, as we would for provisioner failures: instead, we can
leave the resolution approach up to the user to decide.

Co-authored-by: Alisdair McDiarmid <alisdair@users.noreply.github.com>
2022-01-31 14:02:53 -05:00
Laura Pacilio
a2f83ef7b6 Try to fix wording so it's clearer and more cohesive 2022-01-28 15:28:35 -05:00
Laura Pacilio
6e80276cc9 Remove invisible space 2022-01-28 14:44:56 -05:00
Martin Atkins
c827c049fe terraform: Precondition and postcondition blocks generate dependencies
If a resource or output value has a precondition or postcondition rule
then anything the condition depends on is a dependency of the object,
because the condition rules will be evaluated as part of visiting the
relevant graph node.
2022-01-28 11:00:29 -05:00
Martin Atkins
9076400436 configs: Decode preconditions and postconditions
This allows precondition and postcondition checks to be declared for
resources and output values as long as the preconditions_postconditions
experiment is enabled.

Terraform Core doesn't currently know anything about these features, so
as of this commit declaring them does nothing at all.
2022-01-28 11:00:29 -05:00
Martin Atkins
82c518209d experiments: New "preconditions_postconditions" experiment 2022-01-28 11:00:29 -05:00
Martin Atkins
4f41a0a1fe configs: Generalize "VariableValidation" as "CheckRule"
This construct of a block containing a condition and an error message will
be useful for other sorts of blocks defining expectations or contracts, so
we'll give it a more generic name in anticipation of it being used in
other situations.
2022-01-28 11:00:29 -05:00
Laura Pacilio
f56c7c1c85 Make language in callouts more user friendly 2022-01-27 17:05:45 -05:00
Laura Pacilio
dca94a9eaf fix verb tense 2022-01-27 16:58:17 -05:00
Laura Pacilio
aa3a046af3 final nits 2022-01-27 16:56:50 -05:00
Laura Pacilio
1a66861aaf A couple other tweaks 2022-01-27 16:53:25 -05:00
Laura Pacilio
238396567d Making replace flag clearer and making plan options clearer 2022-01-27 16:00:08 -05:00
Craig Wright
0900c7e0bb
Merge pull request #30397 from auroat/improve-docs
Improve the help.go docs: typo and a more explicit comment.

Merged after discussion with @apparentlymart.
2022-01-27 09:56:25 -08:00
Laura Pacilio
a855f04281
Merge pull request #30428 from hashicorp/fix-last-intro-nits
Fixing some final typos and nits
2022-01-27 10:52:30 -05:00
Alisdair McDiarmid
b8709d3690
Merge pull request #30421 from hashicorp/alisdair/plan-write-state-ordering
core: Fix plan write/state write ordering bug
2022-01-27 08:56:00 -05:00
Alisdair McDiarmid
64c7743793
Merge pull request #30408 from hashicorp/alisdair/pr-merge-changelog-reminder
Add merged pull request reminder 📎
2022-01-27 07:23:13 -05:00
Laura Pacilio
6a02fbaef3 Fixing some final typos and nits that robin found! 2022-01-26 20:06:49 -05:00
Craig Wright
ca02b55fba
Merge pull request #30409 from tyron/fix-module-outputs-reference
Fix reference to child module in outputs docs
2022-01-26 15:47:42 -08:00
Laura Pacilio
df745af29f
Merge pull request #30425 from hashicorp/fix-intro-page-images
fix image references on intro page
2022-01-26 18:42:53 -05:00
Laura Pacilio
4188c4c518 fix image references on intro page 2022-01-26 18:21:09 -05:00
Laura Pacilio
fb4b5c4d81
Merge pull request #30399 from hashicorp/add-new-intro-docs
Revamp Into to Terraform
2022-01-26 17:57:50 -05:00
Laura Pacilio
4ced2181ca Update SDN tutorials to recommended ones 2022-01-26 16:30:05 -05:00
Laura Pacilio
d5b0f44e37
Update website/intro/index.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:12:12 -05:00
Laura Pacilio
8ab9edf8ca
Update website/intro/index.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:12:04 -05:00
Laura Pacilio
4a8b4b311d
Update website/intro/use-cases.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:11:52 -05:00
Laura Pacilio
2201ebc075
Update website/intro/use-cases.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:11:47 -05:00
Laura Pacilio
2209b00167
Update website/intro/use-cases.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:11:42 -05:00
Laura Pacilio
0539155943
Update website/intro/use-cases.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:11:31 -05:00
Laura Pacilio
283e3c8ddb
Update website/intro/use-cases.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:11:24 -05:00
Laura Pacilio
10b1f85991
Update website/intro/use-cases.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:11:16 -05:00
Laura Pacilio
2402431679
Update website/intro/terraform-editions.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:11:10 -05:00
Laura Pacilio
f767628163
Update website/intro/terraform-editions.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:10:54 -05:00
Laura Pacilio
749507dd6a
Update website/intro/terraform-editions.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:10:34 -05:00
Laura Pacilio
044ed1c65a
Update website/intro/terraform-editions.mdx
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2022-01-26 16:10:27 -05:00
Alisdair McDiarmid
636499830b Add merged pull request reminder 2022-01-26 15:52:54 -05:00
Alisdair McDiarmid
e21d5d36f4 core: Fix plan write/state write ordering bug 2022-01-26 15:33:18 -05:00