【问题标题】:Terraform Error: Failed to query available provider packages, pagerduty providerTerraform 错误:无法查询可用的提供程序包,pagerduty 提供程序
【发布时间】:2021-06-21 18:02:22
【问题描述】:

我使用的是 TF 版本 v1.0.0(最新),并且正在尝试使用 pagerduty Tf 提供程序,错误日志显示无法检索可用版本的列表。下面是代码sn-p和完整的错误日志。

代码:

terraform {
      required_providers {
       pagerduty  = {
          source = "PagerDuty/pagerduty"
          version = "~> 1.9.8"
        }
      }
    }
    
    provider "pagerduty" {
      token = var.token
    }
    
    
    
    resource "pagerduty_service" "example" {
      name                    = "My Web App"
      auto_resolve_timeout    = 14400
      acknowledgement_timeout = 600
      escalation_policy       = var.policy
    }
    
    resource "pagerduty_service_integration" "apiv2" {
      name = "API V2"
      type = "events_api_v2_inbound_integration"
      service = pagerduty_service.example.id
    }

错误:

- Finding latest version of hashicorp/pagerduty...
╷
│ Error: Failed to query available provider packages
│ 
│ Could not retrieve the list of available versions for provider hashicorp/pagerduty: provider registry
│ registry.terraform.io does not have a provider named registry.terraform.io/hashicorp/pagerduty
│ 
│ Did you intend to use pagerduty/pagerduty? If so, you must specify that source address in each module which
│ requires that provider. To see which modules are currently depending on hashicorp/pagerduty, run the following
│ command:
│     terraform providers

【问题讨论】:

  • 您能否编辑问题中的代码以使其可运行?理想情况下,它应该采用minimal reproducible example 的形式。现在它在第三行的 = { 之前缺少提供程序名称,这意味着 Terraform 甚至无法解析它,这是导致错误的重要部分。
  • @ydaetskcoR 感谢您的指出。刚刚更新。
  • 更新版本完全没问题?
  • 没有。它仍然给了我同样的错误。

标签: terraform pagerduty


【解决方案1】:

回答我的问题。

将第一个 terraform required_providers 块分离到它自己的 versions.tf 文件中已经解决了这个问题。

【讨论】:

  • 这不是答案,因为 HCL 块在什么文件中并不重要。无论如何,Terraform 只是将它们连接在一起。
  • 好的,知道了。但这为我解决了这个问题。
猜你喜欢
  • 1970-01-01
  • 2022-08-09
  • 1970-01-01
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 2021-08-26
  • 2020-02-11
  • 2022-07-04
相关资源
最近更新 更多