adobe-ddavidso commented on code in PR #60953:
URL: https://github.com/apache/airflow/pull/60953#discussion_r3028879947
##########
providers/hashicorp/src/airflow/providers/hashicorp/_internal_client/vault_client.py:
##########
@@ -179,7 +194,10 @@ def __init__(
self.kv_engine_version = kv_engine_version or 2
self.url = url
self.auth_type = auth_type
- self.kwargs = kwargs
+ # Filter out cache_approle_token from kwargs as it's specific to
_VaultClient
+ # and not a valid hvac.Client parameter. This prevents unexpected
keyword argument
+ # errors when instantiating the hvac client.
+ self.kwargs = {k: v for k, v in kwargs.items() if k !=
"cache_approle_token"}
Review Comment:
The filtering is necessary. hvac.Client.__init__ does accept **kwargs, but
it passes them directly to the adapter constructor (source), and the Adapter
class has explicit named parameters with no **kwargs to catch unknowns. Passing
cache_approle_token through results in TypeError: __init__() got an unexpected
keyword argument 'cache_approle_token', which I observed in testing. The filter
is a one-liner and keeps our Airflow-specific param from leaking into the hvac
instantiation.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]