Skip to content

Commit

Permalink
feat(TPG>=6)!: upgrade to TPGv6 (#84)
Browse files Browse the repository at this point in the history
  • Loading branch information
apeabody authored Sep 12, 2024
1 parent aa3c9df commit 7eb2b92
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 6 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ Functional examples are included in the
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| all\_folder\_admins | List of IAM-style members that will get the extended permissions across all the folders. | `list(string)` | `[]` | no |
| deletion\_protection | Prevent Terraform from destroying or recreating the folder. | `bool` | `true` | no |
| folder\_admin\_roles | List of roles that will be applied to a folder if roles are not explictly specified in per\_folder\_admins | `list(string)` | <pre>[<br> "roles/owner",<br> "roles/resourcemanager.folderViewer",<br> "roles/resourcemanager.projectCreator",<br> "roles/compute.networkAdmin"<br>]</pre> | no |
| names | Folder names. | `list(string)` | `[]` | no |
| parent | The resource name of the parent Folder or Organization. Must be of the form folders/folder\_id or organizations/org\_id | `string` | n/a | yes |
Expand Down
32 changes: 32 additions & 0 deletions docs/upgrading_to_folders_v5.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Upgrading to v5.0

The v5.0 release of the *Folders* module is a backwards incompatible release.

### Google Cloud Platform Provider upgrade
The *Folders* module now requires version 6.0 or higher of the Google Cloud Platform Providers.

```diff
terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = "~> 5.0"
+ version = "~> 6.0"
}
}
}
```

### Deletion Protection
The *Folders* Module now includes the `deletion_protection` option which defaults to `true`. To delete your folders using Terraform, you should specify it explicitly to `false`:

```diff
module "gke" {
- source = "terraform-google-modules/folders/google"
- version = "~> 4.0"
+ source = "terraform-google-modules/folders/google"
+ version = "~> 5.0"
...
+ deletion_protection = false
}
```
2 changes: 2 additions & 0 deletions examples/simple_example/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ module "folders" {
set_roles = true
all_folder_admins = var.all_folder_admins

deletion_protection = false

names = [
"dev",
"staging",
Expand Down
5 changes: 3 additions & 2 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@ locals {
resource "google_folder" "folders" {
for_each = toset(var.names)

display_name = "${local.prefix}${each.value}"
parent = var.parent
display_name = "${local.prefix}${each.value}"
parent = var.parent
deletion_protection = var.deletion_protection
}

# give project creation access to service accounts
Expand Down
6 changes: 3 additions & 3 deletions test/setup/versions.tf
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@
*/

terraform {
required_version = ">= 0.13"
required_version = ">= 1.3.0"
required_providers {
google = {
source = "hashicorp/google"
version = ">= 3.38, < 6"
version = ">= 3.38, < 7"
}
google-beta = {
source = "hashicorp/google-beta"
version = ">= 3.38, < 6"
version = ">= 3.38, < 7"
}
random = {
source = "hashicorp/random"
Expand Down
5 changes: 5 additions & 0 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,8 @@ variable "folder_admin_roles" {
]
}

variable "deletion_protection" {
type = bool
description = "Prevent Terraform from destroying or recreating the folder."
default = true
}
2 changes: 1 addition & 1 deletion versions.tf
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
version = ">= 3.45, < 6"
version = ">= 6.0.0, < 7"
}

random = {
Expand Down

0 comments on commit 7eb2b92

Please sign in to comment.