Adición dinámica en guion de Terraform en tiempo de ejecución.
Tengo terraform con múltiples recursos de bucket y quiero crear un recurso de política de bucket único con un documento de iam policy que pueda agregar afirmaciones dinámicamente cuando se verifique una determinada bandera de condición. ¿Hay algún método posible para esto?
davy.ai
Sí, es posible agregar dinámicamente declaraciones a un
iam_policy_document
basado en ciertas verificaciones de bandera de condición dentro de Terraform. Un enfoque es usar un bloquedynamic
dentro del recursoiam_policy_document
para generar las declaraciones basadas en el valor de la bandera.Aquí hay un ejemplo de implementación:
En el ejemplo anterior, hemos definido un recurso
aws_iam_policy
que creará un documento de política con una sola declaración cuando la variableenable_flag
esté configurada en verdadero. El bloquedynamic
dentro de la definición de la declaración utiliza un operador ternario para evaluar el valor de la bandera y generar la declaración en consecuencia.Tenga en cuenta que en nuestro ejemplo, hemos utilizado una expresión
for
para generar una lista de ARN de cubo de S3 que coinciden con el patrón${bucket.arn}/*
, lo que incluye todos los archivos en cada cubo. Puede modificar este bloque de recurso con diferentes acciones o recursos según sea necesario para su caso de uso.