def create(self, zoneFile=None, callback=None, errback=None, **kwargs):
        """
        Create a new zone. Pass a list of keywords and their values to
        configure. For the list of keywords available for zone configuration,
        see :attr:`ns1.rest.zones.Zones.INT_FIELDS` and
        :attr:`ns1.rest.zones.Zones.PASSTHRU_FIELDS`
        If zoneFile is passed, it should be a zone text file on the local disk
        that will be used to populate the created zone file.
        """
        if self.data:
            raise ZoneException('zone already loaded')

        def success(result, *args):
            self.data = result
            if callback:
                return callback(self)
            else:
                return self

        if zoneFile:
            return self._rest.import_file(self.zone, zoneFile,
                                          callback=success, errback=errback,
                                          **kwargs)
        else:
            return self._rest.create(self.zone, callback=success,
                                     errback=errback, **kwargs)
Create a new zone. Pass a list of keywords and their values to
        configure. For the list of keywords available for zone configuration,
        see :attr:`ns1.rest.zones.Zones.INT_FIELDS` and
        :attr:`ns1.rest.zones.Zones.PASSTHRU_FIELDS`
        If zoneFile is passed, it should be a zone text file on the local disk
        that will be used to populate the created zone file.