es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Terraform: la eliminación del bloque de identidad no elimina la identidad asignada de la aplicación de lógica de Azure.

Tengo esto en mi main.tf:

dynamic "identity" {
  for_each = var.identity == [] ? [] : [1]
  content {
    type = lookup(var.identity, "type", null)
    #identity_ids = lookup(var.identity, "identity_ids", null)
  }
}

He definido la variable de la siguiente manera:

variable "identity" {
  description = "crea la identidad para la aplicación lógica."
  type        = any
  default     = []
}

Eliminar el bloque de identidad de la entrada no elimina la identidad asignada. Terraform no detecta el cambio. ¿Puede alguien ayudar?

También, Logic App standard solo admite SystemAssigned, pero la documentación dice algo diferente:
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/logic_app_standard

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El fragmento de código en el archivo main.tf está utilizando un bloque dinámico para crear una identidad para una Logic App en Terraform. El bloque dinámico utiliza una expresión condicional para verificar si la variable var.identity es una lista vacía, y si lo es, devuelve una lista vacía. Si no está vacía, crea una lista con un único elemento con el valor de 1.

    El bloque de contenido dentro del bloque dinámico establece el tipo de identidad basado en el valor de var.identity y establece el valor de identity_ids en null.

    El problema reportado es que al eliminar el bloque de identidad de la entrada no se elimina la identidad asignada y Terraform no detecta el cambio. Esto podría deberse a que el archivo de estado de Terraform todavía tiene el valor de identidad anterior y Terraform solo actualiza los recursos que han cambiado en la entrada. Para forzar a Terraform a actualizar el valor de identidad, el usuario podría eliminar el recurso de la Logic App y volver a aplicar la configuración de Terraform.

    El usuario también menciona que la documentación de Logic App Standard indica que admite identidades tanto SystemAssigned como UserAssigned, pero la documentación del proveedor de Terraform solo enumera SystemAssigned. Esto podría ser un error en la documentación del proveedor, o podría haber una limitación en la implementación del proveedor que impide el uso de identidades UserAssigned para recursos de Logic App Standard. El usuario podría comunicarse con el equipo de soporte del proveedor para aclarar esta discrepancia.

Comments are closed.