# File lib/AWS/EC2/spot_prices.rb, line 16
16:       def describe_spot_price_history( options = {} )
17:         raise ArgumentError, ":start_time must be a Time object" unless options[:start_time].nil? || options[:start_time].kind_of?(Time)
18:         raise ArgumentError, ":end_time must be a Time object" unless options[:end_time].nil? || options[:end_time].kind_of?(Time)
19:         raise ArgumentError, ":instance_type must specify a valid instance type" unless options[:instance_type].nil? || ["m1.small", "m1.large", "m1.xlarge", "c1.medium", "c1.xlarge", "m2.2xlarge", "m2.4xlarge"].include?(options[:instance_type])
20:         raise ArgumentError, ":product_description must be 'Linux/UNIX' or 'Windows'" unless options[:product_description].nil? || ["Linux/UNIX", "Windows"].include?(options[:product_description])
21: 
22:         params = {}
23:         params.merge!("StartTime" => options[:start_time].iso8601) if options[:start_time]
24:         params.merge!("EndTime" => options[:end_time].iso8601) if options[:end_time]
25:         params.merge!("InstanceType" => options[:instance_type]) if options[:instance_type]
26:         params.merge!("ProductDescription" => options[:product_description]) if options[:product_description]
27:         
28:         return response_generator(:action => "DescribeSpotPriceHistory", :params => params)
29:       end