Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我只想为特定的资源运行terraform_Terraform - Fatal编程技术网

我只想为特定的资源运行terraform

我只想为特定的资源运行terraform,terraform,Terraform,运行terraform并等待需要很长时间。 所以我想运行它来排除需要最长时间执行的rds 或者我只想运行ec2资源。 有没有一种方法可以在地形中做这样的事情?您可以这样使用: terraform plan -target=module.mymodule.aws_instance.myinstance terraform apply -target=module.mymodule.aws_instance.myinstance 或 免责声明:在否决答案之前,请注意,他实际上要求“排除”或“仅运行

运行terraform并等待需要很长时间。 所以我想运行它来排除需要最长时间执行的rds 或者我只想运行ec2资源。 有没有一种方法可以在地形中做这样的事情?

您可以这样使用:

terraform plan -target=module.mymodule.aws_instance.myinstance
terraform apply -target=module.mymodule.aws_instance.myinstance


免责声明:在否决答案之前,请注意,他实际上要求“排除”或“仅运行ec2资源”。在这段时间之后,terraform回购协议仍然开放。

感谢您的评论。我用-target选项解决了你们教meNo的问题,如果这个答案对你们有帮助,请接受。但这不是排斥。这包括在内。如果您只需要排除1个资源,但包括其他99个资源……那么如果您有那么多资源,那么这将非常乏味,需要更多的高级技能,例如bash脚本。如前所述,这与提问者的要求相反。如果要排除特定资源,一种方法是使用“terraform rm state resource.key”将其从状态中删除。请重命名标题中关于问题的问题:“我只想为特定资源运行terraform”(已接受的答案未解决该问题),Terraform问题跟踪器中有一个特性请求:关于这个问题的一个建议是:“获取“Terraform plan list”的输出,grep出我想要保留的所有资源,然后使用shell脚本从其余部分创建一个-target参数列表。”
terraform plan -target=aws_instance.myinstance
terraform apply -target=aws_instance.myinstance