Skip to content

Commit 5f3e93b

Browse files
committed
expose max auth retries on client constructor
1 parent 0197fc2 commit 5f3e93b

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

netboxlabs/diode/sdk/client.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ def _get_required_config_value(env_var_name: str, value: str | None = None) -> s
6969
raise DiodeConfigError(f"parameter or {env_var_name} environment variable required")
7070
return value
7171

72+
def _get_optional_config_value(env_var_name: str, value: str | None = None) -> str | None:
73+
"""Get optional config value either from provided value or environment variable."""
74+
if value is None:
75+
value = os.getenv(env_var_name)
76+
return value
77+
7278

7379
class DiodeClient:
7480
"""Diode Client."""
@@ -90,12 +96,13 @@ def __init__(
9096
sentry_dsn: str = None,
9197
sentry_traces_sample_rate: float = 1.0,
9298
sentry_profiles_sample_rate: float = 1.0,
99+
max_auth_retries: int = 3,
93100
):
94101
"""Initiate a new client."""
95102
log_level = os.getenv(_DIODE_SDK_LOG_LEVEL_ENVVAR_NAME, "INFO").upper()
96103
logging.basicConfig(level=log_level)
97104

98-
self._max_auth_retries = os.getenv(_MAX_RETRIES_ENVVAR_NAME, 3)
105+
self._max_auth_retries = _get_optional_config_value(_MAX_RETRIES_ENVVAR_NAME, max_auth_retries)
99106
self._target, self._path, self._tls_verify = parse_target(target)
100107
self._app_name = app_name
101108
self._app_version = app_version

0 commit comments

Comments
 (0)