Commit Graph

20377 Commits

Author SHA1 Message Date
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
Martin Atkins f208fc5a03 Update CHANGELOG.md 2017-09-14 09:48:37 -07:00
Micah Hausler 7fa4b648bb config: multi-line "indent" function
This function prepends a number of spaces on to all but the first line
of a string containing multiple lines of text.
2017-09-14 09:47:48 -07:00
James Bardin 4789045911 Merge pull request #16099 from hashicorp/jbardin/update-go-getter
update go-getter
2017-09-14 12:44:56 -04:00
James Bardin e39da6e1c9 update go-getter 2017-09-14 12:30:55 -04:00
Martin Atkins 144bc9e5f6 Update CHANGELOG.md 2017-09-14 09:29:11 -07:00
Martin Atkins fe4cfd03b5 command/format: restore "(forces new resource)" caption
In 3ea1592 the plan rendering was refactored to add an extra indirection
of producing a display-oriented plan object first and then rendering from
that object.

There was a logic error while adapting the existing plan rendering code
to use the new display-oriented object: the core InstanceDiff object sets
the "Destroy" flag (a boolean) for both DiffDestroy and DiffDestroyCreate,
and so this code previously checked r.Destroy to recognize the
"destroy-create" case. This was incorrectly adapted to a check for the
display action being DiffDestroy, when it should actually have been
DiffDestroyCreate.

The effect of this bug was to cause the "(forces new resource)"
annotations to not be displayed on attributes, though the resource-level
information still correctly reflected that a new resource was required.

This fix restores the attribute-level annotations.
2017-09-11 12:55:32 -07:00
Paul Banks 71b58abf9b Filling out API docs. Some TODOs remain 2017-09-11 20:11:02 +01:00
Martin Atkins 93651450b1 website: don't talk about graphs in the Getting Started guide
Previously we just assumed the reader was familiar with the idea of a
graph but didn't explain it.

Since graphs are an implementation detail of Terraform, rather than
essential information needed for new users, this revises the introduction
text to talk only about _dependencies_, which we assume the user is
familiar with as a more practical concept.

Additionally, Paul Hinze did a great talk on how Terraform uses graphs
at HashiConf 2016 which is good additional content for our existing
"Graph Internals" page, which includes a concise explanation of the
basics of graph theory.
2017-09-11 11:09:11 -07:00
Mitchell Hashimoto 3bb89e89d6 website: note repo desc for publishing, fix broken link 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto 9b363cd7d4 website: add LICENSE to standard module structure 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto e71b271492 website: publishing and private registry docs 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto de50eeb6b6 website: more registry docs 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto b4f2fae0a6 website: api docs for the registry 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto 331b6f339a website: finding and using registry modules 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto 0718e9ce3f website: standard module structure 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto bf7f4d243d website: working on registry docs 2017-09-11 14:00:54 +01:00
Mitchell Hashimoto 1c098ce4ec website: trivial change to make branch 2017-09-11 14:00:54 +01:00
Chris Marchesi 9504d17bd9 Merge pull request #16036 from hashicorp/f-import-state-testing-id-func
helper/resource: Add ImportStateIdFunc
2017-09-08 13:40:31 -07:00
Shih Oon Liong bcfb63098a website: Example of using maps with local values 2017-09-08 10:33:56 -07:00
Justin Campbell 1f63a96b10 Merge pull request #16041 from justincampbell/website-local-values-usage-example
docs: Add local values usage example
2017-09-07 18:03:13 -04:00
Justin Campbell fd4cc78839 docs: Add local values usage example 2017-09-07 13:49:33 -04:00
Radek Simko 9f570a0c84 Merge pull request #16037 from hashicorp/b-readme-logo-url
docs: Fix logo URL in Readme
2017-09-07 17:48:40 +01:00
Radek Simko f729ef42ff docs: Fix logo URL in Readme 2017-09-07 11:14:42 +01:00
Chris Marchesi dc1f155728
helper/resource: Failure case for ImportStateIdFunc
Just to make sure returning an error was working.
2017-09-06 19:51:01 -07:00
Chris Marchesi 7bba1d0c95
helper/resource: Add ImportStateIdFunc
Add an ImportStateIdFunc field to the ImportState testing functionality.
This will allow for more powerful generation of complex import state IDs
that can't be accomplished by ImportStateId or ImportStateIdPrefix
themselves.
2017-09-06 19:44:43 -07:00
James Bardin 25f6e61047 release: clean up after v0.10.4 2017-09-06 20:33:48 +00:00
James Bardin 10df48ef40
v0.10.4 2017-09-06 20:22:10 +00:00
Martin Atkins 7360cf4349 Update CHANGELOG.md 2017-09-06 12:44:08 -07:00
tombuildsstuff d074b0da29 Obtaining the current metadata before setting it 2017-09-06 12:41:05 -07:00
tombuildsstuff a10d23dd95 Removing dead code 2017-09-06 12:41:05 -07:00
tombuildsstuff 1425205348 Upgrading to the latest Azure SDK's 2017-09-06 12:41:05 -07:00
James Bardin f5a3dc09a7 update CHANGELOG.md 2017-09-06 14:19:46 -04:00
Chris Doherty ec4cecc67b Merge pull request #15999 from hashicorp/cdoherty/doc-tweak
Cosmetic doc changes
2017-09-06 09:29:34 -07:00
Jake Champlin f49d882f06 Merge pull request #16027 from alexwlchan/quotes-in-docs
Add some missing quotes in the Module docs
2017-09-06 09:09:12 -04:00