There is an option -target
for targetting the specific resources which you want to create with apply
command or plan
command.
Sometimes, we faced the situation, new resources should be created first and update/destroy should be created later.
In case of that, you can use the below commands.
echo "terraform apply $(terraform plan -no-color | grep '\+ ' | grep -v 'new resource required' | grep -v 'create' | sed 's/\+ /\-target\=/g' | sed 's/$/ \\/g')"
echo "terraform apply $(terraform plan -no-color | grep '\~ ' | grep -v 'update in-place' | sed 's/\~ /\-target\=/g' | sed 's/\ //g' | sed 's/$/ \\/g')"
echo "terraform apply $(terraform plan -no-color | grep '\-/\+ ' | grep -v 'destroy and' | sed 's/\-\/\+ /\-target\=/g' | sed 's/\ //g' | sed 's/(newresourcerequired)//g' | sed 's/$/ \\/g')"
echo "terraform apply $(terraform plan -no-color | grep '\- ' | grep -v 'destroy' | sed 's/\- /\-target\=/g' | sed 's/\ //g' | sed 's/$/ \\/g')"