title: Terraform empty and non-empty block map variables
body: <p>I want to make backend-service by using Terraform. I use resource_type <code>google_compute_backend_service</code></p>
  <p>Now, i have 2 backend-services created by <code>gcloud</code> command. The one is using <code>cdn_policy</code> <a href="https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_backend_service#cdn_policy" rel="nofollow noreferrer">block</a> and another one doesn't use <code>cdn_policy</code>.</p>
  <p>The first backend-services tfstate is like</p>
  <pre><code>...
  &quot;cdn_policy&quot;: [
    {
      &quot;cache_key_policy&quot;: [],
      &quot;signed_url_cache_max_age_sec&quot;: 3600
    }
  ]
  ...
  
  </code></pre>
  <p>And the second backend-services is like</p>
  <pre><code>&quot;cdn_policy&quot;: []
  </code></pre>
  <p>How to create the terraform script works for both of them ? So, terraform script can run for backend-services who has <code>cdn_policy</code> include with its block map and can also run for backend-services without <code>cdn_policy</code>.</p>
  <p>In my idea, i can create 2 terraform scripts. First for cdn_policy and second without cdn_policy. But, i think this is not best practice.</p>
  <p>If i put <code>cdn_policy = []</code>, it would result error <code>An argument named &quot;cdn_policy&quot; is not expected here</code></p>