Commit Graph

18511 Commits

Author SHA1 Message Date
Mitchell Hashimoto
b346ba32d1 terraform: dependent provider resources are destroyed first in modules
This extends the prior commit to also verify (and fix) that resources of
dependent providers are destroyed first even when they're within
modules.
2016-12-10 20:22:12 -05:00
Mitchell Hashimoto
14d079f914 terraform: destroy resources in dependent providers first
Fixes #4645

This is something that never worked (even in legacy graphs), but as we
push forward towards encouraging multi-provider usage especially with
things like the Vault data source, I want to make sure we have this
right for 0.8.

When you have a config like this:

```
resource "foo_type" "name" {}
provider "bar" { attr = "${foo_type.name.value}" }
resource "bar_type" "name" {}
```

Then the destruction ordering MUST be:

  1. `bar_type`
  2. `foo_type`

Since configuring the client for `bar_type` requires accessing data from
`foo_type`. Prior to this PR, these two would be done in parallel. This
properly pushes forward the dependency.

There are more cases I want to test but this is a basic case that is
fixed.
2016-12-10 20:11:24 -05:00
Mitchell Hashimoto
3ba9720b3e config: validate invalid variable keys
Fixes #9416

A simple change to verify that only valid keys for `variable` blocks are
used.
2016-12-10 19:27:01 -05:00
Mitchell Hashimoto
cabcc4b5b8 terraform: allow indexing into a computed list for multi-count resources
Fixes #8695

When a list count was computed in a multi-resource access
(foo.bar.*.list), we were returning the value as empty string. I don't
actually know the histocal reasoning for this but this can't be correct:
we must return unknown.

When changing this to unknown, the new tests passed and none of the old
tests failed. This leads me further to believe that the return empty
string is probably a holdover from long ago to just avoid crashes or
UUIDs in the plan output and not actually the correct behavior.
2016-12-10 19:17:29 -05:00
Mitchell Hashimoto
5d684b399c config: error when loading multiple lifecycle blocks
Fixes #8776

This introduces an error when multiple `lifecycle` blocks exist on a
resource in the configuration.
2016-12-10 18:52:13 -05:00
James Turnbull
c02b2471d6 Fixed typoes in Consul key_prefix docs (#10655) 2016-12-10 21:45:47 +00:00
Mitchell Hashimoto
da418b2582 website: note about map/var merging 2016-12-10 15:05:58 -05:00
Mitchell Hashimoto
83e72b0361 helper/variables: ParseInput for consistent parsing 2016-12-10 14:44:17 -05:00
Mitchell Hashimoto
77efacf30e command: use helper/variables for flags and parsing 2016-12-10 14:30:40 -05:00
Mitchell Hashimoto
39e3d8ea9b helper/variables: helpers for working with vars 2016-12-10 14:30:36 -05:00
KOJIMA Kazunori
e6b1cda7db documentation/aws: Fix example syntax (#10651) 2016-12-10 09:36:06 +00:00
Sean Chittenden
e2448473cb Clean up the DatabaseCreate call. 2016-12-10 12:32:21 +11:00
Sean Chittenden
db5d7b0438 Style nit 2016-12-10 12:32:21 +11:00
Sean Chittenden
bfc2a2d42f Commit WIP re: updated postgresql_role provider.
*Read() and *Update() still need to be updated.
2016-12-10 12:32:20 +11:00
Sean Chittenden
2e529146a5 Remove unused code. 2016-12-10 12:32:20 +11:00
Sean Chittenden
6b540ecb55 Don't use d.GetOk() when the zero value is a required attribute.
Add "pathological" test.
2016-12-10 12:32:20 +11:00
Sean Chittenden
37fdc958b3 Always remove the IS_TEMPLATE attribute before dropping a database. 2016-12-10 12:32:20 +11:00
Sean Chittenden
e9b2b38288 Remove SetId() call from *Read(), this isn't required for import to work. 2016-12-10 12:32:20 +11:00
Sean Chittenden
f253fc9eff Commit miss earlier, fix syntax from unstaged commit. 2016-12-10 12:32:20 +11:00
Sean Chittenden
5280c37bea postgresql_database resource provider should now be feature complete.
* Add support to import databases.  See docs.
* Add support for renaming databases
* Add support for all known PostgreSQL database attributes, including:
  * "allow_connections"
  * "lc_ctype"
  * "lc_collate"
  * "connection_limit"
  * "encoding"
  * "is_template"
  * "owner"
  * "tablespace_name"
  * "template"
2016-12-10 12:32:20 +11:00
Sean Chittenden
59f4ad6fd1 Alpha sort the resources in the PostgreSQL map. 2016-12-10 12:32:19 +11:00
Sean Chittenden
300ef2bc97 Add connect_timeout support to the PostgreSQL provider. 2016-12-10 12:32:19 +11:00
Sean Chittenden
3750bf7af2 Depreciate the PostgreSQL provider's ssl_mode option in favor of sslmode.
Both libpq(3) and github.com/lib/pq both use `sslmode`.  Prefer this vs
the non-standard `ssl_mode`.  `ssl_mode` is supported for compatibility
but should be removed in the future.

Changelog: yes
2016-12-10 12:32:19 +11:00
Sean Chittenden
a200899d93 Allow the PostgreSQL provider to talk to a non-default database. 2016-12-10 12:32:19 +11:00
Sean Chittenden
602a908d7b Add a fallback_application_name to the PostgreSQL DSN. 2016-12-10 12:32:19 +11:00
Sean Chittenden
44d907a3de Revert "Prefer PGHOSTADDR over PGHOST, if set." lib/pq doesn't support PGHOSTADDR.
d8eeeb8bae/conn.go (L1851)

This reverts commit 26a2a974f2b2f2cefd41b426b8469fa3ea72b33e.
2016-12-10 12:32:19 +11:00
Sean Chittenden
55061d190a Prefer PGHOSTADDR over PGHOST, if set. 2016-12-10 12:32:19 +11:00
Sean Chittenden
3779dfffa9 Use a string instead of the %t modifier for printing a bool in SQL 2016-12-10 12:32:19 +11:00
Sean Chittenden
5b66bf0745 ForceNew is required when changing the locale, ctype, and encoding.
This will cause someone some grief.  TODO: Figure out how to prevent
someone from blowing off their foot if they twiddle this after the
fact.
2016-12-10 12:32:18 +11:00
Sean Chittenden
547dcf27e1 Decorate the computed attribute where appropriate 2016-12-10 12:32:18 +11:00
Sean Chittenden
242405bdf1 Factor out the validate function for connection limits 2016-12-10 12:32:18 +11:00
Sean Chittenden
02dea2edd9 Add missing descriptions to owner and name 2016-12-10 12:32:18 +11:00
Sean Chittenden
deb91f61ce Update the descriptions to mostly match the official PostgreSQL docs. 2016-12-10 12:32:18 +11:00
Sean Chittenden
68cadd3c2a Update the FIXME/TODO style to match Google style guides 2016-12-10 12:32:18 +11:00
Sean Chittenden
f3add9e7ef Flesh out the CREATE DATABASE for PostgreSQL. 2016-12-10 12:32:18 +11:00
Sean Chittenden
2aee081e4b Eh, specify default values lib/pq zero initializes itself 2016-12-10 12:32:17 +11:00
Sean Chittenden
7e5ccc089b Spell ssl_mode like sslmode 2016-12-10 12:32:17 +11:00
Sean Chittenden
655617ed6a Remove the PGPASSWORD requirement for tests.
If they're required and the value is missing, the test will fail.  There's
no need to enforce that in the test itself.
2016-12-10 12:32:17 +11:00
Sean Chittenden
ec130d538c Add comments requesting that the testing-specific environment variables
can be removed in Terraform 0.8.0
2016-12-10 12:32:17 +11:00
Sean Chittenden
b68ef2c40b Fall through to using the defaults from github.com/lib/pq 2016-12-10 12:32:17 +11:00
Sean Chittenden
f31ebff10e Change the PostgreSQL PGSSLMODE option to sslmode to match PostgreSQL idioms.
Also don't specify the default and rely on github.com/lib/pq (which uses "required"
and is different than what libpq(3) uses, which is "preferred" and unsupported by
github.com/lib/pq).
2016-12-10 12:32:17 +11:00
Sean Chittenden
df7a15fff9 Complete the docs for Consul Prepared Query.
While here add an additional example of a standard prepared query in
addition to the prepared query template that was already present.
2016-12-10 12:28:06 +11:00
Mitchell Hashimoto
808f09f01f terraform: user friendly error when using old map overrides
Related to #8036

We have had this behavior for a _long_ time now (since 0.7.0) but it
seems people are still periodically getting bit by it. This adds an
explicit error message that explains that this kind of override isn't
allowed anymore.
2016-12-09 15:58:24 -05:00
Clint
1f5b940f3f Merge pull request #10175 from hashicorp/b-aws-elasticache-updates
[WIP] provider/aws: Update Elasticache docs for corrections, clarity
2016-12-09 14:56:26 -06:00
James Bardin
626ad57546 Merge pull request #10643 from hashicorp/jbardin/GH-10640
Disaply interpolation strings for computed fields
2016-12-09 15:31:42 -05:00
Mitchell Hashimoto
4a38f5f534 Merge pull request #10642 from hashicorp/b-num-id
config: allow names to start with numbers
2016-12-09 14:42:21 -05:00
James Bardin
fc13a1b814 Disaply interpolation strings for computed fields
Displaying interpolations strings when possible for computed fields in
the plan output makes for a nicer UX
2016-12-09 13:30:00 -05:00
Paul Stack
e9896be90e Update CHANGELOG.md 2016-12-09 17:57:42 +00:00
Paul Stack
c69e325a1a provider/aws: Add support for AWS Lightsail Domain (#10637)
```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSLightsailDomain_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/12/09 15:19:58 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSLightsailDomain_ -timeout 120m
=== RUN   TestAccAWSLightsailDomain_basic
--- PASS: TestAccAWSLightsailDomain_basic (16.28s)
=== RUN   TestAccAWSLightsailDomain_disappears
--- PASS: TestAccAWSLightsailDomain_disappears (12.71s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws29.015s
```
2016-12-09 17:56:48 +00:00
Clint
640530e76f Update CHANGELOG.md 2016-12-09 11:52:00 -06:00