code: def cloneRecord(self, existing_domain, new_domain, rtype,
                      zone=None, callback=None, errback=None):
          
          if zone is None:
              zone = self.zone
  
          if not new_domain.endswith(zone):
              new_domain = new_domain + '.' + zone
  
          def onSaveNewRecord(new_data):
              if zone != self.zone:
                  pZone = Zone(self.config, zone)
              else:
                  pZone = self
              new_rec = Record(pZone, new_domain, rtype)
              new_rec._parseModel(new_data)
              if callback:
                  return callback(new_rec)
              else:
                  return new_rec
  
          def onLoadRecord(old_rec):
              data = old_rec.data
              data['zone'] = zone
              data['domain'] = new_domain
              restapi = Records(self.config)
              return restapi.create_raw(zone, new_domain, rtype, data,
                                        callback=onSaveNewRecord,
                                        errback=errback)
  
          return self.loadRecord(existing_domain, rtype,
                                 callback=onLoadRecord,
                                 errback=errback)
docs: Clone the given record to a new record such that their configs are
          identical.
  
          :param str existing_domain: The existing record to clone
          :param str new_domain: The name of the new cloned record
          :param str rtype: DNS record type
          :param str zone: Optional zone name, if the new record should exist in\
              a different zone than the original record.
          :rtype: ns1.records.Record
          :return: new Record