You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform根模块与子模块Provider配置困惑求助

解决Terraform子模块复用自定义Runscope Provider的问题

核心问题原因

子模块默认会尝试拉取官方hashicorp/runscope Provider,但你使用的是自行构建的自定义版本sport24ru/runscope,必须让子模块明确知晓该Provider的源信息,才能复用根模块的配置。

具体解决方案

  1. 给子模块添加Provider源声明
    在子模块的主配置文件(如submodule/main.tf)中,添加required_providers块,与根模块的配置保持完全一致:

    terraform {
      required_providers {
        runscope = {
          source  = "sport24ru/runscope"
          version = "0.10.0"
        }
      }
    }
    

    这一步是关键,用于告诉子模块使用你自定义的Provider源,而非默认的官方源。

  2. 删除子模块中的独立Provider块
    确保子模块内没有单独定义provider "runscope"块,否则会覆盖根模块的配置,导致无法复用。

  3. 重新初始化Terraform
    执行以下命令刷新配置,确保Terraform加载正确的Provider信息:

    terraform init -upgrade
    
  4. (可选)显式关联根模块Provider实例
    如果上述步骤仍未解决问题,可在根模块的module块中显式指定Provider关联,强制子模块使用根模块的Provider配置:

    module "your_runscope_submodule" {
      source = "./path/to/your/submodule"
    
      providers = {
        runscope = runscope
      }
    }
    

额外检查项

  • 确认本地自定义Provider的存储路径正确,M2芯片的Terraform本地Provider路径为:
    ~/.terraform.d/plugins/registry.terraform.io/sport24ru/runscope/0.10.0/darwin_arm64/terraform-provider-runscope_v0.10.0
    确保该文件存在且权限正常。

内容的提问来源于stack exchange,提问作者Sean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 19:13:17