Commit Graph

5009 Commits

Author SHA1 Message Date
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
Mitchell Hashimoto b8f7436948
website: address changes from @catsby 2017-08-30 10:47:33 -07:00
Mitchell Hashimoto d4286dcd8c
website: new provider dev program content
This brings back the provider dev program content with a copy change.
Reviewed by Burzin already, requesting review from Clint.
2017-08-28 17:50:39 -07:00
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
clint shryock f291994a3f Guides: remove the provider development program for now 2017-08-10 10:10:57 -05: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
Alex Tasioulis 5f3e76203b Fix titles on partner contact table on provider development program guide
"Website" and "Email" were the wrong way around.
2017-08-08 16:19:49 +01:00
James Bardin a56a97a5f5 mention 'terraform.d/plugins` for automation 2017-08-07 17:35:16 -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
Kelly Brownsberger 40bb7612c1 small typo correction
'used used' => 'used'
2017-08-07 11:52:04 -04: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
Clint 9b9bfb9fec Add provider dev program guide (#15677)
* Add provider dev program guide

Requires assets from https://github.com/hashicorp/terraform-website/pull/12

* editing from feedback

* add spaces after ##
2017-08-02 09:54:26 -05:00
clint shryock 6a869f89bf fix broken/old link in Commands/Workspace 2017-08-01 17:49:32 -05: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
seph 29ebe07e1e Update link to the AWS example 2017-07-24 14:52:29 -05: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
Martin Atkins 0543574383 website: update upgrade-guide for plugin filename convention
This changed close to the release of beta1 to use underscores as the
separator and to use a lower-case "v" to avoid any issues on
case-insensitive filesystems.
2017-07-05 17:36:32 -07: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
Martin Atkins 4a160d7fa0 website: A note about where the root parts of the website live now 2017-06-27 14:40:13 -07: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 63d4c0efe1 website: guide to running Terraform in automation
This guide covers assorted best practices and caveats for running
Terraform within orchestration tools and other automation. It provides
general examples and guidance, with the intent that this advice can be
adapted by the reader to a concrete implementation within a selected
orchestration tool.

This guide is based both on our in-house experience with Terraform
Enterprise and on in-house solutions we are aware of in certain
organizations.
2017-06-16 18:04:21 -07: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
Yuval Greenfield 23dff5124a Warn that amis are region specific (#15312)
* Warn that amis are region specific

To avoid `InvalidAMIID.NotFound`

See https://github.com/hashicorp/terraform/issues/11220

* Add the expected error

* Update build.html.md
2017-06-16 08:18:29 +01: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
Mary Elizabeth bc92696344 Merge pull request #15261 from hashicorp/update-bitbucket-cloud-docs
Add more context about user scopes to bitbucket cloud docs
2017-06-13 12:33:17 -05:00
Eric Ho 62acef9611 lifecycle block not in aws_autoscaling_group (#15268) 2017-06-13 12:28:52 +03:00
Mary Elizabeth Cutrali dfcfcb7f99 add more context to BB Cloud docs
- update content referring to GitHub
- expand on repository fetch
- note scopes that users must have in BB to create webhooks
2017-06-12 13:09:54 -05:00
Martin Atkins 5a57962a32 website: replace "env" command docs with "workspace" command docs
We are replacing this terminology. The old command continues to work for
compatibility, but is deprecated. The docs should reflect the
currently-recommended form.
2017-06-09 16:26:26 -07:00
Martin Atkins 33a266d61c provider/terraform: "workspace" argument instead of "environment"
We are moving away from using the term "environment" to describe separate
named states for a single config, using "workspace" instead. The old
attribute name remains supported for backward compatibility, but is
marked as deprecated.
2017-06-09 15:01:39 -07:00
Martin Atkins 3be1d3148b website: documentation for state workspaces
This replaces the previous documentation on "State Environments", as part
of our intentional terminology shift.
2017-06-09 15:01:39 -07:00
Martin Atkins 55d5e8a689 website: initial v0.10 upgrade guide
Further iteration of this will undoubtedly be needed before the final
release, but this is a start.
2017-06-09 14:03:59 -07:00
Martin Atkins 98ef947ed1 website: correction of heading and usage in "providers" command docs 2017-06-09 14:03:59 -07:00
Martin Atkins fb405ff296 website: new documentation about provider version configuration 2017-06-09 14:03:59 -07:00
Martin Atkins 766f8e5d64 command init: remove confusing uses of "environment" in the usage
"environment" is a very overloaded term, so here we prefer to use the
term "working directory" to talk about a local directory where operations
are executed on a given Terraform configuration.
2017-06-09 14:03:59 -07:00
Martin Atkins eaf5a62197 website: don't recommend to use "terraform init" to clone examples
This form of "terraform init" is vestigial at this point and being phased
out in 0.10. Something similar may return in a later version for
installing modules from a more formal module library, but for now we are
advising to use git manually to simplify the UX for "terraform init".
2017-06-09 14:03:59 -07:00
Martin Atkins d9b8c3cac0 website: "Initialization" section in the getting started guide
It's now required to run "terraform init" to get the provider plugins
installed, so we need to mention that in the intro guide.
2017-06-09 14:03:59 -07:00
Martin Atkins 9a398a7793 command: require resource to be in config before import
Previously we encouraged users to import a resource and _then_ write the
configuration block for it. This ordering creates lots of risk, since
for various reasons users can end up subsequently running Terraform
without any configuration in place, which then causes Terraform to want
to destroy the resource that was imported.

Now we invert this and require a minimal configuration block be written
first. This helps ensure that the user ends up with a correlated resource
config and state, protecting against any inconsistency caused by typos.

This addresses #11835.
2017-06-09 14:03:59 -07:00
Martin Atkins d7d8ea9543 website: Initial docs for the new "providers" subcommand
This will be fleshed out later as part of more holistic documentation for
the new provider plugin separation, but this is some minimal documentation
for just this subcommand.
2017-06-09 14:03:59 -07:00
stack72 6e7ee05392 Merge branch 'gh3424-vgw-route-prop' 2017-06-09 14:13:27 +03:00
Thiago Caiubi 12d6afd1ee Add missing resources to importability section (#15206) 2017-06-09 13:15:18 +03:00
Jay Wang b465b01355 [MS] provider/azurerm: Data Source for Azure Resource Group (#15022)
* Data Source support for Resource Group

* Better message for mismatching locations.

* Reuse existing read code

* Adds documentation

* Adds test

* Adds a function for composing ID strings

* Change location to computed.
2017-06-09 13:10:42 +03:00
Ashish Kumar Thakur a5c208ef68 provider/kubernetes: Add support for pod (#13571)
Add support for K8s pod
2017-06-08 14:58:10 +01:00
Bill Maxwell 305ae18d2c Rancher V2 provider updates (#13908)
* Move to v2 client in vendor directory

* Move to v2 api and project IDs for environments

* add host label support to registration command

* Update go-rancher/catalog

* Allow go-rancher to handle URL versioning
2017-06-08 12:24:53 +03:00
Martin Atkins 8d560482c3
v0.9.8 2017-06-08 00:14:54 +00:00
Riley Karson 45d193101c provider/google: Add support for draining_timeout_sec to compute_backend_service. (#14559) 2017-06-07 15:17:49 -07:00
Shinichi TAMURA 0b6518a29b provider/google: Changed network argument in google_compute_instance_group as optional (#13493) 2017-06-07 11:20:17 -07:00