运行terraform并等待需要很长时间。 所以我想运行它来排除花费最长时间执行的rds 或者我想只运行ec2资源。 有没有办法在terraform中做这些事情?
答案 0 :(得分:9)
您可以像这样使用-target=resource
:
terraform plan -target=module.mymodule.aws_instance.myinstance
terraform apply -target=module.mymodule.aws_instance.myinstance
或
terraform plan -target=aws_instance.myinstance
terraform apply -target=aws_instance.myinstance
答案 1 :(得分:1)
我想运行它以排除花费时间最长的 rds
Terraform 目前不支持排除资源(也就是反向定位)。
Issue #2253: "feature request: inverse targeting / exclude"
(感谢 Julio Daniel Reyes 的链接。)
答案 2 :(得分:0)
加上 Julio 的 answer,您可以通过以下方式定位多个资源:
terraform init
terraform plan -target=resource_type1.resource_name1 -target=resource_type2.resource_name1
terraform apply -target=resource_type1.resource_name1 -target=resource_type2.resource_name1