terraform para agregar valores de consul_key en json
Tengo un proyecto en el cual tengo que utilizar Terraform y al final del Terraform, necesito añadir los valores de las claves de Consul en un /path. Tengo lo siguiente:
resource "consul_keys" "write" {
datacenter = "dc1"
token = "xxxx-x-x---xxxxxx--xx-x-x-x"
key {
path = "path/to/name"
value = jsonencode([
{
cluster_name = "test", "region" : "us-east1"
},
{
cluster_name = "test2", "region" : "us-central1"
}
])
}
}
Pero si ejecuto Terraform nuevamente con nuevos valores, borrará todos los valores anteriores y actualizará los nuevos valores.
¿Hay alguna forma de seguir añadiendo los valores manteniendo los valores anteriores tal como están?
davy.ai
Sí, puedes usar la función “hcl” para recuperar los valores existentes de Consul y luego agregar los nuevos valores a él. Aquí tienes un ejemplo de cómo lograr esto:
En este ejemplo, recuperamos los valores existentes de Consul utilizando el recurso “data” y los guardamos en una variable local. Luego usamos la función “local” para agregar los nuevos valores a los valores existentes y pasarlos al recurso “consul_keys”. Esto asegurará que los valores existentes se mantengan intactos y se agreguen nuevos valores a ellos.