Commit Graph

135 Commits

Author SHA1 Message Date
Colin Hebert f5074cd521 Add the trim() interpolation function 2016-01-30 10:28:04 +11:00
José F. Romaniello c8795b8565 Add signum interpolation function
This function returns -1 for negative numbers, 0 for 0 and 1 for positive numbers.

Useful when you need to set a value for the first resource and a different value for the rest of the resources.

Example: `${element(split(",", var.r53_failover_policy), signum(count.index))}`
2016-01-27 12:49:52 -03:00
Paul Hinze 0b11ace9ac Merge pull request #4788 from hashicorp/phinze/skip-remote-test-option
tests: allow opt-out of remote tests via env var
2016-01-25 10:57:08 -06:00
James Nugent cb6cb8b96a core: Support explicit variable type declaration
This commit adds support for declaring variable types in Terraform
configuration. Historically, the type has been inferred from the default
value, defaulting to string if no default was supplied. This has caused
users to devise workarounds if they wanted to declare a map but provide
values from a .tfvars file (for example).

The new syntax adds the "type" key to variable blocks:

```
variable "i_am_a_string" {
    type = "string"
}

variable "i_am_a_map" {
    type = "map"
}
```

This commit does _not_ extend the type system to include bools, integers
or floats - the only two types available are maps and strings.

Validation is performed if a default value is provided in order to
ensure that the default value type matches the declared type.

In the case that a type is not declared, the old logic is used for
determining the type. This allows backwards compatiblity with previous
Terraform configuration.
2016-01-24 11:40:02 -06:00
Paul Hinze 6bafa74011 tests: allow opt-out of remote tests via env var
Adds the `TF_SKIP_REMOTE_TESTS` env var to be used in cases where the
`http.Get()` smoke test passes but the network is not able to service
the needs of the tests.

Fixes #4421
2016-01-21 15:44:18 -06:00
James Nugent 5c16b47330 Merge pull request #4765 from hashicorp/f-docs-operators
docs: Add operators for interpolation functions
2016-01-20 17:09:45 -05:00
James Nugent efe27f3eae docs: Add operators for interpolation functions 2016-01-20 16:28:07 -05:00
Paul Hinze e67fc0fe9b command: Change module-depth default to -1
This means that terraform commands like `plan`, `apply`, `show`, and
`graph` will expand all modules by default.

While modules-as-black-boxes is still very true in the conceptual design
of modules, feedback on this behavior has consistently suggested that
users would prefer to see more verbose output by default.

The `-module-depth` flag and env var are retained to allow output to be
optionally limited / summarized by these commands.
2016-01-20 13:58:02 -06:00
Matt Moyer c17a6ceb2a Add a sha256(...) interpolation function. 2016-01-16 23:54:04 +00:00
Seth Vargo 8dbc43639d Use HTTPS + www. for links 2016-01-14 16:03:26 -05:00
William Holroyd 7b962006fb Update interpolation.html.md
Small changes to case on interpolation syntaxes, dealing with case.
2016-01-10 22:39:20 -05:00
Joseph Kordish 21fe576cb5 added the function to the docs 2016-01-06 15:19:54 -06:00
clint shryock c94b7c4584 provider/aws: Update docs with t1 instance for accounts with EC2 Classic 2015-12-21 10:00:34 -06:00
clint shryock 6236e8d720 Update doc to use valid AMI and t2.micro instance types 2015-12-15 15:58:28 -06:00
Paul Hinze bd23ab35bf docs: update template_file examples
Use the new non-deprecated style.

refs #4025
2015-11-24 09:01:11 -06:00
Matt Morrison 6ecec7fe83 Add coalesce func 2015-11-08 19:34:56 +13:00
f440 983e07cc17 docs: Correct logging option example
ref. 0090c063e8
2015-10-29 18:56:40 +09:00
Martin Atkins ef161e1c1b Various interpolation functions for CIDR range manipulation.
These new functions allow Terraform to be used for network address space
planning tasks, and make it easier to produce reusable modules that
contain or depend on network infrastructure.

For example:
- cidrsubnet allows an aws_subnet to derive its
  CIDR prefix from its parent aws_vpc.
- cidrhost allows a fixed IP address for a resource to be assigned within
  an address range defined elsewhere.
- cidrnetmask provides the dotted-decimal form of a prefix length that is
  accepted by some systems such as routing tables and static network
  interface configuration files.

The bulk of the work here is done by an external library I authored called
go-cidr. It is MIT licensed and was implemented primarily for the purpose
of using it within Terraform. It has its own unit tests and so the unit
tests within this change focus on simple success cases and on the correct
handling of the various error cases.
2015-10-22 08:10:52 -07:00
Matt Morrison cccc5d03e3 Add lower / upper interpolation functions 2015-10-21 08:16:24 -07:00
Rob Zienert a1939e70f7 Adding ignore_changes lifecycle meta property 2015-10-14 16:34:27 -05:00
Anthony Stanton b62833e7b8 Add documentation for compact() 2015-10-11 16:47:48 +02:00
Martin Atkins 3e9e96286a Document that heredoc syntax is supported.
Previously the only "documentation" I could find about this was a pull
request in the HCL repository.
2015-10-05 09:38:52 -07:00
Martin Atkins 0b85d35e87 Rename base64enc/dec to encode/decode.
There isn't any precedent for abbreviating words in the interpolation
function names, and it may not be clear to all users what "enc" and "dec"
are short for, so instead we'll prefer to spell out the whole words for
improved readability.
2015-10-03 15:12:51 -07:00
Martin Atkins c3d15a2336 Docs for base64 interpolation functions. 2015-10-03 14:49:50 -07:00
Paul Hinze cdcef1c852 Merge pull request #2704 from thegedge/add-index-function
Add a function to find the index of an element in a list.
2015-08-12 17:07:49 -05:00
Clint c5e8da2925 Merge pull request #2601 from nathanielks/feature/docs-environment-variables
Added page documenting useful Environment Variables
2015-08-12 13:54:55 -05:00
Clint d74ea5d472 Merge pull request #2933 from hashicorp/docs-math-interpolation
More details about math in interpolation
2015-08-12 13:49:58 -05:00
Clint Shryock 13e50e684c Document that create_before_destroy cannot depend on resources that are not also create_before_destroy 2015-08-05 11:59:08 -05:00
Cameron Stokes 30d57bf1ec Clarify math operations available for interpolation
As reported in #2782, the math operations, specifically subtraction,
can cause unexpected behavior when resource or variable names use hyphens.

I added clarification about using spaces with math operators as well as
which operations are available.
2015-08-04 11:09:43 -07:00
Paul Hinze 2cea7c7d0c docs: clarify template_file path information
- change example to use the most commonly necessary path format w/
   `path.module`
 - link to path variable page in description

/cc @KFishner
2015-07-31 11:44:07 -05:00
Jason Gedge cf5926ddad Add a function to find the index of an element in a list. 2015-07-13 14:11:30 -04:00
Patrick Lee 80af6825fb changed combine() to concat() in docs
The example of the concat() function uses combine() instead of concat().
2015-07-09 17:04:36 -06:00
Nathaniel Schweinberg c29b4a9edd adding more verbose description to Environment Variables page, explained TF_LOG more 2015-07-02 13:49:57 -05:00
Nathaniel Schweinberg 382cad03c2 Added page documenting useful Environment Variables 2015-07-01 21:38:25 -05:00
Jimmy Cuadra 94b11ed690 Fix wording in multi-provider resource docs
The sentence says that resources target a resource, but it should say that resources target providers.
2015-06-25 01:01:12 -07:00
Radek Simko 6a60fa4bfe config: concat function supports lists (combines more lists into one) 2015-06-13 08:54:01 +01:00
ketzacoatl 9a0c733c18 Update interpolation.md, doc pattern combining template_file and count
This example is derived from @phinze's [work seen here](https://github.com/hashicorp/terraform/issues/1893#issuecomment-100945306)
2015-05-29 18:24:08 +00:00
7heo ff9b74c7e8 More internal links in template documentation. 2015-05-27 12:22:52 +02:00
Mitchell Hashimoto 0c9e95a32f website: note that interpolations can be escaped 2015-05-13 20:22:14 -07:00
Josh Bleecher Snyder 02e751e356 config: add formatlist
formatlist distributes formatting over lists.
See the docs for details.

As a colleague commented:

"It happens all the time that we want a set of
outputs, but in a slightly different way than
just simple joining or concatting."

formatlist (combined with join)
makes it easy to satisfy those needs.
2015-05-12 16:11:42 -07:00
Paul Hinze a268cc3d81 Merge pull request #1878 from jamesob/doc_for_paramterized_lists
Document work-arounds necessary to parameterize list types.
2015-05-08 17:02:36 -05:00
James O'Beirne a074b33bcf Document work-arounds necessary to parameterize list types.
Related to https://github.com/hashicorp/terraform/issues/57.
2015-05-08 14:49:29 -07:00
Josh Bleecher Snyder 2da7c9a823 website: document templates
While we're here, fix a broken link.
2015-05-04 11:42:05 -07:00
Mitchell Hashimoto 316afd8964 website: update docs with environment variables for vars 2015-04-22 06:37:03 +02:00
Mitchell Hashimoto 45f73e640f website: document multi-provider 2015-04-20 16:54:56 -07:00
Paul Hinze e3a6fab501 Merge pull request #1566 from hashicorp/f-prevent-destroy
core: add prevent_destroy lifecycle flag
2015-04-17 11:01:19 -05:00
Paul Hinze afe4abb637 core: add prevent_destroy lifecycle flag
When the `prevent_destroy` flag is set on a resource, any plan that
would destroy that resource instead returns an error. This has the
effect of preventing the resource from being unexpectedly destroyed by
Terraform until the flag is removed from the config.
2015-04-17 10:40:04 -05:00
Radek Simko 2078c593a2 conf: docs added for length func 2015-04-15 18:55:49 +01:00
Jon Topper 6e3675e2de Fix minor error in index/count docs 2015-04-14 22:21:30 +02:00
Tomas Doran 2dfb837974 Document the fix to GH-1068 on the website 2015-04-03 15:51:12 +01:00
Mitchell Hashimoto f857363aac website: document push 2015-03-24 13:30:23 -07:00
Mitchell Hashimoto bf43cabcc2 website: document format 2015-03-02 10:27:58 -08:00
Mitchell Hashimoto 68e4d346be website: doc replace 2015-03-02 09:40:24 -08:00
Mitchell Hashimoto e2c912c53d website: update docs for self 2015-02-23 15:04:18 -08:00
Mitchell Hashimoto 45a267111b Merge pull request #885 from brycekahle/split-func
config: add split function
2015-02-20 13:45:01 -08:00
Mitchell Hashimoto 3093268106 website: clarify lookup [GH-531] 2015-02-20 10:04:53 -08:00
Bryce Kahle fa8280a56c Add split docs 2015-02-17 13:24:34 -05:00
Anton Tereshchenkov 819bc2b032 docs: update available boolean values 2015-01-25 12:38:15 +08:00
Paul Hinze dec0c467e1 docs: add example of using variables with count
closes #861
2015-01-24 18:29:36 -06:00
Emil Hessman 0cfbf4d8d9 website: use lists throughout the docs instead of array 2015-01-14 18:38:08 +01:00
Mitchell Hashimoto 577e2420b0 Revert "docs: consistent use of array configuration syntax"
This reverts commit 4893eb8b55.
2015-01-14 09:28:25 -08:00
Emil Hessman 4893eb8b55 docs: consistent use of array configuration syntax
The Terraform configuration syntax defines what arrays are.
Use the word array consistently throughout the documentation
instead of list.

The corresponding JSON datatype is called array as well, and
since the Terraform configuration syntax is interoperable with
JSON it makes sense to use the term array to describe them.
2015-01-13 06:59:12 +01:00
Emil Hessman 28d39cd0bc website: address spelling mistakes, casing and links 2015-01-03 19:31:53 +01:00
Rob Costanzo 8da91e9636 Added an element interpolation lookup function for accessing a specific index from a list with splat variables 2014-11-07 10:24:21 -08:00
Seth Vargo 073a0f76c5 Add meta descriptions to all pages 2014-10-21 23:21:56 -04:00
Mitchell Hashimoto 8aae8099e8 website: update the docs more to say more 2014-10-09 21:25:59 -07:00
Mitchell Hashimoto f558f7a0c5 website: document the join function 2014-10-09 21:23:49 -07:00
Mitchell Hashimoto 770d62e588 website: document path variables 2014-10-07 20:15:08 -07:00
Mitchell Hashimoto 55ab043036 website: update docs for count.index 2014-10-02 22:11:53 -07:00
Mitchell Hashimoto a621525741 Merge pull request #317 from hashicorp/f-create-before
Adding support for `lifecycle` and `create_before_destroy`
2014-09-30 13:17:41 -07:00
Spencer Krum 0f32eefb2b Docs Fixup 2014-09-30 11:32:25 -07:00
Armon Dadgar 8d5d7c32c8 website: Document lifecycle 2014-09-29 15:20:03 -07:00
Mitchell Hashimoto 03f630bdb8 website: document modules 2014-09-26 14:23:38 -07:00
Godefroid Chapelle 41e13c0189 Fix typo 2014-09-09 15:25:38 +02:00
Mitchell Hashimoto 3cf4f57fe8 website: update docs for new mappings format 2014-08-30 16:20:45 -07:00
Mitchell Hashimoto f7022711c0 website: fix syntax of variables 2014-08-28 09:17:27 -07:00
Mitchell Hashimoto 551d4980b9 website: update function docs 2014-08-19 13:16:29 -07:00
Alex Gaynor 46154ca1d3 Fixed a ton of typos in docs and comments 2014-08-07 00:19:56 -07:00
Mitchell Hashimoto d28e5a1638 dos2unix 2014-07-28 10:43:00 -07:00
Mitchell Hashimoto f8520d1446 website: outputs 2014-07-25 17:58:09 -07:00
Mitchell Hashimoto c27b2cd9b9 website: providers and variables 2014-07-25 14:51:26 -07:00
Mitchell Hashimoto 6df5a76ca8 website: resource config 2014-07-24 21:12:30 -07:00
Mitchell Hashimoto 6ced245898 website: configuration 2014-07-24 16:29:32 -07:00
Mitchell Hashimoto c8c526d254 website: config syntax 2014-07-24 15:45:10 -07:00
Mitchell Hashimoto 8dbaf598f4 website: start config docs 2014-07-24 15:15:03 -07:00