-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Terraform 1.1 upgrade guide (#264)
- Loading branch information
1 parent
ddcc7f4
commit bfb6f6c
Showing
15 changed files
with
488 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 12 additions & 0 deletions
12
_docs-sources/guides/stay-up-to-date/terraform/terraform-1.1/core-concepts.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Core Concepts | ||
|
||
[Terraform 1.1.0 was released on December 08, | ||
2021](https://www.hashicorp.com/blog/terraform-1-1-improves-refactoring-and-the-cloud-cli-experience). | ||
Some of the major new features in 1.1 include: | ||
|
||
- Easier and Safer Refactoring with moved Statements | ||
- An Improved CLI Experience for Terraform Cloud and Enterprise | ||
|
||
For more info, check out the for a complete introduction, check out the | ||
[announcement blog | ||
post](https://www.hashicorp.com/blog/terraform-1-1-improves-refactoring-and-the-cloud-cli-experience). |
29 changes: 29 additions & 0 deletions
29
...ment-walkthrough/step-1-update-your-code-to-be-compatible-with-terraform-1-x.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
--- | ||
sidebar_label: Update to Terraform 1.0 | ||
--- | ||
|
||
# Step 1: update your code to be compatible with Terraform 1.0 | ||
|
||
If you haven’t already, you need to: | ||
|
||
1. Update your code to work with Terraform 1.0. Do NOT skip from, say, 0.11, straight to 1.1. You MUST update to | ||
1.0.0 or above first! | ||
|
||
1. If you’re still on Terraform 0.11 or older, see our | ||
[Terraform 0.12 upgrade guide](../../terraform-12/index.md). | ||
|
||
2. If you’re still on Terraform 0.12, see our | ||
[Terraform 0.13 upgrade guide](../../terraform-13/index.md). | ||
|
||
3. If you’re still on Terraform 0.13, see our | ||
[Terraform 0.14 upgrade guide](../../terraform-14/index.md). | ||
|
||
4. If you’re still on Terraform 0.14, see our | ||
[Terraform 0.15 upgrade guide](../../terraform-15/index.md). | ||
|
||
5. If you’re still on Terraform 0.15, see our | ||
[Terraform 1.x upgrade guide](../../terraform-1.x/index.md). | ||
|
||
2. Update all your Gruntwork modules to the latest versions just _before_ the TF 1.1 versions in the [compatibility | ||
table](/guides/stay-up-to-date/terraform/terraform-1.1/deployment-walkthrough/step-2-update-references-to-the-gruntwork-infrastructure-as-code-library#version-compatibility-table). The upgrade will be much easier and less error prone if you keep the number of version jumps as small | ||
as possible. |
139 changes: 139 additions & 0 deletions
139
...ugh/step-2-update-references-to-the-gruntwork-infrastructure-as-code-library.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
--- | ||
sidebar_label: Update Gruntwork IaC Module References | ||
--- | ||
|
||
# Step 2: update references to the Gruntwork Infrastructure as Code Library | ||
|
||
In order to take advantage of the Terraform 1.1, you need to update your | ||
references to the Gruntwork Infrastructure as Code Library to use a compatible | ||
version. We (Gruntwork) have gone through all our modules in the library to test | ||
and update the code to be compatible with Terraform 1.1. As a customer, you need | ||
to update to the proper versions of the Gruntwork library to pick up the | ||
fixes/changes that we made to be compatible. Refer to [the "Updating to new versions" section of | ||
"Stay Up to Date"](/guides/working-with-code/versioning#updating-to-new-versions#updating) | ||
for instructions on how to update the versions in your code. | ||
|
||
The releases of the modules from the Gruntwork Infrastructure as Code Library that correspond with the | ||
Terraform 1.1 upgrade don't include any backwards incompatible changes. | ||
Therefore, the only changes that you will need to do are version number bumps. | ||
|
||
:::caution | ||
|
||
Gruntwork follows [semantic | ||
versioning](/guides/working-with-code/versioning#semantic-versioning). | ||
For any pre-1.0 modules, this means that version updates to the minor version | ||
are considered backwards incompatible releases for any version updates prior to | ||
1.0.0 release. Make sure to read the release notes for the relevant modules any | ||
time you are updating minor versions! Note that you will want to read the | ||
release notes for each minor version that is updated (e.g., if you are going | ||
from `v0.5.x` to `v0.9.x`, you will want to read the notes for `v0.6.0`, | ||
`v0.7.0`, `v0.8.0`, and `v0.9.0` to get the full list of backwards incompatible | ||
updates). | ||
|
||
::: | ||
|
||
The following table provides a summary of all the relevant Gruntwork AWS modules | ||
and the respective versions that are compatible with Terraform 1.1: | ||
|
||
## Version Compatibility Table | ||
|
||
<table> | ||
<colgroup> | ||
<col /> | ||
<col /> | ||
</colgroup> | ||
<tbody> | ||
<tr className="odd"> | ||
<td><p><strong>Gruntwork Repo</strong></p></td> | ||
<td><p><strong>Minimum version with Terraform 1.1 support</strong></p></td> | ||
</tr> | ||
<tr className="even"> | ||
<td><p>Terratest</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/Terratest/releases/tag/v0.40.0">v0.40.0</a></strong></p></td> | ||
</tr> | ||
<tr className="odd"> | ||
<td><p>Terragrunt</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/Terragrunt/releases/tag/v0.36.0">v0.36.0</a></strong></p></td> | ||
</tr> | ||
<tr className="even"> | ||
<td><p>terraform-aws-utilities</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-utilities/releases/tag/v0.7.0">v0.7.0</a></strong></p></td> | ||
</tr> | ||
<tr className="odd"> | ||
<td><p>terraform-aws-vpc</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-vpc/releases/tag/v0.20.0">v0.20.0</a></strong></p></td> | ||
</tr> | ||
<tr className="even"> | ||
<td><p>terraform-aws-asg</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-asg/releases/tag/v0.17.0">v0.17.0</a></strong></p></td> | ||
</tr> | ||
<tr className="odd"> | ||
<td><p>terraform-aws-server</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-server/releases/tag/v0.14.0">v0.14.0</a></strong></p></td> | ||
</tr> | ||
<tr className="even"> | ||
<td><p>terraform-aws-lambda</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-lambda/releases/tag/v0.17.0">v0.17.0</a></strong></p></td> | ||
</tr> | ||
<tr className="odd"> | ||
<td><p>terraform-aws-security</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-security/releases/tag/v0.62.0">v0.62.0</a></strong></p></td> | ||
</tr> | ||
<tr className="even"> | ||
<td><p>terraform-aws-load-balancer</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-load-balancer/releases/tag/v0.28.0">v0.27.0</a></strong></p></td> | ||
</tr> | ||
<tr className="odd"> | ||
<td><p>terraform-aws-data-storage</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-data-storage/releases/tag/v0.23.0">v0.23.0</a></strong></p></td> | ||
</tr> | ||
<tr className="even"> | ||
<td><p>terraform-aws-cache</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-cache/releases/tag/v0.17.0">v0.17.0</a></strong></p></td> | ||
</tr> | ||
<tr className="odd"> | ||
<td><p>terraform-aws-messaging</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-messaging/releases/tag/v0.8.0">v0.8.0</a></strong></p></td> | ||
</tr> | ||
<tr className="even"> | ||
<td><p>terraform-aws-static-assets</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-static-assets/releases/tag/v0.13.0">v0.13.0</a></strong></p></td> | ||
</tr> | ||
<tr className="odd"> | ||
<td><p>terraform-aws-monitoring</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-monitoring/releases/tag/v0.31.0">v0.31.0</a></strong></p></td> | ||
</tr> | ||
<tr className="even"> | ||
<td><p>terraform-aws-openvpn</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-openvpn/releases/tag/v0.21.0">v0.21.0</a></strong></p></td> | ||
</tr> | ||
<tr className="odd"> | ||
<td><p>terraform-aws-ecs</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-ecs/releases/tag/v0.32.0">v0.32.0</a></strong></p></td> | ||
</tr> | ||
<tr className="even"> | ||
<td><p>terraform-aws-ci</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-ci/releases/tag/v0.44.0">v0.44.0</a></strong></p></td> | ||
</tr> | ||
<tr className="odd"> | ||
<td><p>terraform-aws-eks</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-eks/releases/tag/v0.49.0">v0.49.0</a></strong></p></td> | ||
</tr> | ||
<tr className="odd"> | ||
<td><p>terraform-kubernetes-namespace</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-kubernetes-namespace/releases/tag/v0.5.0">v0.5.0</a></strong></p></td> | ||
</tr> | ||
<tr className="even"> | ||
<td><p>terraform-aws-cis-service-catalog</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-cis-service-catalog/releases/tag/v0.31.0">v0.31.0</a></strong></p></td> | ||
</tr> | ||
<tr className="even"> | ||
<td><p>terraform-aws-architecture-catalog</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-architecture-catalog/releases/tag/v0.0.27">v0.0.27</a></strong></p></td> | ||
</tr> | ||
<tr className="odd"> | ||
<td><p>terraform-aws-service-catalog</p></td> | ||
<td><p><strong><a href="https://github.com/gruntwork-io/terraform-aws-service-catalog/releases/tag/v0.77.0">v0.77.0</a></strong></p></td> | ||
</tr> | ||
</tbody> | ||
</table> |
26 changes: 26 additions & 0 deletions
26
_docs-sources/guides/stay-up-to-date/terraform/terraform-1.1/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# Update to Terraform 1.1 | ||
|
||
This guide will walk you through how to update any code that depends on the | ||
[Gruntwork Infrastructure as Code | ||
Library](https://gruntwork.io/infrastructure-as-code-library/) to [Terraform | ||
1.1](https://www.terraform.io/language/upgrade-guides/1-1). Terraform v1.1 has | ||
no backwards incompatible changes compared with Terraform v1.0. | ||
|
||
# What you’ll learn in this guide | ||
|
||
This guide consists of two main sections: | ||
|
||
<div className="dlist"> | ||
|
||
#### [Core Concepts](core-concepts.md) | ||
|
||
An overview of Terraform 1.1. | ||
|
||
#### [Deployment walkthrough](deployment-walkthrough/step-1-update-your-code-to-be-compatible-with-terraform-1-x.md) | ||
|
||
The steps you need to take to update your code relying on the Gruntwork Infrastructure as Code library to work with | ||
Terraform 1.1. Includes a | ||
[version compatibility table](deployment-walkthrough/step-2-update-references-to-the-gruntwork-infrastructure-as-code-library.md#version-compatibility-table) you can use as a reference to know which Gruntwork Repo version | ||
tag is compatible with Terraform 1.1. | ||
|
||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
20 changes: 20 additions & 0 deletions
20
docs/guides/stay-up-to-date/terraform/terraform-1.1/core-concepts.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Core Concepts | ||
|
||
[Terraform 1.1.0 was released on December 08, | ||
2021](https://www.hashicorp.com/blog/terraform-1-1-improves-refactoring-and-the-cloud-cli-experience). | ||
Some of the major new features in 1.1 include: | ||
|
||
- Easier and Safer Refactoring with moved Statements | ||
- An Improved CLI Experience for Terraform Cloud and Enterprise | ||
|
||
For more info, check out the for a complete introduction, check out the | ||
[announcement blog | ||
post](https://www.hashicorp.com/blog/terraform-1-1-improves-refactoring-and-the-cloud-cli-experience). | ||
|
||
|
||
<!-- ##DOCS-SOURCER-START | ||
{ | ||
"sourcePlugin": "local-copier", | ||
"hash": "49defa1819542396936b1f0481640f93" | ||
} | ||
##DOCS-SOURCER-END --> |
37 changes: 37 additions & 0 deletions
37
...ment-walkthrough/step-1-update-your-code-to-be-compatible-with-terraform-1-x.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
--- | ||
sidebar_label: Update to Terraform 1.0 | ||
--- | ||
|
||
# Step 1: update your code to be compatible with Terraform 1.0 | ||
|
||
If you haven’t already, you need to: | ||
|
||
1. Update your code to work with Terraform 1.0. Do NOT skip from, say, 0.11, straight to 1.1. You MUST update to | ||
1.0.0 or above first! | ||
|
||
1. If you’re still on Terraform 0.11 or older, see our | ||
[Terraform 0.12 upgrade guide](../../terraform-12/index.md). | ||
|
||
2. If you’re still on Terraform 0.12, see our | ||
[Terraform 0.13 upgrade guide](../../terraform-13/index.md). | ||
|
||
3. If you’re still on Terraform 0.13, see our | ||
[Terraform 0.14 upgrade guide](../../terraform-14/index.md). | ||
|
||
4. If you’re still on Terraform 0.14, see our | ||
[Terraform 0.15 upgrade guide](../../terraform-15/index.md). | ||
|
||
5. If you’re still on Terraform 0.15, see our | ||
[Terraform 1.x upgrade guide](../../terraform-1.x/index.md). | ||
|
||
2. Update all your Gruntwork modules to the latest versions just _before_ the TF 1.1 versions in the [compatibility | ||
table](/guides/stay-up-to-date/terraform/terraform-1.1/deployment-walkthrough/step-2-update-references-to-the-gruntwork-infrastructure-as-code-library#version-compatibility-table). The upgrade will be much easier and less error prone if you keep the number of version jumps as small | ||
as possible. | ||
|
||
|
||
<!-- ##DOCS-SOURCER-START | ||
{ | ||
"sourcePlugin": "local-copier", | ||
"hash": "901f5f12726f3f8ebba1f5058c1e957a" | ||
} | ||
##DOCS-SOURCER-END --> |
Oops, something went wrong.