Terraform显示为更改,即使Terraform模板文件中没有更改

Terraform显示为更改,即使Terraform模板文件中没有更改,terraform,amazon-ecs,terraform-provider-aws,ecs-taskdefinition,Terraform,Amazon Ecs,Terraform Provider Aws,Ecs Taskdefinition,我正在使用terraform版本terraform v0.11.13。 我正在使用terraform for AWS cloud,我有一些模板文件存储我的应用程序的环境变量。 我正在使用AWS ECS,并在模板文件(.tpl文件)中创建了ECS任务定义和ECS服务以及引用的任务定义环境变量列表 现在,即使我没有改变我的模板文件中的任何内容,Terraform每次都会破坏并重新创建ECS任务定义和ECS服务 示例场景: ~ aws_ecs_service.test_app_sidekiq_api

我正在使用terraform版本terraform v0.11.13。 我正在使用terraform for AWS cloud,我有一些模板文件存储我的应用程序的环境变量。 我正在使用AWS ECS,并在模板文件(.tpl文件)中创建了ECS任务定义和ECS服务以及引用的任务定义环境变量列表

现在,即使我没有改变我的模板文件中的任何内容,Terraform每次都会破坏并重新创建ECS任务定义和ECS服务

示例场景:

~ aws_ecs_service.test_app_sidekiq_api
  task_definition: "arn:aws:ecs:ap-southeast-1:xxxxxxxxxxxx:task-definition/test-app-sidekiq-api:84" => "${ aws_ecs_task_definition.test_app_sidekiq_api.arn }"


-/+ aws_ecs_task_definition.test_app_sidekiq_api (new resource required)
      id:    "test-app-sidekiq-api" => <computed> (forces new resource)
      arn: "arn:aws:ecs:ap-southeast-1:xxxxxxxxxxxx:task-definition/test-app-sidekiq-api:84" => <computed>
~aws\u ecs\u service.test\u app\u sidekiq\u api
任务定义:“arn:aws:ecs:ap-southeast-1:XXXXXXXXXX:任务定义/测试应用程序sidekiq api:84”=>“${aws\U ecs\U任务定义.test\U应用程序sidekiq\U api.arn}”
-/+aws_ecs_任务_定义.测试_应用程序_sidekiq_api(需要新资源)
id:“测试应用程序sidekiq api”=>(强制新资源)
arn:“arn:aws:ecs:ap-southeast-1:XXXXXXXXXXXXX:任务定义/测试应用程序sidekiq api:84”=>
即使没有变化,为什么它试图从某个版本计划到计算版本

.tpl文件中的缩进可能是此版本或terraform版本的问题,可能是什么问题以及此问题的可能解决方案

请帮忙


提前感谢:)

请编辑问题以包含计划的输出?如果看不到计划,很难判断是什么导致了变化,理想的情况是,你的地形代码在没有变化的情况下复制了计划差异。我可以说,它不会在模板化任务定义上出现任何缩进,因为它只是读入,然后在发送到AWS之前序列化到任务定义类型中。@ydaetskcoR,编辑了我的问题您需要包含更完整的上下文,因为您已经删除了相关部分。理想情况下,这也应该是针对重现问题的计划输出,您也可以在问题中包含地形代码。如果没有这两样东西,恐怕很难回答你的问题。