Commit Graph

21221 Commits

Author SHA1 Message Date
James Bardin
d29994e247
Merge pull request #17127 from hashicorp/jbardin/ignore_changes
don't ignore partial containers in diffs
2018-01-19 16:08:18 -05:00
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
jwa
3d4642719f simulate a webdav backend 2018-01-19 02:30:21 +00:00
James Bardin
48517fbab4 update CHANGELOG.md 2018-01-18 13:50:43 -05:00
James Bardin
8d1e479fc7 don't ignore partial containers in diffs
Containers (maps, lists, sets) in an InstanceDiff need to be handled in
their entirety.  Unchanged values cannot be filtered out from diffs, as
providers expect attribute containers to be complete.

If a value in ignore_changes maps to a single key in an attribute
container, and there are other changes present, that ignored value must
be included in the diff as well.
2018-01-17 19:13:32 -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
James Bardin
c19fb49bda reset old ignore_changes test back to correct diff
The output for the flatmap ignore_changes test was incorrectly modified.
Providers expect diffs of complex attributes to contain all or nothing.
2018-01-17 15:31:21 -05:00
Justin Campbell
0f00291dfe website: Clarify submodule examples location
When writing an example for a submodule, the example should be placed in
`examples/{example name}` instead of
`modules/{module name}/examples/{example name}`.
2018-01-17 14:58:13 -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
jwa
b3d432e6bc allow HTTP 201 & 204 when storing remote state
Apache mod_dav returns 201 (created) and 204 (no content) during PUTs;
treat these as valid responses when using Apache as a http backend.
2018-01-11 22:09:59 +00: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
Brian Flad
939f20011e Documentation: Cleaner copy around pessimistic version specifiers for modules and providers 2018-01-11 12:46:00 -05:00
Brian Flad
4d4fe85227 Documentation: Add version specifier information to provider version docs and clarify pessimistic specifier 2018-01-11 12:38:43 -05: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