Commit Graph

21113 Commits

Author SHA1 Message Date
Martin Atkins b511caf049 core: interpolate the count config during the apply walk
Previously we would interpolate the count config (ResourceConfig.RawCount)
only while preparing to dynamic-expand aggregate resource nodes. This is
problematic because we do not dynamic-expand any resource nodes during the
apply walk, and so previously the count value was not available for
interpolation during apply and would result in an error.

Now we interpolate RawCount once for each resource we visit during the
apply walk -- even though that redundantly interpolates the same config
multiple times when count > 1 -- to ensure that it's available by the
time we interpolate any remaining expressions in the config and any
expressions within "connection" and "provisioner" blocks.

This error was masked by us sharing a single RawConfig instance between
the plan and apply walks when "terraform apply" is run with no explicit
plan file argument, but was exposed by the workflow where the plan is
written first to disk since in that case the interpolation result from
during the plan phase is not present in the deflated plan object. For
this reason, the new context test serializes the plan into an in-memory
buffer and reloads it in order to simulate the effect of the two-step
workflow.
2018-01-19 13:06:00 -08:00
Martin Atkins 5b08fd4f9f config: Don't expose go implementation details in Resource.Count
Previously we would return the raw error from strconv.ParseInt, which
includes details in its text that expose implementation details and are
thus not helpful to the user.

Instead, we use a locally-defined error message that talks only about
what the caller is expected to know: that count should be parsable as
an integer.
2018-01-19 13:06:00 -08:00
James Bardin 48517fbab4 update CHANGELOG.md 2018-01-18 13:50:43 -05:00
James Bardin eba73a3bb4
Merge pull request #17134 from hashicorp/jbardin/GH-17119
the trailing slash check caused a nil dereference
2018-01-17 19:07:19 -05:00
Gauthier Wallet 1b3f5fcbfb helper/structure: More cases for NormalizeJsonString tests
In terraform-providers/terraform-provider-aws#2935, we have been cleaning code
duplication by benefiting from the "NormalizeJsonString" present in the "structure" helper.

It appears that tests in the AWS provider are covering more use-cases,
which are added in this work.
2018-01-17 15:53:38 -08:00
James Bardin a5ed7d0ae4
Merge pull request #17086 from hashicorp/jbardin/GH-17083
only split the prefix string once from the s3 key
2018-01-17 18:51:43 -05:00
James Bardin 38f76ddc4e the trailing slash check caused a nil dereference
The disco package doesn't return errors, and a nil value indicates that
the input isn't valid. Always check for nil.
2018-01-17 18:31:05 -05:00
stack72 e9476c6765 backend/manta: Update manta dependencies
Internally, triton-go has changed how it handles errors. We can now get rid of
checking strings for errors, and we have introduced an errors library that
wraps some of the major errors we encounter and test for
2018-01-17 11:34:02 -08:00
Chris Griggs 0e93e0c2b0 website: fix typo on community provider index page 2018-01-17 10:38:10 -08:00
Masayuki Morita f440dba137 Standardize on log level "WARN" rather than "WARNING" 2018-01-16 18:05:26 -08:00
Chris Griggs 0e69f1542d website: additional community provider links
List now includes DigitalRebar, Kibana, Kong and Rubscope.

Also fixes the previously-broken link for OpenDayLight.
2018-01-11 10:50:06 -08:00
James Bardin 43d000625d only split the prefix string once from the s3 key
Ensure that the prefix is only split off a single time when the
workspace_key_prefix is a substring of the workspace or key name.
2018-01-11 10:08:02 -05:00
James Bardin 60c1f70705
Merge pull request #17076 from ubschmidt2/refreshErr
Handle refresh errors.
2018-01-11 10:07:09 -05:00
Masayuki Morita f78fe3c01e govendor fetch github.com/zclconf/go-cty/... 2018-01-10 09:16:45 -08:00
Stefan Schmidt c200c170ad Handle refresh errors. 2018-01-10 16:40:20 +01:00
Martin Atkins 096847c9f7 release: clean up after v0.11.2 2018-01-09 23:28:56 +00:00
Martin Atkins a6008b8a48
v0.11.2 2018-01-09 23:13:33 +00:00
James Bardin a50db7edc4
Merge pull request #17060 from hashicorp/jbardin/agent_identity-docs
add agent_identity in the connection docs
2018-01-09 17:21:55 -05:00
Jeremy Voorhis e1eb7d45a5 Fix DNSMadeEasy's name in the provider index (#17063) 2018-01-09 09:40:42 +00:00
Paddy 409b111ffa
Update CHANGELOG.md 2018-01-09 01:18:49 -08:00
Paddy e4cdbd6c9f
Merge pull request #16936 from negz/gcskeys
Support 'customer supplied encryption keys' in the GCS backend
2018-01-09 01:17:35 -08:00
Chris Griggs 17fbb8edd7 website: some additional community providers 2018-01-08 15:00:56 -08:00
James Bardin 2c79cd35df add agent_identity in the connection docs 2018-01-08 17:14:10 -05:00
James Bardin a10d85e20a update CHANGELOG 2018-01-08 17:00:37 -05:00
James Bardin 61c2be3e95
Merge pull request #16969 from hashicorp/jbardin/reset-plugin-dir
allow init to reset -plugin-dir
2018-01-08 16:51:47 -05:00
James Bardin fe8cb9e847 mention -plugin-dir="" in the docs 2018-01-08 16:51:18 -05:00
James Bardin 7d5f7cb22f
Merge pull request #16961 from hashicorp/jbardin/mock-provider-race
minor race issue in mockResourceProvider
2018-01-08 16:47:58 -05:00
James Bardin d1a678db0d
Merge pull request #16915 from hashicorp/jbardin/gcs-docs
add gcs to the backends that support workspaces in the documentation
2018-01-08 16:47:45 -05:00
James Bardin bf5944a92c
Merge pull request #16972 from hashicorp/jbardin/ssh-agent-identity
ssh connection `agent_identity`
2018-01-05 16:57:30 -05:00
James Bardin 504ea578ee
Merge pull request #16920 from hashicorp/jbardin/init-future-state
check state version during init
2018-01-05 16:54:41 -05:00
James Bardin dec2da1dda
Merge pull request #17044 from hashicorp/jbardin/plugin-dir-internal
-plugin-dir short-circuits discovery of internal plugins
2018-01-05 16:54:28 -05:00
James Bardin 3cde03bab1
Merge pull request #17035 from hashicorp/jbardin/close-providers
Close providers
2018-01-05 16:54:16 -05:00
James Bardin f30a40aa36 update CHANGELOG 2018-01-05 14:18:50 -05:00
James Bardin 7c703f2ab2
Merge pull request #16932 from rv-jmaggio/master
Fixing issues with workspace_key_prefix for s3 backend
2018-01-05 13:24:40 -05:00
James Bardin b002b4303b
Merge pull request #17043 from minamijoyo/check-substr-offset
Fix panic with substr interpolation function by invalid offset
2018-01-05 12:25:44 -05:00
James Bardin 6367572455
Merge pull request #16882 from Techcadia/f-provider-logging
[Add] Pathing and Override to DEBUG Command
2018-01-05 12:25:24 -05:00
James Bardin fe3aff91f3 missingPlugins should not return internal plugins
Filter the internal plugins out beforehand, so we don't attempt to
locate them at all during init.
2018-01-05 11:52:11 -05:00
James Bardin 5a975d9997 add test for internal plugins with -plugin-dir
-plugin-dir was short-circuiting the discovery for internal plugins
2018-01-05 11:51:09 -05:00
Masayuki Morita e873af9337 Fix panic with substr interpolation function by invalid offset
Fixes #17041
2018-01-06 00:59:35 +09:00
James Bardin 5a9e0cf763 create a new InternalProviders test
Remove the legacy InternalProviders global.

The terraform provider is the only one run internally.
2018-01-05 10:59:30 -05:00
Chris Griggs 18975d7270 website: present provider documentation via categories
We have outgrown the single flat list presentation of providers due to the shear number now present, so we'll move here to a model where the providers are split into a number of categories that each contain a smaller list.

The full list is still included in the body of the main index page for quick access via search, but the categories make for a more accessible navbar for those who are just browsing.
2018-01-04 15:04:35 -08:00
James Bardin ba84faf4e1 remove the plugin path only for an empty string
To avoid breaking automation where plugin-path was assumed to be set
permanently, only remove the plugin-path record if it was explicitly set
to and empty string.
2018-01-04 16:49:45 -05:00
James Bardin f62b71710a
Merge pull request #16939 from hashicorp/jbardin/migrate-confirm
remove extra backend migration prompts
2018-01-04 16:27:25 -05:00
James Bardin f45205feb7 re-word state migration prompts
The existing prompts were worded as if backend configurations were
named, but they can only really be referenced by their type. Change the
wording to reference them as type "X backend". When migrating state,
refer to the backends as the "previously configured" and "newly
configured", since they will often have the same type.
2018-01-04 16:22:54 -05:00
James Bardin 6210b1749b use the full provider name for CloseProvider
CloseProviderTransformer wasn't using the full provider when creating
the graph node, so the Close wasn't actually being called on the
provider.
2018-01-04 15:03:27 -05:00
James Bardin ba749db9ed add test checking CloseProvider
There was no test checking that Close wsa called on the mock provider.
This fails now since the CloseProviderTransformer isn't using the fully
resolved provider name.
2018-01-04 15:00:09 -05:00
Martin Atkins a23bb3bd55
issue template: "additional context" instead of "important factoids"
As pointed out in #16987, "factoids" are not really what we're looking for here. The goal of this section is to capture additional context that isn't represented by any of our other section headings, so we'll change this to "Additional Context" to be clearer about what we want here and to avoid a confusing misuse of a quirky English word that not all readers will be familiar with.
2018-01-03 15:25:54 -08:00
James Bardin dd5882e5b2
Merge pull request #16992 from hashicorp/jbardin/go1.10-prep
go1.10 prep
2018-01-03 15:41:41 -05:00
Martin Atkins 09b17b79e9
Update CHANGELOG.md 2018-01-03 12:17:21 -08:00
goraxe fb6b349e58 backend/s3: Allow forcing use of the S3 path-style API
This is useful when the underlying API is an S3-workalike service, rather than official S3.
2018-01-03 12:15:47 -08:00