title: Block usages for a terraform 0.11 module to be terraform 0.12 compatible
body: <p>I am converting my terraform module to be 0.12 compatible before moving to 0.12. I was able to fix all the conversions except the some blocks that can be set via a variable.  The module will remain for some time 0.11 but a user of the module can already upgrade to 0.12. </p>
  
  <p>See here my terraform 0.11 fragment. </p>
  
  <pre><code>data "aws_ami" "instance" {
    most_recent = true
  
    filter = "${var.runner_ami_filter}"
  
    owners = "${var.runner_ami_owners}"
  }
  
  
  variable "ami_filter" {
    type        = "list"
  
    default = [{
      name   = "name"
      values = ["amzn-ami-hvm-2018.03*-x86_64-ebs"]
    }]
  }
  </code></pre>
  
  <p>The problem is that I am not able to convert the variable <code>ami_filter</code> such it will be accepted by 0.12. I complains about the the block definition of the filter. </p>
  
  <blockquote>
    <p>An argument named "filter" is not expected here. Did you mean to define a
    block of type "filter"?</p>
  </blockquote>
  
  <p>Does anyone have a suggestion how to convert this part of the code to be 0.12 compatible?</p>