Azurerm_container_app seems to ignore my lifecycle ignore_changes

I have the following azurerm_container_app :

resource "azurerm_container_app"  "inboundservice" {
  name = "${module.naming.container_app.name}-${local.inbound_service_name}"
 
  container_app_environment_id  = module.managed_environment.id
  resource_group_name = module.rg_object.resource_group_name
  revision_mode = "Single"
  lifecycle {
    ignore_changes = [template[0]]
  }
  secret {
      name  = "rabbitpassword"
      value = module.rabbitmquser.rabbitmq_password
  }

  template {
  min_replicas = 1
  max_replicas = 1
  container  {
      name   = local.inbound_service_name
      memory = "0.5Gi"
      cpu    = 0.25
      image  = "myacr.azurecr.io/myimage:latest"
      env  {
        name  = "rabbitMq__userName"
        value = module.rabbitmquser.rabbitmq_username
      }
      env {
        name  = "rabbitMq__password"
        secret_name   = "rabbitpassword"
      }
      env {
        name  = "rabbitMq__vHost"
        value = local.vHost
      }
      env {
        name  = "rabbitMq__host__name"
        value = data.azurerm_key_vault_secret.rabbithost.value
      }
      env {
        name  = "rabbitMq__domainName"
        value = "XXXX"
      }
      env {
        name  = "rabbitMq__env"
        value = var.ENVIRONMENTNAME
      }
      env {
        name = "debug"
        value = azurerm_user_assigned_identity.inbound.id
      }
      
  }
  }

  identity {
    type = "UserAssigned"
    identity_ids = [azurerm_user_assigned_identity.inbound.id]
  }

  registry {
    server   = data.azurerm_container_registry.sharedacr.login_server
    identity = azurerm_user_assigned_identity.inbound.id
  }
}

Everytime I run my plan TF detects changes. For example:

      ~ id                            = "xxx" -> (known after apply)
      + latest_revision_fqdn          = (known after apply)
      ~ latest_revision_name          = "xxxx--ninjmas" -> (known after apply)
      ~ location                      = "westeurope" -> (known after apply)
        name                          = "xxxx"
      ~ outbound_ip_addresses         = [
          - "xxxxx",
        ] -> (known after apply)
      - tags                          = {} -> null
        # (3 unchanged attributes hidden)

      ~ identity {
          + principal_id = (known after apply)
          + tenant_id    = (known after apply)
            # (2 unchanged attributes hidden)
        }

      ~ template {
          + revision_suffix = (known after apply)
            # (2 unchanged attributes hidden)

          ~ container {
              - args              = [] -> null
              - command           = [] -> null
              ~ ephemeral_storage = "1Gi" -> (known after apply)
                name              = "xxxxx"
                # (3 unchanged attributes hidden)

                # (7 unchanged blocks hidden)
            }
        }

        # (2 unchanged blocks hidden)
    }

I’ve tried all sorts of permutations of trying to ignore the template for example:

lifecycle {
    ignore_changes = [template]
  }
template[0].container[0]
template[0]

It allways detects a change.

Ultimatly I want TF to ignore if I update the revision externally with az containerapp revision copy

What am I doing wrong?