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.
This commit is contained in:
Cameron Stokes 2015-08-04 11:09:43 -07:00
parent 41c732dd6c
commit 30d57bf1ec
1 changed files with 33 additions and 2 deletions

View File

@ -201,3 +201,34 @@ resource "aws_instance" "web" {
With this, we will build a list of `template_file.web_init` resources which we can With this, we will build a list of `template_file.web_init` resources which we can
use in combination with our list of `aws_instance.web` resources. use in combination with our list of `aws_instance.web` resources.
## Math
Simple math can be performed in interpolations:
```
variable "count" {
default = 2
}
resource "aws_instance" "web" {
// ...
count = "${var.count}"
// tag the instance with a counter starting at 1, ie. web-001
tags {
Name = "${format("web-%03d", count.index + 1)}"
}
}
```
The supported operations are:
- *Add*, *Subtract*, *Multiply*, and *Divide* for **float** types
- *Add*, *Subtract*, *Multiply*, *Divide*, and *Modulo* for **integer** types
-> **Note:** Since Terraform allows hyphens in resource and variable names,
it's best to use spaces between math operators to prevent confusion or unexpected
behavior. For example, `${var.instance-count - 1}` will subtract **1** from the
`instance-count` variable value, while `${var.instance-count-1}` will interpolate
the `instance-count-1` variable value.