def METHOD_NAME(self):
    self.validate_subscribe_key()
    self.validate_secret_key()
    self.validate_publish_key()
    # self.validate_channels_and_groups()
    if self._channels and self._groups and self._uuids:
        raise PubNubException(
            pn_error=PNERR_PAM_INVALID_ARGUMENTS,
            errormsg="Grants for channels or channelGroups can't be changed together with grants for UUIDs")
    if self._uuids and not self._auth_keys:
        raise PubNubException(pn_error=PNERR_PAM_INVALID_ARGUMENTS, errormsg="UUIDs grant management require "
                                                                             "providing non empty authKeys"
                              )
    if self._write is None and self._read is None and self._manage is None and self._get is None \
            and self._update is None and self._join is None:
        raise PubNubException(pn_error=PNERR_PAM_NO_FLAGS)