1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/aws/models/cloud_watch/metric_statistic.rb

46 lines
1.4 KiB
Ruby
Raw Normal View History

require 'fog/core/model'
module Fog
module AWS
class CloudWatch
class MetricStatistic < Fog::Model
attribute :label, :aliases => 'Label'
attribute :minimum, :aliases => 'Minimum'
attribute :maximum, :aliases => 'Maximum'
attribute :sum, :aliases => 'Sum'
attribute :average, :aliases => 'Average'
attribute :sample_count, :aliases => 'SampleCount'
attribute :timestamp, :aliases => 'Timestamp'
attribute :unit, :aliases => 'Unit'
attribute :metric_name, :aliases => 'MetricName'
attribute :namespace, :aliases => 'Namespace'
attribute :dimensions, :aliases => 'Dimensions'
attribute :value
def save
requires :metric_name
requires :namespace
requires :unit
put_opts = {'MetricName' => metric_name, 'Unit' => unit}
put_opts.merge!('Dimensions' => dimensions) if dimensions
put_opts.merge!('Timestamp' => dimensions) if timestamp
if value
put_opts.merge!('Value' => value)
else
put_opts.merge!('StatisticValues' => {
'Minimum' => minimum,
'Maximum' => maximum,
'Sum' => sum,
'Average' => average,
'SampleCount' => sample_count
})
end
connection.put_metric_data(namespace, [put_opts])
true
end
end
end
end
end