首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解决地形错误无效计数参数?

如何解决地形错误无效计数参数?
EN

Stack Overflow用户
提问于 2022-11-03 06:34:52
回答 1查看 50关注 0票数 -1

我试图添加新文物一合成监控器使用通用模块“监视器”,我们在terraform,其中我还想附加新的警报条件策略。如果我一个一个地创建资源,但是由于我想提交所有的更改,它会很好地工作,显示如下所示的错误。

代码语言:javascript
运行
复制
Error: Invalid count argument

  on .terraform/modules/monitor/modules/synthetics/syn_alert.tf line 11, in resource "newrelic_alert_policy" "policy":
  11:   count               = var.policy_id != null ? 0 : var.create_alerts == true ? 1 : var.create_multilocation_alerts == true ? 1 : 0

The "count" value depends on resource attributes that cannot be determined
until apply, so Terraform cannot predict how many instances will be created.
To work around this, use the -target argument to first apply only the
resources that the count depends on.

我希望在我逐步尝试的过程中,这应该会准确地工作,甚至我也尝试过寻找作为资源依赖项的解决方案,所以我也添加了需要的depends_on资源,比如

代码语言:javascript
运行
复制
depends_on = [newrelic_alert_policy.harvester_ping_failure_alert_policy,newrelic_alert_channel.slack_channel]

但还是没有像预期的那样起作用。

EN

回答 1

Stack Overflow用户

发布于 2022-11-03 23:07:12

此错误表明,您在这里包含的一个输入变量的值在应用步骤之前是不知道的:

  • var.policy_id
  • var.create_alerts
  • var.create_multilocation_alerts

您没有具体说明如何在调用module块中定义这些变量,但我猜想policy_id可能就是其中的一个问题,因为您可能已经从父模块中的托管资源实例中分配了一个属性,而与该资源实例对应的远程对象还没有创建,因此它的ID还不清楚。

如果是这样的话,您将需要以不同的方式定义这个对象,以便将是否声明该对象的选择作为独立于ID本身的值,然后确保是否声明的选择不是基于配置中任何其他托管资源的结果。

一种方法是这样做:

代码语言:javascript
运行
复制
variable "project" {
  type = object({
    id = string
  })
  default = null
}

这意味着,关于是否设置此对象的决定可以由整个对象的“空”表示,即使非空对象中的id属性可能是未知的。

代码语言:javascript
运行
复制
module "monitor" {
  # ...

  project = {
    id = whatever_resource_type.name.id
  }
}

如果您在这里传递的ID本身就是一个具有id属性的资源实例(正如我前面所示),那么您还可以通过立即分配整个对象来使其更简洁:

代码语言:javascript
运行
复制
module "monitor" {
  # ...

  project = whatever_resource_type.name
}

Terraform将检查以确保whatever_resource_type.name有一个id属性,如果有,它将使用它填充模块中变量的id属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74298892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档