Commit Graph

29697 Commits

Author SHA1 Message Date
Laura Pacilio
c7afb7db94 Add note about powershell formatting 2022-03-18 17:15:24 -04:00
James Bardin
4dd45e6bfa update CHANGELOG.md 2022-03-18 14:21:06 -04:00
James Bardin
fef66f9a60
Merge pull request #30486 from hashicorp/jbardin/drift
Only show external changes which contributed to the plan
2022-03-18 14:19:46 -04:00
Luces Huayhuaca
83d4265b6c
Update CHANGELOG.md (#30694)
* Update CHANGELOG.md
2022-03-17 16:55:54 -07:00
James Bardin
8c5e11d41a add relevant_attributes to the json plan format
Add the resource instances and individual attributes which may have
contributed to the planned changes to the json format of the plan. We
use the existing path encoding for individual attributes, which is
already used in the replace_paths change field.
2022-03-17 09:35:36 -04:00
James Bardin
f0cd8be66f add whole resource references 2022-03-17 09:35:36 -04:00
James Bardin
773f5b02ec round-trip relevant attributes through planfile 2022-03-17 09:35:36 -04:00
James Bardin
e2b74247f2 track contributing instances
Track individual instance drift rather than whole resources which
contributed to the plan. This will allow the output to be more precise,
and we can still use NoKey instances as a proxy for containing resources
when needed.
2022-03-17 09:35:36 -04:00
James Bardin
25f4c0d3dd filter attribute refresh changes from plan UI
Filter the refresh changes from the normal plan UI at the attribute
level. We do this by constructing fake plans.Change records for diff
generation, reverting all attribute changes that do not match any of the
plan's ContributingResourceReferences.
2022-03-17 09:35:36 -04:00
James Bardin
0e7cec83db decode change before creating diff
This is functionally equivalent, but will allow us to filter the change
values directly for reduced drift output.
2022-03-17 09:35:36 -04:00
James Bardin
c02e8bc5b3 change plan to store individual relevant attrs
Storing individual contributing attributes will allow finer tuning of
the plan rendering.

add contributing to outputs
2022-03-17 09:35:36 -04:00
James Bardin
620caa983c globalref.Reference.ResourceAttr
Convert a global reference to a specific AbsResource and attribute pair.
The hcl.Traversal is converted to a cty.Path at this point because plan
rendering is based on cty values.
2022-03-17 09:35:36 -04:00
Alisdair McDiarmid
0bf4112c28
Merge pull request #30684 from hashicorp/alisdair/fix-sum-func
functions: Fix sum() of all strings
2022-03-16 12:56:38 -04:00
Alisdair McDiarmid
ad9c89fc19 cli: Fix missing identifying attributes in diff
When rendering a diff for an object value within a resource, Terraform
should always display the value of attributes which may be identifying.
At present, this is a simple rule: render attributes named "id", "name",
or "tags".

Prior to this commit, Terraform would only apply this rule to top-level
resource attributes and those inside nested blocks. Here we extend the
implementation to include object values in other contexts as well.
2022-03-16 10:38:52 -04:00
Anna Winkler
3727191078
Merge pull request #30671 from hashicorp/aw/clarify-var
Remove incorrect sentence
2022-03-16 08:35:03 -06:00
Alisdair McDiarmid
0764726e3e functions: Fix sum() of all strings
The sum() function accepts a collection of values which must all convert
to numbers. It is valid for this to be a collection of string values
representing numbers.

Previously the function would panic if the first element of a collection
was a non-number type, as we didn't attempt to convert it to a number
before calling the cty `Add` method.
2022-03-16 08:50:06 -04:00
Craig Wright
c5d7bd3e65
Merge pull request #30674 from loekd/patch-5
Update toset.mdx
2022-03-15 17:31:41 -07:00
Theo Chupp
d15a2bc024
fix: local variables should not be overridden by remote variables during terraform import (#29972)
* fix: local variables should not be overridden by remote variables during `terraform import`

* chore: applied the same fix in the 'internal/cloud' package

* backport changes from cloud package to remote package

Co-authored-by: Alisdair McDiarmid <alisdair@users.noreply.github.com>
Co-authored-by: uturunku1 <luces.huayhuaca@gmail.com>
2022-03-15 14:42:11 -07:00
Laura Pacilio
7c0cbaa407
Merge pull request #30281 from Mukesh05/patch-3
Terraform may be misled, not provider
2022-03-15 16:50:36 -04:00
Laura Pacilio
50d49d0b0d
Merge pull request #30649 from dragondrop-cloud/main
Documentation Update: Capture `cloud`/ `backend` block override behavior in docs
2022-03-15 16:47:23 -04:00
GoodmanBen
659fb09fc1 fix: cleaner syntax 2022-03-15 16:36:04 -04:00
GoodmanBen
b8d8461dbb no new line changes in terraform-cloud.mdx 2022-03-15 11:26:04 -04:00
GoodmanBen
12f125d958 remove override interjection on terraform-cloud docs 2022-03-15 11:25:05 -04:00
Loek Duys
c6fa1e70ef
Update toset.mdx
Fix output in `toset`
```
toset(["a", "b", 3])
toset([
  "3",
  "a",
  "b",
])
```

This is the actual output from the tf console, using Terraform v1.1.5 on windows_amd64
2022-03-15 13:48:14 +01:00
GoodmanBen
e9043cdcad fix: suggested changes 2022-03-14 19:03:53 -04:00
Anna Winkler
300ab16939
Remove incorrect sentence
There is always a configuration for import and using `-var` is always allowed.
2022-03-14 14:01:17 -06:00
Laura Pacilio
53e3f044b0
Update website/docs/cli/commands/refresh.mdx 2022-03-14 12:18:54 -04:00
Laura Pacilio
c74937dc93
Update website/docs/cli/commands/refresh.mdx 2022-03-14 12:18:50 -04:00
Laura Pacilio
63e0b4a5af
Update website/docs/cli/commands/refresh.mdx 2022-03-14 12:18:45 -04:00
Nsikan Essien
880a4631a2
Add dyanmo docs link and snippet comments 2022-03-14 10:35:34 +00:00
Nsikan
2cda0936bc
Update website/docs/language/settings/backends/s3.mdx
Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2022-03-14 10:29:19 +00:00
Alisdair McDiarmid
24d174d36e
Merge pull request #30659 from hashicorp/alisdair/condition-blocks-sensitive-values
core: Fix crashes when condition block expressions refer to sensitive values
2022-03-11 13:50:55 -05:00
Craig Wright
e6ff13661d
Merge pull request #30653 from thetillhoff/main
Clearify which type of id is used in the documentation
2022-03-11 10:45:17 -08:00
Alisdair McDiarmid
b5cfc0bb8b core: Fix sensitive variable validation errors
Variable validation error message expressions which generated sensitive
values would previously crash. This commit updates the logic to align
with preconditions and postconditions, eliding sensitive error message
values and adding a separate diagnostic explaining why.
2022-03-11 13:45:04 -05:00
Alisdair McDiarmid
6db174e210 core: Fix crash for sensitive values in conditions
Precondition and postcondition blocks which evaluated expressions
resulting in sensitive values would previously crash. This commit fixes
the crashes, and adds an additional diagnostic if the error message
expression produces a sensitive value (which we also elide).
2022-03-11 13:45:04 -05:00
Alisdair McDiarmid
6cd0876596
Merge pull request #30658 from hashicorp/alisdair/preconditions-postconditions-refresh-only
core: Eval pre/postconditions in refresh-only mode
2022-03-11 13:44:51 -05:00
Alisdair McDiarmid
a103c65140 core: Eval pre/postconditions in refresh-only mode
Evaluate precondition and postcondition blocks in refresh-only mode, but
report any failures as warnings instead of errors. This ensures that any
deviation from the contract defined by condition blocks is reported as
early as possible, without preventing the completion of a state refresh
operation.

Prior to this commit, Terraform evaluated output preconditions and data
source pre/postconditions as normal in refresh-only mode, while managed
resource pre/postconditions were not evaluated at all. This omission
could lead to confusing partial condition errors, or failure to detect
undesired changes which would otherwise cause resources to become
invalid.

Reporting the failures as errors also meant that changes retrieved
during refresh could cause the refresh operation to fail. This is also
undesirable, as the primary purpose of the operation is to update local
state. Precondition/postcondition checks are still valuable here, but
should be informative rather than blocking.
2022-03-11 13:32:40 -05:00
James Bardin
45e2a410f7
Merge pull request #30656 from hashicorp/jbardin/always-validate
Always validate the graph
2022-03-11 10:37:30 -05:00
James Bardin
b1de94a176 make sure CBD test graphs are valid
The graphs used for the CBD tests wouldn't validate because they skipped
adding the root module node. Re add the root module transformer and
transitive reduction transformer to the build steps, and match the new
reduced output in the test fixtures.
2022-03-11 10:20:50 -05:00
James Bardin
0bc69d64ec always validate all graphs
Complete the removal of the Validate option for graph building. There is
no case where we want to allow an invalid graph, as the primary reason
for validation is to ensure we have no cycles, and we can't walk a graph
with cycles. The only code which specifically relied on there being no
validation was a test to ensure the Validate flag prevented it.
2022-03-11 10:20:50 -05:00
Alisdair McDiarmid
2ee64dc7e0
Merge pull request #30645 from hashicorp/alisdair/preconditions-postconditions-expanded-resources
core: Fix expanded condition block validation
2022-03-11 10:12:08 -05:00
Till Hoffmann
c847e6634f
Add type of resource id 2022-03-11 13:07:28 +01:00
Till Hoffmann
cfe6e5168a
Add type of resource id 2022-03-11 13:06:28 +01:00
GoodmanBen
b1532c4318
Merge pull request #1 from dragondrop-cloud/feature/update_override_documentation
Update documentation around `cloud` and `backend` override behavior
2022-03-10 19:05:30 -05:00
GoodmanBen
478b4e0aea fix: tighten behavior description 2022-03-10 19:01:58 -05:00
GoodmanBen
32d9aa0ffd build: updated documentation reflecting cloud backend override functionality 2022-03-10 18:56:58 -05:00
Laura Pacilio
821064edd3
Merge pull request #30637 from kderck/patch-2
Change aws.dest to aws.dst
2022-03-10 18:08:29 -05:00
Laura Pacilio
63fa72022f
Merge pull request #30631 from savage-tm/patch-1
Document logical operators not short-circuiting
2022-03-10 18:03:47 -05:00
Alisdair McDiarmid
ef0d859af7 core: Refactor stub repetition data generation 2022-03-10 13:52:48 -05:00
Alisdair McDiarmid
ad995322e1 core: Fix expanded condition block validation
The previous precondition/postcondition block validation implementation
failed if the enclosing resource was expanded. This commit fixes this by
generating appropriate placeholder instance data for the resource,
depending on whether `count` or `for_each` is used.
2022-03-10 13:47:17 -05:00