Commit Graph

21180 Commits

Author SHA1 Message Date
Martin Atkins 704921c649
Update CHANGELOG.md 2017-11-28 12:28:05 -08:00
Martin Atkins c990c40768
Update CHANGELOG.md 2017-11-28 12:24:07 -08:00
James Bardin c21c8ddb08
Merge pull request #16782 from hashicorp/jbardin/output-warning
Add flag to opt out of module output errors
2017-11-28 14:56:43 -05:00
James Bardin 048af6e237 Add test fixture to check for warnings 2017-11-28 14:18:54 -05:00
James Bardin 5fa24a0128 output warning flag 2017-11-28 14:18:54 -05:00
Martin Atkins cc5e480378 config: detect and warn about access to "counted" attributes
A common pattern is to conditionally assign to "count"
in a resource in order to decide dynamically whether it
should be created. In that situation it's necessary to
refer to attributes of the resource using the splat
syntax, but historically we didn't show errors in output
expressions and so people "got away with" incorrect usage
in that context.

The intent of this warning is to catch
potentially-problematic usage of attributes on such
resources even if the count happens to be currently
set dynamically to 1, which would not generate the
error. Then the user can quickly locate and fix the
incorrect usage regardless of the current value.
2017-11-28 11:15:29 -08:00
Martin Atkins ba0514106a return tfdiags.Diagnostics from validation methods
Validation is the best time to return detailed diagnostics
to the user since we're much more likely to have source
location information, etc than we are in later operations.

This change doesn't actually add any detail to the messages
yet, but it changes the interface so that we can gradually
introduce more detailed diagnostics over time.

While here there are some minor adjustments to some of the
messages to improve their consistency with terminology we
use elsewhere.
2017-11-28 11:15:29 -08:00
Nathan Evans 45439d0ac3 Add inequality check to ignore redundant diff attributes 2017-11-28 10:11:19 -07:00
Michael Küller f7aa22fd81
fixed typo 2017-11-28 15:45:45 +01:00
Chris Marchesi e33aa9dc2e
helper/validation: Add StringMatch
StringMatch returns a validation function that can be used to match a
string against a regular expression. This can be used for simple
substring validations or more complex validation scenarios. Optionally,
an error message can be returned so that the user is returned a better
error message other than that their field did not match a regular
expression that they might not be able to understand.
2017-11-27 17:16:15 -08:00
Alexandru Ungur 9f1a773655 website: fix broken link from resources to multiple provider instances 2017-11-20 17:05:35 -08:00
James Bardin 882803b298
Merge pull request #16722 from hashicorp/jbardin/regsrc
Clean up regsrc module
2017-11-20 19:30:32 -05:00
James Bardin 9034fdb050 make sure invalid hosts aren't compared
Comparing 2 invalid hosts would erroneously return equal, because they
would compare the invalid host string.
2017-11-20 18:29:09 -05:00
James Bardin 8091bd627d move Svchost method to regsrc.Module
The level of abstraction that needs the "svchost" is the Module, not the
FriendlyHost. Us the new method in the module package for registry
interaction.
2017-11-20 18:29:09 -05:00
James Bardin bd576d780a failing test for module not found error
The "not found" error should use the raw string directly from the config
source, but the existing method was adding the default registry if there
was no host indicated.
2017-11-20 17:42:35 -05:00
James Bardin 87f23d9719 add Module method for module name only 2017-11-20 16:48:11 -05:00
James Bardin 92db96f783 disallow github and bitbucket 2017-11-20 16:44:50 -05:00
James Bardin 98d0d15ddc Update the FriendlyHost tests for svchost.Hostname
This no longer allows normalization of punycode hostnames. This
shouldn't be a problem, as they were not valid in the first place.
2017-11-20 16:11:39 -05:00
James Bardin 1ac5871a09 use svchost.Hostname for FriendlyHost validation
Use the svchost.Hostname for FriendlyHost normalization and validation.
2017-11-20 16:09:27 -05:00
James Bardin 9162213b01 reimport the registry regsrc module 2017-11-20 15:12:10 -05:00
Martin Atkins 28632790b7 Issue template: comment out the instruction portions
By wrapping the instruction portions in comments we can get a cleaner rendering of the issue if a user posts it without removing the instructions first.

The content is otherwise the same as before.
2017-11-20 10:57:46 -08:00
James Bardin 1efdc40a8d
Merge pull request #16695 from hashicorp/jbardin/inherit
reword inheritance upgrade guide
2017-11-20 12:03:08 -05:00
James Bardin 1940e213a0 reword inheritance upgrade guide 2017-11-20 09:22:26 -05:00
Dmitry Grigorenko (gitHUB) 27aa4cb6bf website: fix documented naming scheme for provider plugins 2017-11-18 18:44:57 -08:00
Jordi Pàmies 6786c1361f website: fix incorrect examples for the chunklist function 2017-11-16 16:07:44 -08:00
Kevin Fishner 8c7ed01416 Update README.md (#16653) 2017-11-16 16:15:16 -06:00
Martin Atkins 116003f157 website: downloads nav link to 0.11 upgrade guide 2017-11-16 12:06:42 -08:00
Martin Atkins c9c7b73f87 release: clean up after v0.11.0 2017-11-16 19:37:51 +00:00
Martin Atkins ec9d4f1d0f
v0.11.0 2017-11-16 19:22:42 +00:00
Martin Atkins 0e43ede9b7
Update CHANGELOG.md 2017-11-16 10:39:41 -08:00
Martin Atkins 57db3cfe51 website: 0.11 upgrade guidance on resources with count = 0
This is a genre of invalid output expression that we've seen quite
commonly while testing with 0.11.0-rc1, so we'll call it out specifically
in the upgrade guide and suggest how to fix it.
2017-11-16 10:23:18 -08:00
Martin Atkins f3f0b5356e website: specify HCL syntax highlighting in the 0.11 upgrade guide 2017-11-16 10:23:18 -08:00
Martin Atkins 31ee29050e
website: US English spelling of "honor" 2017-11-15 09:09:47 -08:00
Martin Atkins 1da2464e72 website: further copyediting for "Providers within Modules"
The differences between the implicit and explicit modes of passing
provider configurations between modules are significant enough to warrant
giving these approaches different names and describing them separately.

This also includes documentation of the current limitation discussed in
#16612, where explicit passing requires a proxy configuration block even
for a _default_ provider configuration, because that limitation is being
accepted for the 0.11.0 release to limit scope.
2017-11-15 08:50:49 -08:00
Paul Banks 2889eded3f
Tweaks to Registry Docs for 0.11 (#16663)
* Registry 0.11 doc tweaks

* Add changes for v0.11
2017-11-15 16:27:41 +00:00
Martin Atkins 275ab4a74e main: don't print the CLI config into the logs
Now that we're expecting "credentials" blocks in the config (with auth
tokens for private module registries, etc) we should not print out the
config contents into the log, or else people will probably end up
accidentally disclosing their credentials when sharing debug output with
us, or will be reluctant to share debug output.
2017-11-14 15:49:26 -08:00
James Bardin aa44e9d56b
Merge pull request #16650 from hashicorp/jbardin/removed-implicit-provider
normalize missing provider names
2017-11-14 18:00:45 -05:00
James Bardin 29264df7c0 normalize missing provider names
The provider name coming from ProvidedBy may be resolved if it only
exists in the state. Make sure to strip the module and provider
prefixes for the provider name when adding missing providers.
2017-11-14 15:53:37 -05:00
James Bardin 105b66e74d error out when a referenced provider is missing 2017-11-13 20:41:38 -05:00
James Bardin b9b418bcb0 test passing in implicitly used provider 2017-11-13 20:41:38 -05:00
James Bardin 8bf270daa9 rewrite the ProviderConfigTransformer
It's become apparent that passing in a provider config for an implicitly
used provider would be very useful. While the ProviderConfigTransformer
efficiently added providers to the graph, the algorithm was reversed
from what would be needed to allow overriding implicit providers.

Change the ProviderConfigTransformer to fist add all configured
provider, even if they are empty stubs. Then run through all providers
being passed in from the parent, and replace the provider nodes we
created with proxies, and add implicit proxies where none existed. The
extra nodes will then be pruned later.
2017-11-13 20:41:38 -05:00
James Bardin aef082d1ec
Merge pull request #16621 from hashicorp/jbardin/provider-panic
Fix panic with invalid module providers
2017-11-13 19:27:19 -05:00
James Bardin b357c02ad1 don't panic 2017-11-10 11:01:32 -05:00
James Bardin 8619f566bb validate providers passed to a module exist
This validation was lost in the migration of inheritance back to core.
Make sure a module configuraton doesn't specifiy a provider that doesn't
exist.
2017-11-10 11:01:32 -05:00
Clint f15d95fc4d
Update CHANGELOG.md 2017-11-10 08:25:54 -06:00
James Bardin 95ad20e360 release: clean up after v0.11.0-rc1 2017-11-09 20:10:58 +00:00
James Bardin 9389013011
v0.11.0-rc1 2017-11-09 19:49:01 +00:00
Martin Atkins 071e746edf website: use correct style for providers map in upgrade guide
We don't generally use comma separators for map elements in HCL, because
the newline implies it.
2017-11-09 11:23:24 -08:00
Martin Atkins 1622a63da5 website: use correct syntax for providers map in upgrade guide
This was using JSON-style syntax rather than HCL-style.
2017-11-09 11:22:34 -08:00
Martin Atkins 11790442a1 website: Describe provider config hoisting in 0.11 upgrade guide
We are recommending that as of 0.11 all provider configurations be placed
in the root module and, where necessary, be explicitly passed down via
a providers map to customize which configurations are seen by each
child module.

This new section attempts to guide users through such refactoring in the
common case where a child module defines its own provider configuration
based on a value passed in an input variable, and then uses that as
some context to link to the more detailed docs to help those who have
more complex configurations.
2017-11-09 11:08:09 -08:00