1

我正在尝试为两个环境(本地和云)定义一个配置块,并且我正在使用 if/else 条件,但我收到了 s3 存储桶的 encrypt 属性的错误消息:'encrypt' expected type 'bool',得到不可转换的类型“字符串”。如果我删除 if/else 条件块,那么它可以工作,但我需要在两个环境之间进行选择,所以我必须使用 if/else 条件。配置块代码:

config = local.is_local_environment ? {
    # Local configuration
    path = "${path_relative_to_include()}/terraform.tfstate"
  } : {
    # Cloud configuration
    bucket = "my-bucket"
    key = "terraform/${path_relative_to_include()}/terraform.tfstate"
    region = local.region
    encrypt = true
    dynamodb_table = "terraform-lock"
  }
}
4

1 回答 1

0

问题是本地后端不进行任何配置,使用 null

config = local.is_local_environment ? null : {
    # Cloud configuration
    bucket = "my-bucket"
    key = "terraform/${path_relative_to_include()}/terraform.tfstate"
    region = local.region
    encrypt = true
    dynamodb_table = "terraform-lock"
  }
}
于 2021-11-23T17:30:21.153 回答