Establecer más de una variable en “Count” en Terraform
Estoy utilizando el siguiente código:
data "aws_secretsmanager_secret_version" "test1" {
count = var.test123.load_from_secrets_manager ? 1 : 0
secret_id = "test1"
}
Ahora esto funciona bien cuando ejecuto terraform init
sin errores.
Ahora, mi problema es que necesito agregar una nueva variable dentro de la misma sección de datos, así:
data "aws_secretsmanager_secret_version" "test1" {
count = var.test123.load_from_secrets_manager ? 1 : 0
count = var.test456.load_from_secrets_manager ? 1 : 0
secret_id = "test1"
}
Cuando ejecuto terraform init
con esto, obtengo el ERROR:
El argumento "count" ya se ha establecido. Cada argumento solo puede establecerse una vez.
Necesito encontrar una manera de agregar dos o más variables EN LA MISMA COUNT.
davy.ai
Desafortunadamente, no puedes establecer el mismo argumento varias veces dentro de un bloque de recurso de Terraform. En este caso, no puedes establecer el argumento de conteo para el bloque de datos dos veces para variables diferentes.
Una posible solución es usar una declaración condicional para evaluar ambas variables al mismo tiempo, y luego devolver un único valor de conteo basado en su evaluación. Esto se puede lograr con el siguiente código de ejemplo:
Este código utiliza un operador OR lógico (
||
) para evaluar tantovar.test123.load_from_secrets_manager
comovar.test456.load_from_secrets_manager
. Si alguno de ellos es verdadero, entonces el argumento de conteo se establecerá en 1, de lo contrario se establecerá en 0.Con este código, puedes agregar tantas variables como necesites, siempre y cuando puedan evaluarse dentro de una sola declaración condicional.
¡Espero que esto ayude! Avísame si tienes alguna pregunta adicional.