def modify(self, new_name=None, iotype=None, lun_ids=None, smp_names=None,<EOL>ctrlmethod=None, minsize=None, maxsize=None):
if not any([new_name, iotype, lun_ids, smp_names, ctrlmethod]):<EOL><INDENT>raise ValueError('<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT>def _do_modify():<EOL><INDENT>out = self._cli.modify_ioclass(<EOL>self._get_name(), new_name, iotype, lun_ids, smp_names,<EOL>ctrlmethod, minsize, maxsize)<EOL>ex.raise_if_err(out, default=ex.VNXIOClassError)<EOL><DEDENT>try:<EOL><INDENT>_do_modify()<EOL><DEDENT>except ex.VNXIOCLassRunningError:<EOL><INDENT>with restart_policy(self.policy):<EOL><INDENT>_do_modify()<EOL><DEDENT><DEDENT>return VNXIOClass(new_name if new_name else self._get_name(),<EOL>self._cli)<EOL>
Overwrite the current properties for a VNX ioclass.

        :param new_name: new name for the ioclass
        :param iotype: can be 'rw', 'r' or 'w'
        :param lun_ids: list of LUN IDs
        :param smp_names: list of Snapshot Mount Point names
        :param ctrlmethod: the new CtrlMethod
        :param minsize: minimal size in kb
        :param maxsize: maximum size in kb