# File lib/AWS/Cloudwatch/monitoring.rb, line 39
39:       def get_metric_statistics ( options ={} )
40:         options = { :custom_unit => nil,
41:                     :dimensions => nil,
42:                     :end_time => Time.now(),      #req
43:                     :measure_name => "",          #req
44:                     :namespace => "AWS/EC2",
45:                     :period => 60,
46:                     :statistics => "",            # req
47:                     :start_time => (Time.now() - 86400), # Default to yesterday
48:                     :unit => "" }.merge(options)
49: 
50:         raise ArgumentError, ":end_time must be provided" if options[:end_time].nil?
51:         raise ArgumentError, ":end_time must be a Time object" if options[:end_time].class != Time
52:         raise ArgumentError, ":start_time must be provided" if options[:start_time].nil?
53:         raise ArgumentError, ":start_time must be a Time object" if options[:start_time].class != Time
54:         raise ArgumentError, "Server must be monitoring.amazonaws.com" if server != 'monitoring.amazonaws.com'
55:         raise ArgumentError, ":start_time must be before :end_time" if options[:start_time] > options[:end_time]
56:         raise ArgumentError, ":measure_name must be provided" if options[:measure_name].nil? || options[:measure_name].empty?
57:         raise ArgumentError, ":statistics must be provided" if options[:statistics].nil? || options[:statistics].empty?
58: 
59:         params = {
60:                     "CustomUnit" => options[:custom_unit],
61:                     "Dimensions" => options[:dimensions],
62:                     "EndTime" => options[:end_time].iso8601,
63:                     "MeasureName" => options[:measure_name],
64:                     "Namespace" => options[:namespace],
65:                     "Period" => options[:period].to_s,
66:                     "Statistics.member.1" => options[:statistics],
67:                     "StartTime" => options[:start_time].iso8601,
68:                     "Unit" => options[:unit]
69:         }
70: 
71:         return response_generator(:action => 'GetMetricStatistics', :params => params)
72: 
73:       end