def modify_db_instance(aws_id, params={})
request_hash = {}
request_hash['DBInstanceIdentifier'] = aws_id
request_hash['MasterUserPassword'] = params[:master_user_password] unless params[:master_user_password].blank?
request_hash['DBInstanceClass'] = params[:instance_class].to_s.capitalize unless params[:instance_class].blank?
request_hash['PreferredMaintenanceWindow'] = params[:preferred_maintenance_window] unless params[:preferred_maintenance_window].blank?
request_hash['BackupRetentionPeriod'] = params[:backup_retention_period] unless params[:backup_retention_period].blank?
request_hash['PreferredBackupWindow'] = params[:preferred_backup_window] unless params[:preferred_backup_window].blank?
request_hash['AllocatedStorage'] = params[:allocated_storage] unless params[:allocated_storage].blank?
request_hash['ApplyImmediately'] = params[:apply_immediately].to_s unless params[:apply_immediately].blank?
request_hash.merge!(amazonize_list('DBSecurityGroups.member', params[:db_security_groups]))
request_hash['DBParameterGroupName'] = params[:db_parameter_group] unless params[:db_parameter_group].blank?
link = generate_request('ModifyDBInstance', request_hash)
request_info(link, DescribeDbInstancesParser.new(:logger => @logger))[:db_instances].first
end