Terraform apply without destroying

Question:
Is there a way to write a terraform script that will not destroy what you previously created?
For example, I want to build my AWS components in stages.
Simple case, if I created one EC2 instance and then I want to create another EC2 instance, I do not want the first EC2 instance to be destroyed.
Is there a way to code terraform that way ?
If yes, how can it be done?

You definitely can – as you write your config, don’t delete the previous resource. For example if you create one resource:

resource "aws_instance" "first" {
 ....
}

and continue to build out your config to add more instances:

resource "aws_instance" "first" {
 ....
}

resource "aws_instance" "second" {
 ....
}

If you want the resources to be the same, but you only want to increase the number of them, you could use the count attribute to create more than one.