Commit Graph

23694 Commits

Author SHA1 Message Date
Mars Hall
2621f95bd2 📚 doc corrections 2019-02-25 16:30:30 -08:00
James Bardin
37f391f1f7 insert defaults during Backend.PrepareConfig
Lookup any defaults and insert them into the config value before
validation.
2019-02-25 19:06:09 -05:00
Mars Hall
b9a91b7c1e Switch pg backend to use native Postgres locks 2019-02-25 16:05:53 -08:00
James Bardin
c814f2da37 Change backend.ValidateConfig to PrepareConfig
This mirrors the change made for providers, so that default values can
be inserted into the config by the backend implementation. This is only
the interface and method name changes, it does not yet add any default
values.
2019-02-25 18:37:20 -05:00
Martin Atkins
6b6be3af35 command: Remove promise of plan -validate-only from validate docs
We brought forward a new implementation of "terraform validate" that was
originally scheduled for a later release after finding that it would be
simpler than reworking the old implementation for new v0.12 assumptions,
but we didn't yet implement "terraform plan -validate-only" in spite of
it being mentioned in the updated docs for "terraform validate".

For now then, the documentation will make the weaker suggestion of running
"terraform plan" to validate a particular _run_ rather than a particular
_module_, which is the closest thing we have for now. At some point after
v0.12.0 we will evaluate whether a validate-only mode for "terraform plan"
(which could then run without configuring the providers at all) is needed.
2019-02-25 14:27:59 -08:00
Kristin Laemmert
16823f43de
command/jsonprovider: export providers schemas to json (#20446)
* command/jsonprovider: a new package for exporting providers schemas as JSON
2019-02-25 13:32:47 -08:00
Sander van Harmelen
2b9e2b4c2b
Update CHANGELOG.md 2019-02-25 19:33:51 +01:00
Sander van Harmelen
435b82d6d0
Merge pull request #20460 from hashicorp/svh/f-permissions
backend/remote: use the can-queue-apply permission
2019-02-25 19:32:20 +01:00
Radek Simko
3924c3e72d
Merge pull request #20457 from hashicorp/vendor-winrm-bump
vendor: github.com/masterzen/winrm@5e5c9a7fe54b
2019-02-25 18:29:17 +00:00
James Bardin
46f530c1b2 update CHANGELOG.md 2019-02-25 13:07:03 -05:00
James Bardin
aebfecf871
Merge pull request #20211 from yanndegat/swift_remote_backend
Swift remote backend support for workspaces & locking
2019-02-25 12:58:59 -05:00
Sander van Harmelen
58961026a2 backend/remote: use the can-queue-apply permission
Previously we checked can-update in order to determine if a user had the
required permissions to apply a run, but that wasn't sufficient. So we
added a new permission, can-queue-apply, that we now use instead.
2019-02-25 14:45:40 +01:00
Sander van Harmelen
d5c6ebff3d gomod: update go-tfe 2019-02-25 14:33:31 +01:00
Radek Simko
c38f7eed1f
vendor: github.com/masterzen/winrm@5e5c9a7fe54b 2019-02-25 08:45:01 +00:00
Paul Tyng
95a6e15c80
Merge pull request #20455 from hashicorp/paultyng-patch-1
Update network-index.html.markdown
2019-02-24 10:08:28 -05:00
Paul Tyng
42b92a2629
Update network-index.html.markdown 2019-02-24 09:51:00 -05:00
James Bardin
eda878354d update CHANGELOG.md 2019-02-22 21:09:54 -05:00
Martin Atkins
552dddfb4c command: Specialized error message for var decls in tfvars
A common new-user mistake is to place variable _declarations_ into .tfvars
files instead of variable _values_. To guide towards the correct approach
here, we add a specialized error message for that situation that includes
guidance on the distinction between declaring and setting values for
variables, and an example of what setting a value should look like.
2019-02-22 18:04:01 -08:00
James Bardin
9c0e3cc819
Merge pull request #20432 from hashicorp/jbardin/s3-prefix-key
s3 workspace_key_prefix
2019-02-22 21:00:44 -05:00
James Bardin
bd28b996db
Merge pull request #20449 from hashicorp/jbardin/ssh-keepalive
fix test that diverged between 2 merges
2019-02-22 20:55:01 -05:00
James Bardin
830a00b6b8 fix test that diverged between 2 merges 2019-02-22 20:41:37 -05:00
Martin Atkins
b217624d83 config/configupgrade: Test to show that list unwrapping works for sets
This was already working but we had no tests to prove it.
2019-02-22 17:40:40 -08:00
James Bardin
929231a2e9
Merge pull request #20437 from hashicorp/jbardin/ssh-keepalive
add ssh keepalive messages to communicator
2019-02-22 20:16:45 -05:00
Martin Atkins
dd43926761 configs/configupgrade: Fix up uses of the .count pseudo-attribute
Terraform 0.11 and prior had an odd special case where a resource
attribute access for "count" would be resolved as the count for the
whole resource, rather than as an attribute of an individual instance as
for all other attributes.

Because Terraform 0.12 makes test_instance.foo appear as a list when count
is set (so it can be used in other expressions), it's no longer possible
to have an attribute in that position: lists don't have attributes.
Fortunately we don't really need that special case anymore since it
doesn't do anything we can't now do with the length(...) function.

This upgrade rule, then, detects references like test_instance.foo.count
and rewrites to length(test_instance.foo). As a special case, if
test_instance.foo doesn't have "count" set then it just rewrites as the
constant 1, which mimics what would've happened in that case in Terraform
0.11.
2019-02-22 16:18:53 -08:00
Mars Hall
8cb2943b6b pg backend tests run when TF_ACC is set (no more TF_PG_TEST) 2019-02-22 14:42:24 -08:00
Radek Simko
b3cb94a929
Merge pull request #20443 from hashicorp/vendor-go-mod-deps
vendor: Bump levenshtein & osext to go-mod-aware versions
2019-02-22 22:35:10 +00:00
Radek Simko
48c5841550
vendor: github.com/kardianos/osext@2bc1f35cddc0 2019-02-22 22:16:33 +00:00
Radek Simko
501d106976
vendor: github.com/agext/levenshtein@v1.2.2 2019-02-22 22:15:02 +00:00
Mars Hall
e8e7d3013e Update github.com/lib/pq module 2019-02-22 13:55:17 -08:00
Mars Hall
eaa5e41985 Fix for pg backend in CI 2019-02-22 13:55:16 -08:00
Mars Hall
c8b8227967 Compatibility fixes for 0.12.0 2019-02-22 13:54:41 -08:00
Mars Hall
e5319d39c2 Setup Postgres for CI 2019-02-22 13:54:41 -08:00
Mars Hall
d4d798c25e Fix to use existing pg indexes 2019-02-22 13:51:57 -08:00
Mars Hall
9feda7aab3 Correct code comment for pg 2019-02-22 13:51:57 -08:00
Mars Hall
328e562925 📚 pg backend supports multiple workspaces 2019-02-22 13:51:57 -08:00
Mars Hall
2831459ca2 📚 pg backend technical design & clarifications 2019-02-22 13:51:57 -08:00
Mars Hall
6d7e8268e7 Include pg backend in main init 2019-02-22 13:51:57 -08:00
Mars Hall
312d408f06 📚 pg backend docs 2019-02-22 13:51:57 -08:00
Mars Hall
9043005cfb Postgres database backend 2019-02-22 13:48:49 -08:00
Mars Hall
181e0196d1 Add dependency: Postgres database driver 2019-02-22 13:48:49 -08:00
Paul Tyng
e4756ddd52
Merge pull request #20440 from cgriggs01/cgriggs01-ciscoasa
[Website] Cisco ASA provider links
2019-02-22 15:55:29 -05:00
cgriggs01
266fb573cf add Cisco ASA provider links 2019-02-22 12:41:20 -08:00
Martin Atkins
966eb39427 configs/configupgrade: Default arguments in "connection" blocks
Prior to Terraform v0.12 it was possible for a provider to secretly set
some default arguments for the "connection" block, which most commonly
included a hard-coded type of "ssh" and a value from "host".

In the interests of "explicit is better than implicit", Terraform 0.12 no
longer has this feature and instead requires connection settings to be
written explicitly in terms of the resource's exported attributes. For
compatibility though, the upgrade tool will insert expressions that are
as close as possible to the logic the provider formerly implemented, or
in a few rare cases a TF-UPGRADE-TODO comment to fix it up manually.

Some of the existing resource type implementations have incredibly
complicated implementations of selecting a single host IP address to use
and don't expose the result of that as an attribute, so for now we handle
those via a complicated Terraform language expression achieving the same
result. Ideally these providers would introduce a new attribute that
exports the same address formerly exported as the hostname before their
initial v0.12-compatible release, in which case we can simplify these to
just reference the attribute in question. That would be preferable also
because it would allow use of that exported attribute in other contexts,
such as in a null_resource provisioner somewhere else or in an output
to allow a caller to deal with the SSH part itself.
2019-02-22 12:32:56 -08:00
Martin Atkins
ac6e0e42dc configs/configupgrade: Upgrade the bodies of "connection" blocks
This uses the fixed "superset" schema from the main terraform package to
apply our standard expression mapping, with the exception of "type" where
interpolation sequences are not supported due to the type being evaluated
early to retrieve the schema for decoding the rest.
2019-02-22 12:32:56 -08:00
Martin Atkins
e2ef51800a configs/configupgrade: Upgrade the bodies of "provisioner" blocks
Aside from the two special meta-arguments "connection" and "provisioner"
this is just our standard mapping from schema to conversion rules, using
the provisioner's configuration schema.
2019-02-22 12:32:56 -08:00
Martin Atkins
cdca8fbfe8 configs/configupgrade: Correct ignore_changes error message
Due to a copy-paste error, this was using the message from the providers
map in a "module" block.

This new message is not particularly helpful, but we should only see it
for a configuration that wouldn't have been valid in 0.11 either, and so
it's unlikely to be displayed.
2019-02-22 12:32:56 -08:00
Martin Atkins
0095a944cd configs/configupgrade: Include provisioner schemas in analysis
We'll need these to migrate any "provisioner" blocks we find in the input
configuration.
2019-02-22 12:32:56 -08:00
James Bardin
55cf4e95a5
Merge pull request #19979 from usererror/consul-backend-lock-acl
Add details about using lock=true when consul ACL is enabled
2019-02-22 15:04:25 -05:00
James Bardin
b8be1d0114
Merge pull request #20377 from henninge/patch-1
Only path-style S3 URLs are supported.
2019-02-22 14:46:48 -05:00
James Bardin
010747f7da
Merge pull request #18896 from sherodtaylor/feature/updated-ssh-cert-auth-v0.12-dev
Feature/updated ssh cert auth retargeted to master
2019-02-22 14:44:30 -05:00