Commit Graph

29852 Commits

Author SHA1 Message Date
Alisdair McDiarmid
12c8f9498c json-output: Add output type to JSON format
Previously the supported JSON plan and state formats included only
serialized output values, which was a lossy serialization of the
Terraform type system. This commit adds a type field in the usual cty
JSON format, which allows reconstitution of the original value.

For example, previously a list(string) and a set(string) containing the
same values were indistinguishable. This change serializes these as
follows:

{
  "value": ["a","b","c"],
  "type": ["list","string"]
}

and:

{
  "value": ["a","b","c"],
  "type": ["set","string"]
}
2022-04-27 13:30:15 -04:00
Craig Wright
e217c0c53a
Merge pull request #30938 from jensenbox/patch-1
chore: Typo fix (`retuns` -> `returns`)
2022-04-26 18:32:41 -07:00
Ryoh Akiyoshi
9b4600cc23
website: Fix an example for urlencode function
The example did not reflect the actual behavior of escaping spaces.
2022-04-26 17:38:47 -07:00
Christian Jensen
85a081bd2a
chore: Typo fix
Fix a mispelled word.
2022-04-26 15:56:32 -07:00
James Bardin
7fe3768327
Merge pull request #30931 from hashicorp/jbardin/replace_triggered_by-docs
replace_triggered_by docs
2022-04-26 18:29:43 -04:00
James Bardin
0501980b46
Update website/docs/language/resources/behavior.mdx
Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2022-04-26 18:17:58 -04:00
James Bardin
4e95b24022
Update website/docs/language/meta-arguments/lifecycle.mdx
Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2022-04-26 18:17:52 -04:00
James Bardin
6c15cab211
Update website/docs/language/meta-arguments/lifecycle.mdx
Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2022-04-26 18:17:46 -04:00
James Bardin
840a7437c2
Update website/docs/language/meta-arguments/lifecycle.mdx
Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2022-04-26 18:17:41 -04:00
Sebastian Rivera
8089f090f9
Merge pull request #30858 from hashicorp/sebasslash/err-approval-input-false
Handle -input=false in cloud integration
2022-04-26 14:25:33 -04:00
Sebastian Rivera
20ba58e828 CHANGELOG: cloud integration interprets -input flag 2022-04-26 14:24:08 -04:00
Sebastian Rivera
9d7fdbea2d Handle -input=false in cloud integration
For non-interactive contexts, Terraform is typically executed with the flag -input=false.
However for runs that are not set to auto approve, the cloud integration will prompt a user for
approval input even with input being set to false. This commit enables the cloud integration to know
the value of the input flag and use it to determine whether or not to ask the user for input.

If -input is set to false and the run cannot be auto approved, the cloud integration will throw an error
stating run confirmation can no longer be handled in the CLI and that they must do so through the browser.
2022-04-26 11:17:44 -04:00
Sebastian Rivera
c557078704
Merge pull request #30917 from hashicorp/sebasslash/config-token-precedence
Give the configuration token higher precedence over the CLI config file
2022-04-26 10:23:02 -04:00
Sebastian Rivera
c7bdd28e4c CHANGELOG: Token config priority 2022-04-26 10:03:07 -04:00
James Bardin
7b40b31697 replace_triggered_by docs 2022-04-25 18:43:38 -04:00
Martin Atkins
983e40bf4a
CHANGELOG: Remove reference to "go-tfe" library upgrade
We don't typically talk about implementation details in the changelog. The content above already describes the user-visible changes that resulted from that upgrade.
2022-04-25 09:51:36 -07:00
Martin Atkins
465832f1e3
Update CHANGELOG.md 2022-04-25 09:49:03 -07:00
Martin Atkins
09ab872a6f build: go get github.com/hashicorp/hcl/v2@v2.12.0
This tagged release is a superset of the specific commit we had previously
selected, adding in just an improved error message for inconsistent result
types in a conditional expression.
2022-04-25 09:45:56 -07:00
kmoe
84e18f31bd
bump mitchellh/cli from 1.1.2 to 1.1.3 (#30914) 2022-04-25 12:06:12 +01:00
James Bardin
1252f8c9c5
Merge pull request #30916 from hashicorp/jbardin/speculative-apply-graph
core: build a test apply graph during plan
2022-04-22 16:08:44 -04:00
James Bardin
d9af967a6e build a test apply graph during plan
The plan graph does not contain all the information necessary to detect
cycles which may happen when building the apply graph. Once we have more
information from the plan we can build the complete apply graph with all
individual instances to verify that the apply can begin without errors.
2022-04-22 15:54:01 -04:00
Alisdair McDiarmid
0b784b9b89
Merge pull request #30915 from hashicorp/update-metadata-action
change action to pull v1 instead of main
2022-04-22 14:46:30 -04:00
James Bardin
955dd6b780 update CHANGELOG.md 2022-04-22 14:38:36 -04:00
James Bardin
7da52d94f2
Merge pull request #30900 from hashicorp/jbardin/replace-triggered-by
Configurable instance replacement via lifecycle `replace_triggered_by`
2022-04-22 14:36:42 -04:00
Sebastian Rivera
5ded48e081 Give token in cloud config higher precedence than CLI config file 2022-04-22 14:09:20 -04:00
Keith Clawson
23dffee568 Always use token in backend config when provided 2022-04-22 14:01:00 -04:00
Claire Labry
dd2decf921
change action to pull v1 instead of main 2022-04-22 13:54:40 -04:00
Klaus Frank
39bbcf2f9c
Fix for newer go version (#30889)
go get for compiling and installing is deprecated. Updating it to the new "go install"
2022-04-22 14:30:35 +01:00
chavacava
5f58daaf57
fix typo in struct tag (#30884)
typo found by [`revive`](https://github.com/mgechev/revive)
2022-04-22 13:53:32 +01:00
Kevin Wang
2563bf3f96
feat: support local preview, post split; add deploy preview (#30814)
* chore: support local preview, post split

* feat: deploy preview

* update script perms
- chmod +x ./website/scripts/website-build.sh

* npm i

* chore: website-build uses 'kevin/terraform-split'

* deploy preview test

* chore: test

* PREVIEW_DIR & CLONE_DIR = preview

* rm dupe preview path

* empty commit

* ../data & ..docs

* website-preview

* remove REPO var

* move `intro` and `guides` back to where they were

* empty commit

* chore move `intro` and `guides`

* chore: copy over images

* move images into `/website`
- content API requires this

* chore: `CURRENT_GIT_BRANCH`

* fix: `CURRENT_GIT_BRANCH`

* fix `CURRENT_GIT_BRANCH`

* debug current dir

* fix `CURRENT_GIT_BRANCH`

* chore: comment CURRENT_GIT_BRANCH

* Update Makefile

* Update website/scripts/website-build.sh

* optimize images

* chore(Makefile): move vars to top

* remove branch
2022-04-21 13:58:16 -04:00
Sebastian Rivera
7d51ba5118
Merge pull request #30862 from hashicorp/update-TF-WORKSPACE-variable
Clarify that users can set TF_WORKSPACE and use tags
2022-04-21 11:01:46 -04:00
James Bardin
7b6dfabb74
Merge pull request #30906 from hashicorp/jbardin/races
Fix known races and enable race detector in tests
2022-04-21 09:47:53 -04:00
Laura Pacilio
e68ad5ec46 more edits 2022-04-20 18:57:50 -04:00
Laura Pacilio
912e6ff6de Apply suggestions from PR review 2022-04-20 18:54:50 -04:00
Laura Pacilio
a0ebb94fb5
Merge branch 'main' into update-TF-WORKSPACE-variable 2022-04-20 18:40:26 -04:00
Sebastian Rivera
2f7aa2fcb5
Merge pull request #30905 from hashicorp/sebasslash/rename-env-vars
Rename cloud env vars to use `TF_CLOUD` prefix
2022-04-20 16:35:37 -04:00
James Bardin
0693c8dfe7 enable the race detector in tests 2022-04-20 16:32:39 -04:00
James Bardin
0731213ecf sync retry goroutine return 2022-04-20 15:29:19 -04:00
James Bardin
c52e3ed37b test fixture race 2022-04-20 15:01:17 -04:00
James Bardin
0fe38fba6c prevent unsynchronized output changes access
The raw plan output changes were stored in the output exec node, when
they should have instead been fetch lazily through the context via the
synchronized ChangesSync value.
2022-04-20 14:45:58 -04:00
Sebastian Rivera
f63ef2b5ef Rename cloud env vars to use TF_CLOUD prefix 2022-04-20 14:34:53 -04:00
James Bardin
1e79682c24 minor fixes 2022-04-20 12:51:24 -04:00
Laura Pacilio
d3e660d912
Merge pull request #30772 from hashicorp/laura-update-pre-post-conditions
[WIP] Preconditions and Postconditions Content Updates
2022-04-20 12:25:43 -04:00
Laura Pacilio
b1d9339368 Final formatting nits 2022-04-20 12:19:29 -04:00
Martin Atkins
eb2724d37f
Update CHANGELOG.md 2022-04-20 09:13:17 -07:00
Martin Atkins
d4776e8ef1 lang/funcs: type conversion functions can convert null values
We had intended these functions to attempt to convert any given value, but
there is a special behavior in the function system where functions must
opt in to being able to handle dynamically-typed arguments so that we
don't need to repeat the special case for that inside every function
implementation.

In this case we _do_ want to specially handle dynamically-typed values,
because the keyword "null" in HCL produces
cty.NullVal(cty.DynamicPseudoType) and we want the conversion function
to convert it to a null of a more specific type.

These conversion functions are already just a thin wrapper around the
underlying type conversion functionality anyway, and that already supports
converting dynamic-typed values in the expected way, so we can just opt
in to allowing dynamically-typed values and let the conversion
functionality do the expected work.

Fixing this allows module authors to use type conversion functions to
give additional type information to Terraform in situations that are too
ambiguous to be handled automatically by the type inference/unification
process. Previously tostring(null) was effectively a no-op, totally
ignoring the author's request to treat the null as a string.
2022-04-20 09:09:12 -07:00
Laura Pacilio
3c7c5bbd21 add links to function and expressions; move result types back to conditionals page (oops) 2022-04-20 12:06:50 -04:00
Laura Pacilio
2a206c7984 fix incorrect HCL syntax for example 2022-04-20 11:49:33 -04:00
Laura Pacilio
7a43db405c Add link to operators page and all out other types 2022-04-20 11:46:37 -04:00
Tom Harvey
0028a26cf8
updating to include #30891 2022-04-20 17:37:08 +02:00