    # File lib/fog/aws/models/cloud_watch/alarm_datum.rb, line 29
            def save
              requires :alarm_name
              requires :comparison_operator
              requires :evaluation_periods
              requires :metric_name
              requires :namespace
              requires :period
              requires :statistic
              requires :threshold

              alarm_definition = {
                  'AlarmName' => alarm_name,
                  'ComparisonOperator' => comparison_operator,
                  'EvaluationPeriods' => evaluation_periods,
                  'MetricName' => metric_name,
                  'Namespace' => namespace,
                  'Period' => period,
                  'Statistic' => statistic,
                  'Threshold' => threshold
                  }

              alarm_definition.merge!('ActionsEnabled' => action_enabled) if action_enabled
              alarm_definition.merge!('AlarmActions' => alarm_actions) if alarm_actions
              alarm_definition.merge!('AlarmDescription' => alarm_description) if alarm_description

              #dimension is an array of Name/Value pairs, ex. [{'Name'=>'host', 'Value'=>'localhost'},{'Name'=>'version', 'Value'=>'0.11.0'}]
              alarm_definition.merge!('Dimensions' => dimensions) if dimensions
              alarm_definition.merge!('InsufficientDataActions' => insufficient_actions) if insufficient_actions
              alarm_definition.merge!('OKActions' => ok_actions) if ok_actions
              alarm_definition.merge!('Unit' => unit) if unit

              connection.put_metric_alarm(alarm_definition)
              true
            end