From 0bb23145783bcd0af8329948866d19fdb2634a24 Mon Sep 17 00:00:00 2001 From: Florian Teissedre Date: Sun, 11 Dec 2022 18:12:49 +0100 Subject: [PATCH] kube-config: add custom client configuration injection --- kubernetes/base/config/kube_config.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/kubernetes/base/config/kube_config.py b/kubernetes/base/config/kube_config.py index b959554481..d78a9448da 100644 --- a/kubernetes/base/config/kube_config.py +++ b/kubernetes/base/config/kube_config.py @@ -860,32 +860,36 @@ def load_kube_config_from_dict(config_dict, context=None, def new_client_from_config( config_file=None, context=None, - persist_config=True): + persist_config=True, + client_configuration=None): """ Loads configuration the same as load_kube_config but returns an ApiClient to be used with any API object. This will allow the caller to concurrently talk with multiple clusters. """ - client_config = type.__call__(Configuration) + if client_configuration is None: + client_configuration = type.__call__(Configuration) load_kube_config(config_file=config_file, context=context, - client_configuration=client_config, + client_configuration=client_configuration, persist_config=persist_config) - return ApiClient(configuration=client_config) + return ApiClient(configuration=client_configuration) def new_client_from_config_dict( config_dict=None, context=None, persist_config=True, - temp_file_path=None): + temp_file_path=None, + client_configuration=None): """ Loads configuration the same as load_kube_config_from_dict but returns an ApiClient to be used with any API object. This will allow the caller to concurrently talk with multiple clusters. """ - client_config = type.__call__(Configuration) + if client_configuration is None: + client_configuration = type.__call__(Configuration) load_kube_config_from_dict(config_dict=config_dict, context=context, - client_configuration=client_config, + client_configuration=client_configuration, persist_config=persist_config, temp_file_path=temp_file_path) - return ApiClient(configuration=client_config) + return ApiClient(configuration=client_configuration)