title: AWS Cloudwatch Alert Terraform
body: <p>Im currently attempting to push out an AWS cloudwatch metric Alarm via Terraform but I'm encountering the following error.</p>
  
  <pre><code>Error applying plan:
  
  1 error(s) occurred:
  
  * aws_cloudwatch_metric_alarm.alarm_name: 1 error(s) occurred:
  
  * aws_cloudwatch_metric_alarm.alarm_name: Creating metric alarm failed: ValidationError: Exactly one element of the metrics list should return data.
      status code: 400, request id: xxxxxxxx-xxxxxxx-xxxxxx\n\nTerraform does not automatically rollback in the face of errors.
  Instead, your Terraform state file has been partially updated with
  any resources that successfully completed. Please address the error
  above and apply again to incrementally change your infrastructure."
  </code></pre>
  
  <p>Here is the Terraform Code:</p>
  
  <pre><code>resource "aws_cloudwatch_metric_alarm" "elb_monitor" {
    alarm_name                = "openam-elb-monitor"
    comparison_operator       = "GreaterThanOrEqualToThreshold"
    evaluation_periods        = "2"
    threshold                 = "1"
    alarm_description         = "UnHealthyHostCount for openam elbs"
    insufficient_data_actions = []
    metric_query {
        id = "elb_unhealthy_host_count"
        metric {
            metric_name = "UnHealthyHostCount"
            namespace   = "AWS/ELB"
            period      = "120"
            stat        = "Maximum"
            unit        = "Count"
            dimensions  = {
                LoadBalancerName = "development_lb"
            }
        }
      }
  }
  </code></pre>
  
  <p>Any ideas on why this is happening?</p>