Commit Graph

24205 Commits

Author SHA1 Message Date
James Bardin
dbe22181ae Ensure all object attrs & empty blocks in upgrade
When upgrading from a flatmap state, unset blocks would not exist in the
state, while they will represented as empty in the new cty.Value. This
will cause an unexpected diff in the first plan after upgrade. This
situation may normally be applied with no impact, but some providers may
have unexpected behavior, and if the attributes force replacement it may
require manual alteration of the state to complete the upgrade.
2019-06-13 18:03:47 -04:00
James Bardin
91ae7ec951 update CHANGELOG.md 2019-06-12 11:14:33 -04:00
Martin Atkins
4bfffe4607
Update CHANGELOG.md 2019-06-12 08:06:53 -07:00
Joe Topjian
d8343aa95f backend/swift: Authentication updates
Support for cross-domain authentication has been added and mapping
environment variables to the correct domain settings has been
fixed.

In addition, support for clouds.yaml files has been added.
2019-06-12 08:05:54 -07:00
Martin Atkins
e1af10b554 docs: README for the plugin-protocol directory
This is an initial partial description of the plugin protocol focused
mainly on explaining the purpose of the .proto files. In subsequent
updates we will also document the negotiation protocol, etc.

For this first pass the goal was just to publish some information that was
already available in an internal design document so that it's visible to
SDK implementers. It is focused on the .proto versioning strategy because
that was the main topic of the internal design documentation this was
based on.
2019-06-11 14:29:35 -07:00
Chris Griggs
aab831611f
Merge pull request #21692 from hashicorp/cgriggs01-community-foreman
[Website] Foreman community provider
2019-06-11 11:03:55 -07:00
cgriggs01
ea541c10f3 [Website] Foreman community provider 2019-06-11 10:50:14 -07:00
James Bardin
a1c1d7cad4 update CHANGELOG.md 2019-06-10 17:55:19 -04:00
James Bardin
2988e373d6
Merge pull request #21484 from minamijoyo/fix-statev2-hash-decode
states/statefile: decode backend hash as uint64
2019-06-10 17:52:33 -04:00
James Bardin
c502b4c144
Merge pull request #21625 from hashicorp/f-allow-missing-MigrateState
helper/plugin: Allow missing MigrateState for provider flatmap state upgrades
2019-06-10 17:35:53 -04:00
James Bardin
2c4e2cc583
Merge pull request #21675 from hashicorp/jbardin/go.mod
udpate lost go.mod entry
2019-06-10 17:34:20 -04:00
James Bardin
48e285d85c
Merge pull request #21674 from hashicorp/jbardin/update-go-plugin
update go-plugin package
2019-06-10 16:24:39 -04:00
James Bardin
5a3b6a0519 update CHANGELOG.md 2019-06-10 16:24:05 -04:00
James Bardin
99a0cacbc1 udpate lost go.mod entry
go.sum and vendor are OK
2019-06-10 16:22:33 -04:00
James Bardin
ef42be745c
Merge pull request #16927 from xiaozhu36/master
Add Alibaba Cloud backend OSS with lock
2019-06-10 16:20:52 -04:00
James Bardin
0c91d227fa
Merge branch 'master' into master 2019-06-10 15:50:59 -04:00
James Bardin
8039e11e16 update go-plugin package
Fixes a minor issue where the plugin may be closed before the stderr
reader completes, resulting in a warning in the logs.
2019-06-10 15:43:36 -04:00
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
Brian Flad
94078f9029
helper/plugin: Allow missing MigrateState for provider flatmap state upgrades
Reference: https://github.com/terraform-providers/terraform-provider-aws/issues/8828

Prior to Terraform 0.12, providers were not required to implement the `MigrateState` function when increasing the `SchemaVersion` above `0`. Effectively there is no flatmap state difference between version 0 and defined `SchemaVersion` or lowest `StateUpgrader` `Version` (whichever is lowest) when `MigrateState` is undefined, so here we remove the error and increase the schema version automatically.
2019-06-05 23:23:45 -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