def METHOD_NAME(
    self,
    process_index: int,
    label: str,
    internal_address: str,
    external_address: Union[str, List[str]],
    env: Dict = None,
    modules: List[str] = None,
    suspend_sigint: bool = False,
    use_uvloop: bool = False,
    logging_conf: Dict = None,
    kwargs: Dict = None,
):
    pools: Dict = self._conf["pools"]
    if not isinstance(external_address, list):
        external_address = [external_address]
    pools[process_index] = {
        "label": label,
        "internal_address": internal_address,
        "external_address": external_address,
        "env": env,
        "modules": modules,
        "suspend_sigint": suspend_sigint,
        "use_uvloop": use_uvloop,
        "logging_conf": logging_conf,
        "kwargs": kwargs or {},
    }
    mapping: Dict = self._conf["mapping"]
    for addr in external_address:
        mapping[addr] = internal_address