# File lib/fog/aws/requests/dns/change_resource_record_sets.rb, line 225
        def change_resource_record_sets(zone_id, change_batch, options = {})
          response = Excon::Response.new
          errors   = []


          if (zone = self.data[:zones][zone_id])
            response.status = 200

            change_id = Fog::AWS::Mock.change_id
            change_batch.each do |change|

              change_name = change[:name]
              change_name = change_name + "." unless change_name.end_with?(".")

              case change[:action]
              when "CREATE"
                if zone[:records][change[:type]].nil?
                  zone[:records][change[:type]] = {}
                end

                if !record_exist?(zone, change, change_name)
                  # raise change.to_s if change[:resource_records].nil?
                  new_record =
                    if change[:alias_target]
                      record = {
                        :alias_target => change[:alias_target]
                      }
                    else
                      record = {
                        :ttl => change[:ttl].to_s,
                      }
                    end

                  new_record = {
                    :change_id        => change_id,
                    :resource_records => change[:resource_records] || [],
                    :name             => change_name,
                    :type             => change[:type],
                    :set_identifier   => change[:set_identifier],
                    :weight           => change[:weight]
                  }.merge(record)

                  if change[:set_identifier].nil?
                    zone[:records][change[:type]][change_name] = new_record
                  else
                    zone[:records][change[:type]][change_name] = {} if zone[:records][change[:type]][change_name].nil?
                    zone[:records][change[:type]][change_name][SET_PREFIX + change[:set_identifier]] = new_record
                  end
                else
                  errors << "Tried to create resource record set #{change[:name]}. type #{change[:type]}, but it already exists"
                end
              when "DELETE"
                action_performed = false
                if !zone[:records][change[:type]].nil? && !zone[:records][change[:type]][change_name].nil? && !change[:set_identifier].nil?
                  action_performed = true unless zone[:records][change[:type]][change_name].delete(SET_PREFIX + change[:set_identifier]).nil?
                  zone[:records][change[:type]].delete(change_name) if zone[:records][change[:type]][change_name].empty?
                elsif !zone[:records][change[:type]].nil?
                  action_performed = true unless zone[:records][change[:type]].delete(change_name).nil?
                end

                if !action_performed
                  errors << "Tried to delete resource record set #{change[:name]}. type #{change[:type]}, but it was not found"
                end
              end
            end

            if errors.empty?
              change = {
                :id           => change_id,
                :status       => 'PENDING',
                :submitted_at => Time.now.utc.iso8601
              }
              self.data[:changes][change[:id]] = change
              response.body = {
                'Id'          => change[:id],
                'Status'      => change[:status],
                'SubmittedAt' => change[:submitted_at]
              }
              response
            else
              raise Fog::DNS::AWS::Error.new("InvalidChangeBatch => #{errors.join(", ")}")
            end
          else
            raise Fog::DNS::AWS::NotFound.new("NoSuchHostedZone => A hosted zone with the specified hosted zone ID does not exist.")
          end
        end