Giving your servers fun pet names with Terraform
You are probably aware that that Terraform have a random number module that works like this:
resource "random_integer" "server-id" {
min = 100
max = 999
}
However, this isn’t very helpful as is, because it would regenerate new numbers after each Terraform run.
You can introduce a “keepers”-stanza that makes the random number dependent on the input, it works like this:
resource "random_integer" "server-id" {
min = 100
max = 999
keepers = {
image = data.digitalocean_images.server-images.images.0.image
}
}
So now Terraform will only change the number when data.digitalocean_images.server-images.images.0.image
changes, very handy!
So what about those pet names then?!
The random2-module provides us with a random_pet
-resource that works like this:
resource "random_pet" "server-pet" {
length = 2
keepers = {
image =
...