Commit Graph

833 Commits

Author SHA1 Message Date
Kristin Laemmert f7ab90207c website/docs: add -json flag to terraform show docsn 2019-02-14 14:20:54 -08:00
Martin Atkins b4d9f63622 website: Forward-port docs on file-hashing functions from 0.11 branch 2019-02-13 16:10:14 -08:00
cgriggs01 1565abfcaa add four community providers 2019-02-11 17:25:30 -08:00
cgriggs01 41af6ce54b two new community providers 2019-02-06 11:01:22 -08:00
Laura Martin 76dedfbf9d Update docs for 0.12 terraform_remote_state data source
In 0.12, the outputs for a data source of terraform_remote_state are
nested under the 'outputs' attribute [1]. This updates the docs
to make this change clearer.

Worked with @radeksimko at Terraform hackday, who has submitted a
related upgrade guide [2]

[1] 1f4d2f4c50/builtin/providers/terraform/data_source_state.go (L16-L43)
[2] d8e00191b7
2019-02-06 13:53:51 +01:00
cgriggs01 4db4f9102d change plath name 2019-02-05 10:10:09 -08:00
Nick Fagerlund 58289e2d90 website: Change absolute 0.11 -> 0.11 links to relative 2019-02-01 17:20:54 -08:00
Nick Fagerlund 2c50808bbb website: Version notes: Add new -> old links to 0.12 language docs (function pages) 2019-02-01 17:20:54 -08:00
Nick Fagerlund 4a190127b9 website: Version notes: Add new -> old links to 0.12 language docs (except function pages) 2019-02-01 17:20:54 -08:00
Nick Fagerlund 9ce8e0ee18 website: Version notes: Add old -> new links to 0.11 docs 2019-02-01 17:20:54 -08:00
Nick Fagerlund b726cc4ba9 website: Update H1 header of 0.12 index.html 2019-02-01 17:20:54 -08:00
Nick Fagerlund 2dcd4a886f website: Standardize page titles in 0.11 language docs 2019-02-01 17:20:54 -08:00
Nick Fagerlund a9bcc0fe06 website: Fix sidebar nav links and 'sidebar_current' IDs for 0.11 docs
Because of the different possibilities for arranging the nav sidebars, we want
to make sure:

- IDs for the 0.11 and 0.12 language docs have a common prefix.
- That prefix is not the exact string `docs-config`.

Have I mentioned before that I really dislike this prefix matching behavior.
2019-02-01 17:20:54 -08:00
Nick Fagerlund 11cfdf3b67 website: Add 0.11 configuration language docs (WIP)
This is a non-working commit, because a bunch of links (including the sidebar
nav) are broken. Using a transition commit like this makes it easier to see the
changes necessary to get this content woven into the site.
2019-02-01 17:20:54 -08:00
Nick Fagerlund 0fddabf972 website: Reorganize nav sidebars to improve jumps between sections 2019-01-31 16:18:23 -08:00
Martin Atkins 954d38e870 lang: New file-hashing functions
In prior versions, we recommended using hash functions in conjunction with
the file function as an idiom for detecting changes to upstream blobs
without fetching and comparing the whole blob.

That approach relied on us being able to return raw binary data from
file(...). Since Terraform strings pass through intermediate
representations that are not binary-safe (e.g. the JSON state), there was
a risk of string corruption in prior versions which we have avoided for
0.12 by requiring that file(...) be used only with UTF-8 text files.

The specific case of returning a string and immediately passing it into
another function was not actually subject to that corruption risk, since
the HIL interpreter would just pass the string through verbatim, but this
is still now forbidden as a result of the stricter handling of file(...).

To avoid breaking these use-cases, here we introduce variants of the hash
functions a with "file" prefix that take a filename for a disk file to
hash rather than hashing the given string directly. The configuration
upgrade tool also now includes a rule to detect the documented idiom and
rewrite it into a single function call for one of these new functions.

This does cause a bit of function sprawl, but that seems preferable to
introducing more complex rules for when file(...) can and cannot read
binary files, making the behavior of these various functions easier to
understand in isolation.
2019-01-25 10:18:44 -08:00
Tom Harvey ec0419fe91
backend/azurerm: fixing the syntax highlighting (#20085) 2019-01-23 13:33:11 +00:00
Martin Atkins 2f8f7d6f4d lang/funcs: Type conversion functions
It's not normally necessary to make explicit type conversions in Terraform
because the language implicitly converts as necessary, but explicit
conversions are useful in a few specialized cases:

- When defining output values for a reusable module, it may be desirable
  to force a "cleaner" output type than would naturally arise from a
  computation, such as forcing a string containing digits into a number.
- Our 0.12upgrade mechanism will use some of these to replace use of the
  undocumented, hidden type conversion functions in HIL, and force
  particular type interpretations in some tricky cases.
- We've found that type conversion functions can be useful as _temporary_
  workarounds for bugs in Terraform and in providers where implicit type
  conversion isn't working correctly or a type constraint isn't specified
  precisely enough for the automatic conversion behavior.

These all follow the same convention of being named "to" followed by a
short type name. Since we've had a long-standing convention of running all
the words together in lowercase in function names, we stick to that here
even though some of these names are quite strange, because these should
be rarely-used functions anyway.
2019-01-17 10:01:47 -08:00
Martin Atkins da51e72cbb lang/functions: set functions from cty
The sethaselement, setintersection, and setunion functions are defined in
the cty stdlib. Making them available in Terraform will make it easier to
work with sets, and complement the currently-Terraform-specific setproduct
function.

In the long run setproduct should probably move into the cty stdlib too,
but since it was submitted as a Terraform function originally we'll leave
it here now for simplicity's sake and reorganize later.
2019-01-16 09:57:16 -08:00
Martin Atkins edb5f82de1 lang/funcs: Convert the "setproduct" function to the new approach
In our new world it produces either a set of a tuple type or a list of a
tuple type, depending on the given argument types.

The resulting collection's element tuple type is decided by the element
types of the given collections, allowing type information to propagate
even if unknown values are present.
2019-01-16 09:57:16 -08:00
Riley Karson 74ec68f9d4 Fix Google Cloud Platform name across docs.
The `google` provider supports GCP, not necessarily Google Cloud as a whole.

Update the naming on this index page to match [the provider README](https://github.com/terraform-providers/terraform-provider-google#terraform-provider-for-google-cloud-platform) and the [provider docs changes](https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/index.html.markdown#google-cloud-platform-provider) coming in the next release.
2019-01-15 12:10:20 -08:00
Sander van Harmelen e08a7e979e backend/remote: use the correct test operation 2019-01-15 16:13:16 +01:00
Nick Fagerlund ac45e43fda website: Finish moving "writing custom providers" to /docs/extend/
This document was previously copied to the "Extending Terraform" section (in the
terraform-website repo), and the old URL was redirected so that the copy in
/guides can no longer be reached on the website. But the old copy of the file
remained, and now it runs the risk of confusing contributors, since the copy in
terraform-website/.../docs/extend is the more up-to-date version.
2019-01-11 16:36:40 -08:00
Scott Stevenson cef46ef953
Add details about using lock=true when consul ACL is enabled
This PR addresses https://github.com/hashicorp/terraform/issues/19963.
2019-01-11 14:43:56 -05:00
Brian Flad 05691a978e
Merge pull request #19951 from hashicorp/s3-backend-nosuchbucket-enhanced-error
backend/s3: Configure AWS Client MaxRetries and provide enhanced S3 NoSuchBucket error message
2019-01-11 10:04:16 -05:00
Chris Griggs 0cc057b873
Merge branch 'master' into cgriggs01-comm-5 2019-01-09 14:31:47 -08:00
Tom Harvey 177ca3711d
Adding the AzureAD entry to the providers page (#19946)
Adding the AzureAD entry to the providers page
2019-01-09 22:28:25 +00:00
cgriggs01 a9069cab7b edit fmt 2019-01-09 11:40:34 -08:00
cgriggs01 885a366f2e add <tr> 2019-01-09 11:21:02 -08:00
cgriggs01 830e23b217 add new community providers 2019-01-09 10:39:32 -08:00
Brian Flad ed37d07632
backend/s3: Configure AWS Client MaxRetries and provide enhanced S3 NoSuchBucket error message
The AWS Go SDK automatically provides a default request retryer with exponential backoff that is invoked via setting `MaxRetries` or leaving it `nil` will default to 3. The terraform-aws-provider `config.Client()` sets `MaxRetries` to 0 unless explicitly configured above 0. Previously, we were not overriding this behavior by setting the configuration and therefore not invoking the default request retryer.

The default retryer already handles HTTP error codes above 500, including S3's InternalError response, so the extraneous handling can be removed. This will also start automatically retrying many additional cases, such as temporary networking issues or other retryable AWS service responses.

Changes:
* s3/backend: Add `max_retries` argument
* s3/backend: Enhance S3 NoSuchBucket error to include additional information
2019-01-09 13:01:37 -05:00
Kristin Laemmert cdf7cc2449
command/json*: updating documentation and adding tests (#19944)
A few minor fixes and cleanups as a result of said tests. Hooray for
eventual consistency!
2019-01-09 08:59:11 -08:00
Martin Atkins d0e6a4c69a lang: Add "formatdate" function
We missed this one on a previous pass of bringing in most of the cty
stdlib functions.

This will resolve #17625 by allowing conversion from Terraform's
conventional RFC 3339 timestamps into various other formats.
2019-01-07 09:10:14 -08:00
Martin Atkins c753df6a93 lang/funcs: templatefile function
This function is similar to the template_file data source offered by the
template provider, but having it built in to the language makes it more
convenient to use, allowing templates to be rendered from files anywhere
an inline template would normally be allowed:

    user_data = templatefile("${path.module}/userdata.tmpl", {
      hostname = format("petserver%02d", count.index)
    })

Unlike the template_file data source, this function allows values of any
type in its variables map, passing them through verbatim to the template.
Its tighter integration with Terraform also allows it to return better
error messages with source location information from the template itself.

The template_file data source was originally created to work around the
fact that HIL didn't have any support for map values at the time, and
even once map support was added it wasn't very usable. With HCL2
expressions, there's little reason left to use a data source to render
a template; the only remaining reason left to use template_file is to
render a template that is constructed dynamically during the Terraform
run, which is a very rare need.
2018-12-21 08:06:14 -08:00
Nick Fagerlund 17873ae61b website: Update functions section page titles 2018-12-20 14:20:42 -08:00
Nick Fagerlund 9f85e6d5cc website: Update configuration language section page titles 2018-12-20 14:20:42 -08:00
Nick Fagerlund d2abdc23ac website: Structural edit of configuration language docs
This commit is a wide-ranging set of edits to the pages under
/docs/configuration. Among other things, it

- Separates style conventions out into their own page.
- Separates type constraints and conversion info into their own page.
- Conflates similar complex types a little more freely, since the distinction is
  only relevant when restricting inputs for a reusable module or resource.
- Clarifies several concepts that confused me during edits.
2018-12-20 14:20:42 -08:00
cgriggs01 da370cd689 fix spacing in website docs 2018-12-20 13:27:15 -08:00
cgriggs01 9df6e2df42 add hedvig provider links 2018-12-20 10:54:20 -08:00
cgriggs01 79f93ed695 links for ucloud provider 2018-12-19 13:11:31 -08:00
Sander van Harmelen da8e02eb2e
Merge pull request #19647 from hashicorp/svh/f-versions
core:  add a method to the disco package retrieve version constraints
2018-12-14 12:38:52 +01:00
Sander van Harmelen 268c0f85ce Add a method to retrieve version contraints 2018-12-14 12:17:31 +01:00
Brian Flad 058434d28b
Merge pull request #19571 from hashicorp/f-backend-s3-other-endpoints
backend/s3: Support DynamoDB, IAM, and STS endpoint configurations
2018-12-10 19:28:01 -05:00
Tom Harvey 383bc98f5c
backend/azurerm: Support for authenticating using the Azure CLI (#19465)
* Upgrading to 2.0.0 of github.com/hashicorp/go-azure-helpers

* Support for authenticating using Azure CLI

* backend/azurerm: support for authenticating using the Azure CLI
2018-12-10 21:23:30 +00:00
cgriggs01 41897bb437 six new community providers 2018-12-10 11:13:45 -08:00
Brian Flad 9a3b02cd6c
backend/s3: Support DynamoDB, IAM, and STS endpoint configurations
This change enables a few related use cases:
* AWS has partitions outside Commercial, GovCloud (US), and China, which are the only endpoints automatically handled by the AWS Go SDK. DynamoDB locking and credential verification can not currently be enabled in those regions.
* Allows usage of any DynamoDB-compatible API for state locking
* Allows usage of any IAM/STS-compatible API for credential verification
2018-12-07 03:10:51 -05:00
cgriggs01 808c76fa9b Add skytap links 2018-12-05 15:38:47 -08:00
Chris Griggs 89347e9c81
Updates path name 2018-11-28 16:55:03 -08:00
cgriggs01 c943083a4b selvpc -> selectel 2018-11-28 13:30:48 -08:00
Daniel Schroeder 65080b9ce3 website: Fix redundant "be" in workspaces documentation 2018-11-28 07:59:37 -08:00
Chris Griggs e32c5de440
Merge pull request #19390 from cgriggs01/cgriggs01-selvpc
[Website] New certified and community provider
2018-11-26 13:03:50 -08:00
cgriggs01 f013942150 formatting edits 2018-11-26 13:01:55 -08:00
Tom Harvey 6d4f702467
backend/azurerm: support for custom resource manager endpoints (#19460)
* backend/azurerm: removing the `arm_` prefix from keys

* removing the deprecated fields test because the deprecation makes it fail

* authentication: support for custom resource manager endpoints

* Adding debug prefixes to the log statements
2018-11-26 14:42:16 +01:00
Tom Harvey d580f30e03
backend/azurerm: removing the `arm_` prefix from keys (#19448)
* backend/azurerm: removing the `arm_` prefix from keys

* removing the deprecated fields test because the deprecation makes it fail
2018-11-26 11:19:43 +01:00
Tom Harvey 96b1c951fa
backend/azurerm: support for authenticating via SAS Tokens (#19440)
* adding acceptance tests for msi auth

* including the resource group name in the tests

* backend/azurerm: support for authenticating using a SAS Token

* resolving merge conflicts

* moving the defer to prior to the error
2018-11-22 18:02:33 +01:00
Tom Harvey c928962f44
backend/azurerm: support for authenticating via msi (#19433)
* backend/azurerm: support for authenticating via msi

* adding acceptance tests for msi auth

* including the resource group name in the tests

* support for using the test client via msi
2018-11-22 16:52:27 +01:00
Tom Harvey 0ec109bdc0
backend/azurerm: upgrading the SDK / support for proxies (#19414)
* vendor updates

- updating to v21.3.0 of github.com/Azure/azure-sdk-for-go
- updating to v10.15.4 of github.com/Azure/go-autorest
- vendoring github.com/hashicorp/go-azure-helpers @ 0.1.1

* backend/azurerm: refactoring to use the new auth package

- refactoring the backend to use a shared client via the new auth package
- adding tests covering both Service Principal and Access Key auth
- support for authenticating using a proxy
- rewriting the backend documentation to include examples of both authentication types

* switching to use the build-in logging function

* documenting it's also possible to retrieve the access key from an env var
2018-11-21 22:06:03 +01:00
Nick Fagerlund 7d5db9522f
website: Fix plugin path on Windows (#19423)
...and one other reference to the application data directory.

Context:

https://docs.microsoft.com/en-us/windows/desktop/shell/knownfolderid#folderid_roamingappdata

In newer Windows versions, the folder accessible as `%APPDATA%` (and via various
APIs) is actually at something like "documents and settings\user\application
data\roaming", while earlier versions omit the "\roaming" part of the path. This
means you can confuse people by referring to the "application data" directory by
its human name, because "roaming" is the real application data directory, but it
looks like a subdirectory of "application data".

Thus, it's less confusing to just use the `%APPDATA%` variable, with the added
benefit that you can copy and paste the path and it'll just work in most places.
2018-11-20 16:54:18 -08:00
cgriggs01 28de3823ac new provider and community links 2018-11-16 11:35:33 -08:00
Kristin Laemmert 1be09745d7
Merge pull request #19007 from cardoe/fix-swift-backend-docs
Fix backend/swift docs
2018-11-08 06:34:09 -08:00
Nick Fagerlund 3b02214d8c
website: clarify behavior of terraform_remote_state data sources (#19227) 2018-11-07 14:01:58 -08:00
Tom Harvey 49c42b9830
docs: add warning to backend/swift about auto-expire
If the user uses the auto-expire value in the backend/swift settings
then swift will automatically delete their Statefile which is likely
something the user doesn't want given how Terraform works.
2018-11-06 18:18:46 -06:00
Doug Goldstein 817be7b23f
website: update backend/swift examples to use versioning
Since object versioning is a best practice the docs should have all the
examples containing it by default.
2018-11-06 18:18:46 -06:00
Doug Goldstein 58cb47d108
website: backend/swift fix bad link for object versioning
The displayed link said `expire_after` but really is a link to
`archive_container` so update the link to read the right data.
fixes #19005
2018-11-06 18:18:46 -06:00
Doug Goldstein ddc30b6546
website: backend/swift add docs link for expire_after
Provide a link to the OpenStack Swift docs for the object expiration
feature that is used by the `expire_after` field.
2018-11-06 18:18:45 -06:00
Doug Goldstein b31aab4469
website: fix backend/swift links to Swift docs
The links to the OpenStack Swift documentation were broken due to
changes on the OpenStack website.
2018-11-06 18:18:45 -06:00
Doug Goldstein 027b107268
website: update deprecated backend/swift docs
Update the examples and docs to not directly reference deprecated
fields.
2018-11-06 18:18:45 -06:00
Sander van Harmelen 52a1b22f7a Implement the remote enhanced backend
This is a refactored version of the `remote` backend that was initially added to Terraform v0.11.8 which should now be compatible with v0.12.0.
2018-11-06 16:29:46 +01:00
Sean Carolan b7cf7737f6 website: use a clearer header describing the CLI config file (#19263)
Using a / could be confusing to users who assume it is a directory.
2018-11-02 17:26:52 -07:00
Sander van Harmelen 178ec8f7b4 Remove support for the -module-depth flag
# Conflicts:
#	backend/backend.go
2018-11-02 18:44:04 +01:00
cgriggs01 06a74a2dac fixit 2018-10-31 14:33:22 -07:00
cgriggs01 56a16e57a9 another provider and edit 2018-10-31 14:25:30 -07:00
cgriggs01 46c36b5e72 adding two community 2018-10-31 13:53:22 -07:00
Nick Fagerlund ab88f8ca0f
website: Update and link the page about remote backend operations (#19203) 2018-10-29 11:00:24 -07:00
Kristin Laemmert 5fa624c55e website: update terraform_remote_state syntax in backend docs 2018-10-29 09:22:21 -07:00
Radek Simko b54cc1d95f
Merge pull request #19170 from mikesir87/patch-1
Small grammar fix for lifecycle docs
2018-10-25 08:51:57 +02:00
Michael Irwin 47047aa637
Small grammar fix for lifecycle docs 2018-10-22 22:34:11 -04:00
Henrique M. Gontijo 642cdd331f
Fix typo. 2018-10-22 14:26:33 -07:00
Chris Griggs c98f2087fb
Merge pull request #19105 from cgriggs01/cgriggs01-linode-2
[Website] Linode documentation links
2018-10-18 11:12:19 -07:00
cgriggs01 a48dda2acc add linode documentation links 2018-10-17 14:20:39 -07:00
Radek Simko edaa4bbc82
lang: Add fileexists function 2018-10-17 10:18:07 +01:00
Martin Atkins 1360948a41 website: document the functions "keys", "lookup", and "values"
I missed these on the first pass because in the legacy function table they
are, for some reason, added in a different place than the others.
2018-10-16 18:49:20 -07:00
Kristin Laemmert b6d3d69d3a port cidr functions 2018-10-16 18:49:20 -07:00
Kristin Laemmert 602b59cdc4 porting functions 2018-10-16 18:49:20 -07:00
Kristin Laemmert 9aa9b18658 porting crypto functions 2018-10-16 18:49:20 -07:00
Kristin Laemmert 1a5299efcb porting encoding functions 2018-10-16 18:49:20 -07:00
Martin Atkins 60ad24229f website: Link from Configuration index to Resource page
Since the index page is long, by the time the reader reaches the end of
it the relevant portion if the navigation is unlikely to be visible. To
compensate for this, we'll link to the first sub-section and thus give
the user an opportunity to notice the navigation structure for the rest
of the pages.
2018-10-16 18:48:28 -07:00
Martin Atkins b2e8987f7e website: Fix references to the now-defunct "Interpolation" page
This has been replaced with an "Expressions" page.

Also includes a number of changes to Markdown style to conform to our
usual conventions, applied automatically by my editor while making these
changes.
2018-10-16 18:48:28 -07:00
Martin Atkins 6549f24d88 website: Remove the "interpolation" docs page
This has now been superseded by the expressions.html.md file in the same
directory. As part of deploying this, the former URL for this page must
be redirected to the expressions page to retain a target for any
existing links on third-party sites.
2018-10-16 18:48:28 -07:00
Martin Atkins c060ecd0a5 website: Document the JSON configuration syntax 2018-10-16 18:47:33 -07:00
Martin Atkins a6749f9efc website: Expand documentation of Override Files
This kinda-weird feature was previously quite severely under-documented in
terms of exactly what effect it has. This new documentation for it first
attempts to frame it as something that should be rarely used, and then
explains in more detail exactly how it behaves for different top-level
block types within the configuration.
2018-10-16 18:47:33 -07:00
Martin Atkins b3239e8f1f website: Update the "Terraform Settings" page for new style
As part of revamping the "Configuration" portion of the website for the
v0.12 release, here we update the Terraform Settings page to use a similar
"guide-like" writing style as the other updated pages in this section.
2018-10-16 18:47:33 -07:00
Martin Atkins d72d9fde16 website: Document the index and attribute syntaxes 2018-10-16 18:47:33 -07:00
Martin Atkins 83a16e3deb website: Docs for all of the IP address calculation functions 2018-10-16 18:47:33 -07:00
Martin Atkins 7cb1de9f30 website: Docs for all of the hash/crypto functions 2018-10-16 18:47:33 -07:00
Martin Atkins 46f8208727 website: Docs for all of the Date and Time functions 2018-10-16 18:47:33 -07:00
Martin Atkins a35c0f3cbf website: Docs for all of the "filesystem" functions 2018-10-16 18:47:33 -07:00
Martin Atkins a491013054 website: Docs for all of the "encoding" functions 2018-10-16 18:47:33 -07:00
Martin Atkins e7d71995f6 website: Document the remaining "collection" functions
This also renames some of the existing function pages whose source
filenames were not matching the usual naming scheme (.html.md).
2018-10-16 18:47:33 -07:00
Martin Atkins 48d940323e website: Beginnings of "Functions" configuration section
Previously we just listed out all of the functions in alphabetical order
inside the "Interpolation Syntax" page, but that format doesn't leave much
room for details and usage examples.

Now we give each function its own page, and categorize them for easier
navigation. While many functions are very simple and don't really warrant
a full page, certain functions do have additional details that are worth
mentioning and this structure scales better for those more complicated
functions.

So far this includes only the numeric and string functions. Other
categories will follow in subsequent commits.
2018-10-16 18:47:33 -07:00
Martin Atkins 39579e8d0f website: revisions to the "Configuration Syntax" page and expressions
This rewrite of the "Configuration Syntax" page now gives some more detail
on the top-level structural constructs and de-emphasizes the name "HCL"
as subordinate to "the Terraform language".

It also now includes some commentary on valid identifiers and comments,
and issues around character encodings and line endings.

In addition, we now have a new "Expressions" page that replaces the old
"Interpolation Syntax" page, covering the expression language features
we inherit from HCL and how they behave in the context of Terraform.

The "Expressions" page currently links to a page about the built-in
functions which does not yet exist. This will be created in a later
commit.
2018-10-16 18:47:33 -07:00
Martin Atkins e1754970a8 website: Revise the "Data Sources" configuration docs section
This adopts a more guide-like writing style, similar to what prior commits
have done to some other subsections of this section.

The data sources page has not got any real attention since the feature
was first added, and our vocabulary for describing them and their
lifecycle hadn't quite settled when the page was originally written. This
new version is consistent in how it uses "data source" to describe the
feature that providers offer and "data resource" to describe what is
created by a "data" block in configuration, which then allows us to
draw on the many shared features between both data and managed resources.

For the moment this waits until "data resource" is defined in order to
first introduce the qualifier "managed resource". We may wish to revise
this again to mention that more specific nomenclature in passing on the
"Resources" page, in case a user encounters it elsewhere and wants to
learn what it means without needing to be familiar with data resources
first.
2018-10-16 18:47:33 -07:00
Martin Atkins eeb96b1e12 website: Revise the "Modules" configuration docs section
This adopts a more guide-like writing style, similar to what prior commits
have done to some other subsections of this section.

Since we already have a whole top-level section devoted to modules, there
is no need for full coverage of all of their features here. Instead, this
section focuses on an an initial introduction to what modules are and
the basics of their usage within the Terraform language. We then link
to the main modules section for the full details.
2018-10-16 18:47:33 -07:00
Martin Atkins fdc8bb6c00 website: Revise the "Local Values" configuration docs section
This adopts a more guide-like writing style, similar to what prior commits
have done to some other subsections of this section.
2018-10-16 18:47:33 -07:00
Martin Atkins e41883d972 website: Revise the "Output Values" configuration docs section
This adopts a more guide-like writing style, similar to what prior commits
have done to some other subsections of this section.

In the process of writing this, I identified some unclear statements in
the "Resources" subsection, and so these are also revised here for
consistency with the output values documentation.
2018-10-16 18:47:33 -07:00
Martin Atkins f8f2ff2202 website: Revise the "Input Variables" configuration docs section
This adopts a more guide-like writing style, similar to what prior commits
have done to the Resources and Providers sections.
2018-10-16 18:47:33 -07:00
Martin Atkins a6cf796873 website: Revise the "Providers" configuration docs section
These revisions reflect this sub-section's new earlier placement in the
sub-section list, leading to a more guide-like style for the initial
sections.

Also includes some minor copy-editing to align terminology with that
introduced in the prior commit for the "Resources" docs page.
2018-10-16 18:47:33 -07:00
Martin Atkins 6fa6a0d110 website: revise the "Resources" configuration docs section
This is now the leading subsection of the Configuration section of the
docs, and so this rewrite intends to make it more "guide-like" and as
accessible as possible to those who are not yet familiar with other
Terraform concepts.

This rewrite also attempts to introduce some consistency into our
vocabulary, which should eventually be reflected throughout our
documentation. In particular:

- "Resource" refers to the block the user writes in configuration, while
  "Resource _Type_" refers to what the provider defines. We previously
  used "resource" for both of these interchangeably.

- "Resource" is no longer used to refer to what gets created and managed
  in remote APIs as a result of a resource block in configuration. Lacking
  a good distinct name for these, this guide uses the word "object",
  qualifying it as "infrastructure object" or "remote object" where
  necessary to retain clarity. This distinction is important to enable
  a clear description of resource lifecycle.

- "Argument" refers to an element (attribute or block) within a resource
  block. This terminology was already being used in some places, so we
  embrace it here as a way to distinguish from "attribute", which is
  what a resource _exports_ for use in expressions.

- Since interpolation is no longer needed to use expressions in the
  language, the word "expression" is used to describe the definition of
  a value that might involve some computation. Where necessary, this is
  used with a modifier "arbitrary expression" to contrast with situations
  where the set of allowed expression constructs is constrained.
2018-10-16 18:46:46 -07:00
Martin Atkins 27429b61a9 website: Flesh out the intro to the "Configuration" section.
The prior content on this page was little more than an instruction to
begin navigating the sub-sections of this section.

The new content aims to give a broad overview of some of the language
concepts and a syntax example, in order to create some context to help
the user navigate the subsections more easily.

This also introduces for the first time usage of the term "the Terraform
language". This was previously left un-named, leading to some awkward
sentence constructions elsewhere in the docs. This new name gives us
some specific terminology to use in order to contrast the language that
exists at Terraform's level of abstraction, defining the semantics, from
the underlying grammar provided by HCL.
2018-10-16 18:46:46 -07:00
Martin Atkins e5e3452ffa website: Reorganize the "Configuration" docs section
With the additional configuration language features coming in Terraform
v0.12, our existing documentation structure is beginning to strain.

Here we reorganize the navigation slightly in order to introduce the
concepts in a more appropriate order so that we can reveal complexity
more gradually. Subsequent commits will revise the content of these
pages to better reflect the new sequencing.

The "Environment Variables" page is moved from the Configuration section
into the "Commands" section, since it is not considered a part of the
configuration language and thus more appropriate in the CLI documentation.
The old placement is reflective of the broader purpose that the
"Configuration" section had originally, but its new focus will be on
the Terraform language (.tf files) in particular, with other aspects of
customizing Terraforms behavior covered in other sections.
2018-10-16 18:46:46 -07:00
Sander van Harmelen 775f8a9626 Make sure we always set a custom header
This is for TFE to recognize were the calls come from.
2018-10-15 20:33:42 +02:00
cgriggs01 87191d46cd add helm links 2018-10-09 16:57:54 -07:00
cgriggs01 24c360ec8d add nutanix links 2018-10-09 14:29:52 -07:00
Chris Griggs 9463b010ed
Spelling fix! 2018-10-04 10:38:29 -07:00
cgriggs01 7119caf198 formatting 2018-10-04 10:08:25 -07:00
cgriggs01 4bee6b30e2 add community prov 2018-10-04 09:44:35 -07:00
Nick Fagerlund b3935b29d7
website: Reconcile docs about plugin discovery and downloading (#18973)
website: Reconcile docs about plugin discovery and downloading

I'm attempting to keep things simple for normal users while making sure we've
got the full behavior written down somewhere for plugin developers.

This commit doesn't stand alone; it's paired with a commit in the
terraform-website repo, to deal with some related content in the "extend"
section.
2018-10-02 16:53:29 -07:00
cgriggs01 8bce8cd72a fix typo 2018-09-27 15:58:18 -07:00
cgriggs01 009ede44e2 add community providers 2018-09-27 15:37:36 -07:00
cgriggs01 2d7b9dfcf9 add tencentclould links 2018-09-27 12:14:04 -07:00
cgriggs01 fc3148e17a add bigip links 2018-09-26 14:28:33 -07:00
Radek Simko ecac80fd8e
docs: Fix inaccurate plugin CRUD description 2018-09-20 17:18:42 +01:00
otofune 2a902fc06d
Fix proper nouns of vcs services 2018-09-20 00:26:15 +00:00
Chris Griggs 735e38916a
CamelCase! 2018-09-19 13:22:12 -07:00
Chris Griggs 08c407a468
Merge branch 'master' into cgriggs01-rightscale 2018-09-19 13:20:26 -07:00
Chris Griggs 28ef7e2d37
Update 2018-09-19 13:15:35 -07:00
Chris Griggs daf1ec607d
CamelCase 2018-09-19 13:07:48 -07:00
Chris Griggs a7e5e15dc1
CamelCase it! 2018-09-19 13:06:29 -07:00
cgriggs01 7244abd978 add rightscale provider links 2018-09-19 11:37:40 -07:00
cgriggs01 a1b08e16c3 add oci provider links 2018-09-17 08:22:30 -07:00
cgriggs01 d6acc463e5 update community providers 2018-09-14 08:10:17 -07:00
Chris Griggs 6841414632
Merge pull request #18854 from cgriggs01/netlify-release
add Netlify provider links
2018-09-13 14:01:11 -07:00
Kristin Laemmert 19f56e3cb4
Merge pull request #18829 from saravanan30erd/issue-18808
issue #18808  docs: update uuid definition - UUID is *not* in in RFC 4122 v4 format.
2018-09-13 12:30:14 -07:00
cgriggs01 43ff5e445a add Netlify provider links 2018-09-13 11:19:40 -07:00
Chris Doherty 71c79522c6 website: Add docs/internals/archiving.html to describe the archiving process. (#18831)
Add docs/internals/archiving.html to describe the archiving process.
2018-09-10 17:32:43 -07:00
saravanan palanisamy 517e28ee6e update uuid definition 2018-09-10 21:49:02 +04:00
Sagar2366 db08ec448c
chnage from work to working directory
Sentence correction
2018-09-09 11:10:33 +05:30
Dave Wongillies 9190227bc0 Fix description for state mv and push sub-commands 2018-09-04 19:16:47 -07:00
HashiBook1000 d9823d7c8b add HuaweiCloud link 2018-08-31 14:40:42 -07:00
Sander van Harmelen 77b9fad7f0 backend/manta: deprecate camelcase attribute name
This change is needed (next to making it consistent as its the only attribute name that uses camelcase) because passing that attribute objectName in the update `terraform_remote_state` resource, ended up giving me this error: https://github.com/hashicorp/terraform/blob/master/helper/schema/schema.go#L736
2018-08-29 20:22:04 +02:00
Paul Hinze cf8516287e
website: Classify remote backends as a preview release 2018-08-24 17:10:46 -05:00
Alexis Grant 6e5259911e
PTFE not ready for use with this remote version 2018-08-24 13:10:28 -07:00
Nick Fagerlund 4612a71414 website: revise docs for remote backend and credentials config 2018-08-22 14:30:23 -07:00
Phillip Wong 6b89588154
Correction of spelling for 'Keboola' provider
I also switched it around with the Kafka link to preserve the alphabetical ordering of the page.
2018-08-18 08:41:59 -07:00
HashiBook1000 c612953a72 add community providers, remove Atlas links 2018-08-17 11:33:09 -07:00
Paul Tyng d0fec98833
Merge pull request #18647 from hashicorp/paultyng-patch-1
Clarifying the language around "root outputs"
2018-08-17 09:27:05 -04:00
Chris Griggs 4bbf303f72
Update infra-index.html.markdown 2018-08-14 14:00:06 -07:00
HashiBook1000 3a75b28626 swap tfe v2 links with Atlas 2018-08-14 13:35:37 -07:00
Sander van Harmelen bb37637a13
Merge pull request #18642 from hashicorp/f-remote-backend
backend/remote: do not use the TFE_TOKEN env variable
2018-08-10 20:32:07 +02:00
Sander van Harmelen 7049d973a9 Do not use the TFE_TOKEN env variable
Instead promote the use of shared credentials using the CLI Config File
2018-08-10 20:20:16 +02:00
HashiBook1000 fc6671e191 fix ACME link and add community providers 2018-08-09 13:16:34 -07:00
Paul Tyng 22bdc44cb1
Clarifying the language around "root outputs" 2018-08-09 13:20:45 -04:00
HashiBook1000 8042a96ff7 update master with provider links 2018-08-06 16:14:37 -07:00
Sander van Harmelen 7fb2d1b8de Implement the Enterprise enhanced remote backend 2018-08-03 22:22:55 +02:00
Nick Fagerlund 2487af1945 website: atlas backend requires https protocol in address (#18585)
Just providing the hostname won't work. This commit adds an example and fixes
the explanation.
2018-08-01 17:33:11 -07:00
Phillip Wong 6699321802
Update community-index.html.markdown
Corrected the naming of the 'Keboola' provider and shifted it down to keep alphabetical ordering.
2018-07-31 15:44:19 -07:00
Martin Atkins 15ad2e4f9e website: Revise the "Module Sources" page
It's been a while since we made any significant updates to this page.
The main theme of this revamp is to ensure that we highlight how to
provide "ambient credentials" for each of the module sources using the
standard mechanisms for each source type.

While there, I also attempted a general cleanup to highlight the main
cases and make this less like a detailed description of all of
go-getter's esoteric features, and did some general copy-editing to write
it in our usual documentation "voice".
2018-07-31 10:11:36 -07:00
Alexis Grant c97a4246ff website: update module creation docs to link to version constraint info 2018-07-25 16:05:44 -07:00
Marv Cool 1a14ec8bd6 website: fix curl example for registry API 2018-07-25 09:11:54 -07:00
Kristin Laemmert 419649d4f0
Merge pull request #18516 from xulsitatirev/patch-2
Fix documentation on tainting resources within modules
2018-07-23 09:39:37 -07:00
Sitatirev, Xul ad9e32f1f4
Fix documentation
It looks like the output does not match the command, in fact.
This pull-request fixes this issue.
2018-07-22 23:59:53 +02:00
Erich bca20a1792
Update database-index.html.markdown
Fix repeated word "with with"
2018-07-22 16:48:04 +01:00
Nick Fagerlund a51fc61014 website: Revise "atlas" backend page
Add links to important docs (like user tokens), and explain that this isn't part
of our recommended primary workflows anymore.
2018-07-09 15:28:30 -07:00
Cory Lucas 5fda3a3b12 website: Update leftover references to "environment" rather than "workspace" 2018-07-05 16:31:14 -07:00
Martin Atkins d4ac68423c website: Tweak the language we use to describe remote state
After some discussion with "iamakulov" on Twitter it seems that the use
of the word "conflicts" and "merge conflicts" here was sounding like us
implicitly condoning the use of version control as a mechanism for
distributing local state files, which hasn't been recommended for quite
some time since remote state now provides a much more robust solution.

While here, I also tweaked some other language on this page for style and
for use of terminology we more commonly use in our more recent
documentation.
2018-06-26 11:43:36 -07:00
Thomas Kula e2373c8073 website: Using demo.consul.io requires scheme = "https"
Following the examples as they were previously would cause errors
accessing demo.consul.io. Now we consistently set the scheme to https for
all examples that use demo.consul.io.

This also includes some other updates to the URLs, since the Consul demo
has been rebuilt with a different based configuration, and some general
formatting and copyediting changes in the Consul example.
2018-06-22 10:18:27 -07:00
Kieran Spear fa5d9cc2ca website: Fix spelling mistake (#18311) 2018-06-22 07:31:23 -07:00
Chris Griggs 3b2f747006
Update major-index.html.markdown 2018-06-19 11:54:25 -07:00
Chris Griggs ac27d7deb9
Update index.html.markdown 2018-06-19 11:54:07 -07:00
Chris 2e9aed6d2b Add AzureStack documentation links 2018-06-18 11:40:21 -07:00
Quinn Diggity c943caf1a5 website: fix for typo in resources.html.md (#18266)
should be provides, not provies
2018-06-18 08:37:57 -07:00
Quinn Diggity b2df1d424f website: fixes typo (#18267)
should be maximum not maxiumum
2018-06-18 08:36:28 -07:00
Paddy 931f8ecc41 Fix broken links to /docs/enterprise/run/api.html
We had a couple broken links pointing to the docs for the run API. This
updates them to the new location.
2018-06-13 12:19:07 -07:00
cabillman 3dc1ce3036 docs: Fix small error in resource targeting docs (#17890) 2018-06-11 12:34:25 -07:00
Peter Hoeg Steffensen 8a5cedaae6 Docs: syntax fix - Removed quotation marks (#18136)
The example for parsing multiple providers to a module had quotation marks around the keys. This does not seem to be the correct format
2018-06-11 12:08:23 -07:00
Jaye Doepke 596c7b2638 docs typo 2018-06-11 12:04:03 -07:00
SpencerBrown 3324de35b6 Fix typo in doc: "The support operators are" -> "The supported operators are" 2018-06-11 11:50:18 -07:00
Ben Turner 1de8d171ae Small typo fix 2018-06-11 11:47:54 -07:00
nicklathe e552897c52 Fix typo (wit -> with) for etcdv3 backend docs 2018-06-11 11:46:17 -07:00
Chris fba58d3a04 add provider documentation links 2018-06-05 16:09:30 -07:00
Chris f80aca5d98 add flexibleengine provider documentation links 2018-05-31 15:35:55 -07:00
Chris c294fd7f1f remove runscope links 2018-05-31 11:22:56 -07:00
Chris fbb0c88c21 add runscope provider links 2018-05-29 16:18:33 -07:00
Alexis Grant 170a1530d1 website: Example of the Git+SSH protocol for bitbucket module sources 2018-05-24 15:32:19 -07:00
Chris ddf5e581ca add Nutanix 2018-04-30 11:04:59 -07:00
Chris 1c781d7b9e add a few community providers 2018-04-30 09:52:57 -07:00
Kevin Faulkner b39ec8b6ff
fix incorrect url
switch guthub with github global
2018-04-21 15:56:42 -04:00
Emil Nikolov 8d3bcd4f87 website: Fix repetition of "directly" in file provisioner docs 2018-04-16 16:27:52 -07:00
Chris Griggs 05291ab982
Merge pull request #17845 from cgriggs01/d-add-com-prov
Website: add two community providers
2018-04-12 09:43:20 -07:00
Chris 74c62b62b6 add two community providers 2018-04-11 16:26:28 -07:00
Chris Griggs b0f0dd2795
fix typo 2018-04-09 11:06:06 -07:00
Chris Griggs 3ab13fefad
Fix typo 2018-04-09 11:05:36 -07:00
Chris 36539f1a25 add VMware NSX-T links to provider index pages 2018-04-09 10:52:57 -07:00
Dominik-K 9da5f5a9f0 docs: no interpolations in `lifecycle` attribute (#3116) (#17695)
* docs: interpolations in `lifecycle` unsupported currently
2018-04-05 15:06:22 -04:00
James Bardin 060a3bc6d2
Merge pull request #17748 from reancloud/winrm-ntlm
Support NTLM for WinRM communicators.
2018-04-05 09:44:11 -04:00
James Bardin f62ef7677c
Merge pull request #17618 from outsideris/fix-registry-document-parameter
website: remove an unnecessary parameter for API
2018-04-05 08:54:14 -04:00
James Bardin c1edaadc7b
Merge pull request #17403 from rwc/hab-provisioner-updates
[provisioner-habitat] Fix package channel honoring and documentation
2018-04-04 16:55:24 -04:00
James Bardin f51879b4f9
Merge pull request #17496 from normanjoyner/bugfix/cloud-index-grammar
fix grammar in description
2018-04-04 16:43:18 -04:00
James Bardin 16d0e1225c
Merge pull request #17776 from haines/s3-backend-docs
Add required DynamoDB IAM permissions for state locking to S3 backend docs
2018-04-04 15:32:46 -04:00
Andrew Haines b6fbb42be6
Add required DynamoDB IAM permissions for state locking to S3 backend docs 2018-04-04 10:38:52 +01:00
Andrew Haines 6c2b2515bd
Update reference to deprecated argument in S3 backend docs 2018-04-04 09:20:08 +01:00
James Bardin ff8d02cd25 remove old warning care create_before_destroy
Create-before-destroy dependencies are automatically ordered correctly
by terraform. Remove the old notice about requiring all dependencies to
have the same setting for create_before_destroy.
2018-04-03 17:37:36 -04:00
Joe Khoobyar 852a74c49d first attempt at supporting NTLM authentication in Terraform 2018-03-30 21:11:53 -04:00
Martin Atkins 0a5059df15 website: Stronger statements on when to use named workspaces
In an earlier commit we added the "Best Practices" situation to try to
clarify the intended uses of named workspaces and to warn against using
them as an alternative to system decomposition.

However, the prior statement was cautious in its recommendations in the
interests of being pragmatic, and as a result we've seen that users have
in some cases misunderstood or disregarded these recommendations.

The new "When to use Multiple Workspaces" section aims to be more explicit
that having multiple separate Terraform configurations is the preferred
solution for many use-cases, and that workspaces are intended for a
more limited set of use-cases around convenient development and testing.
It also emphasizes the analogy to version control branches that was just
a footnote in the prior text, to help the reader become familiar with the
concept by relating it to a concept and workflow they are hopefully
already familiar with.

This new section also attempts to provide a more elaborate description of
the proposed alternative when the goal is system decomposition. In the
long run some of this content would probably be better placed elsewhere
since it is useful advice even for users who never discover named
workspaces, but it can live here for the time being to limit the scope of
this change until we are ready to make more comprehensive revisions to
the docs in this area.

Finally, the introductory documentation here is adjusted slightly in
preparation for the intended future expansion of workspaces to include
stored variable values and, for more tailored backends like Terraform
Enterprise, a full log of prior operations. More revisions will be
required to cover the specifics of this later, but this new framing will
hopefully help users form a mental model of named workspaces that has
room for these future enhancements and the corresponding concept in
Terraform Enterprise, rather than our previous framing that workspaces
are fundamentally just named states.
2018-03-27 18:36:36 -07:00
Chris Griggs fd43298ffe
Update major-index.html.markdown 2018-03-23 12:57:51 -07:00
Chris Griggs 441194b396
fixes 2018-03-23 12:57:25 -07:00
Matthew Frahry c44e901bf0
Update index.html.markdown 2018-03-23 13:48:13 -06:00
Chris 043c74178f add oracle pass links 2018-03-23 12:31:36 -07:00
Sébastien Maccagnoni 31f2e6a463 website: Correct descriptions on provider category pages 2018-03-21 09:17:24 -07:00
Sander van Harmelen 36777e3022
Add a line to describe the new Chef provisioner option (#17640) 2018-03-20 12:16:17 +01:00
Outsider 815d4db368
website: remove an unnecessary parameter for API 2018-03-18 19:02:05 +09:00
Logan Rakai dd935588f7
Typo Correction 2018-03-18 00:01:30 -06:00
Brian Flad 9b295e2bc7 docs/internal: Fix sidebar navigation for Remote Service Discovery page 2018-03-13 12:49:49 -04:00
Logan Rakai 84637534f4
Grammar Improvement 2018-03-10 09:30:22 -07:00
Martin Atkins 6aefa5835c Merge #17218: Add -auto-approve to "terraform destroy" for consistency 2018-03-08 17:42:15 -08:00
Seth Vargo 12f8c90a51 website: Recommend SVG instead of PNG for graph output 2018-03-08 16:22:21 -08:00
Andrei Ivanov 53110e5c1f - fixed a trivial typo 2018-03-07 17:57:25 +02:00
Kristiyan Nikolov 999f9096c1 provisioner/local-exec: Allow passing environment variables 2018-03-05 15:58:49 -08:00
Chris Griggs 6f98b4d4be website: two more community providers 2018-03-05 15:40:08 -08:00
Norman Joyner 2184ba1ed0
fix grammar in description 2018-03-03 11:04:56 -05:00
Chris Griggs 1da2152482 website: Link to MongoDB Atlas community provider 2018-02-28 16:47:56 -08:00
Nick Fagerlund 66ff8f8bed website: Deprecation notes about "terraform push"
Also:

- In the getting started guide, the TFE content was all tailored to the older
  run-locally workflow. I've replaced it with some brief explanation and a link
  to the dedicated TFE getting started guide.
- Fixed a sidebar link glitch in the configuration section. (Both "Terraform"
  and "Terraform Enterprise" were marked as active if you were on the TFE page.)
- Renamed the "Terraform Enterprise" page "Terraform Push." (Some people have
  gotten confused and landed on this page when trying to set up the `atlas`
  remote backend.)
2018-02-27 14:48:04 -08:00
azban 3f2f07d5d0 website: don't document unimplemented salt-masterless grains_file 2018-02-26 11:06:25 -08:00
Uriel Corfa 07a20365de cli: "terraform state list" -id argument
A new -id option to "terraform state list" which constraints the output of the command to resources whose id is equal to the flag value.
2018-02-26 10:54:48 -08:00
Rob Campbell bbd3d7f7a2 Updates the capitalization of the bind documenation for habitat
provisioner. Also fixes an issue where channels and URLs are
not honored in the initial package install.

Signed-off-by: Rob Campbell <rcampbell@chef.io>
2018-02-21 11:47:45 -05:00
chrisjob1021 10bb21e9c4 provisioner/local-exec: Optional "working_dir" argument
This new argument allows overriding of the working directory of the child process, with the default still being the working directory of Terraform itself.
2018-02-16 11:31:11 -08:00
James Bardin e41b29d096
Merge pull request #17354 from hashicorp/jbardin/known_hosts
Verify host keys in ssh connections
2018-02-15 18:33:41 -05:00
James Bardin 5458ea9aff update etcd documentation links
Add missing link to ectdv3.

Update etcd v2 link to the current v2 README, which highlights the pending
deprecation.
2018-02-15 17:13:24 -05:00
James Bardin 194a4e88e2 add host_key and bastion_host_key to the docs 2018-02-14 15:35:41 -05:00
Brian Flad 5576b889ab docs/import: Remove out of date listing of importable resources and note where to find the information 2018-02-14 12:02:45 -05:00
Nolan Davidson 848375b9a6 [provisioner-habitat] Allow custom service name (#17196)
This change allows the Habitat supervisor service name to be
configurable. Currently it is hard coded to `hab-supervisor`.

Signed-off-by: Nolan Davidson <ndavidson@chef.io>
2018-02-13 14:11:59 -06:00
Joshua Carp 52f6abf47b Document aws_route53_record importable (#17306)
See https://github.com/hashicorp/terraform-website/issues/20
2018-02-13 14:07:05 -06:00
JeongHoon Byun (aka Outsider) 8566ade0c3 website: fix incorrect anchor links for registry API pagination 2018-02-12 19:36:52 -08:00
Michael Mell 4b598860bb website: document the naming conventions for outputs 2018-02-12 19:33:57 -08:00
Alvaro Miranda Aguilera bf18ad3eb9
Update cloud-index.html.markdown 2018-02-12 11:08:28 +01:00
Justin Campbell c3872b42b5 website: Clarify Registry examples behavior 2018-02-09 12:51:19 -05:00
Nick Fagerlund f0a009c573 website: private module registry documentation 2018-02-07 09:15:55 -08:00
Chris Griggs 1e12e49878 Website: Restructure Community providers list (#17286)
* restructure community providers list

* add vRA

* add Gandi provider

* re-organize
2018-02-06 15:35:12 -08:00
Chris Griggs 4f38f4f9eb Website Update provider name (#17270)
* edit prvoider name
2018-02-02 12:17:30 -06:00
Laura Martin 6e1e614a56 Change -force to -auto-approve when destroying
Since an early version of Terraform, the `destroy` command has always
had the `-force` flag to allow an auto approval of the interactive
prompt. 0.11 introduced `-auto-approve` as default to `false` when using
the `apply` command.

The `-auto-approve` flag was introduced to reduce ambiguity of it's
function, but the `-force` flag was never updated for a destroy.

People often use wrappers when automating commands in Terraform, and the
inconsistency between `apply` and `destroy` means that additional logic
must be added to the wrappers to do similar functions. Both commands are
more or less able to run with similar syntax, and also heavily share
their code.

This commit updates the command in `destroy` to use the `-auto-approve` flag
making working with the Terraform CLI a more consistent experience.

We leave in `-force` in `destroy` for the time-being and flag it as
deprecated to ensure a safe switchover period.
2018-02-01 00:14:42 +00:00
Aidan Feldman c9481ab012 website: improve the Module Sources documentation
Better section linking within Module Sources page, and centralize the documentation on Terraform Registry sources.
2018-01-31 11:52:14 -08:00
Blake Stoddard f918fb8583 website: fix ordering of interpolation functions 2018-01-31 11:50:00 -08:00
Chris Griggs 3d23a14a7a Website: Provider link (#17246)
* Website: add PANOS links

* fix type

* edit
2018-01-31 10:29:48 -06:00
Cameron Childress 5ebb9d818d Workspaces are supported locally. 2018-01-30 10:40:07 -07:00
Chris Griggs 61ff3422b7 website: even more community providers 2018-01-29 15:49:21 -08:00
Brian Flad 1ff724f333
Merge pull request #17087 from hashicorp/f-versioning-docs-updates
Documentation: Add version specifier information to provider version docs and clarify pessimistic specifier
2018-01-25 14:56:08 -05:00
James Bardin 142dd6632b
Merge pull request #17126 from hashicorp/module-examples-clarification
website: Clarify submodule examples location
2018-01-25 14:04:08 -05:00
James Bardin aba18f2588
Merge pull request #17184 from Haegin/master
Correct website typo
2018-01-25 14:03:23 -05:00
Marco Molteni 5f27730ca3
Update init.html.markdown
Fix typo and replace some "it's" with "it is", according to rules for written English.
2018-01-24 18:41:42 +01:00
Harry Mills 856b852ac2
Correct typo 2018-01-24 11:02:12 -05:00
Chris Griggs 02531b237c Website Docs: add community providers (#17149)
* add community providers

* add Infoblox

* change ACME github org to vancluever
2018-01-22 16:31:52 -06:00
Rubén González 944a98f42d website: correct link from file interpolation function to path information variables 2018-01-22 11:35:33 -08: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
Chris Griggs 0e93e0c2b0 website: fix typo on community provider index page 2018-01-17 10:38:10 -08: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 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 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 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 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
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
Paul Stack 191cf283d5 backend/manta: Support Triton RBAC
Triton Manta allows an account other than the main triton account to be used via RBAC.

Here we expose the SDC_USER / TRITON_USER options to the backend so that a user can be specified.
2018-01-03 12:12:46 -08:00
Clint f43d66e143
Revert "Restructure terraform.io to include provider categories (#16934)" (#16966)
This reverts commit 7481c113ee.
2017-12-20 17:25:43 -06:00
Chris Griggs 7481c113ee Restructure terraform.io to include provider categories (#16934)
* add catagory files

* try new source path

* cleaning up formatting

* fixin

* add all providers to providers index page

* add descriptions

* add link to form and first two providers

* small edits

* small edits

* small changes

* add community providers and decription edit from marketing

* add some lines to improve design

* fix typos
2017-12-20 16:26:41 -06:00
Clint a8f08faab5
copy doc note from terraform-providers/terraform-provider-aws/2162 (#16940) 2017-12-19 10:29:55 -06:00
Nic Cope 011841124b Support 'customer supplied encryption keys' in the GCS backend
https://cloud.google.com/storage/docs/encryption#customer-supplied

GCS state created using customer supplied encryption keys can only be read or
modified using the same key.
2017-12-17 19:27:52 -08:00
Kevin Fishner b13945f53c
Merge pull request #16931 from nfagerlund/dec2017_private_git_modules
docs: Clarify the use of private github repos with TFE
2017-12-15 16:04:46 -08:00
Nick Fagerlund 40fefbd5e8 docs: Clarify the use of private github repos with TFE
The machine user/password approach is wrong for TFE; use SSH keys instead.
2017-12-14 17:35:50 -08:00
James Bardin ccb90d5b6b add gcs to the backends that support workspaces
Also add the term "workspaces" to the `prefix` documentation.
2017-12-14 10:25:03 -05:00
James Bardin 03ddb9134a
Merge pull request #16903 from rwcee/build-service-auth-token
Adds "build_auth_token" option to Habitat Provisioner
2017-12-14 09:18:50 -05:00
Rob Campbell 29f70bc112 Adds build_auth_token to Habitat Provisioner
First successful run with private origin and HAB_AUTH_TOKEN set

Update struct, schema, and decodeConfig names to more sensible versions

Cleaned up formatting

Update habitat provisioner docs

Remove unused unitstring
2017-12-12 19:46:42 -05:00
Maciej Skierkowski 4a3c65984a Update not on TFE Module Registry availability 2017-12-11 19:04:54 -08:00
Martin Atkins c729bdff43 website: guide for using the S3 backend with multiple AWS accounts
Users commonly ask how the S3 backend can be used in an organization that
splits its infrastructure across many AWS accounts.

We've traditionally shied away from making specific recommendations here
because we can't possibly anticipate the different standards and
regulations that constrain each user. This new section attempts to
describe one possible approach that works well with Terraform's workflow,
with the goal that users make adjustments to it taking into account their
unique needs.

Since we are intentionally not being prescriptive here -- instead
considering this just one of many approaches -- it deviates from our usual
active writing style in several places to avoid giving the impression that
these are instructions to be followed exactly, which in some cases
requires the use of passive voice even though that is contrary to our
documentation style guide. For similar reasons, this section is also
light on specific code examples, since we do not wish to encourage users
to just copy-paste the examples without thinking through the consequences.
2017-12-08 16:53:43 -08:00
Nolan Davidson a50a383946 Additional work on the habitat provisioner.
Signed-off-by: Nolan Davidson <ndavidson@chef.io>
2017-12-07 16:29:30 -08:00
Paul Banks 06f067b4e6
Update registry API docs with browse and search (#16846)
* Verify discovery works without trailing slash on discovery URL

* Update registry API docs with browse and search endpoints

* Add sample request/responses

* Add comment to test to indicate expecations

* Fix typo

* Remove trailing slash weirdness
2017-12-05 19:38:16 +00:00
Kevin Fishner 3538f832b0 website: update "atlas" backend to recommend using ATLAS_TOKEN environment variable 2017-12-05 11:34:05 -08:00
Andrew d6b8e27086 website: Document required S3 IAM actions for S3 backend 2017-12-05 11:31:31 -08:00
Andrew 2b68f4393e website: explanation of TF_VAR_ precedence
Fixes #15595
2017-12-05 11:27:31 -08:00
Sander van Harmelen aaedf255c3 backend/s3: allow skipping the region check (#16757)
Without the possibility to skip this check, it’s not possible to use a custom region with a third-party service that mimicks the S3 API.
2017-12-05 11:19:36 -08:00
David Meyer fe0cc3b0db config: new "rsadecrypt" interpolation function
The primary use-case is to decrypt windows passwords obtained from AWS, but this function is generic and may find other purposes too.
2017-12-05 11:06:32 -08:00
mizuno 01c1142589 config: new "timeadd" interpolation function 2017-12-05 10:46:12 -08:00
Nic Cope 5c58ef16f7 provider/terraform: deprecate "environment" in favor of "workspace" 2017-12-05 10:18:28 -08:00
Martin Atkins ab2dc0d987 website: "terraform push" version matching requirement
It's important to match the version of local Terraform with the remote Terraform version in Terraform Enterprise when using the "terraform push" command, or else the uploaded configuration package may not be compatible.
2017-12-05 09:28:31 -08:00
Allison Ravenhall fe33661b59 website: update "terraform env" reference to "terraform workspace" 2017-12-05 08:54:25 -08:00
James Bardin 0891bd2c88
Merge pull request #16778 from MichaelKueller/patch-1
fixed typo
2017-12-04 19:23:36 -05:00
Cameron Childress ae33b68e68 website: An example of referencing resources with "count" 2017-12-04 09:43:40 -08:00
David Celis 714169502a website: note that plugin_cache_dir must already exist
This directory is not automatically created by Terraform
2017-11-29 15:04:08 -08:00
Gregory McCue b9aee64f3b website: correct intro docs about terraform init -upgrade
"-upgrade" was misspelled as "-update".
2017-11-29 14:14:48 -08:00
Michael Küller f7aa22fd81
fixed typo 2017-11-28 15:45:45 +01:00
Alexandru Ungur 9f1a773655 website: fix broken link from resources to multiple provider instances 2017-11-20 17:05:35 -08: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
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 40b7b4c133 website: Further clarification on how providers and modules interact
The initial pass of this section had some remaining ambiguities, so this
is a second revision that attempts to use terminology more consistently
and to not some additional behaviors that were not described in the
initial version.
2017-11-09 11:08:09 -08:00
Martin Atkins f3a2165587 website: Use "Input Variable" as full term for var.foo
We've historically been somewhat inconsistent in how we refer to the
type of object defined by "variable" blocks in configuration. Parts of
our documentation refer to them as "input variables" or just "variables",
while our implementation refers to them as "user variables".

Since Terraform Registry is now also referring to these as "Inputs", here
we standardize on "Input Variable" as the fully-qualified name for this
concept, with "variable" being a shorthand for this where context is
obvious. Outside of this context, anything that can be referred to in
an interpolation expression is generically known as a "variable", with
Input Variables being just one kind, specified by the "var." prefix.

While this terminology shift is not critical yet, it will become more
important as we start to document the new version of the configuration
language so we can use the generic meaning of "variable" there.
2017-11-09 11:08:09 -08:00
Martin Atkins 3d33a36bf6 website: update terminology used in provider config docs
The bulk of the text on this page hasn't been revised for some time and
so parts of it were using non-idiomatic terminology or not defining terms
at all.

The main goal of this revision is to standardize on the following terms:

- "provider configuration" refers to a specific provider block in config,
  as a distinct idea from the provider _itself_, which is a singleton.

- "Default" vs. "additional" provider configurations, distinguishing
  those without and with "alias" arguments respectively. These are named
  here so that we can use this terminology to describe the different
  behaviors of each for the purposes of provider inheritance between
  modules.
2017-11-09 11:08:09 -08:00
James Belchamber ec2281106f Adding documentation for all supported imports in the Heroku provider (#16312) 2017-11-06 16:57:57 +00:00
Dominik Lekse 323654a716 Fixed documentation of azurerm backend advanced access variables (#16552)
Signed-off-by: Dominik Lekse <dominik@lekse.de>
2017-11-06 16:54:30 +00:00
Martin Atkins 3b180d7f8a
Merge #16543: Bring the "terraform" provider back into core 2017-11-03 12:08:31 -07:00
Paul Stack 002200b8f1 websites/workspaces: Add Manta to the list of workspace backends (#16545)
As Manta backend has now been merged, this should have been done in the same PR - apologises for that
2017-11-03 15:26:19 +01:00
Tom Harvey 25c3a879db
Adding `azurerm` to the list of supported backends (#16531)
Fixes #16530
2017-11-03 14:57:43 +01:00
Martin Atkins bcc5dffea2 provider/terraform: import terraform provider back into core 2017-11-02 10:48:20 -07:00
Martin Atkins a3ced1a367 provider/terraform: reorganize for merge into core
The "terraform" provider was previously split out into its own repository,
but that turned out to be a mistake due to how tightly it depends on
aspects of Terraform Core.

Here we prepare to bring it back into the core repository by reorganizing
the directory layout to conform with what's expected there.
2017-11-02 10:46:31 -07:00
Martin Atkins 3da5fefdc1 command: Allow TF_DATA_DIR env var to override data directory
This allows the user to customize the location where Terraform stores
the files normally placed in the ".terraform" subdirectory, if e.g. the
current working directory is not writable.
2017-11-01 16:55:23 -07:00
James Bardin 229c70cabe
Merge pull request #16296 from stack72/manta-backend
Migrate Manta Remote state to be a backend
2017-11-01 18:07:26 -04:00
Benjamin Farley d6abdd14e7 website: correction of chunklist interpolation function example 2017-11-01 10:48:34 -07:00
Martin Atkins 4fa2b8c519 website: updated docs for the module registry protocol
Now includes more complete information on usage of private registries and
updates the module registry API documentation to include the new
version-enumeration endpoint along with describing Terraform's discovery
protocol.
2017-11-01 07:22:20 -07:00
Martin Atkins 91a4af9c8a website: rewrite modules usage documentation for new features
The modules mechanism has changed quite a bit for version 0.11 and so
although simple usage remains broadly compatible there are some
significant changes in the behavior of more complex modules.

Since large parts of this were rewritten anyway, I also took the
opportunity to do some copy-editing to make the prose on this page more
consistent with our usual editorial voice and to wrap the long
lines.
2017-11-01 07:22:20 -07:00
Martin Atkins 400038eda4 command: "terraform apply" uses interactive confirmation by default
In the 0.10 release we added an opt-in mode where Terraform would prompt
interactively for confirmation during apply. We made this opt-in to give
those who wrap Terraform in automation some time to update their scripts
to explicitly opt out of this behavior where appropriate.

Here we switch the default so that a "terraform apply" with no arguments
will -- if it computes a non-empty diff -- display the diff and wait for
the user to type "yes" in similar vein to the "terraform destroy" command.

This makes the commonly-used "terraform apply" a safe workflow for
interactive use, so "terraform plan" is now mainly for use in automation
where a separate planning step is used. The apply command remains
non-interactive when given an explicit plan file.

The previous behavior -- though not recommended -- can be obtained by
explicitly setting the -auto-approve option on the apply command line,
and indeed that is how all of the tests are updated here so that they can
continue to run non-interactively.
2017-11-01 06:54:39 -07:00
stack72 1fd0f803e4 Migrate Manta Remote state to be a backend
This PR changes manta from being a legacy remote state client to a new backend type. This also includes creating a simple lock within manta

This PR also unifies the way the triton client is configured (the schema) and also uses the same env vars to set the backend up

It is important to note that if the remote state path does not exist, then the backend will create that path. This means the user doesn't need to fall into a chicken and egg situation of creating the directory in advance before interacting with it
2017-10-30 18:36:50 +02:00
Greg Oliver b5d3559d2d website: refine the description of the azurerm backend 2017-10-27 17:26:37 -07:00
Florian Forster 927085289d backend/remote-state/gcs: Implement the "region" config option.
This allows to select the region in which a bucket is created.
This copies behavior from the Google Cloud provider.
2017-10-27 16:52:21 -04:00
Florian Forster 9583d0945c backend/remote-state/gcs: Add support for the GOOGLE_PROJECT environment variable.
This copies behavior from the Google Cloud provider.
2017-10-27 16:52:21 -04:00
Florian Forster 52e6159219 backend/remote-state/gcs: Improve "bucket" and "credentials" documentation. 2017-10-27 16:52:21 -04:00
Florian Forster df386d3133 backend/remote-state/gcs: Automatically create the bucket if needed.
This resurrects the previously documented but unused "project" option.
This option is required to create buckets (so they are associated with the
right cloud project) but not to access the buckets later on (because their
names are globally unique).
2017-10-27 16:52:21 -04:00
Florian Forster 5205c63bc9 website/docs/backends/types/gcs.html.md: Update.
* Remove the (unused) "project" option.
* Mark the "credentials" option as optional; document behavior when
  unset.
* Mark the "path" option as deprecated (was: legacy) to match
  Terraform's terminology.
2017-10-27 16:52:21 -04:00
Florian Forster 14bfbf0617 backend/remote-state/gcs: Document the "prefix" option.
"state_dir" has been renamed to "prefix" to better fix the GCS
terminology.
2017-10-27 16:51:21 -04:00
Brandon Hops dceecdc047 website: dyn_record can now be imported
Importable as of terraform-providers/terraform-provider-dyn#19 .
2017-10-26 12:03:24 -07:00
JJ Asghar 5ae892fdf2 provisioner/chef: doc example of ssl_verify_mode 2017-10-24 14:47:42 -07:00
Aleksejs Sinicins ece099f453 website: fix "contains" interpolation example 2017-10-17 07:25:09 -07:00
Chris Griggs 5fb1fe9de8 Update README guidelines for module registry (#16223) 2017-10-12 14:22:58 +01:00
Gauthier Wallet ed9ba576e3 core: New interpolation function "chunklist"
This turns a list into a list of lists with each element (apart from possibly the last) being the given length.
2017-10-10 11:56:13 -07:00
Patrick Decat 00c3367dda website: Replace `~` by `$HOME` in documentation of TF_PLUGIN_CACHE_DIR 2017-10-03 18:34:22 -07:00
James Bardin 91442b7146 Merge pull request #15680 from brunomcustodio/etcdv3-backend
[WIP] etcd v3 backend with lock support.
2017-10-03 14:15:58 -04:00
James Bardin d477d1f6d4 Merge pull request #15553 from bonifaido/custom_s3_backend
Allow non-AWS S3 backends
2017-10-02 19:39:48 -04:00
James Bardin da0e74276a fix provider with local value test and docs
Make sure this fails during destroy

Add a note in the documentation that local values may fail during
destroy.
2017-09-29 17:14:07 -04:00
Martin Atkins 34956cd124 website: Document the plugin cache
Since we don't currently auto-install provisioner plugins this is
currently placed on the providers documentation page and referred to as
the "Provider Plugin Cache". In future this mechanism may also apply to
provisioners, in which case we'll figure out at that point where better
to place this information so it can be referenced from both the provider
and provisioner documentation pages.
2017-09-29 14:03:09 -07:00
Martin Atkins f19bf25945 website: don't recommend "providers" block in CLI config
This mechanism for configuring plugins is now deprecated, since it's not
capable of declaring plugin versions. Instead, we recommend just placing
plugins into a particular directory, which is now documented on the
main providers documentation page and linked from the more detailed docs
on plugins in general.
2017-09-29 14:03:09 -07:00
Martin Atkins adbb9d0cf9 website: checkpoint settings refer to CLI config file docs
Previously we described inline here where to put the .terraformrc file,
but now we have a separate page all about this file that gives us more
room to describe in more detail where the file is placed and what else it
can do.
2017-09-29 14:03:09 -07:00
Martin Atkins 35959b8689 website: document explicitly the CLI configuration file
Previously this file was mentioned in passing in a few locations. It now
has enough functionality to warrant its own page.
2017-09-29 14:03:09 -07:00
Martin Atkins c5d8f2ffd2 website: clarify that provider version does not accept interpolations
This fixes #15896.
2017-09-28 12:41:39 -07:00
Ariel Alonso 550ae05819 config: new "transpose" interpolation function
This function takes a map of lists of strings and inverts it so that
the string values become keys and the keys become items within the
corresponding lists.
2017-09-28 10:29:25 -07:00
Martin Atkins 2c782e60fa website: documentation for the shell tab-completion support 2017-09-26 14:01:13 -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
Martin Atkins 4daf624459 website: correct the version when Terraform Registry support was added 2017-09-19 09:54:45 -07: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
James Bardin 50005ec817 Merge branch 'f-registry-docs' into v0.10.6-release 2017-09-18 15:30:31 -05: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
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 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
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
Kaveh Mousavi Zamani 2b8843cc2c "defaults" property for terraform_remote_state
This allows providing default values for keys that might not be set in the retrieved state.
2017-09-13 09:34:00 -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
Bruno Miguel Custodio 524c3934c6
Add TLS support. 2017-09-09 08:03:59 +01:00
Bruno Miguel Custodio 6daf1d9d84
Allow for username and password to be read from envvars. 2017-09-08 23:41:27 +01:00
Bruno Miguel Custodio 8f7b315037
Add documentation. 2017-09-08 23:40:05 +01:00
Shih Oon Liong bcfb63098a website: Example of using maps with local values 2017-09-08 10:33:56 -07:00
Justin Campbell fd4cc78839 docs: Add local values usage example 2017-09-07 13:49:33 -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
Alex Chan a496b45c2c
Add some missing quotes in the Module docs 2017-09-06 10:44:59 +01:00
Chris Doherty 793b986860 Cosmetic doc changes:
- Having a map 'foo' with a key 'foo' is confusing.
  - it's -> its
2017-09-05 15:28:36 -07:00
Tom Harvey cbb512d374 Updating the AzureRM Backend Documentation (#15990)
* Updating to reference this has been renamed

* Clarifying Blob Storage
2017-09-04 07:56:16 +01:00
Martin Atkins 6a4498ba76 provisioner/salt-masterless: add "_file" suffix to "minion_config"
In #15870 we got good feedback that it'd be more useful to have the
various filename-accepting arguments on this provisioner instead accept
strings that represent the contents of such files, so that they can be
generated from elsewhere in the Terraform config.

This change does not achieve that, but it does make room for doing this
later by renaming "minion_config" to "minion_config_file" so that we
can later add a "minion_config" option alongside that takes the file
content, and deprecate "minion_config_file".

Ideally we'd just implement the requested change immediately, but
unfortunately the release schedule doesn't have time for this so this is
a pragmatic change to allow us to make the full requested change at a
later date without backward incompatibilities.

This change is safe because the salt-masterless provisioner has not yet
been included in a release at the time of this commit.
2017-08-30 13:55:28 -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
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
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
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
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
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
Stephen Weatherford 5d5f8224d2 provisioner/local-exec: allow user to specify interpreter 2017-08-22 10:16:36 -07:00
Martin Atkins 2e0c1d07ae Merge #15793: Locking support in HTTP remote backend 2017-08-22 09:43:38 -07:00
Martin Atkins fd88c98c20 website: documentation for local values 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
Ross McFarland e5029de439 Update remote/http doc to match locking changes 2017-08-20 05:59:34 -07:00
Sebastian Maj 28b5708fef config: jsonencode function to support nested lists and maps 2017-08-18 09:57:57 -07:00
James Bardin 216a68a41b update backend docs to reflect new azurerm name
The backend has been renamed. Using the old name in the config will
trigger a deprecation warning, but the implementation and the
documentation is the same.
2017-08-17 12:55:48 -04:00
Peter McAtominey f9e8e54835 backend: convert Azure remote state to a backend
Added locking support via blob leasing (requires that an empty state is
created before any lock can be acquired.

Added support for "environments" in much the same way as the S3 backend.
2017-08-17 16:32:17 +01:00
James Bardin 18af7750d4 Merge pull request #14720 from sevagh/master
Add salt-masterless provisioner
2017-08-16 16:47:46 -04:00
JWal31 117f44bcda config: Add "flatten" interpolation function
This function turns a list of lists or any arbitrary number of nested
lists into a flat list of primitive values.
2017-08-16 13:46:19 -07:00
Tom Harvey 81f9c78122 Adding `resource_group_name` back in, fixes #15610 (#15809) 2017-08-15 11:54:48 +01:00
Ross McFarland 06b4b509d7 Doc state/http supports_locking 2017-08-13 09:49:49 -07:00
James Bardin ea3e87b584 Merge pull request #15768 from hashicorp/jbardin/remote-import
Don't ForceLocal for the import backend
2017-08-11 09:12:46 -04:00
Martin Atkins 4bc88d2585 website: correct the spelling of the -from-module arg to "terraform init" 2017-08-10 17:56:11 -07:00
James Bardin 4034f988df update import command docs
Fix the -state and -state-out wording to be consistent with other
commands. Remove the erroneous reference to remote state in the website
version of the flag description.
2017-08-09 14:01:45 -04:00
James Bardin 2597500b47 reword init documentation for consistency
Reword the paragraph to match the voice and point of view of the rest of
the section. Use the term general termn "plugin" rather than "provider"
2017-08-07 17:28:11 -04:00
Clint 399856001a Merge pull request #15745 from ctavan/improve-provider-plugin-docs
Document how to provide provider plugin overrides
2017-08-07 14:40:14 -05:00
Greg Swift 944a9301df Fix typo of additional 2017-08-07 11:47:42 -05:00
Sevag Hanssian 08670763aa Add salt-masterless provisioner doc 2017-08-07 10:00:29 -04:00
Christoph Tavan b413061fd8
Document how to provide provider plugin overrides
The docs did not mention that it is possible to provide overrides for specific
plugins by placing them into a `terraform.d/plugins/os_arch/` directory inside
the working dir.

Closes #15727.
2017-08-07 10:53:40 +02:00
James Bardin eadda50f02 Merge pull request #15652 from hashicorp/jbardin/state-command
state commands with remote state backends
2017-08-03 13:29:45 -04:00
James Bardin 55d18dcef2 update state rm amd mv docs
Update the documentation to match the current behavior, and make the
usage output and website docs match.
2017-08-03 13:24:23 -04:00
Nick Fagerlund 8c7bfde292 Docs: Fix broken links and a broken example
These links were casualties of the core/provider split. There was also
an example that suggested cloning a subdirectory of a git repo.
2017-08-02 20:03:41 -07:00
James Bardin efb007542b Merge pull request #15666 from hashicorp/f-init-from-module
command: terraform init -from-module=...
2017-07-31 09:32:17 -04:00
Martin Atkins 8a7a0a7459 command: terraform init -from-module=...
This restores the earlier behavior of the first positional argument to
terraform init in 0.9, but as a command line option.

The positional argument was removed to improve consistency with other
commands that take a working directory as their first positional argument.
It was originally intended that this functionality would return in a
later release along with some other general improvements to Terraform's
module handling, but we're introducing here an interim solution that
uses the existing module source concept, to allow for easier porting of
workflows that previously depended on the automatic copy behavior.

In a future release this feature may change again as the module
improvements design firms up, but we expect it to be broadly compatible
with this temporary state.
2017-07-28 15:23:29 -07:00
James Bardin f63b216016 Update S3 backend docs to reflect new workspaces
Explain the path generated for state files when using workspaces.
2017-07-28 15:08:24 -04:00
Martin Atkins 23ef0e3247 website: more-elaborate "terraform init" docs
The "terraform init" command has a lot of different functionality now,
making it hard to follow all of the options in the previous presentation.
Instead, here we describe each of the steps and its associated options
separately, hopefully making it easier to understand what each option
relates to.

In addition, much of the detail around backend partial configuration is
factored out into the backend configuration page, where it seems more
"at home"; previously it felt hard to follow exactly how partial
configuration would be used, due to the information on it being split over
two different pages.
2017-07-25 08:25:49 -07:00
Kyle McCullough c2d86ed60f
website: documentation for fmt -check flag 2017-07-21 14:37:15 -05:00
Martin Atkins f6dace3476 website: document the Checkpoint service and how to disable it
This is documented for all other Hashicorp products using this service but
was missed for Terraform. This serves as a disclosure of the fact that
Terraform reaches out to a Hashicorp service, an explanation of the
purpose of that request, and instructions on how to disable it in
environments where it is inappropriate or cannot be supported due to a
firewall or other connectivity restrictions.
2017-07-18 16:48:16 -07:00
Martin Atkins da0aec1b32 website: attempt to clarify "terraform import" usage docs
Based on feedback from #15569 that the previous example was too abstract
and did not give enough context about what each of the different arguments
mean and how they generalize to other resource types.
2017-07-18 16:35:14 -07:00
Martin Atkins c57dbebe84 documentation: explain provider dev environment setup
The intent here is just to introduce some initial docs on our recommended
way to develop plugins in the same GOPATH as Terraform itself. The
documentation in this area needs some more fundamental rework as it is
rather outdated and mis-organized, but that's outside the scope of what
this change is trying to achieve.
2017-07-18 14:36:01 -07:00
Dhananjay Balan fd4a2fa262 website: Correct usage for force-unlock command 2017-07-18 09:02:29 -07:00
Nandor Kracser f6c77339f2 Allow non-AWS S3 backends
This commit makes sts, metadata and other AWS related API calls optional, thus the backend initialization will not send non-AWS API tokens to AWS APIs
2017-07-14 13:08:47 +02:00
Robert Liebowitz 8d98fdecac Autoload only .auto.tfvars files 2017-07-05 17:24:17 -07:00
Robert Liebowitz 006744bfe0 Use all tfvars files in working directory
As a side effect, several commands that previously did not have a failure
state can now fail during meta-parameter processing.
2017-07-05 17:24:17 -07:00
Radek Simko 14614a5423 command/validate: Add flag to check that all variables are specified (#13872)
* command/validate: Add flag to check that all variables are specified

* Rename config-only to check-variables
2017-07-05 17:32:29 +01:00
James Bardin 5066fa2151 Merge pull request #13871 from fatmcgav/swift_move_to_backend
Move Swift remote state to backend
2017-06-27 16:23:46 -04:00
David Glasser 039d36bf91 command: add "apply -auto-approve=false" flag
A common reason to want to use `terraform plan` is to have a chance to
review and confirm a plan before running it.  If in fact that is the
only reason you are running plan, this new `terraform apply -auto-approve=false`
flag provides an easier alternative to

    P=$(mktemp -t plan)
    terraform refresh
    terraform plan -refresh=false -out=$P
    terraform apply $P
    rm $P

The flag defaults to true for now, but in a future version of Terraform it will
default to false.
2017-06-27 11:22:26 -07:00
Thomas Schaaf 4b85e91ac5 Update s3.html.md (#15299) 2017-06-27 18:57:38 +03:00
James Bardin 42cbb716b7 Merge pull request #15370 from rowleyaj/s3_backend_workspaces
Add configurable workspace prefix for S3 Backend
2017-06-27 11:44:12 -04:00
Ryan Uber dc53528350 Merge pull request #15379 from bernielomax/bernielomax/fix-private-bitbucket-repo-example
The "Private Bitbucket Repos" example did not work for me. I had to s…
2017-06-26 09:35:13 -07:00
Joe Selman 6f62c0c660 Add google_compute_backend_service to imports (#15275) 2017-06-26 17:34:17 +03:00
Riley Karson c80a21610d provider/google: SQL Database Importability (#15372)
Add `google_sql_database` and `google_sql_database_instance` to Importability page.

@danawillow
https://github.com/terraform-providers/terraform-provider-google/pull/11
https://github.com/terraform-providers/terraform-provider-google/pull/12
2017-06-23 12:15:17 +01:00
Justin Pye 5f5089f77f The "Private Bitbucket Repos" example did not work for me. I had to specify the "ref="as a URL param for this to work. Otherwise Terraform produced the following error:
Error loading Terraform: Error downloading modules: error downloading 'ssh://git@bitbucket.org/acme/foo.git?bar': /usr/bin/git exited with 128: Cloning into '.terraform/modules/yadayada'...
invalid command syntax.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
2017-06-23 11:37:37 +10:00
Alex Rowley 22f36a6e43
Document new field for S3 backend 2017-06-22 21:01:44 +01:00
James Bardin 020959546e add init -verify-plugin to website docs 2017-06-20 13:14:31 -04:00
Martin Atkins a8c58b081c core: -target option to also select resources in descendant modules
Previously the behavior for -target when given a module address was to
target only resources directly within that module, ignoring any resources
defined in child modules.

This behavior turned out to be counter-intuitive, since users expected
the -target address to be interpreted hierarchically.

We'll now use the new "Contains" function for addresses, which provides
a hierarchical "containment" concept that is more consistent with user
expectations. In particular, it allows module.foo to match
module.foo.module.bar.aws_instance.baz, where before that would not have
been true.

Since Contains isn't commutative (unlike Equals) this requires some
special handling for targeting specific indices. When given an argument
like -target=aws_instance.foo[0], the initial graph construction (for
both plan and refresh) is for the resource nodes from configuration, which
have not yet been expanded to separate indexed instances. Thus we need
to do the first pass of TargetsTransformer in mode where indices are
ignored, with the work then completed by the DynamicExpand method which
re-applies the TargetsTransformer in index-sensitive mode.

This is a breaking change for anyone depending on the previous behavior
of -target, since it will now select more resources than before. There is
no way provided to obtain the previous behavior. Eventually we may support
negative targeting, which could then combine with positive targets to
regain the previous behavior as an explicit choice.
2017-06-16 16:36:08 -07:00
James Bardin 9777174be1 Merge pull request #15325 from hashicorp/jbardin/init-docs
update init docs
2017-06-16 18:35:03 -04:00
James Bardin 4bbabb3df0 update init website docs 2017-06-16 18:31:51 -04:00
trung 681661a539 #15291: config/interpolate_funcs: Added contains() function to test if a given element is present in the list 2017-06-16 15:05:19 -07:00
Gavin Williams af5467b9fd website: Update swift backend documentation 2017-06-13 22:04:02 +01:00
Martin Atkins 7ed70bb00e website: new filesystem layout for core/provider split
This repo now contains only the core docs, with other content moving elsewhere.
2017-06-13 11:25:32 -07:00
Jake Champlin c907a1657a
Transfer terraform provider website 2017-06-09 11:34:17 -04:00