Support for Terraform version 0.13.0 for vpc, cloud-router and cloud-nat modules
Closed this issue · 5 comments
I have upgraded Terraform version 0.12 to 0.13. Most of the resources are compatible with 0.13.0 but not the below ones.
"terraform-google-modules/cloud-nat/google"
"terraform-google-modules/cloud-router/google"
"terraform-google-modules/network/google".
It throws the below error:
Error: Unsupported Terraform Core version
on .terraform/modules/vpc/modules/vpc/versions.tf line 18, in terraform:
18: required_version = "~> 0.12.6"
Module module.vpc.module.vpc (from ./modules/vpc) does not support Terraform
version 0.13.0. To proceed, either choose another supported Terraform version
or update this version constraint. Version constraints are normally set for
good reason, so updating the constraint may lead to other errors or unexpected
behavior.
When the support for version 0.13.0 would be in place ?
-
nat module should be 0.13 compatible as we only constraint to >=0.12
-
cloud-router just added support for 0.13 via terraform-google-modules/terraform-google-cloud-router#12. While we wait for a release, you can use the latest in main like
module "router" {
source = "github.com/terraform-google-modules/cloud-router/google"
}
- network module should also be compatible with 0.13.
It doesnt work for me. Please correct me if I'm going wrong somewhere in the tf file.
I have the following in versions.tf
terraform {
required_version = ">= 0.13"
required_providers {
aws = {
source = "hashicorp/aws"
}
datadog = {
source = "terraform-providers/datadog"
}
google = {
source = "hashicorp/google"
}
}
}
main.tf
module "vpc" {
source = "terraform-google-modules/network/google"
version = "= 2.1.1"
project_id = "****"
network_name = "nonprod-vpc"
routing_mode = "GLOBAL"
auto_create_subnetworks = "false"
create_network = "true"
# Automatically Added by GKE during cluster creation and then imported to tf state
secondary_ranges = {
subnet-01 = [
{
range_name = "****"
ip_cidr_range = "10.172.0.0/20"
},
{
range_name = "****"
ip_cidr_range = "10.44.0.0/14"
}
]
}
subnets = [
{
subnet_name = "subnet-01"
subnet_ip = "10.10.10.0/24"
subnet_region = "us-west1"
subnet_private_access = "true"
subnet_flow_logs = "true"
description = "subnet-01-us-west1"
},
{
subnet_name = "subnet-02"
subnet_ip = "10.10.20.0/24"
subnet_region = "us-west1"
subnet_private_access = "true"
subnet_flow_logs = "true"
description = "subnet-02-us-west1"
},
{
subnet_name = "subnet-03"
subnet_ip = "10.10.30.0/24"
subnet_region = "us-west1"
subnet_private_access = "true"
subnet_flow_logs = "true"
description = "subnet-03-us-west1"
},
{
subnet_name = "subnet-04"
subnet_ip = "10.10.40.0/24"
subnet_region = "us-west1"
subnet_private_access = "false"
subnet_flow_logs = "true"
description = "subnet-04-us-west1"
}
]
routes = [
{
name = "egress-internet"
description = "route through IGW to access internet"
destination_range = "0.0.0.0/0"
tags = "egress-inet"
next_hop_internet = "true"
}
]
}
module "cloud_router" {
source = "terraform-google-modules/cloud-router/google"
version = "= 0.1.0"
name = "nonprod-vpc"
project = "****"
region = "us-west1"
network = "nonprod-vpc"
}
module "cloud_nat" {
source = "terraform-google-modules/cloud-nat/google"
version = "= 1.3.0"
project_id = "****"
region = "us-west1"
network = "nonprod-vpc"
name = "nonprod-vpc"
router = module.cloud_router.router.name
}
ERROR:
Error: Unsupported Terraform Core version
on .terraform/modules/cloud_router/versions.tf line 18, in terraform:
18: required_version = "~> 0.12.6"
Error: Unsupported Terraform Core version
on .terraform/modules/vpc/versions.tf line 18, in terraform:
18: required_version = "~> 0.12.6"
Error: Unsupported Terraform Core version
on .terraform/modules/vpc/modules/routes/versions.tf line 18, in terraform:
18: required_version = "~> 0.12.6"
Module does not support Terraform version 0.13.0. To proceed, either choose another supported
Terraform version or update this version constraint. Version constraints are
normally set for good reason, so updating the constraint may lead to other
errors or unexpected behavior.
Looks like setting up the below for router looks fine when I execute terraform plan
source = "git@github.com:terraform-google-modules/terraform-google-cloud-router.git"
But issue persists for network modules.
Setting this worked.
source = "terraform-google-modules/network/google"
version = "~> 2.5"
@sowmiya-ragu yes a new release is needed to support the router module.