def __collect_kwargs()

in modular_sdk/modular.py [0:0]


    def __collect_kwargs(kwargs):
        """
        PARAM_ASSUME_ROLE_ARN is string, but it can contain multiple
        roles divided by ',', hence:
        TODO, in case kwargs are given, we should expect
         modular_assume_role_arn to be a list. Or, better, use
         environment_service here instead of os.environ. ES already
         converts values.
        :param kwargs:
        :return:
        """
        allowed_attrs = (
            MODULAR_SERVICE_MODE_ENV, PARAM_MONGO_USER, PARAM_MONGO_PASSWORD,
            PARAM_MONGO_URL, PARAM_MONGO_DB_NAME, PARAM_ASSUME_ROLE_ARN)
        kwargs = {k: v for k, v in kwargs.items() if k in allowed_attrs}

        for attr in allowed_attrs:
            if attr not in kwargs and attr in os.environ:
                kwargs[attr] = os.environ.get(attr)
        if not kwargs.get(MODULAR_SERVICE_MODE_ENV):
            kwargs[MODULAR_SERVICE_MODE_ENV] = SERVICE_MODE_SAAS
        return kwargs