title: Terraform within modules lifecycle ignore changes on tags (timestamp) not ignoring
body: <p>Terraform v0.12.13 with provider.azurerm v1.36.1</p>
  
  <p>I've got a number of modules that take common tags passed into them as <code>var.default.tags</code> merge then with local tags one of which is <code>timestamp()</code>. My modules will often have multiple resources listed in them to be changed.</p>
  
  <p>This is working ok and everything tags correctly.</p>
  
  <p>However, on subsequent <code>terraform apply</code> the tags on every resource get updated - eg the <code>timestamp</code> even if the change has not affected that particular resource in the module.</p>
  
  <p>I understand that I can use lifecycle <code>ignore-changes</code> as per my code example below. Everything validates and applies ok, however the <code>lifecycle</code> seems to get ignored.</p>
  
  <p>Any ideas?</p>
  
  <pre><code>tags = "${merge(
        var.default-tags,
        map(
          "Name", "${local.nameprefix}-this",
          "TF-last-modified", "${timestamp()}"
          )
        )}"
      lifecycle {
        ignore_changes = [
          tags["TF-last-modified"]
      ]
    }
  </code></pre>