variáveis.tf
variable "region" {
default = "us-central1"
}
variable "zone" {
description = "override default zone specified in region_params"
default = ""
}
variable "region_params" {
description = "Map of default zones for each region. Can be overridden using the `zone`."
type = map(string)
default = {
asia-east1 = {
zone = "asia-east1-b"
}
asia-east2 = {
zone = "asia-east2-b"
}
asia-northeast1 = {
zone = "asia-northeast1-b"
}
asia-south1 = {
zone = "asia-south1-b"
}
asia-southeast1 = {
zone = "asia-southeast1-b"
}
australia-southeast1 = {
zone = "australia-southeast1-b"
}
europe-north1 = {
zone = "europe-north1-b"
}
europe-west1 = {
zone = "europe-west1-b"
}
europe-west2 = {
zone = "europe-west2-b"
}
europe-west3 = {
zone = "europe-west3-b"
}
europe-west4 = {
zone = "europe-west4-b"
}
northamerica-northeast1 = {
zone = "northamerica-northeast1-b"
}
southamerica-east1 = {
zone = "southamerica-east1-b"
}
us-central1 = {
zone = "us-central1-b"
}
us-east1 = {
zone = "us-east1-b"
}
us-east4 = {
zone = "us-east4-b"
}
us-west1 = {
zone = "us-west1-b"
}
us-west2 = {
zone = "us-west2-b"
}
}
}
variable "network" {
}
variable "instance_tags" {
default = []
}
variable "ip_cidr_range" {
description = "Subnetwork range - required"
}
variable "environment" {
description = "The build environment tier"
default = "dev"
}
output "nat-gateway-ip" {
value = module.nat.external_ip
}
./terraform0.13 init -reconfigure
There are some problems with the configuration, described below. The Terraform configuration must be valid before initialization so that Terraform can determine which modules and providers need to be installed. ╷ │ Error: Invalid default value for variable │ │ on variables.tf line 71, in variable "region_params": │ 71: default = { │ 72: asia-east1 = { │ 73: zone = "asia-east1-b" │ 74: } │ 75: asia-east2 = { │ 76: zone = "asia-east2-b" │ 77: } │ 78: asia-northeast1 = { │ 79: zone = "asia-northeast1-b" │ 80: } │ 81: asia-south1 = { │ 82: zone = "asia-south1-b" │ 83: } │ 84: asia-southeast1 = { │ 85: zone = "asia-southeast1-b" │ 86: } │ 87: australia-southeast1 = { │ 88: zone = "australia-southeast1-b" │ 89: } │ 90: europe-north1 = { │ 91: zone = "europe-north1-b" │ 92: } │ 93: europe-west1 = { │ 94: zone = "europe-west1-b" │ 95: } │ 96: europe-west2 = { │ 97: zone = "europe-west2-b" │ 98: } │ 99: europe-west3 = { │ 100: zone = "europe-west3-b" │ 101: } │ 102: europe-west4 = { │ 103: zone = "europe-west4-b" │ 104: } │ 105: northamerica-northeast1 = { │ 106: zone = "northamerica-northeast1-b" │ 107: } │ 108: southamerica-east1 = { │ 109: zone = "southamerica-east1-b" │ 110: } │ 111: us-central1 = { │ 112: zone = "us-central1-f" │ 113: } │ 114: us-east1 = { │ 115: zone = "us-east1-b" │ 116: } │ 117: us-east4 = { │ 118: zone = "us-east4-b" │ 119: } │ 120: us-west1 = { │ 121: zone = "us-west1-b" │ 122: } │ 123: us-west2 = { │ 124: zone = "us-west2-b" │ 125: } │ 126: } │ │ This default value is not compatible with the variable's type constraint: element "asia-east2": string required.
Responder1
Tente configurá-lo para us-central-1. Você está formatando suas regiões incorretamente, precisa de um traço antes do número. Além disso, você não precisa especificar a, b ou c, pois o terraform obtém as informações da configuração da sua sub-rede.