Back to course

Provisioners: The Last Resort

Infrastructure as Code (Terraform & OpenTofu Mastery)

Running Scripts on Servers

Sometimes you need to run a bash script on a server as soon as it's created. We use provisioners for this.

hcl resource "aws_instance" "web" {

...

provisioner "local-exec" { command = "echo ${self.private_ip} >> private_ips.txt" } }

Warning: Provisioners are a 'last resort'. It's better to use images (Packer) or config management (Ansible) because provisioners aren't recorded in the state file perfectly.