Commit Graph

29570 Commits

Author SHA1 Message Date
Martin Atkins b0ff17ef2a getmodules: Inline our own fork of getter.GitGetter
This is a pragmatic temporary solution to allow us to more quickly resolve
an upstream regression in go-getter locally within Terraform, so that the
work to upstream it for other callers can happen asynchronously and with
less time pressure.

This commit doesn't yet include any changes to address the bug, and
instead aims to be functionally equivalent to getter.GitGetter. A
subsequent commit will then address the regression, so that the diff of
that commit will be easier to apply later to the upstream to get the same
effect there.
2021-12-14 11:24:23 -08:00
Chris Arcand 8b8fe2771f
Merge pull request #30142 from hashicorp/chrisarcand/remote-backend-no-workspaces-regression
command/meta_backend: Allow the remote backend to have no workspaces [again]
2021-12-14 09:58:50 -06:00
Chris Arcand 98978b3853 command/meta_backend: Allow the remote backend to have no workspaces [again]
A regression introduced in d72a413ef8

The comment explains, but TLDR: The remote backend actually *depended*
on being able to write it's backend state even though an 'error'
occurred (no workspaces).
2021-12-14 09:50:42 -06:00
Alisdair McDiarmid aa59eb427a
Merge pull request #30151 from hashicorp/f-non-existing-module-instance-crash
core: Fix crash with orphaned module instance
2021-12-14 09:10:41 -05:00
Martin Atkins 096cddb4b7 command/format: Limitation of plans.ResourceInstanceDeleteBecauseNoModule
This is an explicit technical debt note that our plan renderer isn't able
to give a fully-specific hint in this particular case of deletion reason.

This reason code means that at least one of the module instance keys in
the resource's module path doesn't match an instance declared in the
configuration, but the plan data structure doesn't retain enough
information to know which is the first step in the path which refers to
a missing instance, and so we just always return the whole thing.

This would be confusing if we return module.foo[0].module.bar not being
in the configuration as a result of module.foo not using "count"; it would
be better to say "module.foo[0] is not in the configuration" instead.

It would be most ideal to handle all of the different situations that
ResourceInstanceDeleteBecauseWrongRepetition's rendering does, so that we
can go further and explain exactly _why_ that module instance isn't
declared anymore.

We can do neither of those things today because only the Terraform Core
"expander" component knows that information, and we've discarded that
by the time we get to rendering a plan. To fix this one day would require
preserving in the plan information about which module instances are
declared, as a separate sidecar data structure from which resource
instances we're taking actions on, and then using that to identify which
step in addr.Module here first selects an invalid instance.
2021-12-13 10:04:15 -05:00
Martin Atkins ec6fe93fa8 instances: Non-existing module instance has no resource instances
Previously we were treating it as a programming error to ask for the
instances of a resource inside an instance of a module that is declared
but whose declaration doesn't include the given instance key.

However, that's actually a valid situation which can arise if, for
example, the user has changed the repetition/expansion mode for an
existing module call and so now all of the resource instances addresses it
previously contained are "orphaned".

To represent that, we'll instead say that an invalid instance key of a
declared module behaves as if it contains no resource instances at all,
regardless of the configurations of any resources nested inside. This
then gives the result needed to successfully detect all of the former
resource instances as "orphaned" and plan to destroy them.

However, this then introduces a new case for
NodePlannableResourceInstanceOrphan.deleteActionReason to deal with: the
resource configuration still exists (because configuration isn't aware of
individual module/resource instances) but the module instance does not.
This actually allows us to resolve, at least partially, a previous missing
piece of explaining to the user why the resource instances are planned
for deletion in that case, finally allowing us to be explicit to the user
that it's because of the module instance being removed, which
internally we call plans.ResourceInstanceDeleteBecauseNoModule.

Co-authored-by: Alisdair McDiarmid <alisdair@users.noreply.github.com>
2021-12-13 10:03:50 -05:00
Patrick Decat 6530055d18
website: Refactoring "Renaming a Module Call" should include a moved block 2021-12-09 14:54:19 -08:00
Laura Pacilio 7ae574ba6a
Merge pull request #30082 from c00k133/docs-vars-typo
Docs: Change misspelling of variable in documentation
2021-12-09 16:35:50 -05:00
Laura Pacilio cd8b458b9c
Merge pull request #30118 from marcusway/patch-1
Update docs to use `assume_role` block
2021-12-09 16:35:12 -05:00
Brandon Croft b27c28f341
Merge pull request #30126 from hashicorp/brandonc/go-tfe-0.21.0
Update go-tfe to v0.21.0
2021-12-09 13:58:17 -07:00
Brandon Croft ced4f5500c
update go-tfe to v0.21.0 2021-12-09 13:16:11 -07:00
Marcus Way b202eefc7b
Update docs to use `assume_role` block
I'm guessing this document is just out of date, but I got an error when configuring `assume_role` as an argument and had to add an `assume_role` block
2021-12-08 19:33:17 -05:00
Laura Pacilio 839458c192
Merge pull request #30116 from hashicorp/fix-links-release
Update broken links
2021-12-08 18:04:30 -05:00
Laura Pacilio 168c2885e3 Fix link text 2021-12-08 18:03:26 -05:00
Laura Pacilio 22d80df0ba Fix extra space in link 2021-12-08 18:01:48 -05:00
Laura Pacilio 2edd9f4e10 Update broken links 2021-12-08 17:53:18 -05:00
Martin Atkins 533a29edee website: Shorter heading for the nullable = false variable argument
This makes it match some incoming links we have elsewhere, but also it
makes the heading a bit more consice because "module" isn't really adding
anything here anyway: input variables are _always_ in modules.
2021-12-08 14:08:42 -08:00
Martin Atkins f95dcfe90a website: Fix link from remote backend page to the terraform.workspace docs 2021-12-08 14:08:42 -08:00
Martin Atkins 2cef923495 website: Correct navbar link to the "Refactoring" page
We late-reorganized this into the "Module Development" subsection, but
forgot to update the actual link in the navbar, so it was still linking
to its old location.
2021-12-08 14:08:42 -08:00
Chris Arcand 81136ce5e1
Merge pull request #30102 from hashicorp/tfc-integration-docs-again
Add Terraform Cloud integration docs
2021-12-08 13:20:20 -06:00
Laura Pacilio 70740e9493 Add tutorial to moving resources page 2021-12-08 14:13:47 -05:00
Laura Pacilio 91755d380f udpate to migrating page 2021-12-08 14:01:58 -05:00
Laura Pacilio 0bd3491ef8 Fix typo and update note 2021-12-08 13:55:45 -05:00
Laura Pacilio d0cb88f091 Updates to TFC page in Language 2021-12-08 13:49:58 -05:00
Laura Pacilio ab23ecb210 Change "see" to "refer to" 2021-12-08 13:47:42 -05:00
Laura Pacilio 829e9b4842 Update settings page 2021-12-08 13:45:14 -05:00
Laura Pacilio 502ec81ae2 Update initializing page 2021-12-08 13:37:22 -05:00
Laura Pacilio c713815e33 Add learn callout to usiing TFC index page 2021-12-08 13:09:12 -05:00
Laura Pacilio c17317ded4
Update website/docs/cli/cloud/index.html.md
Co-authored-by: Judith Malnick <judith.patudith@gmail.com>
2021-12-08 13:05:24 -05:00
Judith Malnick d82211ad7b
Keep version note, include introduction and enterprise versioning 2021-12-08 09:49:12 -08:00
Judith Malnick 29b71d873f
Correct bullet
Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2021-12-08 09:48:23 -08:00
Judith Malnick 57cc74ddc4
Correct bullet and break up sentence
Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2021-12-08 09:48:01 -08:00
Judith Malnick 57a27cd1dc
Add intro text to migrating section
Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2021-12-08 09:46:47 -08:00
Judith Malnick 5897c9590c
Clarify background on unique names in TFC 2021-12-08 09:45:18 -08:00
Judith Malnick 310368d464
Move version info to one note 2021-12-08 09:44:32 -08:00
Judith Malnick f514f8eb30
Apply suggestions from code review
Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2021-12-08 09:43:18 -08:00
Martin Atkins 5090462001 website: Terraform v1.1 upgrade guide
Since this is only a minor release there isn't any super-significant
upgrade guide content this time, but I've used this page to elaborate on
some of the upgrade notes already recorded in the Terraform Changelog, to
give additional context if needed to the hopefully-small number of users
that these changes will directly effect during upgrading.
2021-12-08 09:22:34 -08:00
Chris Arcand 099c7269e4 Add Terraform Cloud integration docs 2021-12-07 16:41:48 -06:00
Chris Arcand b80e98ab47 Misc doc edits referencing state/settings 2021-12-07 16:29:51 -06:00
Chris Arcand f521ba6cd7 Remove 'enhanced' backend type distinction
As explained in the changes: The 'enhanced' backend terminology, which
only truly pertains to the 'remote' backend with a single API (Terraform
Cloud/Enterprise's), has been found to be a confusing vestige which need
only be explained in the context of the 'remote' backend.

These changes reorient the explanation(s) of backends to pertain more
directly to their primary purpose, which is storage of state snapshots
(and not implementing operations).

That Terraform operations are still _implemented_ by the literal
`Backend` and `Enhanced` interfaces is inconsequential a user of
Terraform, an internal detail.
2021-12-07 16:29:51 -06:00
Laura Pacilio 02aed8a4df
Merge pull request #30100 from hashicorp/add-learn-callout-moved-blocks
Update note and add learn call out
2021-12-07 17:18:17 -05:00
Laura Pacilio 529a2c34df Update note and add learn call out 2021-12-07 17:09:13 -05:00
James Bardin 0771a214d8 skip provider resolution when there are errors
If there are errors loading the configuration, don't try to resolve the
provider names, as those names may not even be valid.
2021-12-06 14:28:34 -05:00
Laura Pacilio fc7358611c
Merge pull request #29931 from alekssaul/patch-1
Website/Docs: debian install - run apt update first
2021-12-06 11:06:13 -05:00
Aleks Saul 4f634bf8db Website/Docs: debian install - run apt update first
Apologies for not creating an issue first but it seemed like a simple docs change. 

`apt install terraform` requires the  `apt update` before terraform can be installed.
2021-12-06 08:02:40 -05:00
Ted Behling 16800d1305
Merge pull request #30046 from hashicorp/tbehling/docs-apt-repos
Docs: Add newer Debian & Ubuntu versions to repo list
2021-12-03 12:19:43 -05:00
Axel Neergaard 7756023564
Docs: Change misspelling of variable in documentation
The variable example for `.tfvars` include a spelling error making the `terraform` and `hcl` examples mismatch.
2021-12-03 18:02:31 +01:00
Laura Pacilio 01dbfd2d30
Merge pull request #30028 from multani/patch-1
Improve `.terraformignore` doc formatting
2021-12-03 11:06:32 -05:00
Laura Pacilio 528b513869
Merge pull request #30037 from DanHatesNumbers/patch-1
Fix example for values-representation in docs for JSON Format internals
2021-12-03 10:59:23 -05:00
Alisdair McDiarmid 5d7cb81c0c lang: Redact sensitive values from function errors
Some function errors include values derived from arguments. This commit
is the result of a manual audit of these errors, which resulted in:

- Adding a helper function to redact sensitive values;
- Applying that helper function where errors include values derived from
  possibly-sensitive arguments;
- Cleaning up other errors which need not include those values, or were
  otherwise incorrect.
2021-12-03 09:46:57 -05:00