<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_pool(self, auth, spec):
 """ Get a pool. Shorthand function to reduce code in the functions below, since more or less all of them needs to perform the actions that are specified here. The major difference to :func:`list_pool` is that an exception is raised if no pool matching the spec is found. """


        pool = self.list_pool(auth, spec)
        if len(pool) == 0:
            raise NipapInputError("non-existing pool specified")
        return pool[0]