# File lib/AWS/RDS/rds.rb, line 478
478:       def restore_db_instance_to_point_in_time( options = {} )
479:         raise ArgumentError, "No :source_db_instance_identifier provided" if options.does_not_have?(:source_db_instance_identifier)
480:         raise ArgumentError, "No :target_db_instance_identifier provided" if options.does_not_have?(:target_db_instance_identifier)
481: 
482:         params = {}
483:         params['SourceDBInstanceIdentifier'] = options[:source_db_instance_identifier]
484:         params['TargetDBInstanceIdentifier'] = options[:target_db_instance_identifier]
485: 
486:         if options.has?(:use_latest_restorable_time) && options.has?(:restore_time)
487:           raise ArgumentError, "You cannot provide both :use_latest_restorable_time and :restore_time"
488:         elsif options.has?(:use_latest_restorable_time)
489:           params['UseLatestRestorableTime'] = case options[:use_latest_restorable_time]
490:                                               when 'true', 'false'
491:                                                 options[:use_latest_restorable_time]
492:                                               when true
493:                                                 'true'
494:                                               when false
495:                                                 'false'
496:                                               else
497:                                                 raise ArgumentError, "Invalid value provided for :use_latest_restorable_time.  Expected boolean."
498:                                               end
499:         elsif options.has?(:restore_time)
500:           params['RestoreTime'] = options[:restore_time]
501:         end
502: 
503:         params['DBInstanceClass'] = options[:db_instance_class] if options.has?(:db_instance_class)
504:         params['Port'] = options[:port].to_s if options.has?(:port)
505:         params['AvailabilityZone'] = options[:availability_zone] if options.has?(:availability_zone)
506: 
507:         return response_generator(:action => "RestoreDBInstanceToPointInTime", :params => params)
508:       end