website: update upgrade guide for number backwards incompat

This commit is contained in:
Mitchell Hashimoto 2016-12-08 23:09:18 -05:00
parent 6b458160b9
commit ef2500932d
No known key found for this signature in database
GPG Key ID: 744E147AA52F5B0A
1 changed files with 40 additions and 0 deletions

View File

@ -57,6 +57,46 @@ EOF
**Action:** Use heredocs or escape sequences when you have a string with newlines.
## Names Cannot Start with Integers or Hyphens
Names of variables, resources, modules, etc. may no longer start with
numbers or hyphens. These will now fail at the validation step.
This change was necessary to remove ambiguities from parsing the
interpolations. Most languages do not allow identifiers starting with
these characters with good reason. We now follow that as well.
An example of a configuration that no longer works:
```
variable "1x1" {}
```
This must now be changed to start with a letter or underscore:
```
variable "foo-1x1" {}
variable "_1x1" {}
```
And so on...
If you're changing resource names, this can cause Terraform to consider it
a new resource and plan to destroy it. To work around these scenarios,
please use the `terraform state mv` command:
```
terraform state mv aws_instance.1x1 aws_instance.foo-1x1
```
The `terraform state mv` command creates a backup for each operation,
but to be safe you can still back up your state prior to doing these
changes.
**Action:** Rename variable, resources, modules, providers, outputs that
start with a number or hyphen. If you rename a resource or module, use
`terraform state mv` to fix the state.
## Math Order of Operations
Math operations now follow standard mathematical order of operations.