Commit Graph

28721 Commits

Author SHA1 Message Date
Martin Atkins 22eee529e3 addrs: MoveEndpointInModule
We previously built out addrs.UnifyMoveEndpoints with a different
implementation strategy in mind, but that design turns out to not be
viable because it forces us to move to AbsMoveable addresses too soon,
before we've done the analysis required to identify chained and nested
moves.

Instead, UnifyMoveEndpoints will return a new type MoveEndpointInModule
which conceptually represents a matching pattern which either matches or
doesn't match a particular AbsMoveable. It does this by just binding the
unified relative address from the MoveEndpoint to the module where it
was declared, and thus allows us to distinguish between the part of the
module path which applies to any instances of the given modules vs. the
user-specified part which must identify particular module instances.
2021-07-14 17:37:48 -07:00
Martin Atkins cd06572c4f addrs: ModuleInstance and AbsResourceInstance are UniqueKeyers
Since these address types are not directly comparable themselves, we use
an unexported named type around the string representation, whereby the
special type can avoid any ambiguity between string representations of
different types and thus each type only needs to worry about possible
ambiguity of its _own_ string representation.
2021-07-14 17:37:48 -07:00
Martin Atkins f3a57db293 addrs: UniqueKey and UniqueKeyer
Many times now we've seen situations where we need to use addresses
as map keys, but not all of our address types are comparable and thus
we tend to end up using string representations as keys instead.

That's problematic because conversion to string uses type information
and some of the address types have string representations that are
ambiguous with one another.

UniqueKey therefore represents an opaque key that is unique for each
functionally-distinct address across all types that implement
UniqueKeyer.

For this initial commit I've implemented UniqueKeyer only for the
Referenceable family of types. These are an easy case because they
were all already comparable (intentionally) anyway. Later commits
can implement UniqueKeyer for other types that are not naturally
comparable, such as any which include a ModuleInstance.

This also includes a new type addrs.Set which wraps a map as a set
of addresses, using the unique keys to ensure that there can be only
one element for each distinct address.
2021-07-14 17:37:48 -07:00
Laura Pacilio bc9065334e Update description metadata per PR feedback 2021-07-14 16:54:26 -04:00
Laura Pacilio 7cd333dea1
Merge pull request #29163 from hashicorp/rar-docs-update-add-anchor
website: Adds anchor for TF_CLI_ARGS.
2021-07-14 14:45:35 -04:00
Russell Rollins 3174dfd63f Adds anchor for TF_CLI_ARGS. 2021-07-14 14:08:52 -04:00
hc-github-team-tf-core b6614cf2b3 Cleanup after v1.1.0-alpha20210714 release 2021-07-14 17:18:47 +00:00
hc-github-team-tf-core 3b61e8df7a
Release v1.1.0-alpha20210714 2021-07-14 16:55:22 +00:00
Rémi Lapeyre 3c34e15d40 Update the Consul API client
Some users would want to use Consul namespaces when using the Consul
backend but the version of the Consul API client we use is too old and
don't support them. In preparation for this change this patch just update
it the client and replace testutil.NewTestServerConfig() by
testutil.NewTestServerConfigT() in the tests.
2021-07-14 14:49:13 +02:00
Rémi Lapeyre 4177bd98b9 Change wording for the skip_... options of the pg backend 2021-07-14 12:01:54 +02:00
Rémi Lapeyre b8e0d6f418 Add UNIQUE constraint in the states table for the pg backend 2021-07-14 11:59:14 +02:00
Rémi Lapeyre 3bf053a5fc Add a test to ensure that workspaces must have a unique name in pg backend 2021-07-14 11:57:28 +02:00
Laura Pacilio eebbdd6778 Update dynamic blocks description with more detail and to remove 'ing' 2021-07-13 17:48:28 -04:00
Laura Pacilio 8abbbc7c7f Update conditionals metadata to include more detail and remove 'ing' 2021-07-13 17:40:16 -04:00
Laura Pacilio a740d75882 Update dependency lock file description with more detail and remove 'ing' 2021-07-13 17:34:34 -04:00
Laura Pacilio 12d1706562 Update data sources metadata to remove ing and include more detailXy 2021-07-13 17:23:07 -04:00
Kristin Laemmert 43f698dc9d
states: new `Move` funcs for Resource, ResourceInstance, and ModuleInstances (#29068)
* states: add MoveAbsResource and MoveAbsResourceInstance state functions and corresponding syncState wrapper functions.

* states: add MoveModuleInstance and MaybeMoveModuleInstance

* addrs: adding a new function, ModuleInstance.IsDeclaredByCall, which returns true if the receiver is an instance of the given AbsModuleCall.
2021-07-13 16:10:46 -04:00
Alisdair McDiarmid 5a34825fc1
Merge pull request #29131 from hashicorp/alisdair/sequence-diff-commentary
Add comments explaining how ctySequenceDiff works
2021-07-13 16:05:05 -04:00
Laura Pacilio 36f51e2790
Merge pull request #29133 from hashicorp/add-deploy-to-readme
Add deploy information to website folder readme
2021-07-13 11:23:13 -04:00
Alisdair McDiarmid 72a7c95353
Merge pull request #29072 from hashicorp/alisdair/json-ui-resource-drift
json-output: Add resource drift to machine readable UI
2021-07-12 09:54:42 -04:00
Laura Pacilio 557b8df31b
Active voice and link fix
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2021-07-12 09:22:16 -04:00
Nick Fagerlund 0e004f2377
website: remove legacy provider docs index (#29134)
* website: Update or remove references to legacy provider docs

We've finally evicted the last of the legacy provider docs from terraform.io!
Let's celebrate by purging all memory of them.

The 0.11 docs are now so thoroughly legacy that I don't believe they need a new
destination for their provider links, so I just removed those.

* website: remove old provider docs index

This will require a redirect in the terraform-website repo.

* Apply suggestions from code review

Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>

Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
2021-07-09 14:44:58 -07:00
Laura Pacilio 6cf2ad27a7 Fix typo in description on expressions overview page 2021-07-09 17:26:30 -04:00
Laura Pacilio 5b187a1666 Update language on provider docs page 2021-07-09 17:24:21 -04:00
Laura Pacilio eadbb7cd13 Remove temporary providers doc reference 2021-07-09 17:16:41 -04:00
Laura Pacilio 69ebfd6f03 Add/update description metadata on backend and state overview pages 2021-07-09 15:56:12 -04:00
Laura Pacilio a37fd2f5f7 Upate description metadata on terraform settings overview 2021-07-09 15:46:07 -04:00
Laura Pacilio 952cb33103 Add description metadata to functions overview page 2021-07-09 15:42:58 -04:00
Laura Pacilio 7dba0e511f Add description metadata to remaining expressions pages 2021-07-09 15:40:05 -04:00
Laura Pacilio 2718d2addc Add description metadata to module block page 2021-07-09 15:32:25 -04:00
Laura Pacilio df16096141 Add description metadata to dynamic blocks, types, and module providers 2021-07-09 15:28:28 -04:00
Laura Pacilio d9f7ce19fe Add description metadata to conditionals page 2021-07-09 15:17:18 -04:00
Laura Pacilio aeee849e6c Add deploy information to website folder readme 2021-07-09 15:02:15 -04:00
Alisdair McDiarmid ef0181cfbd Add comments explaining how ctySequenceDiff works
The logic behind this code took me a while to understand, so I wrote
down what I understand to be the reasoning behind how it works. The
trickiest part is rendering changing objects as updates. I think the
other pieces are fairly common to LCS sequence diff rendering, so I
didn't explain those in detail.
2021-07-09 13:14:20 -04:00
Laura Pacilio 3baddbef0e Add description metadata to creating modules pagey 2021-07-09 12:14:58 -04:00
Laura Pacilio e348477c79 Add description metadata to module sources 2021-07-09 12:08:48 -04:00
Laura Pacilio 4044fe30d3 Add description metadata to modules overview page 2021-07-09 11:59:38 -04:00
Laura Pacilio f4f8d7a6c5 Change use to using for consistency with other docs 2021-07-09 11:50:19 -04:00
Laura Pacilio adf4dbdf84 Update description metadata 2021-07-09 11:45:42 -04:00
Laura Pacilio 14d6e0dea9 Add Terraform key work to description metadata 2021-07-09 11:37:01 -04:00
Laura Pacilio 07accd7a38 Add page metadata to variables and outputs overview 2021-07-09 11:34:02 -04:00
Laura Pacilio fabd5abf2c Make description metadata shorter 2021-07-09 11:30:13 -04:00
Laura Pacilio 9dc008fa10 Add metadata description to dependency lock file page 2021-07-09 11:25:55 -04:00
Laura Pacilio 62b11f02e2 Make metadata description more concise 2021-07-09 11:15:10 -04:00
Laura Pacilio 62b444504d Add description metadata to provider requirements 2021-07-09 11:07:37 -04:00
Laura Pacilio d107b46270 Make description metadata more concise 2021-07-09 11:01:32 -04:00
Laura Pacilio bca3957e17 Update description metadata for input variables 2021-07-09 10:53:37 -04:00
Laura Pacilio 134170c121 Fixing broken link on syntax page 2021-07-09 10:32:17 -04:00
Laura Pacilio f5c463c27e Update broken link oon provisioners connection page 2021-07-09 10:30:35 -04:00
Laura Pacilio 493d4b8dc8 Update description metadata 2021-07-07 17:37:19 -04:00