I am using Terraform to bring up new separate environments with ec2 machines, elb etc. and then maintaining configuration as well. Doing that with terraform and using AWS provider sounds fairly simple.
While launching those instances I want to install few packages etc. so that when Terraform launches the instances (servers) things/ apps should be up and running. And how do I deploy new code on the servers in this environment launched by Terraform? Should I use for eg. ansible playbooks/chef recipes/puppet manifests for that? or Terraform gives some other options/ways?