from logging import Logger

from typing import List


class Configurations(object):
    def __init__(self,
                 required_services=None,
                 service_name=None,
                 persistence_name=None,
                 logger=None,
                 supported_benefit_appliers=None,
                 retry_frequency=None,
                 max_retry_number=None,
                 retry_min_time_to_try_again=None,
                 benefit_applier_tender_ids=None):
        # type: (str, str, str, Logger, List[str], int, int, int, dict) -> None

        self.required_services = required_services
        self.service_name = service_name
        self.persistence_name = persistence_name
        self.logger = logger
        self.supported_benefit_appliers = supported_benefit_appliers
        self.retry_frequency = retry_frequency
        self.max_retry_quantity = max_retry_number
        self.retry_min_time_to_try_again = retry_min_time_to_try_again
        self.benefit_applier_tender_ids = benefit_applier_tender_ids
