class Fog::AWS::CloudWatch::AlarmDatum

Public Instance Methods

save() click to toggle source
# File lib/fog/aws/models/cloud_watch/alarm_datum.rb, line 26
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

  service.put_metric_alarm(alarm_definition)
  true
end