'Returns the shared proc pool id for a given pool name.
:param pool_name: The shared proc pool name.
:return: The internal API id for the shared proc pool.'

def _spp_pool_id(self, pool_name):

    if ((pool_name is None) or (pool_name == pvm_spp.DEFAULT_POOL_DISPLAY_NAME)):
        return 0
    pool_wraps = pvm_spp.SharedProcPool.search(self.adapter, name=pool_name, parent=self.host_w)
    if (len(pool_wraps) > 1):
        msg = (_('Multiple    Shared    Processing    Pools    with    name    %(pool)s.') % {'pool': pool_name})
        raise exc.ValidationError(msg)
    elif (len(pool_wraps) == 0):
        msg = (_('Unable    to    find    Shared    Processing    Pool    %(pool)s') % {'pool': pool_name})
        raise exc.ValidationError(msg)
    return pool_wraps[0].id
