Commit Graph

24757 Commits

Author SHA1 Message Date
James Bardin da8ec6b483 change state eval GetResource to return all
Always return the entire resource object from
evaluationStateData.GetResource, rather than parsing the references for
individual instances. This allows for later evaluation of resource
indexes so we can return errors when they don't exist, and prevent
errors when short-circuiting around invalid indexes in conditionals.
2019-09-19 09:23:12 -04:00
James Bardin 86bf674246 change GetResourceInstance to GetResource
In order to allow lazy evaluation of resource indexes, we can't index
resources immediately via GetResourceInstance. Change the evaluation to
always return whole Resources via GetResource, and index individual
instances during expression evaluation.

This will allow us to always check for invalid index errors rather than
returning an unknown value and ignoring it during apply.
2019-09-19 09:19:14 -04:00
Martin Atkins 39f61a0795
Update CHANGELOG.md 2019-09-17 16:46:17 -07:00
Martin Atkins 7dbd9850e3
Update CHANGELOG.md 2019-09-17 15:34:13 -07:00
Jeet Parekh bcc69c05bb lang/funcs: parseint function 2019-09-17 15:33:22 -07:00
Martin Atkins 230acc1646
Update CHANGELOG.md 2019-09-17 14:38:24 -07:00
Martin Atkins 7e29b9b5d4 core: Warn when creating and applying with -target
The documentation for the -target option warns that it's intended for
exceptional circumstances only and not for routine use, but that's not a
very prominent location for that warning and so some users miss it.

Here we make the warning more prominent by including it directly in the
Terraform output when -target is in use. We first warn during planning
that the plan might be incomplete, and then warn again after apply
concludes and direct the user to run "terraform plan" to make sure that
there are no further changes outstanding. The latter message is intended
to reinforce that -target should only be a one-off operation and that you
should always run without it soon after to ensure that the workspace is
left in a consistent, converged state.
2019-09-17 14:36:05 -07:00
tf-release-bot 3145171caf Cleanup after v0.12.9 release 2019-09-17 19:29:31 +00:00
tf-release-bot abec0acf40
v0.12.9 2019-09-17 19:19:02 +00:00
The Terraform Team 9b6fcc4e86
Merge pull request #22755 from echernyavskiy/patch-1
website/docs: Fix typo in variables.html
2019-09-17 11:46:57 -04:00
The Terraform Team 669242ee14
Merge pull request #22777 from acsbendi/patch-1
website/docs: Fixed typo in documentation about expressions
2019-09-17 11:42:32 -04:00
Nick Fagerlund 655bbfdf28 website: Add complex type example to variables.html 2019-09-13 12:58:15 -07:00
Kristin Laemmert 67e742fa29
Update CHANGELOG.md 2019-09-13 10:52:54 -04:00
Lars Lehtonen 85b2000223 command/show: Fix dropped errors (#22772) 2019-09-13 10:51:32 -04:00
Bendegúz Ács 8f9d368a25
Fixed typo in documentation about expressions 2019-09-12 14:16:13 +02:00
Pam Selle 3293f76dc3
Another edit of CHANGELOG for ignore_changes 2019-09-11 15:06:18 -04:00
Pam Selle 7e8688bac4
Update CHANGELOG.md 2019-09-11 14:51:38 -04:00
Pam Selle cbbafd33dd
Update CHANGELOG.md 2019-09-11 14:49:46 -04:00
Pam Selle 80dec63917
Merge pull request #22691 from pselle/customizediff
Evaluate ignore changes before sending plan to CustomizeDiff
2019-09-11 14:45:21 -04:00
Pam Selle e35b4555b6
Update CHANGELOG.md 2019-09-11 09:38:02 -04:00
Pam Selle a3e0a23785
Update CHANGELOG.md 2019-09-11 09:37:17 -04:00
Pam Selle 4f198fc797
Merge pull request #22760 from pselle/add-source-to-diag-for_each
Add source addressing to make error more useful
2019-09-11 09:36:24 -04:00
Pam Selle de98de5624
Merge pull request #22756 from pselle/b-for_each-empty-list
Cover empty sets in for_each
2019-09-11 09:34:59 -04:00
Pam Selle 3be3e3c089 Add source addressing to make error more useful 2019-09-10 14:56:11 -04:00
Pam Selle a25abbe7d8 Cover empty sets 2019-09-10 10:57:35 -04:00
Evgeny Chernyavskiy 5f16669362
Fix typo in variables.html 2019-09-10 10:29:37 -04:00
Martin Atkins 4e17209bcc
Update CHANGELOG.md 2019-09-09 14:35:23 -07:00
wata_mac 6f83197856 go get github.com/apparentlymart/go-cidr@v1.0.1
This includes fixes in the handling of IPv6 prefixes that leave a host
portion longer than the size of int on the target platform.
2019-09-09 14:31:21 -07:00
Kristin Laemmert ae3048fb98
Update CHANGELOG.md 2019-09-09 14:00:50 -07:00
Kristin Laemmert 120bb0a66c
plugin/discovery: use new addrs.ProviderType in place of a provider typeName string (#22724)
This is a relatively small change meant to lay the foundation for
future enhancements to providers' address.
2019-09-09 16:59:50 -04:00
Pam Selle dcad6239c5
Update CHANGELOG.md 2019-09-09 15:43:33 -04:00
Pam Selle 7a9f2717fe
Merge pull request #22745 from chef-partners/master
Habitat License Acceptance changes
2019-09-09 15:40:19 -04:00
Martin Atkins fb1aefe22b
Merge #22728: Stubbed-out "terraform login" subcommand 2019-09-09 11:39:46 -07:00
Martin Atkins 67d6f58f31 main: use cliconfig.ConfigDir instead of just ConfigDir
main.ConfigDir is just a wrapper around cliconfig.ConfigDir to allow us to
gradually clean up the old calls here, but since this is new code we might
as well do it right from the start.
2019-09-09 11:15:24 -07:00
Martin Atkins 131656a237 main: Temporarily disable "terraform login" as a command
We're not ready to ship this in a release yet because there's still some
remaining work to do on the Terraform Cloud side, but we want to get the
implementation work behind this into the master branch so it's easier to
maintain it in the mean time, rather than letting this long-lived branch
live even longer.

We'll continue to iterate on UX polish and other details in subsequent
commits, and eventually enable this.
2019-09-09 11:15:24 -07:00
Martin Atkins 0ca6b578f5 command/login: Remove unimplemented -into-file option
This was a vestige from earlier prototyping when we were considering
supporting adding credentials to existing .tfrc native syntax files.

However, that proved impractical because the CLI config format is still
HCL 1.0 and that can't reliably perform programmatic surgical updates,
so we'll remove this option for now. We might add it back in later if it
becomes more practical to support it.
2019-09-09 11:15:24 -07:00
Martin Atkins 8381112a5c command: Tests for the "terraform login" command
These run against a stub OAuth server implementation, verifying that we
are able to run an end-to-end login transaction for both the authorization
code and the password grant types.

This includes adding support for authorization code grants to our stub
OAuth server implementation; it previously supported only the password
grant type.
2019-09-09 11:15:24 -07:00
Martin Atkins 7ccd6204c4 command: Swappable implementation of launching web browsers
For unit testing in particular we can't launch a real browser for testing,
so this indirection is primarily to allow us to substitute a mock when
testing a command that can launch a browser.

This includes a simple mock implementation that expects to interact with
a running web server directly.
2019-09-09 11:15:24 -07:00
Martin Atkins daf733af33 command/login: UI cleanup 2019-09-09 11:15:24 -07:00
Martin Atkins f25cb008f1 command/login: Save the new API token
Once we've successfully obtained an API token, we'll can save it in the
credentials store.
2019-09-09 11:15:24 -07:00
Martin Atkins a1e387a0e5 command: A stub OAuth server implementation for login testing 2019-09-09 11:15:24 -07:00
Martin Atkins f605bde562 command/login: Password-based credentials request 2019-09-09 11:15:24 -07:00
Martin Atkins cfc1c4900d command/login: Use Cli.Ask to request confirmation
This is more straightforward than using readline because it already works
properly with panicwrap.
2019-09-09 11:15:24 -07:00
Martin Atkins 0b346e589a command/login: Show login consent prompt before proceeding
Because we're going to pass the credentials we obtain on to some
credentials store (either a credentials helper or a local file on disk)
we ought to disclose that first and give the user a chance to cancel out
and set up a different credentials storage mechanism first if desired.

This also includes the very beginnings of support for the owner password
grant type when running against app.terraform.io. This will be used only
temporarily at initial release to allow a faster initial release without
blocking on implementation of a full OAuth flow in Terraform Cloud.
2019-09-09 11:15:23 -07:00
Martin Atkins 6bba3ceb42 command: "terraform login" command 2019-09-09 11:15:23 -07:00
Mudassar Shafique 50a6c69ab5 Habitat License Acceptance changes. These changes add a new argument that allows users to accept Habitat End User License.
It also containts doc updates for Habitat and Chef provisioner
2019-09-09 23:03:39 +05:00
Pam Selle c8dd5d3923 add a comment 2019-09-09 09:35:11 -04:00
Pam Selle de531fd2c9 Remove dead code 2019-09-09 09:35:11 -04:00
Pam Selle bafd8ced7c Put back in old spot 2019-09-09 09:35:11 -04:00
Pam Selle 96d84da032 Do ignore changes processing again after plan, in case strange things are done during plan that should not be 2019-09-09 09:35:10 -04:00