def delete(self, async_mode=False, even_attached=False):
try:<EOL><INDENT>return super(UnitySnap, self).delete(async_mode=async_mode)<EOL><DEDENT>except UnityDeleteAttachedSnapError:<EOL><INDENT>if even_attached:<EOL><INDENT>log.debug("<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>")<EOL>self.detach_from(None)<EOL>return super(UnitySnap, self).delete(async_mode=async_mode)<EOL><DEDENT>else:<EOL><INDENT>raise<EOL><DEDENT><DEDENT>
Deletes the snapshot.

        :param async_mode: whether to delete the snapshot in async mode.
        :param even_attached: whether to delete the snapshot even it is
            attached to hosts.