Commit Graph

24184 Commits

Author SHA1 Message Date
Kristin Laemmert
0d54ba5a07
Update CHANGELOG.md 2019-06-10 15:32:40 -04:00
Tim Sharpe
615110e13e provisioner: new Puppet provisioner (#18851)
* Basic Puppet provisioner

* (fixup) fix snake_case use in Bolt

* (fixup) Remove unused ValidateFunc

* (fixup) Check bolt result status

* (lint) go fmt

* Requested changes

* Remove PE autodetection

* Apply suggestions from @svanharmelen

Co-Authored-By: rodjek <tim@sharpe.id.au>

* Tag all JSON fields in bolt output

* Defer comm.Disconnect() as suggested

* Make bolt timeout configurable

* Update builtin/provisioners/puppet/resource_provisioner.go

Co-Authored-By: rodjek <tim@sharpe.id.au>

* Make extension_requests and custom_attributes configurable
2019-06-10 15:31:21 -04:00
Raymond Rutjes
0abb0a05fb website/docs: update example in remote_state.html.md (#21661) 2019-06-10 09:47:11 -04:00
Martin Atkins
89aa62c75d
Update CHANGELOG.md 2019-06-07 14:40:45 -07:00
Lars Eric Scheidler
aa07806bfc lang/funcs: New "uuidv5" function
This generates name-based uuids, rather than pseudorandom uuids as with the
"uuid" function.
2019-06-07 14:38:22 -07:00
James Bardin
d33c5163a7
Merge pull request #21555 from hashicorp/jbardin/re-validate
Allow providers to re-validate the final resource config
2019-06-07 16:43:38 -04:00
James Bardin
98997cc348
Merge pull request #21650 from hashicorp/jbardin/private-data-read
Bump tfplugin version to 5.1
2019-06-07 16:31:59 -04:00
James Bardin
fa1f9be539 add tfplugin proto docs files
Add versioned tfplugin proto files to the docs directory, for easier
reference. The latest version starts as a symlink to the current
file used for generated the tfplugin package in ./internal/tfplugin5.

When changing the protocol version, the old file must be copied to
./docs/plugin-protocol/, and a new symlink created for the latest
version.
2019-06-07 15:47:46 -04:00
Pam Selle
cf58641885
Merge pull request #21648 from alisdair/remove-soon-to-be-broken-website-links
Remove links to legacy Terraform Enterprise docs
2019-06-07 15:14:22 -04:00
James Bardin
863bfdce06 set proto version 5.1
With the addition of the private field to ReadResource, we need to bump
the proto version to 5.1.
2019-06-07 15:11:11 -04:00
Pam Selle
7a39d1106b
Update CHANGELOG.md 2019-06-07 14:58:56 -04:00
Pam Selle
f1541adfad
Ensure matching modules with metadata when requested (#21640)
When a constraint is defined including build metadata, go-version ignores
this, and if a user explicitly requests a build version, this will now return that version.
Also covers cases when a user adds build metadata to a non-equality constraint,
or in a constraint with multiple conditions (ex. >0.8.0+abc, <1.0.0), and gives
and error when this occurs.
2019-06-07 14:29:05 -04:00
Alisdair McDiarmid
812ba80dae Remove links to legacy Terraform Enterprise docs
These docs are due to be removed, so these links will shortly break.
Removal is in hashicorp/terraform-website#812
2019-06-07 13:47:12 -04:00
Chris Griggs
f4e27ca480
Merge pull request #21637 from hashicorp/cgriggs01-community-provider
[Website] community provider
2019-06-06 14:48:38 -07:00
Martin Atkins
8da3d269b0 website: Further elaboration on the "any" type constraint
There have been a few questions about this so far which indicated that the
previous docs for this feature were very lacking. This is an attempt to
describe more completely what "any" means, and in particular that it isn't
actually a type at all but rather a placeholder for a type to be selected
dynamically.
2019-06-06 13:31:17 -07:00
cgriggs01
132e4b9b43 [Website] community provider 2019-06-06 11:10:43 -07:00
Kristin Laemmert
8590ecc059
Update CHANGELOG.md 2019-06-06 08:44:17 -04:00
tinocode
51a4055198 core: Fix panic on invalid depends_on root. (#21589)
Report an invalid reference to the user instead of crashing when there is in error traversing the `depends_on` attribute.

Fixes #21590
2019-06-06 08:43:22 -04:00
James Bardin
e71e3d85a9
Merge pull request #21611 from hashicorp/jbardin/private-data-read
Make sure resource private data is carried through the entire resource lifecycle
2019-06-05 19:36:55 -04:00
James Bardin
4cb6ebe22c maintain private data through provider ACC tests
The private->meta data was lost in the test harness.
2019-06-05 19:22:46 -04:00
James Bardin
49fee6ba78 don't lose private data during destroy
Makre sure private data is maintained all the way to destroy. This
slipped through, since private data isn't used much for current
providers, except for timeouts.
2019-06-05 19:22:46 -04:00
James Bardin
a056b84cdd add delete timeout test
The timeout value is still not being persisted.

While it doesn't fix this issue, make sure to always return Private
during Plan.
2019-06-05 19:22:46 -04:00
James Bardin
ac2219ba6e don't lose Private state data during copy
Fix the scope of the private data copy in DeepCopy.

Make sure Dependencies matches nil vs empty so that Equal compares
correctly between copied states
2019-06-05 19:22:46 -04:00
Kristin Laemmert
4124d01fdc
Update CHANGELOG.md 2019-06-05 16:13:52 -04:00
Ivan Kalita
5b6b1663ef backend/http: implement retries for the http backend (#19702)
Fixes #19619
2019-06-05 16:12:07 -04:00
Martin Atkins
127cbeeda2 website: Additional information about "dynamic" blocks
Based on some common questions and feedback since the v0.12.0 release,
here we add some small additional content to the documentation for
"dynamic" blocks, covering how to access the keys of the collection being
iterated over and how to fold multiple collections into a single one to
achieve the effect of a nested iteration.
2019-06-05 06:49:16 -07:00
Kristin Laemmert
b84562d4d8
Update CHANGELOG.md 2019-06-05 07:31:24 -04:00
Kristin Laemmert
b9f114aa25
command/show (json): marshal the state snapshot included with the plan file (#21597)
* command/show: marshal the state snapshot from the planfile

The planfile contains a state snapshot with certain resources updated
(outputs and datasources). Previously `terraform show -json PLANFILE`
was using the current state instead of the state inside the plan as
intended.

This caused an issue when the state included a terraform_remote_state
datasource. The datasource's state gets refreshed - and therefore
upgraded to the current state version - during plan, but that won't
persist to state until apply.

* update comment to reflect new return
2019-06-05 07:29:02 -04:00
Martin Atkins
2f893f2b95
Update CHANGELOG.md 2019-06-04 16:25:38 -07:00
Martin Atkins
382e1ca821 lang: yamldecode and yamlencode functions
These follow the same principle as jsondecode and jsonencode, but use
YAML instead of JSON.

YAML has a much more complex information model than JSON, so we can only
support a subset of it during decoding, but hopefully the subset supported
here is a useful one.

Because there are many different ways to _generate_ YAML, the yamlencode
function is forced to make some decisions, and those decisions are likely
to affect compatibility with other real-world YAML parsers. Although the
format here is intended to be generic and compatible, we may find that
there are problems with it that'll we'll want to adjust for in a future
release, so yamlencode is therefore marked as experimental for now until
the underlying library is ready to commit to ongoing byte-for-byte
compatibility in serialization.

The main use-case here is met by yamldecode, which will allow reading in
files written in YAML format by humans for use in Terraform modules, in
situations where a higher-level input format than direct Terraform
language declarations is helpful.
2019-06-04 16:24:09 -07:00
Martin Atkins
3eb379f4d4 vendor: go get github.com/zclconf/go-cty-yaml@v0.1.0
This module contains a YAML parser and encoder tailored to cty, though we
are mostly interested in it for its YAMLEncode and YAMLDecode cty
functions, which we can make available in Terraform.
2019-06-04 16:24:09 -07:00
Martin Atkins
60850bc6c4
Update CHANGELOG.md 2019-06-04 16:21:18 -07:00
Martin Atkins
f9a73d48db lang: "range" function
This is similar to the function of the same name in Python, generating a
sequence of numbers as a list that can then be used in other
sequence-oriented operations.

The primary use-case for it is to turn a count expressed as a number into
a list of that length, which can then be iterated over or passed to a
collection function to produce that number of something else, as shown
in the example at the end of its documentation page.
2019-06-04 16:20:17 -07:00
Pam Selle
05cb7617c4 release: clean up after v0.12.1 2019-06-04 17:35:45 +00:00
Pam Selle
12c3170748
v0.12.1 2019-06-04 17:21:35 +00:00
Martin Atkins
bf661d54fc
Update CHANGELOG.md 2019-06-04 09:25:39 -07:00
Martin Atkins
b1213f7f6c backend/local: don't panic when an instance has only a deposed object
This unusual situation isn't supposed to arise in normal use, but it can
come up in practice in some edge-case scenarios where Terraform fails in
a severe way during a create_before_destroy.

Some earlier versions of Terraform also had bugs in their handling of
deposed objects, so this may also arise if upgrading from one of those
older versions with some leftover deposed objects in the state.
2019-06-04 09:23:29 -07:00
Kristin Laemmert
2d194828a4
Merge pull request #21576 from hashicorp/mildwonkey/b-matchkeys
lang/funcs: fix error when `matchkeys` encountered a variable
2019-06-04 12:19:09 -04:00
Kristin Laemmert
c163ba71db simplify 2019-06-04 11:54:26 -04:00
Kristin Laemmert
30a924e162 lang/funcs: matchkeys - unify type for keys and searchset
Added higher-level test for matchkeys to exercise mixing
types in searchset. This had to be in the functions tests so the HCL
auto conversion from tuple to list would occur.
2019-06-04 08:57:02 -04:00
Chris Griggs
c281f70662
Merge pull request #21578 from hashicorp/cgriggs01-community-links
[Website] new community links + update signalFX
2019-06-03 19:47:06 -05:00
cgriggs01
55fe3c7a28 new community links + update signalFX 2019-06-03 17:19:52 -07:00
David Liao
97ad35f90c website: Update taint command docs to reflect new 0.12 usage 2019-06-03 15:36:38 -07:00
James Bardin
dcab82e897 send and receive Private through ReadResource
Send Private data blob through ReadResource as well. This will allow for
extra flexibility for future providers that may want to pass data out of
band through to their resource Read functions.
2019-06-03 18:08:26 -04:00
James Bardin
e2b2f1bbbc add Private fields to ReadResource
Private data was previously created during Plan, and sent back to the
provider during Apply. This data also needs to be persisteded accross
Read calls, but rather than rely on core for that we can send the data
to the provider during Read to allow for more flexibilty.
2019-06-03 18:01:34 -04:00
Kristin Laemmert
f2a14d7c18 lang/funcs: fix error when matchkeys encountered a variable
`matchkeys` was returning a (false) error if the searchset was a
variable, since then the type of the keylist and searchset parameters
would not match.

This does slightly change the behavior: previously matchkeys would
produce an error if the parameters were not of the same type, for e.g.
if searchset was a list of strings and keylist was a list of integers.
  This no longer produces an error.
2019-06-03 18:00:53 -04:00
Kristin Laemmert
e9e718b318
command/show (-json): fix panic if a moduleCall has a nil config (#21569)
In the unlikely event that a moduleCall has a nil config - for example,
if a nested module call includes a variable with a typo in an
attribute - continue gracefully.

This is an unusual edge case in the category of "probably should not happen", caused by
#21568
2019-06-03 13:04:21 -05:00
Kristin Laemmert
06a3333316 note: this is an unusual edgecase in the category of "probably should not happen"
If https://github.com/hashicorp/terraform/issues/21543 is
fixed, we can remove this check.
2019-06-03 14:00:46 -04:00
Martin Atkins
7dfdcb9c2d
Update CHANGELOG.md 2019-06-03 09:49:19 -07:00
Martin Atkins
e85093ce08 configs/configload: Don't panic when version constraint is added
Previously, adding a version constraint to a module that was previously
recorded without a version in the module manifest would cause a panic.

Instead, we now use a slight variant of the "dependencies have changed"
error that doesn't try to print out a specific version number.
2019-06-03 09:45:30 -07:00