Commit Graph

26273 Commits

Author SHA1 Message Date
Alisdair McDiarmid 65ddf2c664
Update CHANGELOG.md 2020-06-26 10:00:48 -04:00
Alisdair McDiarmid 7190ef571e
Merge pull request #25408 from hashicorp/alisdair/fix-panic-provider-alias
configs: Fail early for invalid resource provider
2020-06-26 09:59:46 -04:00
Alisdair McDiarmid 5e3d2dbdfa configs: Fail early for invalid resource provider
If a resource's "provider" reference is invalid and cannot be parsed, we
should not store the reference as part of a `ProviderConfigRef`. Doing
so creates an invalid data structure, which prevents us from using
`MustParseProviderPart` with the name in later steps.

The invalid test files added in this commit will cause a panic without
the code change.
2020-06-26 09:47:58 -04:00
Paul Tyng 4459e6ea3a
Merge pull request #25385 from hashicorp/newrelic
Fix links to migrated providers
2020-06-26 08:57:51 -04:00
Alisdair McDiarmid 5b9ae35e67
Update CHANGELOG.md 2020-06-26 08:57:46 -04:00
Alisdair McDiarmid fef43ad5b7
Merge pull request #25400 from hashicorp/alisdair/update-cty
Upgrade go-cty to v1.5.1
2020-06-26 08:56:15 -04:00
James Bardin 32d12d9719
Merge pull request #25373 from hashicorp/jbardin/targeting
New target transformer
2020-06-25 20:58:34 -04:00
Alisdair McDiarmid cc655af72f go get github.com/zclconf/go-cty@v1.5.1 2020-06-25 17:05:19 -04:00
Petros Kolyvas 16989dc70c
Merge pull request #25394 from Mikulas/patch-1
Document swift support for locks
2020-06-25 16:37:17 -04:00
James Bardin c96914d624
Merge pull request #25399 from hashicorp/jbardin/destroy-deps
index destroy dependencies by addrs.ConfigResource
2020-06-25 16:04:03 -04:00
James Bardin 9f7b3cc1dc index destroy dependencies by addrs.ConfigResource
When the DestroyEdgeTransformer was updated to handle stored
dependencies the addrs.ConfigResource type did not yet exist. The lookup
map keys in the transformer needed to be updated to remove module
indexes.
2020-06-25 15:28:39 -04:00
Martin Atkins f131f182d4
Update 0-13.html.markdown 2020-06-25 10:17:16 -07:00
Alisdair McDiarmid 0331f7627d
Update CHANGELOG.md, moving some misplaced items
I have been adding recent bug fixes to the wrong section of the changelog. This commit
moves them to the UNRELEASED section.
2020-06-25 13:04:02 -04:00
Alisdair McDiarmid b4cc77b6cd
Merge pull request #25379 from hashicorp/alisdair/yes
command/login: Require "yes" to confirm
2020-06-25 13:00:02 -04:00
Alisdair McDiarmid f6f707c669
Merge pull request #25381 from hashicorp/alisdair/013upgrade-preserves-more-comments
command: Fix 0.13upgrade to preserve more comments
2020-06-25 12:56:34 -04:00
Martin Atkins 02b130cd59 website: Terraform v0.13 upgrade guide 2020-06-25 09:24:41 -07:00
Chris Griggs b4bfbfdc07
Merge pull request #25392 from hashicorp/cgriggs01-rubrik
[Website] Add Rubrik links
2020-06-25 09:05:17 -07:00
Mikuláš Dítě 491733bb8e
Document swift support for locks
Introduced in https://github.com/hashicorp/terraform/pull/20211
2020-06-25 17:56:10 +02:00
Alisdair McDiarmid 779fe37a1c command/login: Require "yes" to confirm
This is for consistency with other commands which use prompts, all of
which require "yes" rather than "y" to confirm.

We also migrate the login command to use UIInput, which now supports
securely asking for passwords or secrets via the speakeasy library.
2020-06-25 11:46:51 -04:00
Chris Griggs 233a75d747 [Website] Add Rubrik links 2020-06-25 08:28:18 -07:00
Kristin Laemmert 47e657c611
internal/getproviders: decode and return any registry warnings (#25337)
* internal/getproviders: decode and return any registry warnings

The public registry may include a list of warnings in the "versions"
response for any given provider. This PR adds support for warnings from
the registry and an installer event to return those warnings to the
user.
2020-06-25 10:49:48 -04:00
James Bardin 98ff2065bc
Merge pull request #25377 from hashicorp/jbardin/remote-state
Correct remote state return value
2020-06-25 10:43:22 -04:00
Kristin Laemmert 2d0b312ea8
Update CHANGELOG.md 2020-06-25 08:42:34 -04:00
Kristin Laemmert d4ec69cfb3
communicator/winrm: include configured timeout in winrm server
* upgrade windows dependencies
* communicator/winrm: include configured timeout in winrm server
2020-06-25 08:41:09 -04:00
Tom Harvey 2564203312
updating to include #24069 2020-06-25 11:50:55 +02:00
Even Holthe 0f85b283b9
Azure backend: support snapshots/versioning (#24069)
* Azure backend: support snapshots/versioning

Co-authored-by: Reda Ahdjoudj <reda.ahdjoudj@gmail.com>
Co-authored-by: Patrick F. Marques <patrickfmarques@gmail.com>

* Azure backend: Versioning -> Snapshot

Co-authored-by: Reda Ahdjoudj <reda.ahdjoudj@gmail.com>
Co-authored-by: Patrick F. Marques <patrickfmarques@gmail.com>
2020-06-25 11:50:16 +02:00
Paul Tyng 4a7fc14a68 Fix links to migrated providers 2020-06-24 21:46:58 -04:00
Martin Atkins f1ea705dbe website: Restore the docs for "terraform 0.12upgrade"
Although this command is removed in Terraform 0.13, our documentation is
for all versions of Terraform that remain in common use and keeping this
documented will be helpful for folks who are still using Terraform 0.11
and planning their upgrades to Terraform 0.12.

Both of the upgrade commands now include notes that they are only
available in their specific major version, along with a link to the
relevant upgrade guide for other background information about the upgrade,
in case the user finds the command documentation first. (The command docs
are, I think, a little more discoverable than the upgrade guides.)
2020-06-24 14:21:09 -07:00
Alisdair McDiarmid b6739829e7 command: Fix 0.13upgrade to preserve more comments
Previously, any comments inside the required provider configuration for
a given provider would be wiped out upon rerunning the 0.13upgrade
command. This commit attempts to preserve those comments if the existing
entry is semantically equivalent to the entry we are about to write.
2020-06-24 15:54:46 -04:00
James Bardin 731b19ab46 e2e test for remote state read 2020-06-24 14:09:59 -04:00
Pam Selle ad8ff621ff
Update CHANGELOG.md 2020-06-24 14:05:49 -04:00
João G. Packer fd47260fdc
command: adjust exit code of state rm (#22300)
* command: adjust exit code of state rm and state mv

Commands `state rm` and `state mv` will now exit with code 1 when the
target resource is not found in the current state.
This is consistent with `terraform state show non_existent_resource`.

Fixes #17800
2020-06-24 14:03:23 -04:00
James Bardin a0fad2c6b4 always return original workspace, even when null
The returned value type needs to strictly match the proposed value type.
2020-06-24 13:41:51 -04:00
Alisdair McDiarmid 9f455bfc55
Update CHANGELOG.md 2020-06-24 13:39:56 -04:00
Alisdair McDiarmid 563abd55dc
Merge pull request #25369 from hashicorp/alisdair/fix-provider-requirements-panics
configs: Fix provider requirements panics
2020-06-24 13:38:11 -04:00
Alisdair McDiarmid f714a9da79
Merge pull request #25352 from hashicorp/alisdair/fix-import-allow-missing-config
command/import: Fix allow-missing-config option
2020-06-24 13:37:13 -04:00
James Bardin 6ef11e9d9e update CHANGELOG.md 2020-06-24 13:35:21 -04:00
James Bardin f9ff7d1ee8 test for targeting with modules and output 2020-06-24 12:52:29 -04:00
Martin Atkins 8f77bd344e lang/funcs: Filesystem functions hint about dynamically-generated files
The functions that interact with the filesystem are, by design, restricted
to reading files that are distributed as a static part of the
configuration, and cannot be used to interact with files that are
generated dynamically by resources in the configuration.

However, new users have often yet developed a correct mental model of how
Terraform execution works and are confused by the terse error messages
these functions return. As an interim step to help some of those users,
this just adds some more commentary to the error message which gives a
vague, generic directive to look to attributes of the resource that is
generating the file, which should (if it's designed well) export
attributes that allow the resulting file to be used effectively with
common patterns, such as checksums of the content of the generated file.

The error message here is not particularly attractive due to the
limitations of the context where it's being returned from, but I'm
accepting that here in the interest of keeping this change simple, so we
can give a hint about a case that seems to frequently generate new-user
questions. We may iterate further on the presentation of this message
later.
2020-06-24 09:02:38 -07:00
Alisdair McDiarmid 8c3648c1e6
terraform version is preferred 2020-06-24 10:59:59 -04:00
Alisdair McDiarmid 7b526b1969
terraform version is preferred 2020-06-24 10:59:49 -04:00
James Bardin 2fa16c24f7 remove unused interfaces
RemovableIfNotTargeted and GraphNodeTargetDownstream are no longer used
by the target transformer.
2020-06-24 10:45:58 -04:00
Alisdair McDiarmid cbe932f88d
Update CHANGELOG.md 2020-06-24 10:35:18 -04:00
Alisdair McDiarmid 550d75f5ce
Merge pull request #25300 from hashicorp/alisdair/fix-init-flags-silent-exit
command: Fix init flags silent exit bug
2020-06-24 10:33:09 -04:00
Alisdair McDiarmid c093c50c80
Merge pull request #25255 from unki/patch-1
fix yamldecode()-example, missing a file() call
2020-06-24 10:31:08 -04:00
James Bardin c99157c35b new targets transformer
This simplifies the initial targeting logic, and removes the complex
algorithm for finding descendants that result in output changes, which
hid bugs that failed with modules.

The targeting is handled in 2 phases. First we find all individual
resource nodes that are targeted, then add all their dependencies to the
set of targets. This in essence is all we need for targeting, and is
straightforward to understand.

The next phase is to add any root module outputs that can be solely
derived from the set of targeted resources. There is currently no way to
target outputs themselves, so this is how we can allow these to be
updated as part of a target.

Rather than attempting to backtrack through the graph to find candidate
outputs, requiring each node on the chain to properly advertise if it
could be traversed, then backtracking again to determine if the
candidate is valid (which often got "off course"), we can start directly
from the outputs themselves. The algorithm here is simpler: if all the
root output's resource dependencies are targeted, add that output and
its dependencies to the targeted set.
2020-06-24 10:27:52 -04:00
Alisdair McDiarmid 377b99907b
Merge pull request #25339 from jessica-ritter/patch-1
Trimprefix: what happens when prefix is not in string?
2020-06-24 10:25:30 -04:00
James Bardin 504b49b1d3 make outptut destroy nodes a temporaryValue
These never need to be pruned, except in the case of adding output
changes to a targeted graph.
2020-06-24 10:22:10 -04:00
Alisdair McDiarmid 9a9f4e2696 configs: Fix provider requirements panics
When parsing provider requirements we should check the type of the
source and version attributes rather than assuming that they are
strings. Otherwise an invalid attribute value will cause a panic.
2020-06-24 10:12:29 -04:00
Jamie Finnigan be510e53bc
website/docs: add note re. SSH hostkey validation to provisioner connection doc (#25355) 2020-06-24 08:09:06 -04:00