Commit Graph

28308 Commits

Author SHA1 Message Date
Alisdair McDiarmid
a3b1764fd7 backend/local: Fix lock when applying stale plan
When returning from the context method, a deferred function call checked
for error diagnostics in the `diags` variable, and unlocked the state if
any exist. This means that we need to be extra careful to mutate that
variable when returning errors, rather than returning a different set of
diags in the same position.

Previously this would result in an invalid plan file causing a lock to
become stuck.
2021-05-26 16:05:58 -04:00
Martin Atkins
abf7f3416b website: "taint" command is deprecated from v0.15.2, not from v1.0.0
We got the replacement for this in earlier than anticipated, so these docs
were originally more pessimistic about when the alternative would be
available.
2021-05-26 10:16:38 -07:00
Martin Atkins
6d80088f51 website: More accurate release versions for new plan options
While we were working on and documenting these it wasn't clear exactly
what Terraform CLI version they would land in, and so we used
"Terraform v1.0" in the docs as a safe bound that was definitely going to
include all of them.

With everything now landed though, we can be more specific about which
v0.15.x minor release each of these appeared in.
2021-05-26 09:19:33 -07:00
Alisdair McDiarmid
87538fb93a
Merge pull request #28805 from hashicorp/alisdair/machine-readable-ui-docs
website: Add documentation for machine readable UI
2021-05-26 11:56:49 -04:00
Alisdair McDiarmid
52591ba5e9
Merge pull request #28806 from hashicorp/alisdair/remove-json-drift-summary
command/views: Remove unused drift summary message
2021-05-26 11:50:56 -04:00
James Bardin
71e75bfc42
Merge pull request #28808 from hashicorp/jbardin/import-missing
return error for invalid resource import
2021-05-26 08:29:35 -04:00
James Bardin
99d0266585 return error for invalid resource import
Most legacy provider resources do not implement any import functionality
other than returning an empty object with the given ID, relying on core
to later read that resource and obtain the complete state. Because of
this, we need to check the response from ReadResource for a null value,
and use that as an indication the import id was invalid.
2021-05-25 17:13:49 -04:00
Alisdair McDiarmid
f9fc47c22e website: Add documentation for machine readable UI
Terraform 0.15.3 added support for a `-json` flag to the plan, apply,
and refresh commands, which renders the Terraform UI output in a
structured machine readable format. This commit adds documentation for
this interface.
2021-05-25 16:01:32 -04:00
Alisdair McDiarmid
953738c128 command/views: Remove unused drift summary message
This was dead code, and there is no clear way to retrieve this
information, as we currently only derive the drift information as part
of the rendering process.
2021-05-25 15:54:57 -04:00
Matthew Sanabria
1c3f4fe80f
Add examples to terraform console command (#28773)
These examples showcase come use cases for `terraform console`.
2021-05-25 10:06:23 -04:00
Matthew Sanabria
a63ac81d0c
Example plugin location using XDG Base Directory (#28711)
The current documention was unclear about the full path of local mirrors
when using the XDG Base Directory Specification.

Also removed the trailing slashes for the other paths in this section.
2021-05-25 10:06:07 -04:00
James Bardin
332045a4e4
Merge pull request #28796 from hashicorp/jbardin/drift-deposed
plan: handle deposed instances when rendering drift
2021-05-25 08:33:05 -04:00
James Bardin
3bf498422c typo 2021-05-25 08:32:44 -04:00
James Bardin
45b5c289a0 no drift with only deposed changes
Changes to deposed instances should not triggers any drift to be
rendered, as they will have nothing to display.
2021-05-24 17:17:52 -04:00
James Bardin
57aa7c6025 skip drift rendering for deposed resources
Deposed instances have no current state and are only scheduled for
deletion, so there is no reason to try and render drift on these
instances.
2021-05-24 15:48:05 -04:00
James Bardin
aae642fb07 fix schemas and add deposed test
The schemas for provider and the resources didn't match, so the changes
were not going to be rendered at all.

Add a test which contains a deposed resource.
2021-05-24 15:38:58 -04:00
James Bardin
cebbc8b246
Merge pull request #28770 from hashicorp/jbardin/cimg
update circle go image to cimg, matching release pipeline
2021-05-20 12:00:16 -04:00
James Bardin
4922c743c8 update circleci to cimg to match release pipeline
This allows us to update the go version as well
2021-05-20 11:14:14 -04:00
James Bardin
b842360070
Merge pull request #28766 from hashicorp/jbardin/deposed-orphan
Fix crash with deposed instances in orphaned resources
2021-05-20 10:56:24 -04:00
James Bardin
95e788f13b deposed instances should not be counted as orphans
Do not add orphan nodes for resources that only contain deposed
instances.
2021-05-20 09:36:45 -04:00
James Bardin
aaaeeffa81 a noop change with no state has no private data
There is no change here to use the private data, and currentState may be
nil.
2021-05-20 09:34:25 -04:00
James Bardin
7b38f9dd1d rollback go version for circleci 2021-05-19 14:51:01 -04:00
James Bardin
9074fd4567
Merge pull request #28758 from hashicorp/jbardin/go-version
update go version
2021-05-19 14:08:07 -04:00
James Bardin
d8e8ea34fa update go version 2021-05-19 14:03:12 -04:00
CJ Horton
94ab6d7504
Merge pull request #28746 from hashicorp/remote-backend-refresh-replace 2021-05-19 10:33:19 -07:00
Kristin Laemmert
649095c602
providers subcommand tests (#28744)
* getproviders ParsePlatform: add check for invalid platform strings with too many parts

The existing logic would not catch things like a platform string containing multiple underscores. I've added an explicit check for exactly 2 parts and some basic tests to prove it.

* command/providers-lock: add tests

This commit adds some simple tests for the providers lock command. While adding this test I noticed that there was a mis-copied error message, so I replaced that with a more specific message. I also added .terraform.lock.hcl to our gitignore for hopefully obvious reasons.

getproviders.ParsePlatform: use parts in place of slice range, since it's available

* command: Providers mirror tests

The providers mirror command is already well tested in e2e tests, so this includes only the most absolutely basic test case.
2021-05-19 12:56:16 -04:00
James Bardin
a4ed1405f5
Merge pull request #28753 from hashicorp/jbardin/provisioner-diags
return diagnostics from provisioners
2021-05-19 12:54:08 -04: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
Chris Arcand
5b49e37747 go mod tidy 2021-05-19 11:11:04 -05:00
James Bardin
bafa44b958 return diagnostics from provisioners
Do not convert provisioner diagnostics to errors so that users can get
context from provisioner failures.

Return diagnostics from the builtin provisioners that can be annotated
with configuration context and instance addresses.
2021-05-19 11:24:54 -04:00
James Bardin
d27a6d3d1b
Merge pull request #28745 from hashicorp/jbardin/substr
negative substring indexes
2021-05-19 11:12:38 -04:00
Bredoxon
06e756eb0c
Fix typo in the docs 2021-05-19 10:51:06 +10:00
CJ Horton
ab5fec9aec backend/remote: test new options and modes
Tests for -refresh=false, -refresh-only, and -replace,
as well as tests to ensure we error appropriately on
mismatched API versions.
2021-05-18 15:35:37 -07:00
CJ Horton
eb1f113693 backend/remote: validate API version for refresh and replace 2021-05-18 15:35:37 -07:00
CJ Horton
16bc8f6442 go get go-tfe@v0.15.0 2021-05-18 15:35:29 -07:00
James Bardin
760a59b3a7 negative substring 2021-05-18 16:04:47 -04:00
James Bardin
be98e16dd5
Merge pull request #28739 from hashicorp/jbardin/codeowners
update CODEOWNERS paths
2021-05-18 13:09:05 -04:00
James Bardin
e59190bcb2 update CODEOWNERS paths 2021-05-18 12:12:08 -04:00
Karol Szczepański
f684f91f3f
website/docs(plan): fix minor typos (#28713) 2021-05-18 11:05:42 -04:00
Kyle A. Matheny
3afa08b1bc
Remove duplicate word (#28716) 2021-05-18 11:04:54 -04:00
Kristin Laemmert
4928e1dd01
terraform: use ProtocolVersion from unmanaged providers' reattachConfig to chose the correct PluginClient (#28190)
* add/use ProtocolVersion with unmanaged providers reattach config
2021-05-18 10:59:14 -04:00
Alisdair McDiarmid
bd4f8d7dea
Merge pull request #28738 from hashicorp/alisdair/sensitive-attributes-values-diff
cli: Improve sensitivity change warning output
2021-05-18 10:49:25 -04:00
Alisdair McDiarmid
5fc3ba37a6 cli: Improve sensitivity change warning output
When an attribute value changes in sensitivity, we previously rendered
this in the diff with a `~` update action and a note about the
consequence of the sensitivity change. Since we also suppress the
attribute value, this made it impossible to know if the underlying value
was changing, too, which has significant consequences on the meaning of
the plan.

This commit adds an equality check of the old/new underlying values. If
these are unchanged, we add a note to the sensitivity warning to clarify
that only sensitivity is changing.
2021-05-18 10:33:25 -04:00
James Bardin
9708e900eb
Merge pull request #28736 from hashicorp/jbardin/pg
pg backend requires PostgreSQL 10
2021-05-18 09:58:49 -04:00
James Bardin
51a171c7f4 pg requires PostgreSQL 10 2021-05-18 09:39:05 -04:00
Chris Arcand
2171f8a1a6 backend/remote: Support replacements in plans 2021-05-17 16:31:34 -07:00
Chris Arcand
a436c7fa2f backend/remote: Support refresh-only plans 2021-05-17 16:31:33 -07:00
Chris Arcand
cb49a4c8d6 backend/remote: Remove the -refresh=false restriction 2021-05-17 16:31:32 -07:00
James Bardin
e39ba2816b
Merge pull request #28724 from hashicorp/jbardin/apply-diags
save apply diagnostics on backend failure
2021-05-17 17:27:40 -04:00
James Bardin
4d55e2604f save apply diagnostics on backend failure
Make sure to collect apply diagnostics before persisting the backend
state so runtime errors are not lost.
2021-05-17 17:22:04 -04:00