错误:使用模块时版本约束无效

Sou*_*uad 4 amazon-web-services terraform terraform-provider-aws

我正在创建一些资源,例如 Alb、安全组,并且我使用 github 中的模块:

module "efs_sg" { 
  source  = "git::https://github.com/terraform-aws-modules/terraform-aws-security-group.git" 
  version = "3.2.0" 

  name        = "${var.default_tags["app"]}-efs" 
  description = "Security group for FE " 
  vpc_id      = data.terraform_remote_state.network.outputs.vpc_id


  computed_ingress_with_source_security_group_id = [ 
    { 
      from_port   = 2049 
      to_port     = 2049 
      protocol    = "tcp" 
      description = "NFS" 
      source_security_group_id = "${module.asg_sg.this_security_group_id}" 
    } 
  ] 
  number_of_computed_ingress_with_source_security_group_id = 1 

  tags      = "${var.default_tags}" 
}
Run Code Online (Sandbox Code Playgroud)

当我执行 terraform apply/plan 时,出现此错误:

错误:版本约束无效

Cannot apply a version constraint to module "efs_sg" (at
terraform/dev/eu-west-1/sg.tf:107) because it has a non Registry
URL. 
Run Code Online (Sandbox Code Playgroud)

我在用着Terraform v0.12.12

如何解决这个问题?

log*_*ram 6

您不能将版本约束与 git 托管模块一起使用。版本约束需要Terraform 注册表托管模块。

您可以向存储库添加标签并使用?ref查询。

例如:

"git::https://github.com/terraform-aws-modules/terraform-aws-security-group.git?ref=3.2.0"
Run Code Online (Sandbox Code Playgroud)

https://www.terraform.io/docs/modules/sources.html#selecting-a-revision