Difference between revisions of "Terraform provisioner"
Jump to navigation
Jump to search
↑ https://www.terraform.io/language/resources/provisioners/syntax
Line 31: | Line 31: | ||
== See also == | == See also == | ||
+ | * {{Terraform provisioners}} | ||
* {{Terraform resources}} | * {{Terraform resources}} | ||
− | + | ||
[[Category:Terraform]] | [[Category:Terraform]] |
Revision as of 13:25, 17 January 2023
- https://www.terraform.io/language/resources/provisioners/syntax
- https://www.terraform.io/docs/language/resources/provisioners/syntax.html
Provisioners are a Last Resort. [1]
Example
resource "aws_instance" "your_web" { # ... provisioner "local-exec" { command = "echo The server's IP address is ${self.private_ip}" } }
Digital Ocean Example
provisioner "remote-exec" { inline = ["sudo apt update", "sudo apt install python3 -y", "echo Done!"] connection { host = self.ipv4_address type = "ssh" user = "root" private_key = file(var.pvt_key) } } provisioner "local-exec" { command = "ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -u root -i '${self.ipv4_address},' --private-key ${var.pvt_key} -e 'pub_key=${var.pub_key}' apache-install.yml" }
Related
- Terraform Associate: Explain when to use and not use provisioners and when to use
local-exec
orremote-exec
See also
- Terraform provisioner,
self., local-exec, remote-exec, file
- Terraform resources, Terraform providers, Terraform provisioner,
random_password, random_string, null_resource
Advertising: