docs: def _register_preallocated_ips(self, conf):
          """
          Parse all the domains in the given conf and preallocate all their ips
          into the networks mappings, raising exception on duplicated ips or ips
          out of the allowed ranges
  
          See Also:
              :mod:`lago.subnet_lease`
  
          Args:
              conf (dict): Configuration spec to parse
  
          Returns:
              None
  
          Raises:
              RuntimeError: if there are any duplicated ips or any ip out of the
                  allowed range
          """
          for dom_name, dom_spec in conf.get('domains', {}).items():
              for idx, nic in enumerate(dom_spec.get('nics', [])):
                  if 'ip' not in nic:
                      continue
  
                  net = conf['nets'][nic['net']]
                  if self._subnet_store.is_leasable_subnet(net['gw']):
                      nic['ip'] = _create_ip(
                          net['gw'], int(nic['ip'].split('.')[-1])
                      )
  
                  dom_name = dom_spec['name']
                  if not _ip_in_subnet(net['gw'], nic['ip']):
                      raise RuntimeError(
                          "%s:nic%d's IP [%s] is outside the subnet [%s]" % (
                              dom_name,
                              dom_spec['nics'].index(nic),
                              nic['ip'],
                              net['gw'],
                          ),
                      )
  
                  if nic['ip'] in net['mapping'].values():
                      conflict_list = [
                          name for name, ip in net['mapping'].items()
                          if ip == net['ip']
                      ]
                      raise RuntimeError(
                          'IP %s was to several domains: %s %s' % (
                              nic['ip'],
                              dom_name,
                              ' '.join(conflict_list),
                          ),
                      )
  
                  self._add_nic_to_mapping(net, dom_spec, nic)