Commit Graph

20546 Commits

Author SHA1 Message Date
Mitchell Hashimoto d4286dcd8c
website: new provider dev program content
This brings back the provider dev program content with a copy change.
Reviewed by Burzin already, requesting review from Clint.
2017-08-28 17:50:39 -07:00
Chris Marchesi 61971f2dde
helper/validation: Fix validation package
That'll teach me to use the GitHub merge conflict resolver :P
2017-08-28 14:41:01 -07:00
Chris Marchesi 6c03958d4b Merge pull request #15936 from hashicorp/f-validate-list-no-duplicates
helper/validation: Add ValidateListUniqueStrings
2017-08-28 13:50:05 -07:00
Chris Marchesi b0152f6be3 Add newline to end of validation.go 2017-08-28 13:49:11 -07:00
Chris Marchesi f17e14f576 Merge branch 'master' into f-validate-list-no-duplicates 2017-08-28 13:45:16 -07:00
Chris Marchesi bd368580c6 Merge pull request #15931 from hashicorp/f-validate-regex-func
helper/validation: Add ValidateRegexp
2017-08-28 13:30:02 -07:00
Martin Atkins bb0e57fec1 website: explain how to upgrade providers
Previously the -upgrade option was covered only on the "terraform init" usage page. It seems also worth mentioning in the main docs on provider versioning, since we're already explaining here other mechanics of the versioning/constraints system.
2017-08-28 12:17:24 -07:00
Martin Atkins 170de0964d Update CHANGELOG.md 2017-08-28 12:02:59 -07:00
Sunny 3a1582c1b9 command/validate: read terraform.tfvars file for variable values
This is now consistent with the handling of this file for other commands.
2017-08-28 12:01:11 -07:00
Martin Atkins aefcc5403e Update CHANGELOG.md 2017-08-28 11:26:35 -07:00
Sunny 2d849f8650 command/init: check required_version
Previously we were checking required_version only during "real" operations, and not during initialization. Catching it during init is better because that's the first command users run on a new working directory.
2017-08-28 11:25:16 -07:00
Martin Atkins c12d64f340 Use t.Helper() in our test helpers
Go 1.9 adds this new function which, when called, marks the caller as
being a "helper function". Helper function stack frames are then skipped
when trying to find a line of test code to blame for a test failure, so
that the code in the main test function appears in the test failure output
rather than a line within the helper function itself.

This covers many -- but probaly not all -- of our test helpers across
various packages.
2017-08-28 09:59:30 -07:00
Martin Atkins 8cf6756ab7 build: Remove vendor-grepping from Makefile
As of Go 1.9, ./... excludes the vendor directory by default and so we
no longer need to jump through hoops to exclude vendored packages from
testing, vetting, etc.

As a simplification this also re-introduces builtin/bins to the set of
packages we run tests on. With the providers now split into their own
repositories there's far fewer of these and so including them doesn't
really hurt anything, and makes our invocations here simpler.
2017-08-28 09:59:30 -07:00
Martin Atkins 62d154b9f9 Start building with Terraform 1.9
This improves the testing and other tooling and thus allows us to fix
some annoyances. (These fixes will follow in subsequent commits)
2017-08-28 09:59:30 -07:00
Mitchell Hashimoto b6047dcf9e Merge pull request #15940 from hashicorp/b-output-desc
config: parse description field for outputs
2017-08-28 09:58:40 -07:00
Mitchell Hashimoto adcf41f076
config: parse description field for outputs
We added the description field in 0.9 but we never parsed it because we
didn't have a use for it. As we prepare to use this field, let's start
parsing it out
2017-08-28 09:42:03 -07:00
Geoffrey Wiseman 648acf7331 Describing Module Encapsulation
Terraform modules encapsulate their resources, and dependencies can only
be expressed through outputs, which wasn't clear to me in the existing
documentation. I'm hoping a small change will make that more explicit.
2017-08-28 08:51:17 -07:00
Martin Atkins 1da54955c6 core: remove shadow graph infrastructure
The shadow graph was incredibly useful during the 0.7 cycle but these days
it is idle, since we're not planning any significant graph-related changes
for the forseeable future.

The shadow graph infrastructure is somewhat burdensome since any change
to the ResourceProvider interface must have shims written. Since we _are_
expecting changes to the ResourceProvider interface in the next few
releases, I'm calling "YAGNI" on the shadow graph support to reduce our
maintenence burden.

If we do end up wanting to use shadow graph again in future, we'll always
be able to pull it out of version control and then make whatever changes
we skipped making in the mean time, but we can avoid that cost in the
mean time while we don't have any evidence that we'll need to pay it.
2017-08-28 08:40:22 -07:00
Chris Marchesi aacfc01945
helper/validation: Add ValidateListUniqueStrings
Add the ValidateListUniqueStrings function, which is a ValidateFunc that
ensures a list has no duplicate items in it. It's useful for when a list
is needed over a set because order matters, yet the items still need to
be unique.
2017-08-27 09:50:21 -07:00
Chris Marchesi afeeecd10d
helper/validation: Add ValidateRegexp
This adds a ValidateRegexp validation helper to check to see if a field
has a valid regular expression.

Includes test for good regexp, and test for bad regexp.
2017-08-26 10:07:10 -07:00
Jake Champlin 46bc77ff9a Merge pull request #15905 from hashicorp/b-remove-xmlpath
deps: Remove xmlpath from dependencies
2017-08-25 14:36:10 -04:00
Martin Atkins e3785e1bcb Update CHANGELOG.md 2017-08-24 11:16:07 -07:00
Martin Atkins 82c817e6e2 govendor fetch github.com/hashicorp/go-getter/... 2017-08-24 11:10:13 -07:00
Jake Champlin 8f837fd8d8
deps: Remove xmlpath from dependencies 2017-08-24 13:07:03 -04:00
Jake Champlin 0dbcc19aae Merge pull request #15893 from hashicorp/doc-issue-template-2
Revisions to ISSUE_TEMPLATE.md
2017-08-23 17:57:39 -04:00
Martin Atkins c0ce0f3233 Revisions to ISSUE_TEMPLATE.md
This is just a few editorial tweaks to the issue template.

The primary motivation here was to shorten the section about provider issues now that we're no longer in the transitional state; I suspect that this scary wall of text is dissuading people from actually reading and following the template.

Otherwise, this is just some tweaks to the wording and some adjustments for the fact that we're now not expecting provider issues here.
2017-08-23 11:35:32 -07:00
Martin Atkins cc011f2fa5 Update CHANGELOG.md 2017-08-23 09:48:48 -07:00
Loïc Albertin 21b287e919 backend/consul: allow specifying various Consul client security options
These new options are equivalent to the consul CLI arguments -ca-file, -client-cert and -client-key.
2017-08-23 09:47:21 -07:00
Gabriel Francisco 7b3f32f3de Resource aws_instance does not have attr private_ip_address (#15890) 2017-08-23 11:41:16 -05:00
Martin Atkins fca841a379 Update CHANGELOG.md 2017-08-23 09:34:54 -07:00
Joe Winter b6a464c521 Provide example for terraform taint documentation (#15873)
* Provide example to taint documentation

Provides an example (with similar formatting as
https://www.terraform.io/docs/commands/state/list.html#example-filtering-by-module)
for tainting resources within a module.

* Add documentation for tainting a single resource
2017-08-22 13:47:30 -05:00
Martin Atkins 1c1bd8161d Update CHANGELOG.md 2017-08-22 11:27:40 -07:00
Sunny 06fd5d7a3e config: urlencode interpolation function
This escapes all characters that might have a special interpretation when embedded into a portion of a URL, including slashes, equals signs and ampersands.
2017-08-22 11:26:09 -07:00
Martin Atkins 5e6b518744 Update CHANGELOG.md 2017-08-22 10:57:01 -07:00
Gorka Lerchundi Osa a303817e03 config: base64gzip interpolation function
Since Terraform's internals are not 8-bit clean (it assumes UTF-8
strings), we can't implement raw gzip directly. We're going to add
support where it makes sense for passing data to attributes as
base64 so that the result of this function can be used.
2017-08-22 10:44:55 -07:00
Martin Atkins de561261ab Update CHANGELOG.md 2017-08-22 10:18:30 -07:00
Stephen Weatherford 5d5f8224d2 provisioner/local-exec: allow user to specify interpreter 2017-08-22 10:16:36 -07:00
Martin Atkins 1dc3611fbd Update CHANGELOG.md 2017-08-22 09:45:49 -07:00
Martin Atkins 2e0c1d07ae Merge #15793: Locking support in HTTP remote backend 2017-08-22 09:43:38 -07:00
Radek Simko 4e8ccb3127 Merge pull request #15828 from hashicorp/e2e-decoupling
tools/terraform-bundle: Add e2e tests
2017-08-22 18:33:59 +02:00
Lars Lehtonen 47484e23fe provisioner/local-exec: Drop untestable error
TestResourceProvider_stop uses a goroutine, which means that any function with *testing.T as its receiver within that goroutine will silently fail.

Now the test to accepts that an error that occurs within the goroutine is lost. It also adds some more verbose logs to explain what is happening.
2017-08-21 19:05:49 -07:00
Martin Atkins 6562e97799 Update CHANGELOG.md 2017-08-21 15:18:08 -07:00
Martin Atkins fd88c98c20 website: documentation for local values 2017-08-21 15:15:25 -07:00
Martin Atkins 3a30bfe845 core: evaluate locals and return them for interpolation
We stash the locals in the module state in a map that is ignored for JSON
serialization. We don't include locals in the persisted state because they
can be trivially recomputed and this allows us to assume that they will
pass through verbatim, without any normalization or other transforms
caused by the JSON serialization.

From a user standpoint a local is just a named alias for an expression,
so it's desirable that the result passes through here in as raw a form
as possible, so it behaves as closely as possible to simply using the
given expression directly.
2017-08-21 15:15:25 -07:00
Martin Atkins 5b66953d1d core: graph nodes and edges for local values
A local value is similar to an output in that it exists only within state
and just always evaluates its value as best it can with the current state.
Therefore it has a single graph node type for all walks, which will
deal with that evaluation operation.
2017-08-21 15:15:25 -07:00
Martin Atkins d41d58967f config: parsing of local.foo variables for interpolation 2017-08-21 15:15:25 -07:00
Martin Atkins f6797d6cb0 config: parsing of "locals" blocks in configuration 2017-08-21 15:15:25 -07:00
Clint e2272f71a0 Update our documentation to push "Getting Started" better (#15866)
* update plugin/provider to make clear this section isn't needed for regular use

* add some links and notes about getting started

* remove the mention of binaries... I 'm not sure it's needed yet

* 'Installing Terraform Providers' section

* sometimes I can't words good

* move the 'installing providers' block

* cleanup of terms

* copy that update to plugins/provider too
2017-08-21 15:44:27 -05:00
Clint e42130bf14 Update README with link to "Getting started" guide (#15865)
* Update README with link to "Getting started" guide

* spellin

spell "infrastructure" correctly
2017-08-21 10:55:32 -05:00
Jake Champlin 647c91aec9 Update CHANGELOG.md 2017-08-20 14:32:54 -04:00