【发布时间】:2020-03-01 16:07:08
【问题描述】:
我正在尝试使用 Terraform 创建 google KMS 资源
module "kms" {
source = "./modules/kms"
version = "~> 0.1"
providers = {
google = google.impersonated
}
project_id = var.project_id
location = "global"
keyring_name = "${var.environment}-keyring"
key_name = "${var.environment}-key"
}
kms 模块内的资源定义
resource "google_kms_key_ring" "key_ring" {
name = var.keyring_name
project = var.project_id
location = var.location
}
resource "google_kms_crypto_key" "key" {
name = var.key_name
location = var.location
key_ring = google_kms_key_ring.key_ring.self_link
}
运行 Terraform init 会引发错误:
Cannot apply a version constraint to module "kms" (at main.tf:165) because it has a relative local path.
目录结构
|--Terraform
|-- main.tf
|-- variable.tf
|-- output.tf
|-- ...
|-- modules
|-- kms
|-- main.tf
|-- variable.tf
|-- output.tf
Terraform 版本为~> 0.12.15
如何解决这个错误?
【问题讨论】:
-
不要对模块设置版本约束。这仅用于 Terraform 注册表中的模块,而不是本地模块。
-
谢谢。删除版本解决了问题
标签: terraform terraform-provider-gcp