Terraform在terraform应用程序上失败,因为失败了“已经存在”错误。我认为发生了这种情况,因为我手动删除了tfstate和ddb md5条目。创造了畸形的状态。
现在,当我执行init、计划和应用时,我会遇到一些错误,如下例所示:
Error: error creating SSM parameter: ParameterAlreadyExists: The parameter already exists. To overwrite this value, set the overwrite option in the request to true.
......
Erro
我想在几个开发和生产环境中使用相同的terraform模板。
我的方法:据我所知,资源名称需要是唯一的,terraform在内部存储资源的状态。因此,我尝试使用变量作为资源名称--但似乎不受支持。我收到一条错误消息:
$ terraform plan
var.env1
Enter a value: abc
Error asking for user input: Error parsing address 'aws_sqs_queue.SqsIntegrationOrderIn${var.env1}': invalid resource address "aws_
我试图添加新文物一合成监控器使用通用模块“监视器”,我们在terraform,其中我还想附加新的警报条件策略。如果我一个一个地创建资源,但是由于我想提交所有的更改,它会很好地工作,显示如下所示的错误。
Error: Invalid count argument
on .terraform/modules/monitor/modules/synthetics/syn_alert.tf line 11, in resource "newrelic_alert_policy" "policy":
11: count = var
在尝试最初计划或应用资源时,我会收到以下错误,该资源正在使用AWS环境中的数据值进行计数。
$ terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
---------------------------------------------------------------
我最近开始在Terraform上工作,有一个关于terraform state mv和terraform import的问题。根据文档,当资源名称更改时,可以使用terraform状态mv,并且必须将更新后的名称添加到状态文件中。terraform import可用于将在Terraform外部创建的资源导入到状态文件中。我的问题是,即使当资源名称更改或代码结构更改(使用模块)时,我们仍然可以使用terraform import来更新状态文件,对吗?谁能告诉我,使用terraform state mv命令的真正好处是什么?
我使用Terraform来构建一些AWS组件,如下面的aws_route。
我试图使用参数动态缩放NAT网关的数量:
resource "aws_route" "my_nat_gw" {
route_table_id = "${var.rt_id}"
destination_cidr_block = "0.0.0.0/0"
nat_gateway_id = "${nat_gw_id}"
#I have an error here - on the "look