def configure(
    provider_registry,
    iut_provider_id,
    execution_space_provider_id,
    log_area_provider_id,
    dataset,
    suite_id,
):
    """Configure the environment provider.

    :param provider_registry: The provider registry to store configuration in.
    :type provider_registry: :obj:`environment_provider.lib.registry.ProviderRegistry`
    :param iut_provider_id: The ID of the IUT provider to configure with.
    :type iut_provider_id: str
    :param execution_space_provider_id: The ID of the execution space provider to configure with.
    :type execution_space_provider_id: str
    :param log_area_provider_id: The ID of the log area provider to configure with.
    :type log_area_provider_id: str
    :param dataset: The dataset to configure with.
    :type dataset: dict
    :param suite_id: The suite to configure all providers to.
    :type suite_id: str
    :return: Whether or not the configuration was successful.
    :rtype: bool, str
    """
    if not all(
        [
            provider_registry,
            iut_provider_id,
            execution_space_provider_id,
            log_area_provider_id,
            isinstance(dataset, dict),
            suite_id,
        ]
    ):
        return False, "Missing parameters to configure request"
    iut_provider = provider_registry.get_iut_provider_by_id(iut_provider_id)
    execution_space_provider = provider_registry.get_execution_space_provider_by_id(
        execution_space_provider_id
    )
    log_area_provider = provider_registry.get_log_area_provider_by_id(
        log_area_provider_id
    )
    if not all(
        [
            iut_provider,
            execution_space_provider,
            log_area_provider,
        ]
    ):
        return (
            False,
            f"Could not find providers {iut_provider_id!r}, {execution_space_provider_id!r} "
            f" or {log_area_provider_id!r} registered in database",
        )
    provider_registry.configure_environment_provider_for_suite(
        suite_id,
        iut_provider,
        log_area_provider,
        execution_space_provider,
        dataset,
    )
    return True, ""