Commit Graph

20531 Commits

Author SHA1 Message Date
Martin Atkins 9b5ae9143a main: enable basic subcommand autocomplete
The CLI package has automatic support for shell autocomplete (bash and
zsh, at time of writing) for subcommands, so all we need to do here is
just opt into it.

Users can install this into their shells by running:
    terraform -install-autocomplete
2017-09-26 14:01:13 -07:00
Martin Atkins 564f5134e3 govendor fetch github.com/mitchellh/cli/... 2017-09-26 14:01:13 -07:00
James Bardin d78b575536 Merge pull request #16160 from hashicorp/jbardin/get-subdir
Handle module source subdirectories in Terraform
2017-09-26 09:23:19 -04:00
James Bardin 2b3e48aa70 fix test comments 2017-09-26 09:12:14 -04:00
Chris Marchesi 53f34ff80a Merge pull request #16169 from hashicorp/f-validation-no-zero-values
helper/validation: Add NoZeroValues
2017-09-25 17:35:00 -07:00
Chris Marchesi edb8e8904c
helper/validation: Add NoZeroValues
This adds NoZeroValues, a small SchemaValidateFunc that checks that a
defined value is not a zero value. It's useful for situations where you
want to keep someone from explicitly entering a zero value (ie:
literally "0", or an empty string) on a required field, and want to
catch it in the validation stage, versus during apply using GetOk.
2017-09-25 17:19:23 -07:00
Martin Atkins a716fe2d90 Update CHANGELOG.md 2017-09-25 14:20:50 -07:00
Krzysztof Wilczynski 6e7e03f4ea config: new "abs" interpolation function
This new function returns the absolute value for a given number.
2017-09-25 14:19:18 -07:00
Radek Simko b86967099f Merge pull request #16172 from roidelapluie/patch-2
mons-months: fix typo in maintainer-etiquette
2017-09-25 18:06:04 +01:00
Julien Pivotto a4f4c70c60 mons-months: fix typo in maintainer-etiquette 2017-09-25 17:29:19 +02:00
James Bardin f6e89bb8c3 record the subdirectory in the FolderStorage
Module detection currently requires calling the registry to determine
the subdirectory. Since we're not directly accessing the subdirectory
through FolderStorage, and now handling it within terraform so modules can
reference sibling paths, we need to call out to the registry every
time we load a configuration to verify the subdirectory for the module,
which is returned during the Detect.

Record the subdirectories for each module in the top-level of the
FolderStorage path for retrieval during Tree.Load. This lets us bypass
Detection altogether, modules can be loaded without redetecting.
2017-09-22 22:03:38 -04:00
James Bardin 1b01f18920 handle go-getter subdirs in Tree.Load
In order to remain backward compatible with some modules, we need to
handle subdirs during Load. This means duplicating part of the go-getter
code path for subDir handling so we can resolve any subDirs and globs
internally, while keeping the entire remote directory structure within
the file storage.
2017-09-22 20:32:44 -04:00
James Bardin 606b71048d update go-getter 2017-09-22 18:00:32 -04:00
James Bardin 59089ef461 add test loading an archive with `//*` subdir
The registry uses the `//*` subdir format to unpack github archives. Add
a test to cover this pattern.
2017-09-21 15:32:55 -05:00
James Bardin 38569c8508 add tests for get from tar subdir
Test that we can get a subdirectory from a tarball (or any other
"packed" source that we support).

The 'tar-subdir-to-parent' test highlights a regression where the
subdirectory module references a module in its parent directory. This
breaks the intended use ofr the subdirectory and the implementation in
go-getter. We need to fix this in terraform, and possible plan warnings
and deprecations for this type of source.
2017-09-21 13:12:33 -05:00
Martin Atkins f846beecbc Update CHANGELOG.md 2017-09-20 12:49:22 -07:00
Sunny 8928c5a60a command/state-rm: tell the user how many items were removed 2017-09-20 12:48:27 -07:00
Martin Atkins 4daf624459 website: correct the version when Terraform Registry support was added 2017-09-19 09:54:45 -07:00
Martin Atkins b0bf92d5e1 Update CHANGELOG.md 2017-09-19 09:46:56 -07:00
Nick Fagerlund 817399d4fa website: Add TFE beta to sidebar nav 2017-09-19 07:41:37 -07:00
Nick Fagerlund e71fb8649a website: Add TFE beta to sidebar nav 2017-09-19 07:40:05 -07:00
Martin Atkins 2360f48a7d release: clean up after v0.10.6 2017-09-19 14:08:54 +00:00
Martin Atkins 8712b03839
v0.10.6 2017-09-19 13:56:27 +00:00
Paul Banks 72631b34bd Add version warning to registry docs
Checked locally here by me and Jack
2017-09-19 08:54:22 -05:00
Martin Atkins 17b9405fa8 update CHANGELOG.md 2017-09-19 06:41:46 -07:00
James Bardin 50005ec817 Merge branch 'f-registry-docs' into v0.10.6-release 2017-09-18 15:30:31 -05:00
James Bardin 74955ffd4a Merge branch 'jbardin/module-registry' into v0.10.6-release 2017-09-18 15:30:21 -05:00
Martin Atkins 466968456b Update CHANGELOG.md 2017-09-18 11:42:35 -07:00
Jack Bruno 3f2136d7ee cli: terraform import -ignore-missing-config
This new option allows importing without configuration present.

Configuration is required by default as a confirmation that the provided resource name is correct, but it can be useful to override this in tools that wrap Terraform to do more involved operations.
2017-09-18 11:41:30 -07:00
Paul Banks dadb8be289 Add query params to endpoint docs 2017-09-18 12:06:25 -05:00
Paul Banks 89ac68808a Fix docs to use pagniated response format and document pagination meta 2017-09-18 12:00:34 -05:00
Paul Banks d52dbae2a0 Add back Support page with info about getting help. 2017-09-15 22:59:03 +01:00
Paul Banks e6b7490ed8 Fix broken links and update publish gif 2017-09-15 22:42:38 +01:00
James Bardin 3d3992454e Add basic ACC test
This just does a lookup in the registry to verify that the download api
works.
2017-09-15 16:16:29 -04:00
James Bardin ba14cf9511 add test fixture for new getter discovery behavior 2017-09-15 16:16:29 -04:00
James Bardin f9fb2b4c9e move local module detection ahead of the registry
The getter.FileDetector was intended to be the final detector, only
converting a path to a file URL and returning a true in all cases. We
want to check for a local module before checking the registry so no
local modules that happen to match a registry module are broken.

Wrap the getter.FileDetector to check the module source's existence
before delegating the search to the registry.
2017-09-15 16:16:28 -04:00
James Bardin d216d19f21 change the FolderStorage key
updating the key will cause the FolderStorage hash to change forcing
modules to be re-fetched. This is required because any configurations
using the subDir notation will have the configuration in the wrong
directory.
2017-09-15 16:16:28 -04:00
James Bardin 6c20141c30 remove subdir handling from Tree.Load
Terraform was redundantly handling `//dir` notation which should be
handled by go-getter. Rather than allowing go-getter to unpack a subdir
as expected, the subdir was stripped off and accessed through the module
configuration.

This scheme will no longer works now that go-getter supports `*`
subdirectories
    (e.g. `//*` would be analogous to `tar --strip-components=1`).

Even though this allows Terraform to use go-getter's native unpacking,
detection is still done separately because Detect requires a `pwd` which
is dependent on the configuration directory and not known to the
global FolderStorage.
2017-09-15 16:16:28 -04:00
James Bardin a83ff57aea Add registry detector
Add a getter.Detector for detecting registry modules and looking up
the download location of the latest version. This is essentially a
temporary API until constraint solving is supported by the registry, as
then we'll have to supply the full set of known contraints to the
registry at once for resolution and we will fetch specific versions of
modules.
2017-09-15 16:16:28 -04:00
Jearvon Dharrie 5afe1d39d1 Add `/downloads` to the outdated version message 2017-09-15 12:58:40 -07:00
Paul Banks 197bbc6114 Add screenshots, make registry the default module source example, remove dead support link in registry submenu 2017-09-15 17:50:22 +01:00
Paul Banks 722b3c6708 API examples updated to use Consul modules 2017-09-15 16:26:37 +01:00
Martin Atkins 67bdadf5c6 release: clean up after v0.10.5 2017-09-14 21:40:05 +00:00
Martin Atkins 1f054df752
v0.10.5 2017-09-14 18:15:35 +00:00
Martin Atkins 625de9c961 Update CHANGELOG.md 2017-09-14 10:55:37 -07:00
Martin Atkins b161be0b8e Update CHANGELOG.md 2017-09-14 10:54:11 -07:00
Martin Atkins 0fe43c8977 cli: allow disabling "next steps" message in terraform plan
In #15884 we adjusted the plan output to give an explicit command to run
to apply a plan, whereas before this command was just alluded to in the
prose.

Since releasing that, we've got good feedback that it's confusing to
include such instructions when Terraform is running in a workflow
automation tool, because such tools usually abstract away exactly what
commands are run and require users to take different actions to
proceed through the workflow.

To accommodate such environments while retaining helpful messages for
normal CLI usage, here we introduce a new environment variable
TF_IN_AUTOMATION which, when set to a non-empty value, is a hint to
Terraform that it isn't being run in an interactive command shell and
it should thus tone down the "next steps" messaging.

The documentation for this setting is included as part of the "...in
automation" guide since it's not generally useful in other cases. We also
intentionally disclaim comprehensive support for this since we want to
avoid creating an extreme number of "if running in automation..."
codepaths that would increase the testing matrix and hurt maintainability.

The focus is specifically on the output of the three commands we give in
the automation guide, which at present means the following two situations:

* "terraform init" does not include the final paragraphs that suggest
  running "terraform plan" and tell you in what situations you might need
  to re-run "terraform init".
* "terraform plan" does not include the final paragraphs that either
  warn about not specifying "-out=..." or instruct to run
  "terraform apply" with the generated plan file.
2017-09-14 10:51:41 -07:00
Martin Atkins 5221e51749 Update CHANGELOG.md 2017-09-14 09:56:35 -07:00
Martin Atkins 2b8160cafe Update CHANGELOG.md 2017-09-14 09:52:27 -07:00
Martin Atkins b95610c173 Merge #15387: terraform fmt -check option
This new option causes fmt to return a non-zero exit code if any inconsistencies are detected.
2017-09-14 09:51:10 -07:00